escalonamento de processos (1)

26
Sistemas Operacionais Escalonamento de processos

Upload: rogerio-fabricio-de-sousa

Post on 30-Jun-2015

506 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Escalonamento de Processos (1)

Sistemas Operacionais

Escalonamento de processos

Page 2: Escalonamento de Processos (1)

    2

Introdução

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

Page 3: Escalonamento de Processos (1)

    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;

Page 4: Escalonamento de Processos (1)

    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.

Page 5: Escalonamento de Processos (1)

    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.

Page 6: Escalonamento de Processos (1)

    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;

Page 7: Escalonamento de Processos (1)

    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;

Page 8: Escalonamento de Processos (1)

    8

Prioridades

● Prioridades quantificam a importância relativa dos processos

Page 9: Escalonamento de Processos (1)

    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

Page 10: Escalonamento de Processos (1)

    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;

Page 11: Escalonamento de Processos (1)

    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;

Page 12: Escalonamento de Processos (1)

    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).

Page 13: Escalonamento de Processos (1)

    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.

Page 14: Escalonamento de Processos (1)

    14

Algoritmos de escalonamento

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

Page 15: Escalonamento de Processos (1)

    15

Algoritmos de escalonamento

● FIFO – First in First out

CPUJob 1Job 2Job 3Job 4

Page 16: Escalonamento de Processos (1)

    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.

Page 17: Escalonamento de Processos (1)

    17

Algoritmos de escalonamento

● Round Robin – fila circular

CPU1234

Preempção por tempo

Bloqueio ou espera

Page 18: Escalonamento de Processos (1)

    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.

Page 19: Escalonamento de Processos (1)

    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 = 

Page 20: Escalonamento de Processos (1)

    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

Page 21: Escalonamento de Processos (1)

    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

Page 22: Escalonamento de Processos (1)

    22

Algoritmos de escalonamento

● Filas multinível

CPU(FIFO)

(Circular)

(FIFO)

Alta prioridade:

Média prioridade:

Baixa prioridade:

Page 23: Escalonamento de Processos (1)

    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

Page 24: Escalonamento de Processos (1)

    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;

Page 25: Escalonamento de Processos (1)

    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 

Page 26: Escalonamento de Processos (1)

    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.