A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado.

Apresentações semelhantes


Apresentação em tema: "ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado."— Transcrição da apresentação:

1 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado por Sidney Lucena (Prof. UNIRIO) Capítulo 8 Gerência do Processador

2 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/2 Escalonamento Uma vez que há diversos processo na fila de pronto, qual deles selecionar para o estado de execução? o Política de Escalonamento! Base da gerência do processador

3 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/3 Escalonamento Funções básicas da política de escalonamento: o Manter a CPU a mais ocupada possível o Balancear o uso da CPU entre os processos o Privilegiar aplicações críticas o Maximizar throughput (vazão) do sistema o Possibilitar tempos de resposta razoáveis para aplicações interativas (SO de tempo real)

4 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/4 Escalonamento Cada SO possui sua política de escalonamento Escalonador (scheduler): rotina responsável por implementar a política de escalonamento Dispatcher: rotina responsável pela troca de contexto depois que o escaclonador determina qual processo vai para o estado de execução o Tempo gasto para troca de contexto é chamado de latência do dispatcher Comportamento é o mesmo tanto para processos quanto para threads no estado de pronto

5 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/5 Escalonamento Critérios considerados na política de escalonamento: o Utilização da CPU Desejável maximizar Abaixo de 30%, carga baixa; acima de 90%, próximo da saturação (atenção!) o Throughput Número de processos / tempo, desejável maximizar o Tempo de CPU Tempo do processo no estado de execução durante todo seu processamento Não é afetado pela política de escalonamento

6 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/6 Escalonamento Critérios considerados na política de escalonamento: o Tempo de Espera Tempo total do processo na fila de pronto durante todo seu processamento, desejável minimizá-lo o Tempo de Turnaround Tempo total do processo (início a fim), desejável minimizá-lo o Tempo de Resposta Tempo entre uma requisição ao sistema e sua resposta (p/ex., digitação e saída no monitor) Muitas vezes limitado pelos dispositivos de E/S

7 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/7 Escalonamento Escalonamento não preemptivo: o Primeira forma de implementação o Processo em execução não pode ser interrompido por evento externo e sai do estado de execução somente quando termina ou quando executa instrução que o coloque no estado de espera Escalonamento preemptivo: o SO pode interromper um processo em execução e passá-lo para o estado de pronto, colocando outro em execução o Permite implementar políticas de escalonamento e priorizar processos

8 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/8 Escalonamento FIFO First-In-First-Out o Primeiro a entrar na fila de pronto é selecionado para execução

9 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/9 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) Escalonamento FIFO No ex., tempo médio de espera é diferente p/ cada caso

10 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/10 Escalonamento FIFO Simples, porém apresenta deficiências: o Impossibilidade de se prever início da execução de determinado processo o Não se preocupa em otimizar critérios de escalonamento (p/ex., tempo de turnaround de processos que demandam menos CPU) o Processos CPU-bound dominam o processador frente a processos I/O-bound o Escalonamento do tipo não-preemptivo, atualmente adotado com algumas variações

11 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/11 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) Escalonamento SJF Shortest-Job-First o Processo com menor tempo de processador a executar é selecionado para execução o Tende a reduzir o tempo médio de espera (ver ex.)

12 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/12 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) Escalonamento SJF Implementação se vale de estimativas para o tempo de execução restante para os processo na fila de pronto o Estimativas levam em consideração execuções anteriores de cada processo o Tende a reduzir o tempo médio de espera (ver ex.) o Impossibilidade de estimar tempo de processador para aplicações interativas Escalonamento considera apenas tempo de CPU na próxima vez que o processo for escalonado, não mais o tempo total até o término Estimativa baseada em média exponencial dos últimos tempos de CPU

13 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/13 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) Escalonamento SJF Escalonamento não-preemptivo Em relação ao escalonamento FIFO, reduz o tempo médio de turnaround dos processos Possibilidade de starvation para processos com tempo de CPU muito longos ou CPU-bound

14 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/14 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) Escalonamento Cooperativo Processo em execução pode, voluntariamente, liberar processador e retornar à fila de pronto Liberação do processador é tarefa exclusiva do processo em execução o Processo em execução verifica periodicamente se há processos na fila de pronto para saber quando deve liberar a CPU Demais processos não serão executados se processo em execução não liberar a CPU

15 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/15 Escalonamento circular Ou Round-Robin Scheduling o Escalonamento semelhante ao FIFO, porém preemptivo, onde é dada uma fatia de tempo de execução para cada processo e, ao final deste período, o processo vai para o final da fila de pronto

16 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/16 Escalonamento circular Exemplo com fatia de tempo igual a 2 u.t.:

17 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/17 Escalonamento circular Especialmente projetado para uso em sistemas de tempo compartilhado Fatia de tempo é chamada de time-slice ou quantum o Em geral, varia de 10 a 100 ms, dependendo do SO o Se o quantum for muito grande, comportamento será semelhante à política FIFO o Se quantum for muito pequeno, desempenho será comprometido pelo número excessivo de preempções e conseqüentes atrasos para troca de contexto

18 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/18 Escalonamento circular Principal vantagem é impedir o monopólio da CPU por algum processo o Tempo máximo de CPU igual ao time-slice definido no sistema Processos CPU-bound levam vantagem em relação a processos I/O-bound o Processos I/O-bound têm mais chance de entrar no estado de espera antes de usarem todo o time- slice

