Você está na página 1de 26

Sistemas Operacionais

Escalonamento de processos
Introdução
● Uma política de escalonamento é a estratégia 
do sistema para escolher quais processos 
devem ser executados a cada instante

    2
Introdução
● Uma política de escalonamento é a estratégia 
do sistema para escolher quais processos 
devem ser executados a cada instante
● Essa política deve satisfazer critérios de:
● maximizar o número de processos/tempo 
(desempenho);
● minimizar o tempo que cada processo espera para 
ser executados (latência);
● evitar o adiamento indefinido;
    3
Níveis de escalonamento
● Escalonamento de alto nível
● Determina quais jobs serão admitidos pelo sistema;
● Se admitidos tornam­se processos ou grupos de 
processos;
● Determina o grau de multiprogramação: número de 
processos a cada instante.

    4
Níveis de escalonamento
● Escalonamento de nível intermediário
● Determina se um processo terá permissão de 
disputar processador, pois os processos podem ser 
suspensos para cumprir metas de desempenho;
● Funciona como um buffer entre a admissão e a 
designação de processadores para um processo.

    5
Níveis de escalonamento
● Escalonamento de baixo nível
● Determina qual processo ativo será executado 
quando o processador estiver disponível;
● Podem ter uma política de prioridades (importância 
de um processo);
● Designa o processador (se multiprocessado);
● Ele reside na memória principal o tempo todo;

    6
Escalonamento preemptivo vs. não 
preemptivo
● Não preemptivo: 
● uma vez que o sistema conduz um processo a 
execução, ele não poderá retirar o processo de 
execução;
● Preemptivo: 
● o sistema é capaz de interromper a execução de um 
processo e reconduzi­lo ao processador em outro 
momento;

    7
Prioridades
● Prioridades quantificam a importância relativa 
dos processos

    8
Prioridades
● Prioridades quantificam a importância relativa 
dos processos
● São de dois tipos:
● Estáticas: permanecem fixas
● Dinâmicas: são alteradas de acordo com as 
mudanças do ambiente

    9
Prioridades
● Estáticas:
● fáceis de implementar;
● sobrecarga baixa  (uso dos recursos na realização das 
tarefas dos processos);
● não propiciam a adaptação da execução as mudanças 
do ambiente (reduzindo latência e aumentando 
rendimento).
● Dinâmicas: 
● reduzem a latência de processos que estão retendo 
recursos;
● implementação mais complexa;
    10
Objetivos do escalonamento
● Maximizar o rendimento;
● Maximizar o número de processos interativos 
que estão recebendo tempos de resposta 
“aceitáveis”;
● Maximizar a utilização de recursos;
● Evitar o adiamento indefinido;
● Impor as prioridades;
● Minimizar sobrecarga;
    11
Critérios para o escalonamento
● Um processo pode ser orientado a:
● Processador: usa todo o tempo disponibilizado a 
ele para executar suas tarefas (CPU bound);
● E/S: usa brevemente o processador antes de gerar 
E/S e então o devolve (I/O bound).

    12
Critérios para o escalonamento
● Um processo pode ser orientado a:
● Processador: usa todo o tempo disponibilizado a 
ele para executar suas tarefas (CPU bound);
● E/S: usa brevemente o processador antes de gerar 
E/S e então o devolve (I/O bound).
● O tipo do processo pode ser:
● Lote: executa sem interagir com o usuário;
● Interativo: requer frequentes interações com o 
usuário.
    13
Algoritmos de escalonamento
● FIFO – First in First out
● Round Robin – fila circular
● Short Process First (SPF)
● Filas multinível com retro­alimentação

    14
Algoritmos de escalonamento
● FIFO – First in First out

Job 4 Job 3 Job 2 Job 1 CPU

    15
