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