Buscar

AA CCT00341

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

1
SISTEMAS OPERACIONAIS
Escalonamento de CPU
Prof. Mateus Novaes
(Adaptação dos slides de Silberschatz)
SUMÁRIO
 Conceitos básicos
 Critérios de escalonamento
 Algoritmos de escalonamento
 FCFS
 SJF
 Prioridade
 Round-Robin ou Circular
 Múltiplas filas
 Múltiplas filas com retroalimentação
 Aleatório
2
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU
CONCEITOS BÁSICOS
 Máxima utilização de CPU obtida com 
multiprogramação.
 Processo é executado até ser colocado em espera
 Por causa de E/S ou ter excedido o tempo de execução
 Ciclos de surto de CPU e E/S
 A execução de um processo consiste de um surto de 
CPU e de um surto de E/S
 Um processo limitado pela E/S tem muitos surtos de 
CPU curtos
3
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
CONCEITOS BÁSICOS
4
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
CONCEITOS BÁSICOS
5
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
CONCEITOS BÁSICOS
 O escalonador de processos
 Escolhe um processo para execução, dentre os 
processos na fila de prontos
 Processo de seleção executado pelo escalonador de 
curto prazo
 A fila de processo prontos nem sempre é FIFO
 Fila de prioridades, arvore
 Os elementos das filas são geralmente os PCBs dos 
processos
6
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
CONCEITOS BÁSICOS
 Situações para a escolha de um processo
1. Processo passa de executando para em espera
2. Processo passa de executando para pronto
3. Processo passa de espera para pronto
4. Processo é terminado
 Escalonamento ocorrendo nos casos 1 e 4 é 
chamado não preemptivo
 Em qualquer outro caso é chamado preemptivo
7
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
CONCEITOS BÁSICOS
 Escalonamento preemptivo tem mais custo
 Coordenar acesso aos dados compartilhados
 Preempção tem efeito no projeto do kernel
 Chamadas ao sistema podem deixar o kernel
inconsistente se interrompidas
 Alguns S.O.s resolvem este problema evitando 
interrupção de uma chamada ao sistema
8
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
CONCEITOS BÁSICOS
 Dispatcher (executor)
 Substitui o processo corrente na CPU pelo processo 
escolhido pelo escalonador de curto prazo
 Passos:
 Troca de contexto
 Passar a CPU para o modo de usuário
 Pular para a posição adequada no programa do usuário
 Latencia de dispatch: Tempo necessário para o dispatch
interromper um processo e colocar outro para execução
9
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
CRITÉRIOS DE ESCALONAMENTO
 Critérios utilizados para comparar algoritmos:
 Tempo de processador – o tempo que o processo 
passa executando na CPU
 Vazão – número de processos que são completados 
por unidade de tempo 
 Tempo de retorno – o tempo necessário para executar 
um determinado processo.
 Este tempo deve incluir os tempos de espera, acesso à 
memória e dispositivos de I/O;
 Tempo de espera – tempo que um processo gasta 
esperando na fila de prontos
10
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
CRITÉRIOS DE ESCALONAMENTO
 Critérios utilizados para comparar algoritmos:
 Tempo de resposta – tempo percorrido desde que uma 
requisição é submetida até a primeira resposta 
produzida, não até a saída (para ambiente de tempo 
compartilhado)
 Critérios ótimos:
 Máxima utilização de CPU
 Máxima vazão
 Mínimo tempo de retorno
 Mínimo tempo de espera
 Mínimo tempo de resposta 11
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
 Escalonamento first-come, first-served
 Escalonamento mais simples de implementar
 Utiliza fila FIFO
 Longo tempo de espera médio
Process Burst Time
P1 24
P2 3
P3 3
 Tempo de espera para o processo P1 é 0, P2 é 24 e P3
é 27
 Tempo médio de espera (0+24+27)/3 = 17 
milissegundos
12
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
 Escalonamento first-come, first-served
 Se invertêssemos a ordem dos processos teríamos um 
tempo médio menor
Processo Surto de CPU
P1 24
P2 3
P3 3
 Se a ordem fosse: P2, P3 e P1
 Tempo médio de espera seria (0+3+6)/3 = 3 
milissegundos
 O algoritmo FCFS é não preemptivo
 Ruim em sistema de tempo compartilhado
13
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
 Escalonamento job mais curto primeiro (SJF)
 Associa a cada processo o tempo do seu próximo surto 
de CPU
 O próximo processo a ser escolhido é o que possuir o 
menor tempo de surto de CPU
 Caso haja empate utiliza-se FCFS
 Algoritmo pode ser utilizado nos esquemas não-
preemptivo e preemptivo
 Preemptivo – Um novo processo com surto de CPU menor do 
