Escolar Documentos
Profissional Documentos
Cultura Documentos
Conceito de Sistema Operativo
Conceito de Sistema Operativo
Processos
Quando ocorre uma troca de um processo por outro temos a chamada mudança de contexto, e
cada processo possui três partes:
1. Contexto de Hardware
Essa parte do processo é a que armazena o conteúdo dos registradores gerais da CPU e dos
registradores específicos. O contexto de Hardware de um processo em execução fica
armazenado nos registradores do processador.
2. Contexto de software
Aqui temos as especificidades dos recursos disponíveis para serem alocados em um processo,
como limite de arquivos abertos ao mesmo tempo, tamanho do buffer para operações de E/S e
prioridade de execução de processos.
O contexto possui três tipos de informação sobre o processo: identificação, quotas e privilégios.
2.1.Identificação
2.2.Quotas
Aqui temos a informação dos limites de recurso que o processo pode alocar.
2.3.Privilégios
Os privilégios definem quais ações um processo pode tomar com relação a ele mesmo, a outros
processo e ao sistema operacional. Pense, por exemplo, num processo iniciado pelo root no
linux, que tem privilégios de administrador.
3. Espaço de endereçamento
Esta parte do processo refere-se a àrea da memória que pertence ao processo, que ele possui
para armazenar instruções e dados para sua execução.
Estados de um processo
Além desses estados é possível diferenciar outros estados a partir do fato do processo estar ou
não residindo fisicamente na memória.
A passagem de um processo de um estado para outro ocorre em determinadas circunstâncias,
que são:
Ativo para Pronto: quando o dispatcher decidir que outro processo deve ocupar a cpu (por
estouro do tempo de cpu, por exemplo);
Tabela de processos
Para que o sistema tenha condições de manipular os processos (e seus estados) é necessário
que se tenha uma estrutura para armazenar informações de cada processo. Isso é feito por uma
tabela, normalmente chamada de tabela de processos ou bloco de controle de processos (BCP),
que deve conter informações tais como o número do processo (PID), identificador de seu
estado, instante de criação, tempo acumulado de execução, conteúdo dos registradores da cpu
por ele usados, endereço na memória, pilha, etc.
É através da manipulação desta tabela que o sistema operacional pode controlar todos os
processos e, também, fornecer informações para os algoritmos de escalonamento na cpu. Uma
descrição mais detalhada dos dados de uma tabela de processos pode ser vista nos livros de
SO.