220 likes | 306 Views
Arquitetura de Sistemas Operacionais Técnico em Informática MBI1 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
E N D
Arquitetura de Sistemas Operacionais Técnico em Informática MBI1 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
Throughput Throughput (ou taxa de transferência) é a quantidade de dados transferidos de um lugar a outro, ou a quantidade de dados processados em um determinado espaço de tempo, pode-se usar o termo throughput para referir-se a quantidade de dados transferidos em discos rígidos ou em uma rede, por exemplo; tendo como unidades básicas de medidas o Kbps, o Mbps e o Gbps.
Turnaround Turnaround Intervalo de tempo entre a submissão de um processo e sua finalização (soma dos intervalos esperando para ser carregado na memória, fila de pronto, em execução e em espera)
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 • Não preemptivo • O processo com o menor tempo para ser completado é escolhido. 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 (Windows 3.11) • Um programa mal escrito pode monopolizar a CPU • Podem ocorrer problemas • Exemplo: primeiros sistemas MS-Windows
Escalonamento Circular ou Round Robin • Define-se umaunidade de tempo denominada time-slice quecorrespondeao tempo limiteparausoda CPU. • Apóseste tempo tersidopassado, o processosofrepreempção e é colocado no final dafila de pronto. • A fila de pronto é tratadacomoumafila circular (FIFO). • O escalonador “pega” o primeiroprocessodafila de pronto para ser executado e define um tempo de 1 time-slice. • Se o tempo de execução for maiorque 1, o time geraumainterrupção. • Projetadoparasistemas de tempo compartilhado.
Escalonamento por Prioridades • Exemplo
Escalonamento por Múltiplas Filas • Os processos são previamentes divididos em grupos em função do tipo de processamento realizado. • Interativo / 1˚ plano (foreground) • Batch / 2˚ plano (background) • Processo BATCH - É todo aquele que não necessita de intervenção do usuário, isto é, uma vez iniciado será terminado automaticamente. • A cada grupo é aplicado um escalonamento adequado.
Escalonamento por Múltiplas Filas com Realimentação • Os processos não permanecem em uma mesma fila até o término do processamento; • O SO faz um ajuste dinâmico para ajustar os processos em função do comportamento do sistema. • Os processos não são previamente associados às filas, mas direcionados pelo sistema entre as diversas filas com base no seu comportamento. • Parâmetros: • Número de filas; • Algoritmo de escalonamento para cada fila • Método para determinar em que fila um processo entra.