Escalonamento
Escalonamento de Processos
http://www.inf.ufes.br/~rgomes/so.htm
Objetivos do Escalonamento
Maximizar a taxa de utilização da UCP.
Maximizar a vazão (“throughput”) do sistema.
Minimizar o tempo de execução (“turnaround”).
Turnaround: tempo total para executar um processo.
Minimizar o tempo de espera (“waiting time”):
Waiting time: tempo de espera na fila de prontos.
Minimizar o tempo de resposta (“response time”).
Response time: tempo entre requisição e resposta.
LPRM/DI/UFES
2
Sistemas Operacionais
http://www.inf.ufes.br/~rgomes/so.htm
Algoritmos de Escalonamento
Vários algoritmos podem ser empregados na definição de uma estratégia de escalonamento.
Os algoritmos buscam:
Obter bons tempos médios ao invés de maximizar ou minimizar um determinado critério.
Privilegiar a variância em relação a tempos médios.
As políticas de escalonamento podem ser:
Preemptivas;
Não-preemptivas.
LPRM/DI/UFES
3
Sistemas Operacionais
http://www.inf.ufes.br/~rgomes/so.htm
Políticas de Escalonamento
Preemptivas:
O processo de posse da UCP pode perdê-la a qualquer momento, na ocorrência de certos eventos,como eventos,como fim de fatia de tempo, processo mais prioritário torna-se pronto para execução, etc.
Não permite a monopolização da UCP.
Não-Preemptivas:
LPRM/DI/UFES
O processo em execução só perde a posse da UCP caso termine ou a devolva deliberadamente, isto é, uma vez no estado running, ele só muda de estado caso conclua a sua execução ou bloqueie a si mesmo emitindo, p.ex., uma operação de E/S.
4
Sistemas Operacionais
http://www.inf.ufes.br/~rgomes/so.htm
Exemplos de Algoritmos
FIFO (First-In First-Out) ou FCFS (First-Come
First-Served).
SJF (Shortest Job First) ou SPN (Shortest
Process
Process Next).
SRTF (Shortest Remaining Time First).
HRRN (Highest Response Rate Next);
Round-Robin.
Priority.
Multiple queue
LPRM/DI/UFES
5
Sistemas Operacionais