Escalonamento
Processos precisam ser executados
Escalonamento de
Processos
Processos concorrem a CPU
Escalonador:
– Componente (implementação) do sistema operacional – Determina a ordem de execução dos processos baseado num algoritmo de escalonamento
– Lê a fila que contém os processos no estado “pronto” e os ordena para execução
O que provoca o escalonamento?
Pronto
Executando
Bloqueado
O que afeta a performance de um algoritmo de escalonamento?
Cada processo possui informações que permitem definir precisamente seu estado.
Ilustração da troca de contexto preempção • Tais informações definem o contexto do processo
Troca de Contexto
– Mecanismo que permite ao escalonador interromper uma tarefa, e executá-la posteriormente, sem corromper seu estado.
Processo 1
Dispatcher
(P1)
Escalonador
Dispatcher
(P3)
Processo 3 tempo Verificar qual o próximo
Salvar o contexto de P1
Restaura
processo a ser executadoo contexto de
P3
– Separação do escalonamento
• Escalonamento = Política + Mecanismo
Qual o objetivo do escalonamento?
DEPENDE do tipo de sistema operacional
– Lote:
• Não possui usuários aguardando pode ser preemptivo ou não
• Não possui muita troca de contexto
• OBJETIVOS:
– melhorar o throughput (vazão)
– melhorar o turnaround (tempo entre submissão e finalização) – manter a CPU ocupada
Qual o objetivo do escalonamento?
– Propósito Geral:
• Possuem usuários interagindo
• Precisam ser preemptivos
• OBJETIVOS
– melhorar o tempo médio de resposta
– atender as expectativas dos usuários
– Tempo real:
• Em geral são preemptivos
• OBJETIVO:
– cumprir requisitos lógicos
– cumprir requisitos temporais
Qual o objetivo do escalonamento?
Independente do tipo de sistema operacional,
TODOS os algoritmos de escalonamento precisam atender a alguns critérios:
– Justiça (fairness)
– Aplicação da política de escalonamento
– Equilíbrio (balance) entre as