SO Escalonamento

download SO Escalonamento

of 84

Transcript of SO Escalonamento

  • 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