Sistemas Operacionais
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, com uso de diferentes recursos e em diferentes épocas.
O objetivo da multiprogramação é aumentar o índice de aproveitamento da CPU. Ela tenta sempre deixar a CPU ocupada com algum processo. Ele aproveita as operações de I/O, onde a CPU não é utilizada e poderia ficar ociosa para colocar um outro processo em execução. O escalonamento é muito importante para o Sistema Computacional, praticamente qualquer recurso pode ser escalonado.
Figura 1.0 – Escalonamento de processos
CICLO DE SURTO DE CPU E I/O
Estas duas características se referem ao fato de que um processo tem intervalos de uso de CPU e I/O. Toda vez que um processo está usando a CPU é dito que é um surto de CPU e é um surto de I/O quando ele está em uma operação dessa natureza. Tais características fazem haver duas categorias:
Um processo que tem muitas operações de I/O terá muitos surtos curtos de CPU; Um programa que usa muito usa muito a CPU terá poucos surtos de I/O, mas serão longos.
ESCALONADOR DE CPU
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.
ESCALONAMENTO 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