19 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/19 Escalonamento circular virtual Refinamento do escalonamento circular, visa reduzir desbalanceamento entre processos I/O e CPU-bound o Processos que saem do estado de espera vão para uma fila de pronto auxiliar e preferencial

20 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/20 Escalonamento circular virtual Processos na fila de pronto serão escalonados apenas se a fila preferencial (auxiliar) estiver vazia Fatia de tempo para processos escalonados a partir da fila preferencial calculada de forma diferenciada o Time-slice do sistema menos tempo de CPU que o processo usou da última vez que foi escalonado a partir da fila de pronto Ou seja, o tempo que faltava para o processo usar todo o time-slice no momento que este foi para o estado de espera

21 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/21 Escalonamento por prioridades Escalonamento preemptivo com base na prioridade de execução de cada processo o Processos são organizados em filas separadas de acordo com seu nível de prioridade o Processos são escalonados somente quando as filas dos processos de maior prioridade estiverem vazias o Processos com mesmo nível de prioridade são escalonados segundo uma política FIFO Não existe conceito de time-slice, não há preempção por tempo e sim por prioridade

22 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/22 Escalonamento por prioridades

23 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/23 Escalonamento por prioridades

24 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/24 Escalonamento por prioridades Implementação através de interrupção de clock, a intervalos de tempo determinados, para que o escalonador verifique as filas de prioridade Também pode ser implementado de forma não- preemptiva: o Processos com prioridade maior vão para o início da fila de pronto, sem causar preempção de processos com menor prioridade Cada SO implementa sua faixa de valores para as prioridades de execução o P/ex., no OpenVMS, de 0 a 31; no AIX, de 127 a 0

25 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/25 Escalonamento por prioridades Prioridade de execução do processo definida em seu contexto de software, podendo ser estática ou dinâmica o Prioridade dinâmica pode ser ajustada ao longo da existência do processo segundo critérios do SO Permite ajustar critérios de escalonamento em função do comportamento dos processos Principal problema: possibilidade de Starvation! o Processos com baixa prioridade podem nunca ser escalonados o Uma solução é o aging: aumentar gradativamente prioridade de processos há muito na fila de pronto

26 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/26 Escalonamento por prioridades Útil em sistemas de tempo real Útil para aplicações de controle de processos Útil para priorizar processos em sistemas de tempo compartilhado

27 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/27 Escalonamento circular com prioridades Implementa conceito de fatia de tempo junto com prioridade o Processo em execução pode sofrer preempção por tempo ou por prioridade o Permite melhor balanceamento no uso da CPU o Amplamente usado em sistemas de tempo compartilhado o **Não** evita o starvation

28 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/28 Escalonamento circular com prioridades

29 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/29 Escalonamento por múltiplas filas Ou Multilevel Queue Scheduling o Diversas filas de pronto, cada qual com sua prioridade específica o Processos associam-se às filas de acordo com suas características Se dá na criação do processo e assim permanece até seu término o Mecanismos de escalonamento distintos para cada fila o Prioridade não está associada ao processo, mas sim à fila

30 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/30 Escalonamento por múltiplas filas

31 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/31 Escalonamento por múltiplas filas com realimentação Ou Multilevel Feedback Queues Scheduling o Semelhante ao MQS, porém processos podem trocar de fila durante seu processamento Este ajuste é denominado mecanismo adaptativo o Filas implementam FIFO com fatia de tempo, excetuando a de menor prioridade, que implementa fila circular Quanto maior a prioridade, menor o time-slice o Preempção por fatia de tempo joga processo para fila com prioridade imediatamente menor o Na criação, processos vão para fila mais prioritária

32 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/32 Escalonamento por múltiplas filas com realimentação

33 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/33 Escalonamento por múltiplas filas com realimentação Complexo, mas bom para processos I/O-bound o Ficam mais tempo nas filas de maior prioridade já que sofrem poucas preempções por tempo Muito tempo no estado de espera, pouco tempo no estado de execução Processos CPU-bound tendem a ser direcionados para filas com menor prioridade o Quanto maior o tempo de CPU, menor sua prioridade o Mudança de comportamento para I/O-bound compromete o desempenho

34 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/34 Escalonamento em Sistemas de Tempo Compartilhado Sistemas de tempo compartilhado caracterizam-se pelo uso de processamento interativo o Usuários exigem tempos de resposta baixo para as aplicações o Política de escalonamento deve considerar compartilhamento eqüitativo de recursos, principalmente do tempo de CPU o Maioria dos SOs de tempo compartilhado utiliza escalonamento circular com prioridades dinâmicas

35 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/35 Escalonamento FIFO (exemplo)

36 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/36 Escalonamento circular (exemplo)

37 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/37 Escalonamento circular com prioridades (exemplo)

38 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/38 Escalonamento em Sistemas de Tempo Real Sistemas onde certas aplicações exigem respostas imediatas para a execução de determinadas tarefas o SO de tempo real deve garantir a execução de processos dentro de limites rígidos de tempo Ex: controle de tráfego aéreo, controle de processos industriais o Escalonamento deve considerar importância relativa de cada processo (tarefa) o Escalonamento por prioridades estáticas é o mais adequado o Não deve haver preempção por tempo!


Carregar ppt "ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 8/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado."

Apresentações semelhantes


Anúncios Google