Escalonamento de processos

Post on 06-Jun-2015

4.199 views 4 download

Transcript of Escalonamento de processos

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.