arquitetura de sistemas operacionais – machado/maia cap. 8 – gerência do processador1...
TRANSCRIPT
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 1
Arquitetura de Sistemas Arquitetura de Sistemas OperacionaisOperacionais
Francis Berenger MachadoFrancis Berenger MachadoLuiz Paulo MaiaLuiz Paulo Maia
Capítulo 8Capítulo 8Gerência do ProcessadorGerência do Processador
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 2
Sumário
• Introdução• Funções Básicas• Critérios de escalonamento• Escalonamentos não-preemptivos e
preemptivos• Escalonamento FIFO• Escalonamento SJF• Escalonamento cooperativo• Escalonamento circular• Escalonamento por prioridades• Escalonamento circular com prioridades
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 3
Sumário
• Escalonamento por múltiplas filas• Escalonamento por múltiplas filas com
realimentação• Política de Escalonamento em Sistemas de
Tempo Compartilhado • Política de Escalonamento em Sistemas de
Tempo Real
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 4
Introdução
• Escalonamento
Estado d eEsp era
Estado d eExecu çã o
Estado d ePronto
Esca lo namento
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 5
Funções Básicas
• Manter a UCP ocupada a maior parte do tempo
• Balancear o uso da UCP entre processos• Privilegiar a execução de aplicações críticas• Maximizar o throughput• Oferecer tempos de resposta razoáveis para
usuários interativos• Implementada pelo scheduler e dispatcher• Processos – unidades de alocação de
recursos• Threads – unidades de escalonamento
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 6
Critérios de Escalonamento
• Utilização do processador• Throughput• Tempo de Processador / Tempo de UCP• Tempo de Espera• Tempo de Turnaround• Tempo de Resposta
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 7
Escalonamentos Não-Preemptivo e Preemptivo
• Preempção – possibilidade do SO interromper um processo em execução e substituí-lo por outro
• Escalonamento não-preemptivo• Escalonamento preemptivo
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 8
Escalonamento FIFO
• Escalonamento First-In-First-Out
U C P
Estado d eC r iação
Estado d eEsp era
Fila do s pro cesso s n o estad o d e Pron to
Estado d eTérm ino
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 9Arq
uite
tura
de
Sis
tem
as O
pera
cion
ais
– M
acha
do/M
aia
Escalonamento FIFO
• Exemplo
Processo A
Processo B
Processo C
10 14 17
Processo A
Processo B
Processo C
4 7 17 u .t.
u .t.
ProcessoTem p o d e
p rocessa do r(u .t.)
A
B
C
10
4
3
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 10Arq
uite
tura
de
Sis
tem
as O
pera
cion
ais
– M
acha
do/M
aia
Escalonamento SJF
• Escalonamento Shortest-Job-First
Processo A
Processo B
Processo C
3 7 17 u .t.
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 11
Escalonamento Cooperativo
• Processo em execução libera voluntariamente a UCP
• Verifica a fila de mensagens periodicamente
• Podem ocorrer problemas• Exemplo: primeiros sistemas MS-Windows
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 12
Escalonamento Circular
Preem p ção po r tem p o
U C P
Estado d eC r ia çã o
Estado d eEsp era
Fila do s pro cesso s n o estad o d e Pron to
Estado d eTérm ino
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 13
Escalonamento Circular
• Exemplo
Processo A
Processo B
Processo C
2 4 17 u .t.6 8 10 11
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 14
Escalonamento Circular
• Escalonamento circular virtual
Preem p ção po r tem p o
U C P
Estado d eC r iação
Fila do s pro cesso s n o estad o d e Pron to
Estado d eTérm ino
Estado d eEsp era
Fila au xi lia r
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 15
Escalonamento por Prioridades
U C P
Estado d eTérm ino
Fila s do s p ro cesso s n o estad o d e Pro n to
Pr io r id ad e P1
Pr io r id ad e P2
Pr io r id ad e Pn
Estado d eC r iação
Estado d eEsp era
Preem p ção po r p r io r id ad e
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 16
Escalonamento por Prioridades
• Exemplo
Processo A
Processo B
Processo C
3 13 17 u .t.
ProcessoTem p o d e
p rocessa do r(u .t.)
A
B
C
10
4
3
Pr io r id ad e
2
1
3
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 17
Escalonamento Circular com Prioridades
U C P
Estado d eTérm ino
Fila dos processos n o estad o d e Pron to
Pr io r id ad e P1
Pr io r id ad e P2
Pr io r id ad e Pn
Estado d eC r iação
Estado d eEsp era
Preem p ção po r tem p o o u pr io rida de
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 18
Escalonamento por Múltiplas Filas
U C P
Fila de p rocessos d o sistem a
Fila de p rocessos in tera tivos
Fila de p rocessos b a tch
M a io rp rio r id ade
M eno rp rio r id ade
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 19
Escalonamento por Múltiplas Filas com Realimentação
U C P
Fila 1 (FIFO A da ptad o )
Preem p ção po r tem p o
Fila 2 (FIFO A da ptad o )
Preem p ção po r tem p o
Fila 3 (FIFO A da ptad o )
Preem p ção po r tem p o
Fila n (C ircu la r)
Preem p ção po r tem p o
Men
or
Prio
rid
ad
eM
aio
rPr
iori
da
de
Ma
ior
fati
ad
e te
mp
oM
eno
r fa
tia
de
tem
po
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 20
Políticas em Sistemas de Tempo Compartilhado
• Escalonamento FIFO (exemplo)
Pro cesso A
Pro cesso B
u .t.277
E/S
de
A
11
E/S
de
B
19
E/S
de
A
21
E/S
de
B
Pro cessoTem p o d e
p rocessa do r(u .t.)
A
B
21
6
C aracter ística
C PU - b ou nd
I / O - b ou nd
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 21
Políticas em Sistemas de Tempo Compartilhado
• Escalonamento circular (exemplo)
Pro cessoTem p o d e
p rocessa do r(u .t.)
A
B
15
10
C aracter ística
C PU - b ou nd
I / O - b ou nd
Pro cesso A
Pro cesso B
u .t.
Pree
mp
ção
po
rte
mp
o d
e A
5
E/S
de
B
9
E/S
de
A
11
E/S
de
B
13
Pree
mp
ção
po
rte
mp
o d
e A
18
E/S
de
B
20
E/S
de
A
23 25
E/S
de
B
27
UC
P liv
re
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 22
Políticas em Sistemas de Tempo Compartilhado
• Escalonamento circular com prioridades (exemplo)
Pro cesso A
Pro cesso B
u .t.
E/S
de
B
4
Pre
emp
ção
po
rp
rio
rid
ad
e d
e A
6E/
S d
e B
8
Pre
emp
ção
po
rp
rio
rid
ad
e d
e A
12
E/S
de
B
14
E/S
de
A
15 17
Pre
emp
ção
po
rp
rio
rid
ad
e d
e A
18
E/S
de
B
20
Pre
emp
ção
po
rp
rio
rid
ad
e d
e A
24
E/S
de
B
27
UC
P liv
re
Pro cessoTem p o d e
p rocessa do r(u .t.)
A
B
12
13
C aracter ística
C PU - b ou nd
I / O - b ou nd
Pr io r id a d e
Ba ixa
A lta
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 23
Políticas em Sistemas de Tempo Real
• Tempos de respostas rígidos• Aplicações de controle de processos• Utiliza prioridades estáticas• Não utiliza fatias de tempo• Exemplo: OpenVMS