escalonamento de processos (1)

Post on 30-Jun-2015

505 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Sistemas Operacionais

Escalonamento de processos

    2

Introdução

● Uma política de escalonamento é a estratégia do sistema para escolher quais processos devem ser executados a cada instante

    3

Introdução

● Uma política de escalonamento é a estratégia do sistema para escolher quais processos devem ser executados a cada instante

● Essa política deve satisfazer critérios de:● maximizar o número de processos/tempo 

(desempenho);● minimizar o tempo que cada processo espera para 

ser executados (latência);● evitar o adiamento indefinido;

    4

Níveis de escalonamento

● Escalonamento de alto nível● Determina quais jobs serão admitidos pelo sistema;● Se admitidos tornam­se processos ou grupos de 

processos;● Determina o grau de multiprogramação: número de 

processos a cada instante.

    5

Níveis de escalonamento

● Escalonamento de nível intermediário● Determina se um processo terá permissão de 

disputar processador, pois os processos podem ser suspensos para cumprir metas de desempenho;

● Funciona como um buffer entre a admissão e a designação de processadores para um processo.

    6

Níveis de escalonamento

● Escalonamento de baixo nível● Determina qual processo ativo será executado 

quando o processador estiver disponível;● Podem ter uma política de prioridades (importância 

de um processo);● Designa o processador (se multiprocessado);● Ele reside na memória principal o tempo todo;

    7

Escalonamento preemptivo vs. não preemptivo

● Não preemptivo: ● uma vez que o sistema conduz um processo a 

execução, ele não poderá retirar o processo de execução;

● Preemptivo: ● o sistema é capaz de interromper a execução de um 

processo e reconduzi­lo ao processador em outro momento;

    8

Prioridades

● Prioridades quantificam a importância relativa dos processos

    9

Prioridades

● Prioridades quantificam a importância relativa dos processos

● São de dois tipos:● Estáticas: permanecem fixas● Dinâmicas: são alteradas de acordo com as 

mudanças do ambiente

    10

Prioridades

● Estáticas:● fáceis de implementar;● sobrecarga baixa  (uso dos recursos na realização das 

tarefas dos processos);● não propiciam a adaptação da execução as mudanças 

do ambiente (reduzindo latência e aumentando rendimento).

● Dinâmicas: ● reduzem a latência de processos que estão retendo 

recursos;● implementação mais complexa;

    11

Objetivos do escalonamento

● Maximizar o rendimento;● Maximizar o número de processos interativos 

que estão recebendo tempos de resposta “aceitáveis”;

● Maximizar a utilização de recursos;● Evitar o adiamento indefinido;● Impor as prioridades;● Minimizar sobrecarga;

    12

Critérios para o escalonamento

● Um processo pode ser orientado a:● Processador: usa todo o tempo disponibilizado a 

ele para executar suas tarefas (CPU bound);● E/S: usa brevemente o processador antes de gerar 

E/S e então o devolve (I/O bound).

    13

Critérios para o escalonamento

● Um processo pode ser orientado a:● Processador: usa todo o tempo disponibilizado a 

ele para executar suas tarefas (CPU bound);● E/S: usa brevemente o processador antes de gerar 

E/S e então o devolve (I/O bound).

● O tipo do processo pode ser:● Lote: executa sem interagir com o usuário;● Interativo: requer frequentes interações com o 

usuário.

    14

Algoritmos de escalonamento

● FIFO – First in First out● Round Robin – fila circular● Short Process First (SPF)● Filas multinível com retro­alimentação

    15

Algoritmos de escalonamento

● FIFO – First in First out

CPUJob 1Job 2Job 3Job 4

    16

Algoritmos de escalonamento

● FIFO – First in First out● todos os processos são tratados igualmente;● processos longos fazem processos curtos esperar;● processos não importantes fazem processos 

importantes esperar;● não é recomendado para processos interativos;● não é empregado como esquema mestre;● processos de mesma prioridade são despachados 

na ordem FIFO.

    17

Algoritmos de escalonamento

● Round Robin – fila circular

CPU1234

Preempção por tempo

Bloqueio ou espera

    18

Algoritmos de escalonamento

● Round Robin – fila circular● FIFO com tempo limitado (quantum);● preempção;● empregado em ambientes interativos;● não é empregado como esquema mestre;● Quantum

● Linux: padrão 100ms, varia de 10 a 200ms;● Windows XP: padrão específico da arquitetura, em geral 

20ms, varia ser for background o foreground.

    19

Algoritmos de escalonamento

● Short Process First (SPF)● Menor tempo estimado pelo

● usuário ou● sistema

● não há preempção

● O tempo médio de espera (TME) é calculado da seguinte forma:

n

TEn

i i )(1∑ =

nTETETE n )...( 21 +++

TME =  ou    TME = 

    20

Algoritmos de escalonamento

● Short Process First (SPF)● O tempo de espera (TE) de cada job é o tempo que 

ele levou para começar a processar:

TME = (0+3+8+9)/4 = 5s

JOB 4

JOB 3

JOB 2

JOB 1tempo

0 3 8

3s

5s

1s

3s

9 12

TE1=0 TE2=3 TE3=8 TE4=9

    21

Algoritmos de escalonamento

● Short Process First (SPF)

TME = (0+1+4+7)/4 = 3s

JOB 4

JOB 3

JOB 2

JOB 1tempo

0 1 4

3s

5s

1s

3s

7 12

TE1=0 TE2=1 TE3=4 TE4=7

    22

Algoritmos de escalonamento

● Filas multinível

CPU(FIFO)

(Circular)

(FIFO)

Alta prioridade:

Média prioridade:

Baixa prioridade:

    23

Algoritmos de escalonamento

● Filas multinível com retro­alimentação●

(FIFO adaptado)

(Circular)

Alta prioridade

Baixa prioridade

(FIFO adaptado)

Preempção por tempo

Preempção por tempo

Preempção por tempo

Menor tempo

Maior tempo

    24

Algoritmos de escalonamento

● Filas multinível com retro­alimentação● Auxilia o processo de reconhecimento do 

comportamento de um processo;● processos entram na fila de mais alto nível;● processos que devolvem o processador antes do 

término do quantum permanecem no mesmo nível;● processos que expiram o quantum vão para fila de 

nível mais baixo;● sistemas aumentam o quantum a medida que 

passam a execução para filas de mais baixo nível;

    25

Algoritmos de escalonamento

● Filas multinível  com retro­alimentação● Favorecem processos orientados a E/S ou que 

precisam de pequenos surtos de tempo;● O quantum da primeira fila é grande o bastante 

para que processo orientados a E/S façam sua requisição;

● Uma requisição de E/S retira o processo da rede de filas (pronto);

● São ideais para separa processos em categorias (identificar se é orientado a processador ou E/S);

● Processos podem subir de nível a medida de 

    26

Referências

● Silberschatz, Abraham; Galvin, Peter; Gagne, Greg. Sistemas operacionais: conceitos e aplicações. Rio de Janeiro: Ed. Campus. 2000.

● Tanembaum, Andrew S. Sistemas Operacionais Modernos. Rio de Janeiro: LTC. 1995.

● Oliveira; Carissimi; Toscani. Sistemas Operacionais. Porto Alegre: Instituto de Informática da UFRGS. 2001. Disponível on­line em: http://www.inf.ufrgs.br/~asc/livro/matdidatico.html. Acesso em: 10/02/2003. 

top related