Buscar

SO_5-escalonamento

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition,
Capítulo 5: 
Escalonamento da CPU
4.2 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Sumário
 Conceitos básicos
 Critérios usados no escalonamento
 Algoritmos de escalonamento
 Escalonamento em multiprocessadores
 Escalonamento em tempo real
 Modelos de escalonamento
4.3 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Conceitos básicos
 Objetivo da multiprogramação: 
 Utilização máxima da CPU
 Processos normalmente alternam picos de processamento (uso da CPU) e 
E/S
 Quando um processo começa um pico de E/S outro deve assumir a CPU 
para evitar ociosidade
 Por outro lado, nenhum processo deve controlar a CPU indefinidamente! 
(melhorar a interação)
4.4 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Alternância de picos de CPU e E/S
4.5 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Distribuição de picos de CPU
4.6 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Escalonador da CPU (scheduler)
 Controla a mudança de estado dos processos
 Escalonamento ocorre quando um processo:
 a) chaveia de “EM EXECUÇÃO” para “EM ESPERA”
 b) chaveia de “EM EXECUÇÃO” para “PRONTO”
 c) chaveia de “EM ESPERA” para “PRONTO”
 d) TERMINA
4.7 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Preempção ou não preempção
 Escalonamento não preemptivo
 Processo só deixa a CPU se tiver que esperar por E/S ou 
intencionalmente. Ex.: (a) em espera e (d) termina
 Implementação mais simples do escalonador
 Escalonamento preemptivo
 Periodicamente o escalonador interrompe o processo em execução e 
muda-o para “pronto”
 Escalonador mais complexo.
 Compartilhamento da CPU é garantido
4.8 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Dificuldades da Preempção
 Exige coordenação de acesso ao dado compartilhado
 produtor interrompido → dados inconsistentes
 Afeta o projeto do kernel
 troca de contexto durante chamada de sistema
 kernel atualizava tabelas de dispositivo
 não pode haver acesso simultâneo à ação de interrupção
 SO desabilita interrup. na entrada e reabilita na saída
4.9 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Dispatcher (despachante)
 Módulo responsável por dar o controle da CPU ao processo selecionado 
pelo escalonador
 Troca de contexto
 Mudança para modo usuário
 Desvio para o ponto apropriado do programa
 Latência de despacho: o mínimo possível
 Tempo gasto para o despachante interromper um processo e inciar a 
execução de outro
4.10 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Critérios de escalonamento
 Alguns critérios utilizados na comparação de algoritmos de escalonamento da CPU:
– Utilização de CPU – mantê-la tão ocupada quanto possível (ex.: 40-90%)
– Throughput – qtde. de processos concluídos numa unidade de tempo
– Tempo de turnaround – tempo para completar um processo (alocação + fila 
+ execução CPU + execução E/S), importante para sistemas não interativos
– Tempo de espera – soma dos períodos gastos em espera na fila “prontos”
– Tempo de resposta – tempo que vai do envio de uma solicitação até uma 
primeira resposta ser produzida, importante para sistemas interativos (de 
tempo compartilhado)
4.11 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Critérios de otimização
 Maximizar a utilização de CPU
 Maximizar o throughput
 Minimizar o tempo de turnaround
 Minimizar o tempo de espera
 Minimizar o tempo de resposta
– minimizar o tempo médio (ou o máximo)
– minimizar a variância no tempo de resposta (razoável mas 
previsível)
4.12 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
First-Come, First-Served (FCFS) 
 Gantt Chart do escalonamento:
 Tempo de espera: P1 = 6; P2 = 0; P3 = 3
 Tempo de espera médio: (6 + 0 + 3)/3 = 3
 Algoritmo simples
– implementação do FCFS gerenciada por uma FIFO
– sem preempção, ruim para tempo compartilhado
Ordem de chegada: P2, P3, P1
P1P3P2
63 300
4.13 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
First-Come, First-Served (FCFS) 
 Gráfico de Gantt do escalonamento:
 Tempo de espera: P1 = 0; P2 = 24; P3 = 27
 Tempo de espera médio: (0 + 24 + 27)/3 = 17
 “efeito comboio”: pequenos são atrasados pelo grande
 processos limitados por I/O esperaram pelo processo limitado pela CPU
