domingo, 1 de maio de 2011

Gerência de Processos

O SOLARIS é um sistema multiprogramável, onde cada usuário pode ter vários processos ativos simultaneamente. Em um grande sistema, podem chegar a existir milhares de processos ativos ao mesmo tempo. O Kernel do sistema é responsável pelo controle desses processos, desde sua criação, execução e destruição do mesmo.
Inicialmente, quando se dá a ativação do sistema, é criado o processo 0, que por sua vez cria o processo 1, conhecido como init. Este é ancestral de todos os outros processos.
Os processos são criados pela primitiva de sistema fork. Essa função, quando é chamada por um processo em execução (processo-pai), cria uma cópia igual desse processo (processo-filho), um processo-pai pode ter vários processos-filhos e estes também podem ter seus processos-filhos. A partir daí, tanto o processo-pai, quanto o processo-filho têm seu próprio espaço de endereçamento. Dessa forma, as variáveis de um não são visíveis ao outro e vice-versa.
Os processos são identificados mediante um código de identificação, PID(Process ID) que é fornecido pelo processo-pai ao processo-filho. A comunicação entre os processos é feita por um mecanismo de troca de mensagens que utiliza canais de comunicação chamados pipes. Através dos pipes, a saída de um comando é direcionada para a entrada de outro sem a utilização de arquivos temporários.
Os processos no SOLARIS possuem duas estruturas-chave: a tabela de processos, que contém informações como PID, modo, prioridade, entre outras; e a estrutura de usuário, contendo informações que não são necessárias quando o processo não estiver fisicamente na memória principal.
A gerência de processo do SOLARIS é usada para mostrar os processos que estão sendo executados no servidor, ou numa determinada estação de trabalho, além de parar e reinicializar processos e investigar e também de depurar processos irregulares (processos que não estão realizando o trabalho esperado).
O gerenciador usa monitores e semáforos como mecanismos de exclusão mútua, e escalonamento circular com múltiplas filas, para indicar a prioridade de cada processo.
Sendo assim, os processos que estiverem sendo executados no modo “user”(usuário) tem menor prioridade que o processos no modo “kernel”(nucleo-S.O.).

Nenhum comentário:

Postar um comentário