Escalonamento de processos
Capítulo 8
Gerência do Processador
(Escalonamento de Processos) 8.1 – Introdução * Compartilhamento da CPU em sistemas multiprogramáveis. * Critérios de escolha da ordem dos processo a entrar em execução. * Scheduler (escalonador): * Uma das principais funções do Sistema Operacional * Parte do código do Sistema Operacional responsável pelo scheduling (escalonamento). * Funções do escalonamento: * Manter a CPU ocupada a maior parte do tempo. * Balancear a utilização do processador entre diversos processos. * Maximizar o throughput do sistema * Oferecer tempos de respostas razoáveis para os usuários interativos. * Evitar starvation.
8.2 – Critérios de Escalonamento * Utilização da CPU * Em geral, é desejável que o processador permaneça a maior parte do tempo ocupado * Throughput * Número de processos executados em um determinado intervalo de tempo. * Em geral, a maximização do throughput é desejada. * Tempo de turnaroud * Tempo que um processo leva desde sua admissão no sistema até seu término. * Considera tempo de espera para alocação de memória, espera na fila de processos prontos, processamento e operações de entrada e saída. * Em geral, a minimização do tempo de turnaround é desejada. * Tempo de resposta * Tempo decorrido do momento da submissão de um pedido ao sistema até a primeira resposta produzida. * Em geral, a minimização do tempo de resposta é desejada.
8.3 – Escalonamento Não-preemptivo * Existente nos primeiros sistemas multiprogramáveis, onde predominava o processamento batch. * Quando um processo (JOB) ganha o direito de utilizar a CPU, nenhum outro processo pode lhe tirar esse recurso
8.3.1 – Escalonamento First-In-First-Out (FIFO) * O processo que chegar primeiro, é o primeiro a ser selecionado para a execução. * Necessário apenas