Beruflich Dokumente
Kultur Dokumente
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 Silberschatz, Galvin e Gagne 2007
Captulo 5: Escalonamento de CPU
Conceitos bsicos
Critrios de escalonamento
Algoritmos de escalonamento
Escalonamento em mltiplos
processadores
Escalonamento em tempo real
Escalonamento de threads
Exemplos de sistemas operacionais
Escalonamento de thread em Java
Avaliao de algoritmo
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.2 Silberschatz, Galvin e Gagne 2007
Conceitos bsicos
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.3 Silberschatz, Galvin e Gagne 2007
Seqncia alternada de bursts de CPU e E/S
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.4 Silberschatz, Galvin e Gagne 2007
Histograma de tempos de burst de CPU
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.5 Silberschatz, Galvin e Gagne 2007
Escalonador de CPU
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.6 Silberschatz, Galvin e Gagne 2007
Despachante
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.7 Silberschatz, Galvin e Gagne 2007
Critrios de escalonamento
Utilizao de CPU mantenha a CPU a mais ocupada
possvel
Throughput # de processos que completam sua execuo
por unidade de tempo
Tempo de turnaround quantidade de tempo para executar
um processo em particular
Tempo de espera tempo em que um processo esteve
esperando na fila de prontos
Tempo de resposta tempo desde quando uma solicitao
foi submetida at a primeira reposta ser produzida, no a
sada (para ambiente de tempo compartilhado)
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.8 Silberschatz, Galvin e Gagne 2007
Critrios de otimizao
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.9 Silberschatz, Galvin e Gagne 2007
Escalonamento First-Come, First-Served (FCFS)
P1 P2 P3
0 24 27 30
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.10 Silberschatz, Galvin e Gagne 2007
Escalonamento FCFS (cont.)
Suponha que os processos cheguem nesta ordem:
P2 , P3 , P1
O Grfico de Gantt para o schedule :
P2 P3 P1
0 3 6 30
Tempo de espera para P1 = 6; P2 = 0; P3 = 3
Tempo de espera mdio: (6 + 0 + 3)/3 = 3
Muito melhor que o caso anterior
Efeito comboio: processo curto atrs de processo longo
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.11 Silberschatz, Galvin e Gagne 2007
Escalonamento Shortest-Job-First (SJF)
Associe a cada processo a extenso de seu prximo burst
de CPU. Use essas extenses para escalonar o processo
com o menor tempo
Dois esquemas:
no preemptivo uma vez a CPU dada ao processo,
ele no pode ser apropriado at que termine seu burst
de CPU
preemptivo se um novo processo chega com tamanho
de burst de CPU menor que o tempo restante do
processo atualmente em execuo, apropria. Esse
esquema conhecido como Shortest-Remaining-Time-
First (SRTF)
SJF ideal gera o menor tempo de espera mdio para
determinado conjunto de processos
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.12 Silberschatz, Galvin e Gagne 2007
Exemplo de SJF no preemptivo
P1 P3 P2 P4
0 3 7 8 12 16
Tempo mdio de espera = (0 + 6 + 3 + 7)/4 = 4
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.13 Silberschatz, Galvin e Gagne 2007
Exemplo de SJF preemptivo
P1 P2 P3 P2 P4 P1
0 2 4 5 7 11 16
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.14 Silberschatz, Galvin e Gagne 2007
Determinando a extenso do prximo
burst de CPU
S pode estimar a extenso
Pode ser feito usando a extenso dos bursts de
CPU anteriores, usando a mdia exponencial
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.15 Silberschatz, Galvin e Gagne 2007
Previso da extenso do prximo burst de
CPU
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.16 Silberschatz, Galvin e Gagne 2007
Exemplos de mdia exponencial
=0
n+1 = n
Histria recente no conta
=1
n+1 = tn
Somente as ltimas contagens reais de burst de CPU
Se expandirmos a frmula, obtemos:
n+1 = tn+(1 - ) tn -1 +
+(1 - )j tn -j +
+(1 - )n +1 0
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.17 Silberschatz, Galvin e Gagne 2007
Escalonamento por prioridade
Um nmero de prioridade (inteiro) associado a cada
processo
A CPU alocada ao processo com a maior prioridade
(menor inteiro maior prioridade)
Preemptivo
no preemptivo
SJF um escalonamento por prioridade onde a prioridade
o prximo tempo de burst de CPU previsto
Problema Estagnao processos com baixa prioridade
podem nunca ser executados
Soluo Envelhecimento medida que o tempo
passa, aumenta a prioridade do processo
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.18 Silberschatz, Galvin e Gagne 2007
Round Robin (RR)
Cada processo recebe uma pequena unidade de tempo
de CPU (quantum de tempo), normalmente 10-100
milissegundos. Depois que esse tempo tiver passado, o
processo apropriado e acrescentado ao final da fila de
pronto.
Se houver n processos na fila de pronto e o quantum de
tempo for q, ento cada processo recebe 1/n do tempo de
CPU em pedaos de no mximo q unidades de tempo de
uma s vez. Nenhum processo espera mais do que (n
1)q unidades de tempo.
Desempenho
q grande FIFO
q pequeno q deve ser grande com relao troca
de contexto, ou ento o overhead muito alto
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.19 Silberschatz, Galvin e Gagne 2007
Exemplo de RR com quantum de tempo
= 20
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.20 Silberschatz, Galvin e Gagne 2007
Quantum de tempo e tempo de troca de
contexto
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.21 Silberschatz, Galvin e Gagne 2007
Tempo de turnaround varia com o quantum de
tempo
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.22 Silberschatz, Galvin e Gagne 2007
Fila multinvel
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.23 Silberschatz, Galvin e Gagne 2007
Escalonamento de fila multinvel
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.24 Silberschatz, Galvin e Gagne 2007
Fila de feedback multinvel
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.25 Silberschatz, Galvin e Gagne 2007
Exemplo de fila de feedback multinvel
Trs filas:
Q0 RR com quantum de tempo de 8 milissegundos
Q1 RR com quantum de tempo de 16 milissegundos
Q2 FCFS
Escalonamento
Um novo job entra na fila Q0 que servida FCFS.
Quando ganha a CPU, o job recebe 8 milissegundos. Se
no terminar em 8 milissegundos, o job movido para a
fila Q1.
Em Q1 o job novamente servido FCFS e recebe 16
milissegundos adicionais. Se no completar, ele
apropriado e movido para a fila Q2.
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.26 Silberschatz, Galvin e Gagne 2007
Filas de feedback multinvel
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.27 Silberschatz, Galvin e Gagne 2007
Escalonamento de mltiplos
processadores
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.28 Silberschatz, Galvin e Gagne 2007
Escalonamento de tempo real
Sistemas de tempo real rgido
exigidos para completar uma tarefa
crtica dentro de um perodo de tempo
garantido
Computao em tempo real flexvel
exige que processos crticos recebam
prioridade em relao aos menos
favorecidos
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.29 Silberschatz, Galvin e Gagne 2007
Escalonamento de thread
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.30 Silberschatz, Galvin e Gagne 2007
API de escalonamento Pthread
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.31 Silberschatz, Galvin e Gagne 2007
Exemplos de sistema operacional
Escalonamento do Solaris
Escalonamento do Windows XP
Escalonamento do Linux
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.32 Silberschatz, Galvin e Gagne 2007
Escalonamento do Solaris
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.33 Silberschatz, Galvin e Gagne 2007
Tabela de despacho do Solaris
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.34 Silberschatz, Galvin e Gagne 2007
Prioridades do Windows XP
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.35 Silberschatz, Galvin e Gagne 2007
Escalonamento do Linux
Dois algoritmos: tempo compartilhado e tempo real
Tempo compartilhado
Priorizado baseado em crdito processo com a maioria
dos crditos escalonado em seguida
Crdito subtrado quando houver interrupo de timer
Quando crdito = 0, outro processo escolhido
Quando todos os processos tiverem crdito = 0, ocorre
novo crdito
Baseado em fatores incluindo prioridade e histria
Tempo real
Tempo real flexvel
Compatvel com Posix.1b duas classes
FCFS e RR
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.36 Silberschatz, Galvin e Gagne 2007
Lista de tarefas indexadas de acordo com as
prioridades
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.37 Silberschatz, Galvin e Gagne 2007
Escalonamento em Java
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.38 Silberschatz, Galvin e Gagne 2007
Escalonamento em Java
MIN_PRIORITY is 1
NORM_PRIORITY is 5
MAX_PRIORITY is 10
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.39 Silberschatz, Galvin e Gagne 2007
Escalonamento em Java
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.40 Silberschatz, Galvin e Gagne 2007
Escalonamento em Java
Relacionamento entre prioridades Java e Win32
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.41 Silberschatz, Galvin e Gagne 2007
Escalonamento em Java
Escalonamento de thread Java no Solaris
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.42 Silberschatz, Galvin e Gagne 2007
Avaliao de algoritmo
Modelagem determinstica apanha carga
de trabalho predeterminada em particular
e define o desempenho de cada algoritmo
para essa carga de trabalho
Modelos de enfileiramento
Implementao
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.43 Silberschatz, Galvin e Gagne 2007
Avaliao de algoritmo
Avaliao de escalonadores de CPU por simulao
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.44 Silberschatz, Galvin e Gagne 2007
Avaliao de algoritmo
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 5.45 Silberschatz, Galvin e Gagne 2007
Final do Captulo 5
Conceitos de sistema operacional com Java 7a edio, 15/11/2006 Silberschatz, Galvin e Gagne 2007