SOP 02 Escalonamento
-
Upload
api-3824185 -
Category
Documents
-
view
1.244 -
download
0
Transcript of 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
75Pearson Education Sistemas Operacionais Modernos – 2ª Edição
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
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
78Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Introdução ao Escalonamento (2)
I
Objetivos do algoritmo de 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.
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.
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
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.
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)
84Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Shortest Job First
Um exemplo de escalonamento job mais curto primeiro
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;
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
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
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.
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
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;
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;
92Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Um algoritmo de escalonamento com quatro classes de prioridade
Escalonamento de Prioridades
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;