Sistemas Operativos: Virtualização e Scripting Shell

Classificado em Tecnologia

Escrito em em português com um tamanho de 2,92 KB

Versionamento: Sim, pois o sistema de ficheiros com suporte para versionamento de ficheiros irá permitir a existência de várias versões do mesmo ficheiro ao mesmo tempo.

Virtualização do servidor: A virtualização do servidor será útil caso exista um número elevado de equipamentos do tipo impressoras, scanners ou fotocopiadoras, pois permitirá uma maior densidade de recursos, enquanto permite que a segurança seja mantida. Mas, caso não exista um elevado número de equipamentos, não deverá ser uma prioridade.

Fragmentação interna: Corresponde à quantidade de memória desperdiçada dentro da partição ou não utilizada.

Fragmentação externa: Existência de espaços de memória livre não ligados.

Threads: Permitem guardar e processar dados ao mesmo tempo e requerem menos esforço por parte do processador.

Semáforos: Mecanismo de sincronização que permite simultaneamente gerir o acesso, quer em modo de exclusividade, quer em modo de cooperação.

Parte Prática

Qual a saída do comando w | grep ^al | wc -l?

A saída do comando w (lista de utilizadores ligados ao sistema atual) vai ser filtrada pelo comando grep, apresentando apenas as linhas iniciadas em "al" (^al). Finalmente, a saída do comando grep vai ser passada à entrada do comando wc, que conta o número de linhas da saída do grep. Esta sequência de comandos apresenta o número de utilizadores começados por "al" que estão ligados ao sistema atualmente. Cada comando (w, grep, wc) dá origem a um processo, o que significa que, no total, são criados 3 processos.

Erros identificados: Tinha for item in $(ls); go em vez de do; faltava o símbolo $ nas variáveis e faltavam as aspas ("") no echo.

Implementar um script capaz de apresentar os logins dos utilizadores ligados ao sistema de X em X segundos, em que X é passado como argumento para o script:

#!/bin/sh
segundos=$1
if [ $# -eq 1 ]; then
  while [ 1 -eq 1 ]; do
    w | cut -d' ' -f1 | sort -u
    sleep $segundos
  done
else
  echo "Falta o tempo (1º Argumento)"
fi

Comandos:

  • wc -l file: Conta o número de linhas do ficheiro file.

Exemplo para contar o número de utilizadores ligados ao servidor:

#!/bin/sh
n=$(who | wc -l)
if [ $n -eq 1 ]; then
  echo "Neste momento está $n utilizador ligado"
else
  echo "Neste momento estão $n utilizadores ligados"
fi

Estrutura While: while condição; do lista de comandos a repetir; done

Entradas relacionadas: