SOP 02 Escalonamento

20
1 Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição Processos e Processos e Threads Threads Sistemas Operacionais (SOP- Sistemas Operacionais (SOP- BCC) BCC) De: De: Andrew S. Tanenbaum Andrew S. Tanenbaum Tradução: Tradução: Ronaldo A.L. Gonçalves Ronaldo A.L. Gonçalves Luís A. Consulado Luís A. Consulado Responsável pela disciplina: Responsável pela disciplina: Prof. Dr. Maurício Aronne Pillon Prof. Dr. Maurício Aronne Pillon Curso de Ciência da Computação Curso de Ciência da Computação

Transcript of SOP 02 Escalonamento

Page 1: SOP 02 Escalonamento

1Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Processos e Processos e ThreadsThreads

Sistemas Operacionais (SOP-Sistemas Operacionais (SOP-BCC)BCC)

BB

De: De: Andrew S. Tanenbaum Andrew S. Tanenbaum Tradução: Tradução: Ronaldo A.L. GonçalvesRonaldo A.L. Gonçalves

Luís A. ConsuladoLuís A. Consulado

Responsável pela disciplina:Responsável pela disciplina: Prof. Dr. Maurício Aronne PillonProf. Dr. Maurício Aronne Pillon

Curso de Ciência da ComputaçãoCurso de Ciência da Computação

Page 2: SOP 02 Escalonamento

75Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Escalonamento

Page 3: SOP 02 Escalonamento

76Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Introdução a Escalonamento

• Processos alternam entre computação e E/S.

• São considerados, basicamente, dois tipos de

processos:

– Orientados à CPU

– Orientados à E/S

Page 4: SOP 02 Escalonamento

77Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

EscalonamentoIntrodução ao Escalonamento (1)

I

(a) um processo orientado à CPU(b) um processo orientado à E/S

Page 5: SOP 02 Escalonamento

78Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Introdução ao Escalonamento (2)

I

Objetivos do algoritmo de escalonamento

Page 6: SOP 02 Escalonamento

79Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Quando Escalonar• Na criação: quem deve ser escalonado, o pai ou o filho?

• Ao término: quem será o próximo a executar?

• Ao ser bloqueado: quem será o próximo a executar?

– Não-preemptivo: deixa executar até que seja

bloqueado ou libere, voluntariamente, a CPU.

– Preemptivo: o processo executa um tempo máximo

fixado pelo escalonador, e depois, é suspenso.

Page 7: SOP 02 Escalonamento

80Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Como avaliar?• Vazão: número de jobs processados por hora;

• Tempo de retorno: tempo médio do momento que um

job é submetido até o momento que foi terminado.

• Tempo de resposta: tempo entre a emissão de um

comando e a obtenção do resultado.

• Proporcionalidade: para atividades complexas aceita-

se a demora, para outras, classificadas como simples,

não.

Page 8: SOP 02 Escalonamento

81Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Técnicas de Escalonamento

1)Primeiro a chegar, primeiro a ser servido

2)Job mais curto

3)Próximo de menor tempo restante

Page 9: SOP 02 Escalonamento

82Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

FCFS

• Características:– Preemptivo (sem restrição do tempo)

– Simples de programar;

– (Desvantagem) Desfavorece os processos orientados

à E/S;

• Funcionamento:– A CPU é atribuída aos processos segundo a ordem de

chegada (FILA) dos mesmos.

Page 10: SOP 02 Escalonamento

83Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Shortest Job First

• Não preemptivo;

• Supõe o conhecimento prévio dos tempos de execução;

• É adequado somente para situações em que todos os

jobs já estão disponíveis;

• Funcionamento:

– Sempre escolhe o Job mais curto (com menor tempo)

Page 11: SOP 02 Escalonamento

84Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Shortest Job First

Um exemplo de escalonamento job mais curto primeiro

Page 12: SOP 02 Escalonamento

85Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Próximo de menor tempo restante

• Versão preemptiva do Shortest Job First;

• Escolhe sempre o processo cujo o tempo

restante de processamento é o menor;

• Tempo de execução deve ser previamente

conhecido;

Page 13: SOP 02 Escalonamento

86Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Técnicas de Escalonamento

• Escalonamento por alternância circular

(Round-robin)

• Escalonamento por prioridades

• Escalonamento por loteria

Page 14: SOP 02 Escalonamento

87Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Escalonamento de Alternância Circular

• Algoritmo preemptivo;

• Atribui-se um quantum a cada processo;

• O processo sai da CPU:

(1) Ao sinal de término do quantum outro processo

é escalonado;

(2) Fez uma chamada de E/S

(3) Terminou de executar

Page 15: SOP 02 Escalonamento

88Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Escalonamento de Alternância Circular

• Qual a fatia de tempo ideal para o quantum?

– Se muito pequeno:

• O chaveamento de contexto toma uma fatia

considerável do tempo de processamento.

– Se muito grande:

• A percepção não ocorrerá, portanto as

requisições curtas serão prejudicadas

– Um quantum razoável fica em torno de 20 a 50ms.

Page 16: SOP 02 Escalonamento

89Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Escalonamento por Alternância Circular

(a) lista de processos executáveis(b) lista de processos executáveis depois que B 

usou todo o seu quantum

Page 17: SOP 02 Escalonamento

90Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Escalonamento de Prioridades

• Nem todos os processos tem a mesma importância;

• Portanto, estabelece-se uma prioridade a cada

conjunto de processos;

• O processo com a mais alta prioridade é dada a

possibilidade de execução;

• Para que um processo não execute indefinidade-

mente, a cada tique de relógio o escalonador pode

decrementar sua prioridade;

Page 18: SOP 02 Escalonamento

91Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Escalonamento de Prioridades

• Outro método é atribuir um quantum obrigando o

processo a deixar a CPU e entrar na fila novamente;

• Nice é o comando em UNIX que altera a prioridade de

um processo;

Page 19: SOP 02 Escalonamento

92Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Um algoritmo de escalonamento com quatro classes de prioridade

Escalonamento de Prioridades

Page 20: SOP 02 Escalonamento

93Pearson Education                                                                         Sistemas Operacionais Modernos – 2ª Edição

Escalonamento por loteria

• Funcionamento:

– Atribuir bilhetes de loteria aos processos;

– Prêmios são recursos;

– Ao escalonador cabe sortear o número do bilhete,

e escalonar o processo vencedor;

– Aos bilhetes mais importantes pode-se atribuir

bilhetes extras;