domingo, 6 de novembro de 2016

Elementos de um Sistema Operacional

Um processo é definido como um programa em execução. Um mesmo programa pode ter mais de um processo. Cada um possui um espaço reservado na memória principal, contendo informações como a pilha de execução, o código-fonte e os dados utilizados por ele. Uma característica fundamental dos processos é que o sistema operacional tem controle sobre ele, podendo interromper, reiniciar, criar e destruir conforme necessário. Para que isso ocorra sem perdas de dados, são armazenados os identificadores de usuário (UID), do processo (PID) e às vezes de grupo (GID), além do estado no momento que o processo é interrompido para tratar outro, registrado nos registradores da CPU. Cada grupo de informações de determinado processo está armazenado na tabela de processos do sistema. Essa tabela é um vetor e portanto possui um limite para a quantidade de processos que o sistema operacional pode lidar. Outra característica é que um processo “pai” é capaz de criar novos processos “filhos”, gerando uma estrutura de árvore, uma hierarquia.

Os arquivos são como divisões que servem para organizar os dados no disco. Há arquivos especiais, denominados pastas ou diretórios, que são caracterizados por agrupar dentro de si outros arquivos comuns ou diretórios, e ajudam a regionalizar os arquivos, facilitando sua busca. A junção de todos os arquivos existentes é chamada de sistema de arquivos. Graças aos diretórios, são formadas hierarquias similares a aquelas de processos, representadas com uma estrutura de árvore também, onde o diretório-raiz / é o tronco, os diretórios do sistema os galhos principais e outros arquivos, as folhas e galhos menores. Para chamar um arquivo específico há dois modos: nome absoluto, onde chama-se cada diretório desde / até o nome do arquivo, ou relativo, partindo apenas do diretório de trabalho. Os únicos arquivos disponíveis a acesso são aqueles que integram o sistema operacional, portanto, para utilizar uma mídia removível como um CD, é necessário definir o ponto de montagem, um diretório no qual será inserido o sistema de arquivos do CD, e então montá-lo ali, resultando uma hierarquia singular. Há dois tipos de arquivos especiais: arquivos de bloco, que são maioria, podem ser acessados em qualquer ordem, enquanto os arquivos especiais de caracteres só podem ser acessados por certo fluxo de caracteres consecutivos. Podemos alterar a entrada e a saída de dados dos processos utilizando um pipe (do inglês “tubo”), uma espécie de pseudoarquivo.

O interpretador de comandos, conhecido como terminal ou shell, é uma interface capaz de receber comandos inseridos via teclado, interpretá-los e executar. Ele pode ser a interface principal do sistema, como no MS-DOS ou por opção no Linux, ou ser emulado no modo gráfico). Ao inicializar, ele apresenta o símbolo $, informando que está logado como usuário comum e pronto para receber o comando. Alguns comandos básicos são date, que mostra a data e a hora atual do sistema, e cat exemplo.txt, que mostrará o conteúdo do arquivo exemplo.txt. Ao digitar date e pressionar enter, o interpretador exibe a data e hora em uma linha, depois disso pula uma linha e mostra $ de volta. Esta é uma tarefa simples, mas outras mais complexas, como o download de um arquivo, pode demorar certo tempo e você pode não dispor de espera para executar outra coisa. Para isso, pode colocar um comando para rodar em segundo plano, e o interpretador libera sua interface para a inserção de novas tarefas, para tanto basta adicionar o símbolo & no final no comando lento.


Um processo não pode acessar diretamente o hardware; ele realiza chamadas ao sistema operacional, para que este execute aquilo que ele precisa. Entre eles, existem as bibliotecas, procedimentos pré-definidos que facilitam a escrita de atividades um pouco complexas. O procedimento chama a biblioteca que por sua vez chama o kernel do sistema.

Referências

http://www.videoaula.rnp.br/portal/videoaula.action?idItem=448

Nenhum comentário:

Postar um comentário