escalonamento de processos (1)
TRANSCRIPT
Sistemas Operacionais
Escalonamento de processos
2
Introdução
● Uma política de escalonamento é a estratégia do sistema para escolher quais processos devem ser executados a cada instante
3
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;
4
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.
5
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.
6
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;
7
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;
8
Prioridades
● Prioridades quantificam a importância relativa dos processos
9
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
10
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;
11
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;
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).
13
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.
14
Algoritmos de escalonamento
● FIFO – First in First out● Round Robin – fila circular● Short Process First (SPF)● Filas multinível com retroalimentação
15
Algoritmos de escalonamento
● FIFO – First in First out
CPUJob 1Job 2Job 3Job 4
16
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.
17
Algoritmos de escalonamento
● Round Robin – fila circular
CPU1234
Preempção por tempo
Bloqueio ou espera
18
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.
19
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:
n
TEn
i i )(1∑ =
nTETETE n )...( 21 +++
TME = ou TME =
20
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:
TME = (0+3+8+9)/4 = 5s
JOB 4
JOB 3
JOB 2
JOB 1tempo
0 3 8
3s
5s
1s
3s
9 12
TE1=0 TE2=3 TE3=8 TE4=9
21
Algoritmos de escalonamento
● Short Process First (SPF)
TME = (0+1+4+7)/4 = 3s
JOB 4
JOB 3
JOB 2
JOB 1tempo
0 1 4
3s
5s
1s
3s
7 12
TE1=0 TE2=1 TE3=4 TE4=7
22
Algoritmos de escalonamento
● Filas multinível
CPU(FIFO)
(Circular)
(FIFO)
Alta prioridade:
Média prioridade:
Baixa prioridade:
23
Algoritmos de escalonamento
● Filas multinível com retroalimentação●
(FIFO adaptado)
(Circular)
Alta prioridade
Baixa prioridade
(FIFO adaptado)
Preempção por tempo
Preempção por tempo
Preempção por tempo
Menor tempo
Maior tempo
24
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;
25
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);
● Processos podem subir de nível a medida de
26
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.