Gerencia do processador
Prof: Henrique Buosi Monteiro Versão 1.0
4. GERÊNCIA DE PROCESSADOR (Escalonamento de processos)
Para implementar o compartilhamento da CPU entre diversos processos, um sistema operacional multiprogramável deve possuir um critério para determinar, entre os diversos processos no estado pronto, qual o próximo processo a executar.
Figura A- Estados de um processo em um Sistema Operacional
Esse procedimento de seleção é realizado por um importante componente do sistema operacional denominado escalonador, e, por isso, recebe o nome de escalonamento de processos.
O escalonamento tem como principais objetivos:
· maximizar a utilização do processador
· maximizar o número de processos completados por unidade de tempo
· garantir que todos o processos recebam o processador
· minimizar o tempo de resposta para o usuário Tipos de escalonamento:
· não-preemptivo: processo que está executando não pode ser interrompido. Presente nos primeiros sistemas multiprogramáveis, onde predominava o processamento em batch. As políticas que implementam escalonamento não-preemptivo não são aplicáveis à sistemas de tempo compartilhado, pois em processos interativos é necessário um tempo de resposta ao usuário razoável.
· preemptivo: o processador pode ser retirado do processo que está executando. Permite atenção imediata aos processos mais prioritários (tempo real), melhores tempos de resposta
(tempo compartilhado), compartilhamento uniforme do processador.
4.1 Políticas de escalonamento não-preemptivas
4.1.1 Primeiro a chegar-primeiro a sair (first-in first-out ou Fifo)
· O primeiro processo que chegar é o primeiro a ser selecionado para execução.
· Os processos que passam para o estado pronto são colocados no final de uma fila.
Quando chegarem ao seu início, serão selecionados para executarem.
· Utilizado para processos bloqueados também.
· Algoritmo de implementação bastante simples, utilizando uma única fila.
· Ao receber o