8/1
Arquitetura de Sistemas Operacionais
Francis Berenger MachadoLuiz Paulo Maia
Capítulo 8Gerência do Processador
8/2
Escalonamento
Estado deEspera
Estado deExecução
Estado dePronto
Esca
lonam
ento
8/3
Escalonamentp FIFO
UCP
Estado deCriação
Estado deEspera
Fila dos processos no estado de Pronto
Estado deTérmino
8/4
Escalonamento FIFO
Processo A
Processo B
Processo C
10 14 17
Processo A
Processo B
Processo C
4 7 17u.t.
u.t.
Processo
Tempo deprocessador
(u.t.)
A
B
C
10
4
3
8/5
Escalonamento SJF
Processo A
Processo B
Processo C
3 7 17 u.t.
8/6
Preempção por tempo e Preempção por prioridade
Preempção por tempo ocorre quando o sistema
operacional interrompe o processo em execução em
função da expiração da sua fatia de tempo, substituindo-o
por outro processo.
Preempção por prioridade, ocorre quando o sistema
operacional interrompe o processo em execução em
função de um processo entrar em estado de pronto com
prioridade superior ao do processo em execução.
8/7
Escalonamento circular
Preempção por tempo
UCP
Estado deCriação
Estado deEspera
Fila dos processos no estado de Pronto
Estado deTérmino
8/8
Escalonamento circular
Processo A
Processo B
Processo C
2 4 17 u.t.6 8 10 11
8/9
Escalonamento circular virtual
Preempção por tempo
UCP
Estado deCriação
Fila dos processos no estado de Pronto
Estado deTérmino
Estado deEspera
Fila auxiliar
8/10
Escalonamento por prioridades
UCP
Estado deTérmino
Filas dos processos no estado de Pronto
Prioridade P1
Prioridade P2
Prioridade Pn
Estado deCriação
Estado deEspera
Preempção por prioridade
8/11
Escalonamento por prioridades
Processo A
Processo B
Processo C
3 13 17 u.t.
ProcessoTempo de
processador(u.t.)
A
B
C
10
4
3
Prioridade
2
1
3
8/12
Escalonamento circular com prioridades
UCP
Estado deTérmino
Fila dos processos no estado de Pronto
Prioridade P1
Prioridade P2
Prioridade Pn
Estado deCriação
Estado deEspera
Preempção por tempo ou prioridade
8/13
Escalonamento por múltiplas filas
UCP
Fila de processos do sistema
Fila de processos interativos
Fila de processos batch
Maiorprioridade
Menorprioridade
8/14
Escalonamento por múltiplas filas com realimentação
UCP
Fila 1 (FIFO Adaptado)
Preempção por tempo
Fila 2 (FIFO Adaptado)
Preempção por tempo
Fila 3 (FIFO Adaptado)
Preempção por tempo
Fila n (Circular)
Preempção por tempo
Men
or
Pri
ori
da
de
Ma
ior
Pri
ori
da
de
Ma
ior
fati
ad
e t
em
po
Men
or
fati
ad
e t
em
po
8/15
Escalonamento FIFO (exemplo)
Processo A
Processo B
u.t.277
E/S
de A
11
E/S
de B
19
E/S
de A
21
E/S
de B
Processo
Tempo deprocessador
(u.t.)
A
B
21
6
Característica
CPU-bound
I/ O-bound
8/16
Escalonamento circular (exemplo)
Processo
Tempo deprocessador
(u.t.)
A
B
15
10
Característica
CPU-bound
I/ O-bound
Processo A
Processo B
u.t.Pre
em
pçã
o p
or
tem
po
de A5
E/S
de B
9
E/S
de A
11
E/S
de B
13
Pre
em
pçã
o p
or
tem
po
de A
18
E/S
de B
20
E/S
de A
23 25
E/S
de B
27
UC
P liv
re
8/17
Escalonamento circular com prioridades (exemplo)
Processo A
Processo B
u.t.E/S d
e B
4Pre
em
pçã
o p
or
pri
ori
da
de d
e A
6
E/S d
e B
8
Pre
em
pçã
o p
or
pri
ori
da
de d
e A
12
E/S d
e B
14
E/S
de A
15 17
Pre
em
pçã
o p
or
pri
ori
da
de d
e A
18
E/S d
e B
20
Pre
em
pçã
o p
or
pri
ori
da
de d
e A
24
E/S d
e B
27
UC
P liv
re
Processo
Tempo deprocessador
(u.t.)
A
B
12
13
Característica
CPU-bound
I/ O-bound
Prioridade
Baixa
Alta
8/18
Round Robin
8/19
Que tipo de escalonamento aplicações de tempo real
exigem?
• Escalonamento por prioridades onde épossível atribuir prioridades aos processosem função da sua importância.
• Além disso, o mecanismo de preempçãopor prioridades garante o escalonamentoimediato de processos críticos quandoesses passam para o estado de pronto.