so escalonamento
Post on 07-Jul-2018
217 Views
Preview:
TRANSCRIPT
-
8/18/2019 SO Escalonamento
1/84
Sistemas Operacionais
Edeyson Andrade Gomeswww.edeyson.com.br
Escalonamento
-
8/18/2019 SO Escalonamento
2/84
Roteiro da Aula Escalonamento de Processos Metas
Algoritmos FIFO
Prioridades
Escalonamento de Processos www.edeyson.com.br2
-
8/18/2019 SO Escalonamento
3/84
Algoritmo de
Escalonamento de CPU Algoritmo do S.O. que
determina qual o próximoprocesso a ocupar a CPU
Executando
Terminado
4
2
6
Definição
Executado quando ocorreestouro de Quantum ouinterrupção do processo (I/O,Evento, Sinal, etc.) ou oprocesso acaba
Transições 3, 4 e 6
Bloqueado Pronto
Iniciando5
3
1
Escalonamento de Processos www.edeyson.com.br3
-
8/18/2019 SO Escalonamento
4/84
Escalonador de Processos Sistema Multiprogramado ou Multiprocessado
Processos no estado de Pronto concorrem pela CPU SO necessita de critério de escolha dos processos para execução
Política de Escalonamento
Escalonamento de Processos www.edeyson.com.br4
Critérios mudam com características dos Processos Batch, CPU Bound, I/O Bound, Interativos
-
8/18/2019 SO Escalonamento
5/84
Escalonador de Processos Sem multiprogramação
Tempo Total de Execução = 10 unidades de tempo (ut)
Throughput = 0,2 p/ut (No. Processos Executados por ut) ∆t P0 = 5ut ∆t P1 = 10ut (∆t = Tempo Total)
Tempo médio de execução = 7,5 ut = (∆t P0 + ∆t P1) / 2
Utilização da CPU = 60 % (Desprezando-se tempo de Kernel) 40% de I/O
Escalonamento de Processos www.edeyson.com.br5
CPU
0
I/O
1
CPU
2
I/O
3
CPU
4
CPU
5
I/O
6
CPU
7
I/O
8
CPU
9 10
P0
P1
-
8/18/2019 SO Escalonamento
6/84
Escalonador de Processos
Com multiprogramação Tempo Total de Execução = 6 ut
Throughput = 0,33 (No. Processos / ut) ∆t P1 = 5ut ∆t P2 = 6ut (∆t = Tempo Total) Tempo médio de execução = 5,5 ut Utilização da CPU = 100 %
Desprezando-se tempo de Kernel
Escalonamento de Processos www.edeyson.com.br6
CPU
0
I/O
1
CPU
2
I/O
3
CPU
4
CPU I/O CPU I/O CPU
5 6
P0
P1
-
8/18/2019 SO Escalonamento
7/84
Metas do Escalonamento Eficiência
Manter a CPU ocupada 100% do tempo
Throughput Maximizar o número de processos (tarefas, jobs) executados em um
dado intervalo de tempo
Turnaround Minimizar o tempo de um processo no sistema, desde seu início até o
término Tempo médio de execução Fundamental a processos Batch
Escalonamento de Processos www.edeyson.com.br7
-
8/18/2019 SO Escalonamento
8/84
Metas do Escalonamento Igualdade
Todo Processo tem direito de ocupar a CPU
Tempo de resposta Minimizar o tem o decorrido entre a submissão de um edido e a res osta
produzida num processo interativo
Escalonamento de Processos www.edeyson.com.br8
-
8/18/2019 SO Escalonamento
9/84
Conflito entra Metas
Atender a uma meta pode prejudicar outra Qualquer algoritmo de escalonamento favorecerá um tipo
de processo (CPU Bound, I/O Bound, Tempo Real, etc) emdetrimento de outros
Propósito Geral
Escalonamento de Processos www.edeyson.com.br9
-
8/18/2019 SO Escalonamento
10/84
Tipos de Escalonamento
Dois tipos: Escalonamento não-preemptivo; Escalonamento preemptivo.
Escalonamento de Processos www.edeyson.com.br10
-
8/18/2019 SO Escalonamento
11/84
Escalonamento
Conceitos Básicos Multiprogramação visa maximizar a utilização da
CPU Processos têm surtos de CPU e I/O
Escalonamento de Processos www.edeyson.com.br11
-
8/18/2019 SO Escalonamento
12/84
Escalonamento
Escalonamento de Processos www.edeyson.com.br12
-
8/18/2019 SO Escalonamento
13/84
Escalonamento
Curva de freqüência da duração dos surtos de CPU Muitos surtos curtos Poucos surtos longos
Escalonamento de Processos www.edeyson.com.br13
-
8/18/2019 SO Escalonamento
14/84
Escalonamento
Escalonamento de Processos www.edeyson.com.br14
-
8/18/2019 SO Escalonamento
15/84
Escalonamento
Escalonador de CPU ou de Curto Prazo Seleciona processo pronto para CPU não ficar
ociosa
gor tmo para se eç o o processo pronto FIFO, com prioridade, árvore, etc
Escalonamento de Processos www.edeyson.com.br15
-
8/18/2019 SO Escalonamento
16/84
Escalonamento Escalonador de CPU (Curto Prazo ou Baixo Nível)
Transições de Estado para processos na Memória
Acionamento do escalonador1. Processo em execução para bloqueado/espera
2. Processo em execução para pronto
Escalonamento de Processos www.edeyson.com.br16
3. rocesso em execuç o termina
CPU Livre
1. Processo em espera para pronto
2. Processo de Pronto para Execução
-
8/18/2019 SO Escalonamento
17/84
Escalonamento Escalonador de CPU ou de Curto Prazo
Escalonamento Não-Preemptivo
Escalonamento Cooperativo Processo mantém a CPU até terminar, executar um I/O
ou ocorrer uma interrupção no sistema
Escalonamento de Processos www.edeyson.com.br17
Não requer recursos especiais de hardware Usado até o Windows 95
Não existe Quantum Devolução voluntária do controle ao S.O.
-
8/18/2019 SO Escalonamento
18/84
Escalonamento Escalonador de CPU ou de Curto Prazo Escalonamento Preemptivo
Requer temporizador na CPUFatia de Quantum
Requer suporte do SO para coordenar acesso adados compartilhados de forma consistenteProteção
Escalonamento de Processos www.edeyson.com.br18
-
8/18/2019 SO Escalonamento
19/84
Escalonamento Dispatcher e Latência Px Estoura tempo de Quantum Troca de contexto Interrupção de Clock
Firmware
Escalonamento de Processos www.edeyson.com.br19
Modo Kernel (instruções privilegiadas)SO
Mudança do modo de operação para Usuário Reinício do programa na posição correta
-
8/18/2019 SO Escalonamento
20/84
Escalonamento FIFO
First Come First Served (FCFS, FIFO, PEPS)
Não preemptivo
Terminado
6
Executando
Bloqueado Pronto
P1, P2, P3
4
5
2
3
1
Escalonamento de Processos www.edeyson.com.br20
P1 0 24
P2 0 3
P3 0 3
-
8/18/2019 SO Escalonamento
21/84
Escalonamento FIFO
Ordem de chegada dos processos:
P 1 ,
P 2 ,
P 3
Diagrama de Gantt
Escalonamento de Processos www.edeyson.com.br21
P1 P2 P3
24 27 300
-
8/18/2019 SO Escalonamento
22/84
Escalonamento FIFO
Tempos de esperaP 1 = 0
P 2 = 24P 3 = 27
Dica: Tempo de Espera é o tempo que o processo passa no estado de Pronto.
Escalonamento de Processos www.edeyson.com.br22
Throughput = 0,1 (3/30) Tempo médio de espera(0 + 24 + 27) / 3 = 17
-
8/18/2019 SO Escalonamento
23/84
Escalonamento FIFO
Tempos de saídaP 1 = 24
P 2 = 27P 3 = 30
Escalonamento de Processos www.edeyson.com.br23
Throughput = 0,1 (3/30) Tempo médio de saída(24 + 27 + 30) / 3 = 27
-
8/18/2019 SO Escalonamento
24/84
Escalonamento FIFO
Outra ordem de chegada
P 2 , P 3 , P 1
Dia rama de Gantt
Escalonamento de Processos www.edeyson.com.br24
P1P3P2
63 300
-
8/18/2019 SO Escalonamento
25/84
Escalonamento FIFO FIFO ordenado (SJF / MPP)
Menor Processo Primeiro Menor = menor tempo de execução
Tempos de esperaTEP 1 = 6; TEP 2 = 0; TEP 3 = 3
Tempo médio de espera melhora
Escalonamento de Processos www.edeyson.com.br25
(6 + 0 + 3) / 3 = 3 Tempo médio de espera não é mínimo
Pode variar muito (com os surtos de CPU)
Efeito Comboio Processos I/O bound esperam por CPU bound
-
8/18/2019 SO Escalonamento
26/84
Escalonamento FIFO Tempos de saída
P 1 = 30; P 2 = 3; P 3 = 6
Tempo médio de saída melhora(30 + 3 + 6) / 3 = 13
Tempo médio de saída não é mínimo
Pode variar muito (com os surtos de CPU)
Escalonamento de Processos www.edeyson.com.br26
-
8/18/2019 SO Escalonamento
27/84
Escalonamento SJF Shortest-Job-First (Menor Job Primeiro)
Deveria ser “próximo surto de CPU menor primeiro”
PID Início Duração de surto
Escalonamento de Processos www.edeyson.com.br27
P1 0 6
P2 0 8
P3 0 7
P4 0 3
sa o para rocessos
Batch.
Sua execução diária
permite determinar seu
tempo total.
-
8/18/2019 SO Escalonamento
28/84
Escalonamento SJF
Tempos de espera
P 1 = 3; P 2 = 16; P 3 = 9; P 4 = 0
Escalonamento de Processos www.edeyson.com.br28
P1 P3 P2
3 160
P4
9 24
-
8/18/2019 SO Escalonamento
29/84
Escalonamento SJF
Tempo médio de espera melhora
(3 + 16 + 9 + 0) / 4 = 7Para FIFO, nesta situação, seria 10,25 = (0+ 6+14+21)/4
empo m o e espera m n mo
– Algoritmo considerado ótimo
Escalonamento de Processos www.edeyson.com.br29
-
8/18/2019 SO Escalonamento
30/84
Escalonamento SJF Problema: determinação da duração do
próximo surto de CPU é impossível SJF é usado para escalonamento de jobs em
sistemas batch
Em escalonamento de CPU é usada estimativa
Baseada na duração dos surtos anterioresMédia exponencial
Escalonamento de Processos www.edeyson.com.br30
-
8/18/2019 SO Escalonamento
31/84
Preempção em SJF
Não preemptivo
Processo usa CPU até completar surto
Preemptivo
Novo processo pronto com surto previsto (TA) Tempo restante previsto para o processo em execução (TB) Se TA < TB⇒⇒⇒⇒ preempção por prioridade Shortest-Remaining-Time-First (SRTF)
Escalonamento de Processos www.edeyson.com.br31
-
8/18/2019 SO Escalonamento
32/84
Preempção em SJF
Executando
Pb (Tb)
Terminado
6
Executando
Pa (Ta)
Terminado6Ta < Tb
Bloqueado Pronto
Pa (Ta)
Ini5
2
3
1
Bloqueado Pronto
Pb (Tb)
Ini5
2
3
1
Escalonamento de Processos www.edeyson.com.br32
-
8/18/2019 SO Escalonamento
33/84
Preempção em SJF
Processo Instante de chegada Duração de surto
P1 0 7
P3 4 1
P4
5 4
Escalonamento de Processos www.edeyson.com.br33
-
8/18/2019 SO Escalonamento
34/84
Preempção em SJF
SJF não preemptivo
Tempo de espera médio = (0 + 6 + 3 + 7) / 4 = 4 TEP1 = 0 TEP2 = 6 (8 - 2) TEP3 = 3 TEP4 = 7
Escalonamento de Processos www.edeyson.com.br34
P1 P3 P2
73 160
P4
8 12
-
8/18/2019 SO Escalonamento
35/84
Preempção em SJF
SJF não preemptivo
Tempo de saída médio = (7 + 10 +4 + 11) / 4 = 8 TSP1 = 7 TSP2 = 10
TSP3 = 4 TSP4 = 11
Escalonamento de Processos www.edeyson.com.br35
P1 P3 P2
73 160
P4
8 12
-
8/18/2019 SO Escalonamento
36/84
Tabela de Estados
Tempo PR EX TER
0 P1 (7)
0 P1 (7)
2 P2 (4) P1 (5) TP2 < TP1 => Preempção
2 P1(5) P2(4)
4 P3(1), P1(5) P2(2) TP3 < TP2 => Preempção
4 P2(2), P1(5) P3(1)
5 P2(2), P4(4), P1(5) P3 Escalonador por Término de P35 P4(4), P1(5) P2(2)
7 P4(4), P1(5) P2
7 P1(5) P4(4)
11 P1(5) P4
11 P116 P1
Escalonamento de Processos www.edeyson.com.br36
-
8/18/2019 SO Escalonamento
37/84
Preempção em SJF
SJF preemptivo Tempo de espera médio = (9 + 1 + 0 +2) / 4 = 3
TEP1 = 9 TEP2 = 1
TEP3 = 0 TEP4 = 2
Escalonamento de Processos www.edeyson.com.br37
P1 P3P2
42 110
P4
5 7
P2 P1
16
-
8/18/2019 SO Escalonamento
38/84
Preempção em SJF
SJF preemptivo
Tempo de saída médio = (16 + 5 + 1 + 6) / 4 = 7 TSP1 = 16 TSP2 = 5
TSP3 = 1 TSP4 = 6
Escalonamento de Processos www.edeyson.com.br38
P1 P3P2
42 110
P4
5 7
P2 P1
16
-
8/18/2019 SO Escalonamento
39/84
Preempção em SJFPID Chegada Tempo CPU
1 0 15
2 5 5
3 10 104 20 4
Tempo PR EX TER
0 P1(15)5 P2(5) P1(10)
5 P1(10) P2(5)
10 P1(10), P3(10) P2
10 P3(10) P1(10)
20 P4(4), P3(10) P1
20 P3(10) P4(4)24 P3(10) P4
24 P3(10)
34 P3
Escalonamento de Processos www.edeyson.com.br39
-
8/18/2019 SO Escalonamento
40/84
Preempção em SJFPID Chegada Tempo de Surto de CPU
1 0 7
2 2 4
3 4 1
4 5 4
Tempo PR EX TER
0 P1 (7)
0 P1(7)
2 P2(4) P1(5)
2 P1(5) P2(4)4 P3(1), P1(5) P2(2)
4 P2(2), P1(5) P3(1)
5 P2(2), P4(4), P1(5) P3
5 P4(4), P1(5) P2(2)
7 P4(4), P1(5) P2
7 P1(5) P4(4)11 P1(5) P4
11 P1(5)
16 P1
Escalonamento de Processos www.edeyson.com.br40
-
8/18/2019 SO Escalonamento
41/84
Escalonamento Round Robin Round-Robin (revezamento circular)
Sistema Preemptivo
Interrupção do Clock (existe Quantum) Tempo de espera médio é longo
Tempo de saída maior que SJF
empo e resposta me or que
Escalonamento de Processos www.edeyson.com.br41
-
8/18/2019 SO Escalonamento
42/84
Escalonamento Round Robin Preemptivo
Quantum de tempo (10 ~ 100 ms)
Necessita temporizador Fila circular de processos prontos
Com quantum q e n+1 processos prontos: empo m x mo e espera: n q
Escalonamento de Processos www.edeyson.com.br42
-
8/18/2019 SO Escalonamento
43/84
Escalonamento Round Robin Com quantum q e n+1 processos prontos:
Tempo máximo de espera: n*q
Suponha uma fila de pronto com 101 processos, Quantumde 100 ms
, ,
bloqueado e de lá para o fim da fila Quando a resposta será entregue ao usuário do processo interativo?
Escalonamento de Processos www.edeyson.com.br43
-
8/18/2019 SO Escalonamento
44/84
Escalonamento Round Robin
Processo Início Duração desurto
P1 0 24
Exemplo com quantum de 4 UT
TEP1 = 6 TEP2 = 4 TEP3 = 7
Tem o médio de es era: 17 / 3 = 5 66 UT2
P3 0 3
Escalonamento de Processos www.edeyson.com.br44
-
8/18/2019 SO Escalonamento
45/84
Escalonamento Round Robin
Processo Início Duração desurto
P1 0 24
Exemplo com quantum de 4 ms
TEP1 = 6 TEP2 = 4 TEP3 = 7
Tem o médio de es era: 17 / 3 = 5 66 ms2
P3 0 3
Escalonamento de Processos www.edeyson.com.br45
40 14 307 10 18 22 26
P3P1 P2 P1 P1 P1 P1 P1
-
8/18/2019 SO Escalonamento
46/84
Escalonamento Round Robin Desempenho
Depende do quantum (q)
q grande⇒
FCFS/FIFO (Fila) q pequeno⇒ Compartilhamento de processador
Efeito da troca de contexto
Escalonamento de Processos www.edeyson.com.br46
evitar aumento de overhead
-
8/18/2019 SO Escalonamento
47/84
Escalonamento Round Robin
Escalonamento de Processos www.edeyson.com.br47
-
8/18/2019 SO Escalonamento
48/84
Escalonamento Round Robin Tempo de retorno x Tamanho do quantum
Tempo de retorno não melhora sempre com aumento do
quantum Há melhora quando processos acabam com surto de 1q
» Exemplo: 3 processos com 10 ms:
Escalonamento de Processos www.edeyson.com.br48
uantum ms tempo e sa a m o ms
Quantum 10 ms⇒ tempo de saída médio 20 ms Sem considerar tempo para troca de contexto
Regra geral: 80% dos surtos devem ser menores que 1q
-
8/18/2019 SO Escalonamento
49/84
Escalonamento Round Robin» Exemplo: 3 processos com 10 ms: Quantum 1 ms ⇒ tempo de saída médio 29 ms
=
P1 P2 P3
0 1
TS1 = 28 TS2=29 TS3 = 30::Com 201 processos na fila o
TR = 200ms = 0,2 seg1 2 2 3 3 4 4 5 5 6 ... 27 28 28 29 29 30
P1 P2 P3 P1 P2 P3
Sem considerar tempo para troca de contexto
Se o Quantum = 100ms, o TR seria de 20 seg para 201 processos nafila
Escalonamento de Processos www.edeyson.com.br49
P1 P2 P3
0 10 10 20 20 30
TS1 = 10 TS2=20 TS3 = 30
::Com 201 processos na fila o
TR = 2000 ms = 2 seg
-
8/18/2019 SO Escalonamento
50/84
Exercício
Determine a Tabela de Troca de Estados para os seguintesdados, usando Round Robin:
PID Che ada Tem o
1 0 32Quantum =
6ms
2 0 18
3 0 12
Escalonamento de Processos www.edeyson.com.br50
-
8/18/2019 SO Escalonamento
51/84
Escalonamento Round Robin
Escalonamento de Processos www.edeyson.com.br51
-
8/18/2019 SO Escalonamento
52/84
Escalonamento por Prioridade Cada processo tem uma prioridade
Número inteiro dentro de limites Faixas 0 a 7 ou 0 a 4095
Menor (ou maior) número⇒ maior prioridade Empate⇒ FCFS
um caso espec a e pr or a e
Escalonamento de Processos www.edeyson.com.br52
-
8/18/2019 SO Escalonamento
53/84
Escalonamento por Prioridade Prioridade definida interna ou externamente
Preemptivo ou não preemptivo
Starvation – Estagnação Bloqueio por tempo indefinido
Solução: aging (envelhecimento)
Escalonamento de Processos www.edeyson.com.br53
-
8/18/2019 SO Escalonamento
54/84
Escalonamento por Múltiplas Filas Classificação dos processos em grupos
Primeiro plano (foreground): interativos
Segundo plano (background): batch Filas separadas para processos prontos
Cada fila tem seu algoritmo Foreground – RR
Background – FIFO
Escalonamento de Processos www.edeyson.com.br54
-
8/18/2019 SO Escalonamento
55/84
Escalonamento por Múltiplas Filas
Escalonamento preemptivo entre filas Prioridade fixa: só atende filas menos prioritárias se as demais
estiverem vazias
Time slice 80% para foreground com RR e 20% parabackground com FIFO
Escalonamento de Processos www.edeyson.com.br55
-
8/18/2019 SO Escalonamento
56/84
Escalonamento por Múltiplas Filas
Escalonamento de Processos www.edeyson.com.br56
-
8/18/2019 SO Escalonamento
57/84
Escalonamento por Múltiplas Filas
Filas caracterizadas pelos surtos de CPU dos processos I/O bound e interativos com mais prioridade
Passam a maior parte do tempo Bloqueados
Processos podem mudar de fila
Aging pode ser facilmente implementado
Algoritmo preemptivo
Escalonamento de Processos www.edeyson.com.br57
-
8/18/2019 SO Escalonamento
58/84
Escalonamento por Múltiplas Filas
Exemplo Três filas
Q0 – quantum 8 ms
Q1 – quantum 16 ms
Q2 – FIFO (FCFS)
Escalonamento de Processos www.edeyson.com.br58
-
8/18/2019 SO Escalonamento
59/84
Escalonamento com Múltiplos Processadores
Escalonamento de CPU mais complexo Existem sistemas com barramento de E/S privativo de
determinado processador
Várias filas de processos prontos Possibilidade de desperdício de recursos
Escalonamento de Processos www.edeyson.com.br59
-
8/18/2019 SO Escalonamento
60/84
Escalonamento com Múltiplos Processadores
Única fila de processos prontos Symmetric Multiprocessing (SMP)
Cada processador faz seu escalonamento
Compartilhamento de estruturas de dados do SO Sincronização
Escalonamento no processador mestre
Escalonamento de Processos www.edeyson.com.br60
E l t d T R l
-
8/18/2019 SO Escalonamento
61/84
Escalonamento de Tempo Real
Sistemas de tempo real crítico Limites rígidos de tempo
SO garante execução no tempo ou rejeita Exige software especial e hardware dedicado
Escalonamento de Processos www.edeyson.com.br61
E l t d T R l
-
8/18/2019 SO Escalonamento
62/84
Escalonamento de Tempo Real
Sistemas de tempo real não-crítico Processos críticos com prioridade
Gera desbalanceamento do sistema
Suporte do SO Escalonamento com prioridade Não de radação da rioridade dos rocessos críticos Latência de carga pequena Chamadas ao sistema e operações de E/S Pontos de preempção seguros Todo Kernel preemptível (sincronização) Protocolo de herança de prioridade
Escalonamento de Processos www.edeyson.com.br62
E l t d T R l
-
8/18/2019 SO Escalonamento
63/84
Escalonamento de Tempo Real
Dispatch Latency Descreve a quantidade de tempo que um sistema gasta para
responder a requisição de um processo
O tempo de resposta (TR) total consiste em: TR de Interrupção
TR da aplicação
Escalonamento de Processos www.edeyson.com.br63
-
8/18/2019 SO Escalonamento
64/84
-
8/18/2019 SO Escalonamento
65/84
Solaris
SunOS
Escalonamento no Solaris (SunOS 5 9)
-
8/18/2019 SO Escalonamento
66/84
Escalonamento no Solaris (SunOS 5.9)
Preemptivo por prioridade
Fatia de tempo (quantum)
Várias classes com prioridades e algoritmos Maior prioridade⇒ menor fatia de tempo (e vice-versa)
Classes de Prioridade Real-time, system, interactive (IA), fixed-priority (FX), fair-share (FSS)
e time-sharing (TS)
Escalonamento de Processos www.edeyson.com.br66
Escalonamento no Solaris
-
8/18/2019 SO Escalonamento
67/84
Escalonamento no Solaris
Escalonamento Padrão Política Time-sharing
Ajuste dinâmico de prioridades de processos para balancearo tempo de resposta (processos interativos) e o throughputde processos CPU bound .
sc e u er troca processos oun req entemente
para prover bom tempo de resposta, mas não tãofreqüentemente que gere overhead demasiado ao sistema.
Escalonamento de Processos www.edeyson.com.br67
Escalonamento no Solaris
-
8/18/2019 SO Escalonamento
68/84
Escalonamento no Solaris
A política time-sharing: Diminui a prioridade de processos que usam a CPU
por longos períodos de tempo sem bloqueio (sleep). Atribui largas fatias de tempo para processos com baixa
prioridade (CPU Bound). Se um processo de maiorprioridade torna-se pronto durante esse quantum,ocorre preempção por prioridade do processoexecutando.
Escalonamento de Processos www.edeyson.com.br68
Escalonamento no Solaris
-
8/18/2019 SO Escalonamento
69/84
Escalonamento no Solaris
Prioridade Real-time Maior prioridade
Processos sempre retornam à CPU tão logo estejam prontos.
Alerta no SunOS: “Careless use of real-time processes can have a dramatic negative
“ - .
Escalonamento de Processos www.edeyson.com.br69
Escalonamento no Solaris
-
8/18/2019 SO Escalonamento
70/84
Escalonamento no Solaris
Process Priorities
'
Escalonamento de Processos www.edeyson.com.br70
View)
http://docs.sun.com/db/doc/806-4125/6jd7pe6ak?a=view
Escalonamento no Solaris
-
8/18/2019 SO Escalonamento
71/84
Escalonamento no Solaris
Estados dosProcessos
Escalonamento de Processos www.edeyson.com.br71
http://docs.sun.com/db/doc/806-4125/6jd7pe6ak?a=view
a xo ve ou
Curto Prazo Alto Nível
ou
Longo Prazo
Escalonamento no Solaris
-
8/18/2019 SO Escalonamento
72/84
Escalonamento no Solaris
Escalonamento
Em Tempo
Escalonamento de Processos www.edeyson.com.br72
Real
Dispatch
Latency
http://docs.sun.com/db/doc/806-4125/6jd7pe6ak?a=view
-
8/18/2019 SO Escalonamento
73/84
Prioridades no W2000
-
8/18/2019 SO Escalonamento
74/84
Prioridades no W2000
Escalonamento de Processos www.edeyson.com.br74
Estados de Threads no W2000
-
8/18/2019 SO Escalonamento
75/84
Estados de Threads no W2000
Estado Descrição Comentário
0 Initialized
1 Ready The thread is prepared to run on the next availableprocessor.
2 Running
an y e rea s a ou o use e processor.
4 Terminated
5 Waiting The thread is not ready to run, typically becauseanother operation (for example, involving I/O) mustfinish before the thread can run.
6 Transition The thread is not ready to run because it is waiting for
a resource (such as code being paged in from disk).
7 Unknown The thread is in an unknown state.
Escalonamento de Processos www.edeyson.com.br75
Escalonamento de Threads Java
-
8/18/2019 SO Escalonamento
76/84
sc o e to de e ds J
Escalonamento da JVM
Baseado em algoritmo com prioridade e preempção Fatia de tempo depende da implementação da JVM
Acionamento do escalonador Thread em execução sai do estado Executável
I/O, suspend ou stop
Thread com prioridade maior entra no estado Executável
Escalonamento de Processos www.edeyson.com.br76
Escalonamento de Threads Java
-
8/18/2019 SO Escalonamento
77/84
Métodos yield( )
Passagem do controle – Multitarefa cooperativa
setPriority( ) Thread.NORM_PRIORITY = 5
. _
Thread. MAX_PRIORITY = 10
Escalonamento de Processos www.edeyson.com.br77
Escalonamento de Threads Java
-
8/18/2019 SO Escalonamento
78/84
Exemplo
Escalonador Round-Robin com base em Java Livro Silberschatz et al
Escalonamento de Processos www.edeyson.com.br78
Avaliação de Algoritmos
-
8/18/2019 SO Escalonamento
79/84
ç g
Seleção do melhor algoritmo Específico para determinado sistema Definição dos parâmetros importantes
Normalmente mais de um parâmetroMaximizar uso de CPU e limitar tempo de resposta
Escalonamento de Processos www.edeyson.com.br79
Avaliação de Algoritmos
-
8/18/2019 SO Escalonamento
80/84
g
Métodos de Avaliação
Avaliação Analítica Modelagem determinística Para determinada situação constrói diagramas de Gantt
u to espec ca para ser t
Apenas indica tendências
Escalonamento de Processos www.edeyson.com.br80
Avaliação de Algoritmos
-
8/18/2019 SO Escalonamento
81/84
Métodos de Avaliação Modelo de Filas
Análise de redes de filas
Necessita curvas de distribuição Surtos de CPU e I/O
Tem os de che ada dos rocessos
Sistema de computação é uma rede de servidores
Exige simplificação para tratamento matemático Precisão dos resultados questionável
Escalonamento de Processos www.edeyson.com.br81
Avaliação de Algoritmos
-
8/18/2019 SO Escalonamento
82/84
Métodos de Avaliação Simulações
Modelo do sistema de computador
Dados para simulação podem ser estimados ou coletados de sistemasreais
Custo alto uso intensivo da má uina
Escalonamento de Processos www.edeyson.com.br82
Avaliação de Algoritmos
-
8/18/2019 SO Escalonamento
83/84
Escalonamento de Processos www.edeyson.com.br83
Avaliação de Algoritmos
-
8/18/2019 SO Escalonamento
84/84
Métodos de Avaliação Implementação
Teste real do algoritmo
Problemas com usuários Mudanças do ambiente original
Específicas para o novo algoritmo
Escalonamento de Processos www.edeyson.com.br84
top related