Escalonamento de processos
CURSO DE SISTEMAS DE INFORMAÇÃO
Escalonador de processos
Escalonamento de processos
O escalonamento de CPU é ponto chave da multiprogramação. Ela permite que haja mais de um processo em execução ao mesmo tempo. Em ambientes com um único processador, o escalonador realiza o revezamento de uso do processador pelos processos, tornando-o mais eficiente. Muitas vezes, eles têm diferentes fluxos de execução. O escalonador é um processo do Sistema Operacional que seleciona um dos processos que está no estado “PRONTO”. Um dos pontos importantes é que nem sempre o primeiro da fila é o primeiro a ser atendido.
O escalonamento de processos é uma tarefa complicada, pois nenhum algoritmo é totalmente eficiente e a prova de falhas, principalmente em se tratando de sistemas interativos, como o Windows, pois a interação com o usuário é fundamental para este sistema onde quem o utiliza procura respostas rápidas e a todo o momento processos são interrompidos pelo usuário.
ESCALONAMENTO PREEMPTIVO E NÃO PREEMPTIVO
As decisões de escalonamento de CPU podem ocorrer de quatro maneiras:
1. Quando o processo passa do estado de execução para o estado de espera (bloqueado);
2. Quando um processo passa do estado de execução para o estado pronto;
3. Quando um processo passa do estado bloqueado para o estado pronto;
4. Quando um processo termina. Nos casos 1 e 4 há obrigatoriamente a troca de processos na CPU. Um novo processo que está no estado pronto deve ser selecionado para usar a CPU. Este tipo de escalonamento é conhecido como cooperativo ou não-preemptivo. Caso contrário, ele é conhecido como preemptivo. No escalonamento não-preemptivo o processo é mantido na CPU até ele liberar o processador indo para o estado bloqueado ou terminando. Este tipo de escalonamento foi utilizado nas primeiras versões de Windows, até o 98 mais precisamente. O MacOS8 também