Post on 06-Jun-2015
UFRPE/EADLicenciatura em Computação-6P
2011.1Tutor: Rodrigo Lins Rodrigues
Escalonamento de Processos
Aula 4
2
Introdução
O ponto principal do sistema operacional é a multiprogramação;
Múltiplos programas são mantidos na memória;
O escalonamento de processos é a chave para a a multiprogramação;
Principal função é selecionar o job que deve ocupar o processador;
Existem 3 níveis de escalonamento num S.O: escalonamento de longo prazo; escalonamento de curto prazo; escalonamento de entrada/saída.
3
Tipos de Escalonamento
Escalonamento de longo prazo;
Escalonamento de curto prazo;
Escalonamento de entrada e saída.
4
Escalonamento de longo prazo
O escalonador de longo prazo determina que programas podem ser admitidos no sistema para o processamento, controlando o número de jobs na memória;
O fato do escalonador de longo prazo selecionar aquele job não signifca que ele vai ser executado de imediato;
Obs: Um processo é um programa em execução e um job é um programa que foi selecionado para execução, mas ainda não começou a executar
5
Escalonamento de Curto Prazo
O escalonamento de curto prazo tem o objetivo de decidir qual dos jobs deve utilizar o processador e quando isto deve acontecer;
Uma vez admitido, o job torna-se um processo e é adicionado a uma fila no escalonador;
6
Escalonamento de Entrada e Saída
Possui a função de decidir que processo deverá acessar um dispositivo de E/S;
Ex: Se dois processos requerem acesso à impressora, ao mesmo tempo, o S.O precisa decidir qual deles será o próximo a utilizar a impressora.
7
Políticas de Escalonamento
As políticas de escalonamento utilizam algoritmos que aparecem nas versões preemptiva e não preemptiva;
Manter o processador ocupado a maior parte do tempo, balancear o uso da CPU entre processos, privilegiar a execução de aplicações críticas e oferecer tempos de resposta razoáveis para o usuário.
8
Estratégias de escalonamento
Escalonamento não-preemptivo: um processo que entra no processador roda até terminar, sem jamais ser interrompido.
Escalonamento preemptivo: esta estratégia é baseada na atividade de preempção, permite a suspensão temporária da execução de um processo.
9
FIFO (First in First out)
É não preemptivo e baseia-se na estratégia de que o primeiro processo a entrar na fila deverá ser o primeiro a ser atendido.
Esse algoritmo é empregado normalmente em sistemas do tpo lote e, em geral, possui um tempo médio de espera alto.
10
STCF (Shortest Time to Completon First)
Para superar o problema dos altos tempos de espera que o algoritmo FIFO apresenta, foi desenvolvida a política STCF, cuja tradução determina que o job que possui menor tempo, dentre os que estão na fila, será aquele selecionado primeiro.
11
Escalonamento circular (Round Robin)
É a mais comum entre os preemptivos; A cada processo atribui-se um intervalo de
tempo, chamado de fatia de tempo (time-slice), durante o qual ele poderá usar o processador;
12
Escalonamento por prioridade
O escalonamento baseado em prioridades irá selecionar processos que sejam considerados muito prioritários em detrimento aos demais;
Esse tipo de escalonamento pode gerar um problema grave que é o impedimento da execução de processos pouco prioritários.