escalonamento de processos (1)
TRANSCRIPT
![Page 1: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/1.jpg)
Sistemas Operacionais
Escalonamento de processos
![Page 2: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/2.jpg)
2
Introdução
● Uma política de escalonamento é a estratégia do sistema para escolher quais processos devem ser executados a cada instante
![Page 3: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/3.jpg)
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;
![Page 4: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/4.jpg)
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.
![Page 5: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/5.jpg)
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.
![Page 6: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/6.jpg)
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;
![Page 7: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/7.jpg)
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;
![Page 8: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/8.jpg)
8
Prioridades
● Prioridades quantificam a importância relativa dos processos
![Page 9: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/9.jpg)
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
![Page 10: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/10.jpg)
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;
![Page 11: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/11.jpg)
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;
![Page 12: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/12.jpg)
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).
![Page 13: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/13.jpg)
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.
![Page 14: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/14.jpg)
14
Algoritmos de escalonamento
● FIFO – First in First out● Round Robin – fila circular● Short Process First (SPF)● Filas multinível com retroalimentação
![Page 15: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/15.jpg)
15
Algoritmos de escalonamento
● FIFO – First in First out
CPUJob 1Job 2Job 3Job 4
![Page 16: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/16.jpg)
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.
![Page 17: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/17.jpg)
17
Algoritmos de escalonamento
● Round Robin – fila circular
CPU1234
Preempção por tempo
Bloqueio ou espera
![Page 18: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/18.jpg)
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.
![Page 19: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/19.jpg)
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 =
![Page 20: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/20.jpg)
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
![Page 21: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/21.jpg)
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
![Page 22: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/22.jpg)
22
Algoritmos de escalonamento
● Filas multinível
CPU(FIFO)
(Circular)
(FIFO)
Alta prioridade:
Média prioridade:
Baixa prioridade:
![Page 23: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/23.jpg)
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
![Page 24: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/24.jpg)
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;
![Page 25: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/25.jpg)
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
![Page 26: Escalonamento de Processos (1)](https://reader030.vdocuments.com.br/reader030/viewer/2022020207/5571f9ff497959916990fa6c/html5/thumbnails/26.jpg)
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.