Professional Documents
Culture Documents
Escalonamento
Edeyson Andrade Gomes
www.edeyson.com.br
Roteiro da Aula
Escalonamento de Processos
Metas
Algoritmos
FIFO
SJF
Prioridades
Escalonamento de Processos
www.edeyson.com.br
Definio
Algoritmo de
Escalonamento de CPU
Terminado
Executando
4
2
Bloqueado
Pronto
Escalonamento de Processos
Iniciando
1
www.edeyson.com.br
Escalonador de Processos
Sistema Multiprogramado ou Multiprocessado
Poltica de Escalonamento
Escalonamento de Processos
www.edeyson.com.br
Escalonador de Processos
Sem multiprogramao
40% de I/O
CPU
P0
0
I/O
CPU
CPU
I/O
4
CPU
P1
5
5
Escalonamento de Processos
I/O
CPU
I/O CPU
10
www.edeyson.com.br
Escalonador de Processos
Com multiprogramao
P0
0
P1
6
2
3
4
5
6
CPU I/O CPU I/O CPU
Escalonamento de Processos
www.edeyson.com.br
Metas do Escalonamento
Eficincia
Throughput
Turnaround
Escalonamento de Processos
www.edeyson.com.br
Metas do Escalonamento
Igualdade
Tempo de resposta
Escalonamento de Processos
www.edeyson.com.br
Escalonamento de Processos
www.edeyson.com.br
Tipos de Escalonamento
Dois tipos:
10
Escalonamento no-preemptivo;
Escalonamento preemptivo.
Escalonamento de Processos
www.edeyson.com.br
Escalonamento
Conceitos Bsicos
11
Escalonamento de Processos
www.edeyson.com.br
Escalonamento
12
Escalonamento de Processos
www.edeyson.com.br
Escalonamento
13
Escalonamento de Processos
www.edeyson.com.br
Escalonamento
14
Escalonamento de Processos
www.edeyson.com.br
Escalonamento
15
Escalonamento de Processos
www.edeyson.com.br
Escalonamento
Escalonador de CPU (Curto Prazo ou Baixo Nvel)
1.
2.
16
Escalonamento de Processos
www.edeyson.com.br
Escalonamento
Escalonamento No-Preemptivo
Escalonamento Cooperativo
Processo mantm a CPU at terminar, executar um I/O
ou ocorrer uma interrupo no sistema
No requer recursos especiais de hardware
Usado at o Windows 95
No existe Quantum
17
Escalonamento de Processos
www.edeyson.com.br
Escalonamento
Escalonamento Preemptivo
Requer temporizador na CPU
Fatia
de Quantum
Uso do Clock
18
Escalonamento de Processos
www.edeyson.com.br
Escalonamento
Dispatcher e Latncia
SO
19
Escalonamento de Processos
www.edeyson.com.br
Escalonamento FIFO
No preemptivo
6
Terminado
Executando
24
P2
P3
4
2
Bloqueado
Pronto
P1, P2, P3
1
20
Escalonamento de Processos
www.edeyson.com.br
Escalonamento FIFO
Ordem
Diagrama
de Gantt
P1
21
P2
24
P3
27
30
Escalonamento de Processos
www.edeyson.com.br
Escalonamento FIFO
Tempos de espera
P1 = 0
P2 = 24
P3 = 27
Dica: Tempo de Espera o tempo que o processo passa no estado de Pronto.
(0 + 24 + 27) / 3 = 17
22
Escalonamento de Processos
www.edeyson.com.br
Escalonamento FIFO
Tempos de sada
P1 = 24
P2 = 27
P3 = 30
(24 + 27 + 30) / 3 = 27
23
Escalonamento de Processos
www.edeyson.com.br
Escalonamento FIFO
P2 , P3 , P1
Diagrama de Gantt
P2
0
24
P3
P1
30
Escalonamento de Processos
www.edeyson.com.br
Escalonamento FIFO
Tempos de espera
TEP1 = 6;
TEP2 = 0;
TEP3 = 3
Efeito Comboio
25
Escalonamento de Processos
www.edeyson.com.br
Escalonamento FIFO
Tempos de sada
P1 = 30;
P2 = 3;
P3 = 6
26
Escalonamento de Processos
www.edeyson.com.br
Escalonamento SJF
PID Incio
Usado para Processos
Batch.
Sua execuo diria
permite determinar seu
tempo total.
27
Durao de surto
P1
P2
P3
P4
Escalonamento de Processos
www.edeyson.com.br
Escalonamento SJF
Tempos
P1 = 3;
de espera
P2 = 16;
P3 = 9;
P4
P1
28
P4 = 0
P3
P2
16
Escalonamento de Processos
24
www.edeyson.com.br
Escalonamento SJF
Tempo
(3 + 16 + 9 + 0) / 4 = 7
Para FIFO, nesta situao, seria 10,25 = (0+ 6+14+21)/4
Tempo
29
Escalonamento de Processos
www.edeyson.com.br
Escalonamento SJF
30
exponencial
Escalonamento de Processos
www.edeyson.com.br
Preempo em SJF
No preemptivo
Preemptivo
31
Escalonamento de Processos
www.edeyson.com.br
Preempo em SJF
Ta < Tb
6
Terminado
Terminado
Executando
Pa (Ta)
Executando
Pb (Tb)
4
3
Pronto
Pa (Ta)
Bloqueado
Ini
Ini
1
32
Pronto
Pb (Tb)
Bloqueado
Escalonamento de Processos
www.edeyson.com.br
Preempo em SJF
Processo
Instante de chegada
Durao de surto
P1
P2
P3
P4
33
Escalonamento de Processos
www.edeyson.com.br
Preempo em SJF
SJF no preemptivo
TEP1 = 0
TEP3 = 3
TEP2 = 6 (8 - 2)
TEP4 = 7
P1
34
P3
7 8
P2
P4
12
Escalonamento de Processos
16
www.edeyson.com.br
Preempo em SJF
SJF no preemptivo
TSP1 = 7
TSP3 = 4
TSP2 = 10
TSP4 = 11
P1
35
P3
7 8
P2
P4
12
Escalonamento de Processos
16
www.edeyson.com.br
Tabela de Estados
Tempo
0
0
2
2
4
4
5
5
7
7
11
11
16
36
PR
P1 (7)
P2 (4)
P1(5)
P3(1), P1(5)
P2(2), P1(5)
P2(2), P4(4), P1(5)
P4(4), P1(5)
P4(4), P1(5)
P1(5)
P1(5)
EX
TER
P1 (7)
P1 (5)
P2(4)
P2(2)
P3(1)
P2(2)
P2
P4(4)
P4
P1
P1
Escalonamento de Processos
www.edeyson.com.br
Preempo em SJF
SJF preemptivo
TEP1 = 9
TEP3 = 0
TEP2 = 1
TEP4 = 2
P1
37
P2 P3
P2
P4
P1
11
Escalonamento de Processos
16
www.edeyson.com.br
Preempo em SJF
SJF preemptivo
TSP1 = 16
TSP3 = 1
TSP2 = 5
TSP4 = 6
P1
38
P2 P3
P2
P1
P4
11
Escalonamento de Processos
16
www.edeyson.com.br
Preempo em SJF
39
PID
1
2
3
4
Chegada
0
5
10
20
Tempo CPU
15
5
10
4
Tempo
0
0
5
5
10
10
20
20
24
24
34
PR
P1(15)
EX
P2(5)
P1(10)
P1(10), P3(10)
P3(10)
P4(4), P3(10)
P3(10)
P3(10)
TER
P1(15)
P1(10)
P2(5)
P2
P1(10)
P1
P4(4)
P4
P3(10)
P3
Escalonamento de Processos
www.edeyson.com.br
Preempo em SJF
40
PID
1
2
3
4
Chegada
0
2
4
5
Tempo
0
0
2
2
4
4
5
5
7
7
11
11
16
PR
P1 (7)
EX
P2(4)
P1(5)
P3(1), P1(5)
P2(2), P1(5)
P2(2), P4(4), P1(5)
P4(4), P1(5)
P4(4), P1(5)
P1(5)
P1(5)
TER
P1(7)
P1(5)
P2(4)
P2(2)
P3(1)
P3
P2(2)
P2
P4(4)
P4
P1(5)
P1
Escalonamento de Processos
www.edeyson.com.br
Sistema Preemptivo
41
Escalonamento de Processos
www.edeyson.com.br
Preemptivo
42
Necessita temporizador
Escalonamento de Processos
www.edeyson.com.br
43
Escalonamento de Processos
www.edeyson.com.br
44
Processo
Incio
Durao de
surto
P1
24
P2
P3
Escalonamento de Processos
www.edeyson.com.br
Processo
Incio
Durao de
surto
P1
24
P2
P3
P1
0
45
P2
P3
P1
10
P1
14
P1
18
P1
22
Escalonamento de Processos
P1
26
30
www.edeyson.com.br
Desempenho
46
Escalonamento de Processos
www.edeyson.com.br
47
Escalonamento de Processos
www.edeyson.com.br
48
Escalonamento de Processos
www.edeyson.com.br
P2
P3
P1
P2
P3
0 1
1 2
2 3
3 4
4 5
5 6
P1
...
49
P3
27 28 28 29 29 30
P2
Escalonamento de Processos
www.edeyson.com.br
Exerccio
Determine a Tabela de Troca de Estados para os seguintes
dados, usando Round Robin:
PID
50
Chegada
Tempo
32
18
12
Escalonamento de Processos
Quantum =
6ms
www.edeyson.com.br
51
Escalonamento de Processos
www.edeyson.com.br
52
Faixas 0 a 7 ou 0 a 4095
Empate FCFS
Escalonamento de Processos
www.edeyson.com.br
53
Escalonamento de Processos
www.edeyson.com.br
54
Foreground RR
Background FIFO
Escalonamento de Processos
www.edeyson.com.br
55
Escalonamento de Processos
www.edeyson.com.br
56
Escalonamento de Processos
www.edeyson.com.br
Algoritmo preemptivo
57
Escalonamento de Processos
www.edeyson.com.br
Exemplo
Trs filas
58
Q0 quantum 8 ms
Q1 quantum 16 ms
Q2 FIFO (FCFS)
Escalonamento de Processos
www.edeyson.com.br
59
Escalonamento de Processos
www.edeyson.com.br
Assymmetric Multiprocessing
60
Sincronizao
Escalonamento de Processos
www.edeyson.com.br
61
Escalonamento de Processos
www.edeyson.com.br
Suporte do SO
62
Escalonamento de Processos
www.edeyson.com.br
Dispatch Latency
63
TR de Interrupo
Dispatch latency
TR da aplicao
Escalonamento de Processos
www.edeyson.com.br
64
Escalonamento de Processos
www.edeyson.com.br
Solaris
SunOS
66
Escalonamento de Processos
www.edeyson.com.br
Escalonamento no Solaris
Escalonamento Padro
67
Poltica Time-sharing
Ajuste dinmico de prioridades de processos para balancear
o tempo de resposta (processos interativos) e o throughput
de processos CPU bound.
O scheduler troca processos CPU bound freqentemente
para prover bom tempo de resposta, mas no to
freqentemente que gere overhead demasiado ao sistema.
Escalonamento de Processos
www.edeyson.com.br
Escalonamento no Solaris
A poltica time-sharing:
68
Escalonamento de Processos
www.edeyson.com.br
Escalonamento no Solaris
Prioridade Real-time
Maior prioridade
Processos sempre retornam CPU to logo estejam prontos.
Alerta no SunOS:
69
Escalonamento de Processos
www.edeyson.com.br
Escalonamento no Solaris
Process Priorities
(Programmer's
View)
http://docs.sun.com/db/doc/806-4125/6jd7pe6ak?a=view
70
Escalonamento de Processos
www.edeyson.com.br
Escalonamento no Solaris
Estados dos
Processos
Baixo Nvel ou
Curto Prazo
Alto Nvel
ou
Longo Prazo
http://docs.sun.com/db/doc/806-4125/6jd7pe6ak?a=view
71
Escalonamento de Processos
www.edeyson.com.br
Escalonamento no Solaris
Escalonamento
Em Tempo
Real
Dispatch
Latency
http://docs.sun.com/db/doc/806-4125/6jd7pe6ak?a=view
72
Escalonamento de Processos
www.edeyson.com.br
Microsoft
Windows
Prioridades no W2000
74
Escalonamento de Processos
www.edeyson.com.br
Descrio
Initialized
Ready
Running
Standby
Terminated
Waiting
Transition
Unknown
75
Comentrio
The thread is prepared to run on the next available
processor.
The thread is about to use the processor.
Escalonamento de Processos
www.edeyson.com.br
Escalonamento da JVM
Acionamento do escalonador
76
Escalonamento de Processos
www.edeyson.com.br
Mtodos
yield( )
setPriority( )
77
Escalonamento de Processos
www.edeyson.com.br
Exemplo
78
Livro Silberschatz et al
Escalonamento de Processos
www.edeyson.com.br
Avaliao de Algoritmos
79
Escalonamento de Processos
www.edeyson.com.br
Avaliao de Algoritmos
Mtodos de Avaliao
Avaliao Analtica
Modelagem determinstica
Para determinada situao constri diagramas de Gantt
Muito especfica para ser til
80
Escalonamento de Processos
www.edeyson.com.br
Avaliao de Algoritmos
Mtodos de Avaliao
Modelo de Filas
81
Escalonamento de Processos
www.edeyson.com.br
Avaliao de Algoritmos
Mtodos de Avaliao
Simulaes
82
Escalonamento de Processos
www.edeyson.com.br
Avaliao de Algoritmos
83
Escalonamento de Processos
www.edeyson.com.br
Avaliao de Algoritmos
Mtodos de Avaliao
Implementao
84
Normais
Especficas para o novo algoritmo
Escalonamento de Processos
www.edeyson.com.br