P1 P2 P3
24 27 300
Ordem de chegada: P1, P2, P3
4.14 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Shortest-Job-First (SJF) 
 Associa-se a cada processo o intervalo de seu próximo pico de CPU
 Próximo processo: o de menor pico de CPU
 SJF preemptivo:
 Um processo de pico menor que o restante do processo corrente, força 
a preempção do último
 Chamado Shortest Remaining Time First (SRTF)
 SJF não preemptivo:
 Processos que chegam são comparados apenas com aqueles à espera 
da CPU
 SJF é ótimo quanto ao tempo médio de espera
– Executar um processo curto antes de um longo reduz mais o tempo de 
espera do curto do que aumenta o do longo
4.15 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
SJF não preemptivo
P1 P3 P2
73 160
P4
8 12
Tempo de espera médio = (0 + 6 + 3 + 7)/4 = 4
4.16 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
SJF preemptivo
Tempo de espera médio = (9 + 1 + 0 + 2)/4 = 3
P1 P3P2
42 110
P4
5 7
P2 P1
16
4.17 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Problema: qual a duração do próximo pico?
 Bom p/ escalonamento de longo prazo (tarefas), ruim p/ escalonamento de 
curto prazo (CPU)
– no curto prazo, não há como saber o valor do próximo pico de 
utilização de CPU, mas um valor aproximado pode ser previsto
 A duração do próximo pico de CPU pode ser prevista de várias maneiras
 ex.: média exponencial dos intervalos medidos anteriormente, sendo:
1. tn= tamanho observado do n
ésimo pico de CPU
2 . τn= armazena a média histórica de CPU
3 . α = peso relativo, com 0≤α≤1
4 . Define-se:
τ n+1=αtn+ (1−α ) τ n .
4.18 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Previsão da duração do próximo 
pico de utilização de CPU
4.19 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Escalonamento por prioridades
 Um valor de prioridade (inteiro) p/ cada processo
 A CPU é alocada ao processo prioridade mais alta
– Usualmente, menor valor = maior prioridade (ex.: Linux -20 a 20)
– Pode ser preemptivo ou não preemptivo (compara ou não com o processo 
executando na CPU)
 As prioridades podem ser definidas interna ou externamente
– Internamente, ex.: limite de tempo, razão entre picos médios de I/O e de CPU
– Externamente, ex.: “importância” do processo, $ pago pelo uso da CPU 
 OBS.: SJF é um caso especial do escalonamento por prioridades, em que a 
prioridade é o inverso do próximo pico de CPU
– quanto maior o pico de CPU, menor a prioridade e vice-versa
4.20 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Escalonamento por prioridades
 Problema: inanição (starvation) ou bloqueio indefinido
 Processos de baixa prioridade podem esperar indefinidamente
 Ex.: um fluxo constante de processos com prioridade mais alta pode 
impedir o uso da CPU pelos processos de prioridade mais baixa
 Solução: envelhecimento (aging)
 Técnica que aumenta gradualmentea prioridade dos processos que 
esperam no sistema por muito tempo
 Ex.: num sistema com prioridades de -20 (mais alta) a 20 (mais baixa), 
um processo em espera de prioridade 20 poderia ter sua prioridade 
aumentada gradualmente (20, 19, 18, …, 0, -1, 2, ...) a cada 15 minutos
• No máximo, não levaria mais que 10 horas para um 
processo envelhecer e se tornar um processo de 
prioridade -20 (mais alta)
4.21 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Round Robin (RR)
 Projetado especialmente para sistemas de tempo compartilhado
– Define uma pequena unidade de tempo como quantum de tempo
– Geralmente o quantum de tempo tem duração de 10 a 100 ms
 A fila de prontos é tratada como uma fila FIFO circular
– O escalonador seleciona o 1º processo da fila, define um timer para interromper 
após 1 quantum e despacha o processo
– Pico de CPU > 1 quantum: timer desliga e causa interrupção, troca de contexto 
executada
– Pico de CPU < 1 quantum: o próprio processo libera a CPU voluntariamente
– Ao sair, o processo vai para o fim da fila
4.22 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Quantum e trocas de contexto
 Preempção periódica é um overhead
