Escolar Documentos
Profissional Documentos
Cultura Documentos
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 tornamse 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 reconduzilo 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 retroalimentação
14
Algoritmos de escalonamento
● FIFO – First in First out
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
JOB 4 3s
JOB 3 1s
JOB 2 5s
3s
JOB 1
tempo
0 1 4 7 12
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 retroalimentaçã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 retroalimentaçã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 retroalimentaçã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 online em:
http://www.inf.ufrgs.br/~asc/livro/matdidatico.html.
Acesso em: 10/02/2003.
26