Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 8 Gerência do Processador
Sumário Introdução Funções Básicas Critérios de escalonamento Escalonamentos não-preemptivos e preemptivos Escalonamento FIFO Escalonamento SJF Escalonamento cooperativo Escalonamento circular Escalonamento por prioridades Escalonamento circular com prioridades
Sumário Escalonamento por múltiplas filas Escalonamento por múltiplas filas com realimentação Política de Escalonamento em Sistemas de Tempo Compartilhado Política de Escalonamento em Sistemas de Tempo Real
Introdução Escalonamento
Funções Básicas Manter a UCP ocupada a maior parte do tempo Balancear o uso da UCP entre processos Privilegiar a execução de aplicações críticas Maximizar o throughput Oferecer tempos de resposta razoáveis para usuários interativos Implementada pelo scheduler e dispatcher Processos – unidades de alocação de recursos Threads – unidades de escalonamento
Critérios de Escalonamento Utilização do processador Throughput Tempo de Processador / Tempo de UCP Tempo de Espera Tempo de Turnaround Tempo de Resposta
Escalonamentos Não-Preemptivo e Preemptivo Preempção – possibilidade do SO interromper um processo em execução e substituí-lo por outro Escalonamento não-preemptivo Escalonamento preemptivo
Escalonamento FIFO Escalonamento First-In-First-Out
Escalonamento FIFO Exemplo Arquitetura de Sistemas Operacionais – Machado/Maia
Escalonamento SJF Escalonamento Shortest-Job-First Arquitetura de Sistemas Operacionais – Machado/Maia
Escalonamento Cooperativo Processo em execução libera voluntariamente a UCP Verifica a fila de mensagens periodicamente Podem ocorrer problemas Exemplo: primeiros sistemas MS-Windows
Escalonamento Circular
Escalonamento Circular Exemplo
Escalonamento Circular Escalonamento circular virtual
Escalonamento por Prioridades
Escalonamento por Prioridades Exemplo
Escalonamento Circular com Prioridades
Escalonamento por Múltiplas Filas
Escalonamento por Múltiplas Filas com Realimentação
Políticas em Sistemas de Tempo Compartilhado Escalonamento FIFO (exemplo)
Políticas em Sistemas de Tempo Compartilhado Escalonamento circular (exemplo)
Políticas em Sistemas de Tempo Compartilhado Escalonamento circular com prioridades (exemplo)
Políticas em Sistemas de Tempo Real Tempos de respostas rígidos Aplicações de controle de processos Utiliza prioridades estáticas Não utiliza fatias de tempo Exemplo: OpenVMS