– quantum muito grande: RR decai numa política FCFS
– quantum muito pequeno: overhead se torna proibitivo
– quantum deve ser longo em relação ao tempo de troca de contexto
4.23 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Round Robin (RR)
 Quantum também é conhecido como “fatia”
– OBS.: 1 quantum, 2 quanta
 Se há n processos na fila de prontos:
 cada processo recebe 1/n do tempo da CPU
 processo executa por no máximo 1 quantum de cada vez
 nenhum processo espera mais que (n-1) quanta na fila de prontos
4.24 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Round Robin (RR)
 Exemplo (quantum = 4 unidades de tempo)
 Gantt chart: 
 Usualmente, turnaround pior que a SJF, porém c/ melhor capacidade de 
resposta
P1 P2 P3 P1 P1 P1 P1 P1
0 4 7 10 14 18 22 26 30
Processo Duração
P1 24
P2 3
P3 3
4.26 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Turnaround varia com o quantum
 o tempo de turnaround depende do quantum
– Não fica necessariamente melhor quando o quantum aumenta! Pode ser 
melhorado qdo a maioria dos proc. termina seu pico num único quantum
4.27 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Escalonamento de filas em vários níveis
 Algoritmo de escalonamento para situações em que os processos são 
facilmente classificados em diferentes grupos
 Fila de prontos é dividida em:
 processos interativos (foreground)
 processos em lote/batch (background)
 Grupos de processos
– Com requisitos de tempo de resposta diferentes, diferentes 
necessidades de escalonamento
• foreground: RR
• background: FCFS
– Processo de foreground podem ter prioridade sobre os de background
4.28 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Escalonamento de filas em vários níveis
 Estratégias de escalonamento entre filas
 Prioridade fixa com preempção
 ex.: atender sempre os processos interativos primeiro
→ possibilidade de inanição
 Fatias de tempo
 cada fila é escalonada por uma fração do tempo total (ex.: FG 80%, BG 20%)
4.29 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Filas multinível com retroalimentação
 Um processo pode se mover entre filas
 isso é uma forma de implementar envelhecimento!
 deixa os processos interativos e limitados por I/O nas filas de alta prior.
 se apresentar longos picos de CPU → fila de baixa prioridade
 Este tipo de escalonamento pode ser definido por:
 número de filas
 algoritmo de escalonamento de cada fila
 método usado para promover um processo
 método usado para rebaixar um processo
 método usado para decidir em que fila cada processo entra no sistema
4.30 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Escalonamento de multiprocessadores
 Escalonamento se complica com múltiplas CPUs
 Coisas acontecem realmente ao mesmo tempo
 Livro só aborda o caso de processadores homogêneos e com acesso 
uniforme à memória
 Podem fazer compartilhamento de carga
 CPUs acessam uma mesma fila
 Acesso à fila pode gerar contenção
4.31 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Escalonamento de multiprocessadores
Multiprocessamento Assimétrico (AMP): 
 só um processador (mestre) acessa as estruturas de dados do sistema
 reduz a complexidade do sistema
– ex.: primeiras versões do Linux multiprocessado
Multiprocessamento Simétrico (SMP): 
 todas as CPUs acessam dados e recursos de forma igual
– ex.: Windows XP (e posteriores), Solaris, Linux, Mac OS X
– opções: um só fila de prontos com todos os processos (contenção!) 
ou cada processador pode ter sua própria fila de prontos (é o 
mais usado)
4.32 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition
Multiprocessamento Simétrico (SMP)
Considerações sobre o Multiprocessamento Simétrico (SMP): 
 afinidade com o processador: se um processo migra de CPU, a cache do 
1º processador deve ser invalidada e a cache do 2º preenchida (alto 
custo)
 balanceamento de carga: quando cada processador tem sua fila, é 
importante que a carga de trabalho se mantenha balanceada entre os 
processadores
 processadores multicore: tendência atual no uso de múltiplos núcleos no 
mesmo chip físico (mais rápidos e consomem menos energia)
– cada núcleo tem seus registradores e aparenta ser um processador 
físico aos olhos do SO
– quando um processador acessa a memória (chace) ele gasta um 
tempo significativo esperando até os dados ficarem disponíveis
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th Edition,
Fim do Capítulo 5
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 35

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

3 pág.
lista02

Colégio Dom Bosco

User badge image

mariaester041092

Perguntas Recentes