View
217
Download
0
Category
Preview:
Citation preview
2012-2 Sistemas Operacionais
Sistemas Operacionais
Aula 15
Carlos Eduardo de Carvalho Dantas
(carloseduardocarvalhodantas@gmail.com)
http://carloseduardoxp.wordpress.com
“Se você deixa o machado perder o corte e não o afia, terá de trabalhar muito mais.É mais inteligente planejar
antes de agir.” eclesiastes 10/10
2012-2 Sistemas Operacionais
Algoritmos de escalonamento
Escalonador é a parte do SO que escolhe qual thread
terá sua execução na CPU, pelo tempo que este
desejar;
Cenários como servidores e estações de trabalho com
alto desempenho na rede são as que mais necessitam
de um escalonador;
Processos podem ser limitados pela CPU (CPU-bound)
ou limitados por E/S (IO-bound), possuindo pequenos
”surtos” de uso da CPU, e esperas frequentes por E/S
2012-2 Sistemas Operacionais
Algoritmos de escalonamento
Quando escalonar:
Criação de um processo;
Término de um processo;
Quando um processo bloqueia por E/S ou semáforo;
Por interrupção de E/S, tomando uma decisão de
escalonamento
2012-2 Sistemas Operacionais
Algoritmos de escalonamento
Algoritmos não preemptivos – escolhe um processo
para executar e o deixa até ser bloqueado ou que
voluntariamente libere a CPU;
Algoritmos preemptivos – escolhe um processo e o
deixa em execução por um tempo máximo fixado
(quantum)
2012-2 Sistemas Operacionais
Escalonamento de sistemas em
lote
1) Primeiro a chegar, primeiro a ser servido – fila única
de processos prontos. Novas tarefas são colocadas
no fim da fila
Vantagens – fácil de programar
Desvantagens – não contribui para a vazão de jobs
2012-2 Sistemas Operacionais
Escalonamento de sistemas
interativos 2) Prioridades – a cada processo será atribuído uma
prioridade, e quem possuir prioridade mais alta
executa primeiro.
Mesmo PCs com um único usuário, processos como
daemons possuem prioridade mais baixa
2012-2 Sistemas Operacionais
Escalonamento de sistemas
interativos 3) Filas múltiplas – é exatamente o mesmo
escalonamento por prioridades, contudo a cada vez
que o escalonador invocasse esta thread, esta
perdesse prioridade.
Desta forma, não existe prioridades fixas, quando se
aperta <ENTER>, este vai diretamente para a
prioridade mais alta
2012-2 Sistemas Operacionais
Escalonamento de sistemas
interativos 4) Escalonamento por loteria – cada thread recebe
bilhetes. Processos mais importantes recebem
bilhetes extras para aumentar a probabilidade de
vitória.
Quando um processo bloqueia, pode enviar seus
bilhetes ao processo que o desbloqueará.
Recommended