Você está na página 1de 19

Algoritmos de escalonamento

Algoritmo Round-Robin (RR)



Multilevel Queue

Multilevel Feedback Queue



Algoritmo de escalonamento
Round-Robin (RR)

Este algoritmo foi criado para sistemas de
tempo compartilhado
Semelhante ao escalonamento FCFS,
mas a preempo acrescentada para
alternar entre os processos
Quantum de tempo

Algoritmo de escalonamento
Round-Robin (RR)

Cada processo obtm uma pequena
unidade do tempo de CPU (quantum de
tempo), normalmente 10-100
milissegundos.
Aps decorrido esse tempo, o processo
preemptado e colocado no final da fila de
prontos.

Algoritmo de escalonamento
Round-Robin (RR)
Processador
P1
P2 P3 P1
Preempo
Fila de prontos
Concluso
Algoritmo de escalonamento
Round-Robin (RR)
Opes de escalonamento:
Processo com um burst de CPU menor
do que um quantum de tempo
Processo com um burst de CPU maior
do que um quantum de tempo

Algoritmo de escalonamento
Round-Robin (RR)
Processo tempo de burst
P1 24
P2 3
P3 3
0
4
7 10 14
18 22
26
30
p1
p2
p3 p1 p1
p1 p1 p1
Tempo de espera mdio longo = 17/3 = 5,66
Algoritmo de escalonamento
Round-Robin (RR)

Se houver n processos na fila de prontos e
o quantum de tempo for q, ento cada
processo recebe 1/n do tempo de CPU
em, no mximo, q unidades de tempo de
cada vez.

Nenhum processo espera mais do que (n-
1)q unidades de tempo.
Algoritmo de escalonamento
Round-Robin (RR)

Desempenho
q grande FCFS
q pequeno q precisa ser grande com
relao ao tempo de troca de contexto
ou o custo adicional ser muito alto
Quantum de Tempo e
Tempo de Troca de Contexto
Exemplo de RR com
Quantum de Tempo = 20
Processo Burst
P
1
53
P
2
17
P
3
68
P
4
24
O diagrama de Gantt :




Normalmente, turnaround mdio mais alto do que SJF,
mas melhora a resposta
P
1
P
2
P
3
P
4
P
1
P
3
P
4
P
1
P
3
P
3
0 20 37 57 77 97 117 121 134 154 162
O Turnaround varia Conforme o
Quantum de Tempo
O Turnaround varia Conforme o
Quantum de Tempo
Turnaround mdio pode ser melhorado se
a maioria dos processos terminar em um
nico quantum de tempo
Trs processos de 10 unidades de tempo
cada um e um quantum de tempo de 1
unidade de tempo => turnaroundmdio =
29
Se o quantum de tempo for 10 =>
turnaroundmdio = 20
Multilevel Queue
Fila de prontos dividida em filas
distintas:
primeiro plano (interativa)
segundo plano (batch)

Cada fila possui seu prprio algoritmo de
escalonamento
primeiro plano RR
segundo plano FCFS
Escalonamento Multilevel Queue
Multilevel Queue
necessrio haver escalonamento entre
as filas
Escalonamento de prioridade fixa; (ou
seja, serve a todos a partir do primeiro
plano e depois do segundo plano).
Possibilidade de estagnao.
Fatia de tempo cada fila recebe uma
certa parte do tempo de CPU, que pode
ser escalonado entre seus processos;
por exemplo, 80% para o primeiro plano
no RR e 20% para o segundo plano no
FCFS
Multilevel Feedback Queue
No algoritmo de escalonamento de fila
multinvel, os processos recebem uma fila
permanentemente na entrada do sistema
Abordagem inflexvel, os processos no se
movem de uma fila para outra
Se um processo se move entre as vrias filas;
o envelhecimento pode ser implementado
desta forma
Exemplo de
Multilevel Feedback Queue
Exemplo de
Multilevel Feedback Queue
Escalonamento
Uma nova tarefa entra na fila Q
0
, que
atendida com base no FCFS. Quando
ganha a CPU, a tarefa recebe 8
milissegundos. Se no terminar nesse
tempo, a tarefa movida para a fila Q
1
.
Em Q
1
, a tarefa atendida novamente com
base no FCFS e recebe 16 milissegundos
adicionais. Se ainda no estiver completa,
a tarefa apropriada e movida para a fila
Q
2
.
Multilevel Feedback Queue
Escalonador da multilevel feedback queue
definido pelos seguintes parmetros:
nmero de filas
algoritmos de escalonamento para cada fila
mtodo usado para determinar quando
elevar um processo
mtodo usado para determinar quando
rebaixar um processo
mtodo usado para determinar em que fila
um processo entrar quando esse
processo precisar de atendimento

Você também pode gostar