Algoritmos de escalonamento
● FIFO – First in First out
● todos os processos são tratados igualmente;
● processos longos fazem processos curtos esperar;
● processos não importantes fazem processos 
importantes esperar;
● não é recomendado para processos interativos;
● não é empregado como esquema mestre;
● processos de mesma prioridade são despachados 
na ordem FIFO.
    16
Algoritmos de escalonamento
● Round Robin – fila circular

4 3 2 1 CPU

Preempção por tempo

Bloqueio ou espera

    17
Algoritmos de escalonamento
● Round Robin – fila circular
● FIFO com tempo limitado (quantum);
● preempção;
● empregado em ambientes interativos;
● não é empregado como esquema mestre;
● Quantum
● Linux: padrão 100ms, varia de 10 a 200ms;
● Windows XP: padrão específico da arquitetura, em geral 
20ms, varia ser for background o foreground.
    18
Algoritmos de escalonamento
● Short Process First (SPF)
● Menor tempo estimado pelo
● usuário ou
● sistema
● não há preempção
● O tempo médio de espera (TME) é calculado 
da seguinte forma:

(∑i =1 TEi )
n
(TE1 + TE2 + ... + TEn )
TME =  ou    TME = 
n n
    19
Algoritmos de escalonamento
● Short Process First (SPF)
● O tempo de espera (TE) de cada job é o tempo que 
ele levou para começar a processar:
JOB 4 3s

JOB 3 1s

JOB 2 5s

3s
JOB 1
tempo
0 3 8 9 12

TE1=0 TE2=3 TE3=8 TE4=9 TME = (0+3+8+9)/4 = 5s


    20
Algoritmos de escalonamento
● Short Process First (SPF)

JOB 4 3s

JOB 3 1s

JOB 2 5s

3s
JOB 1
tempo
0 1 4 7 12

TE1=0 TE2=1 TE3=4 TE4=7 TME = (0+1+4+7)/4 = 3s

    21
Algoritmos de escalonamento
● Filas multinível

Alta prioridade:
(FIFO)

Média prioridade: CPU
(Circular)

Baixa prioridade:
(FIFO)

    22
Algoritmos de escalonamento
● Filas multinível com retro­alimentação

Alta prioridade Menor tempo
(FIFO adaptado)
Preempção por tempo

(FIFO adaptado)
Preempção por tempo

Preempção por tempo
(Circular)
Baixa prioridade Maior tempo

    23
Algoritmos de escalonamento
● Filas multinível com retro­alimentação
● Auxilia o processo de reconhecimento do 
comportamento de um processo;
● processos entram na fila de mais alto nível;
● processos que devolvem o processador antes do 
término do quantum permanecem no mesmo nível;
● processos que expiram o quantum vão para fila de 
nível mais baixo;
● sistemas aumentam o quantum a medida que 
 
passam a execução para filas de mais baixo nível;
  24
Algoritmos de escalonamento
● Filas multinível  com retro­alimentação
● Favorecem processos orientados a E/S ou que 
precisam de pequenos surtos de tempo;
● O quantum da primeira fila é grande o bastante 
para que processo orientados a E/S façam sua 
requisição;
● Uma requisição de E/S retira o processo da rede de 
filas (pronto);
● São ideais para separa processos em categorias 
(identificar se é orientado a processador ou E/S);
    25
● Processos podem subir de nível a medida de 
Referências
● Silberschatz, Abraham; Galvin, Peter; Gagne, Greg. 
Sistemas operacionais: conceitos e aplicações. 
Rio de Janeiro: Ed. Campus. 2000.
● Tanembaum, Andrew S. Sistemas Operacionais 
Modernos. Rio de Janeiro: LTC. 1995.
● Oliveira; Carissimi; Toscani. Sistemas Operacionais. 
Porto Alegre: Instituto de Informática da UFRGS. 
2001. Disponível on­line em: 
http://www.inf.ufrgs.br/~asc/livro/matdidatico.html. 
Acesso em: 10/02/2003. 

    26

Você também pode gostar