Pesquisar este blog

sexta-feira, 10 de fevereiro de 2012

Escalonamento de processos

Nos sistemas operacionais que suportam processos, quando há uma mudança de contexto, um processo precisa ser selecionado para ser posto em execução. A seleção é responsabilidade do escalonador, que, uma vez tendo selecionado o processo, tipicamente usa blocos de controle de processos para armazenar dados do processo em execução e para ler dados do processo escolhido a ser posto em execução.
  •  Certo       Errado
Cada linha de execução tem o mesmo contexto de software e compartilha o mesmo espaço de memória (endereçado a um mesmo processo pai), porém o contexto de hardware é diferente. Sendo assim o overhead causado pelo escalonamento de linha de execução é muito menor do que o escalonamento de processos, entretanto, não há acesso protegido a memória nativamente (sua implementação fica a cargo do programador) devido ao compartilhamento do espaço de memória.
--------------------------------------
Como informação extra, e buscando eliminar quaisquer dúvidas, o bloco de controle de processo (BCP) - em inglês Proccess control block (PCB) - corresponde a umaentrada na tabela de processos, como alguns autores a preferem chamar.

Tanenbaum, Andrew S. Título: Sistemas Operacionais Modernos. 2ª Edição. São Paulo: Prentice Hall, 2003. P. 59.
-------------------------------------
escalonamento de processos ou agendador de tarefas (em inglês scheduling) é uma atividade organizacional feita pelo escalonador (scheduler) da CPU ou de umsistema distribuído, possibilitando executar os processos mais viáveis e concorrentes, priorizando determinados tipos de processos, como os de I/O Bound e os computacionalmente intensivos.
O escalonador de processos de 2 níveis escolhe o processo que tem mais prioridade e menos tempo e coloca-o na memória principal, ficando os outros alocados em disco; com essa execução o processador evita ficar ocioso.

Nenhum comentário:

Postar um comentário