que o tempo restante do processo atual, faz com que o 
processo atual seja retirado. 
 Esse esquema é conhecido como “Shortest Remaining
Time First” (SRTF)
14
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
 Escalonamento job mais curto primeiro (SJF)
 Exemplo de um esquema não preemptivo:
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
 Tempo de espera médio: (0 + 6 + 3+ 7)/4 = 4
15
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
P1 P3 P2
73 160
P4
8 12
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
 Escalonamento job mais curto primeiro (SJF)
 Exemplo de um esquema preemptivo:
Processo Tempo de chegada Surto de CPU
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
 T. de esp. médio: (9 + 1 + 0 + 2)/4 = 3
16
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
P1 P3P2
42 110
P4
5 7
P2 P1
16
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
 Determinando o tempo do próximo surto de CPU
 n+1=  tn+ (1- ) n
n+1: Duração prevista para o próximo surto 
de CPU
tn: Duração real do último surto de CPU
n: Última previsão de duração de surto de 
CPU
: Varia de 0 a 1 e pode potencializar cada 
um dos termos da fórmula.
17
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
 Determinando o tempo do próximo surto de CPU
18
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
 Escalonamento por prioridade
 Cada processo recebe do sistema operacional um 
número inteiro que representa sua prioridade
 A CPU é alocada ao processo com maior prioridade na 
fila de processos prontos
 O escalonamento SJF é um caso particular de 
escalonamento por prioridade
 A prioridade é o menor surto de CPU
19
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
 Escalonamento por prioridade
 Um problema desta solução é o starvation
 Processos com baixa prioridade podem nunca chegar a 
executar
 IBM 7094 do MIT possuía um processo com 6 anos na fila 
de execução
 Uma solução para este problema de starvation seria aumentar 
a prioridade do processo a medida que o tempo passa
20
S
is
te
ma
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
Processo Prioridade Surto
P1 3 10
P2 1 1
P3 4 2
P4 5 1
P5 2 5
21
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
P2 P5
1 160
P4
6
P1 P3
1918
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
 Escalonamento Round-Robin ou Circular
 Cada processo recebe uma fatia de tempo igual para 
executar
 Essa unidade de tempo pode variar e se chama quantum
 O quantum varia entre 10-100 milisegundos
 Implementado com uma fila FIFO
 O processo retirado da CPU vai para o final da fila
 Um quantum longo faz o algoritmo funcionar como o 
FCFS
 Um quantum pequeno gera muito overhead devido a 
troca de contexto
22
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
Processo Surto de CPU
P1 24
P2 3
P3 3
 Tempo de espera médio maior do que o SJF, mas o 
tempo de resposta é melhor
23
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
P1 P2 P3 P1 P1 P1 P1 P1
0 4 7 10 14 18 22 26 30
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
24
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
25
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
 Escalonamento por múltiplas filas
 Fila de prontos é dividida em filas distintas:
 Primeiro plano (interativa)
 Segundo plano (batch)
 Outras...
 Cada fila possui seu próprio algoritmo de 
escalonamento
 Primeiro plano – RR
 Segundo plano – FCFS
26
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
 Deve haver um escalonamento entre as filas
 Prioridade fixa: As filas de maior prioridade devem 
esvaziar para serem escolhidos processos de outras 
filas
 Starvation
 Divisão de tempo: Cada fila tem uma porção de tempo 
da CPU 
 Primeiro plano – 80%
 Segundo plano – 20%
27
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
28
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
 Escalonamento por múltiplas filas com 
retroalimentação
 Um processo pode se mover entre as filas de 
processos
 Normalmente implementado com 3 filas
 Q0 – Quantum de 8 millisegundos
 Q1 – Quantum de 16 millisegundos
 Q2 – FCFS
29
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
30
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
 Escalonamento por múltiplas filas com 
retroalimentação
 Escalonamento:
 Um processo novo entra na fila Q0 e recebe 8 milisegundos de 
tempo de CPU
 Se não terminar a execução passa para a fila Q1
 O processo na fila Q1 recebe 16 milisegundos
 Se não terminar a execução passa para a fila Q2
 Na fila Q2 os processos obedecem FCFS
 Os processos da fila Qn não são servidos enquanto a fila Qn-1 
não está vazia
31
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is
ESCALONAMENTO DE CPU 
ALGORITMOS DE ESCALONAMENTO
 Aleatório ou loteria
 Tokens numerados são distribuídos entre os processos 
e no escalonamento é sorteado um numero aleatório. O 
processo que tiver o número ganha a CPU.
 Escalonamento garantido
 Este algoritmo busca cumprir promessas de alocação 
de CPU o mais preciso possível.
32
S
is
te
m
a
s
 O
p
e
ra
c
io
n
a
is

Outros materiais