Gerência de TI |
O escalonador decide qual processo pronto receberá a CPU e por quanto tempo. Sua política influencia diretamente o desempenho percebido pelo usuário e o aproveitamento do hardware.
Os objetivos frequentemente conflitam: maximizar a utilização da CPU e a vazão, minimizar tempo de resposta e de espera, e garantir justiça entre os processos.
Preemptivo e Não Preemptivo
No escalonamento não preemptivo, o processo mantém a CPU até concluir ou bloquear voluntariamente. É simples, porém permite que um processo longo monopolize o sistema.
No preemptivo, o sistema pode retirar a CPU de um processo em execução, seja por esgotamento do quantum, seja pela chegada de processo mais prioritário. Viabiliza tempo compartilhado e sistemas interativos.
Algoritmos Clássicos
FIFO/FCFS: atende por ordem de chegada. Simples, mas sofre com o efeito comboio, em que processos curtos aguardam atrás de um processo longo.
SJF: executa primeiro o de menor tempo. Produz o menor tempo médio de espera, mas exige prever a duração e pode causar inanição.
Round Robin: distribui fatias de tempo iguais em rodízio. É o mais usado em sistemas interativos.
Prioridades: atende primeiro o de maior prioridade, com risco de inanição mitigado pelo envelhecimento.