Instituto Federal de Educação,
Ciência e Tecnologia - Alagoas
Sistemas de Computação
Gerenciamento do Processador
Aulas 82-84
Sumário
1. Introdução 2. Funções Básicas 3. Critérios de Escalonamento 4. Escalonamentos Nãopreemptivos e Preemptivos 5. Escalonamento FisrtInFirstOut (FIFO) 6. Escalonamento Shortest Job First (SJF) 7. Escalonamento Cooperativo 8. Escalonamento CircularSumário
1. Introdução 2. Funções Básicas 3. Critérios de Escalonamento 4. Escalonamentos Nãopreemptivos e Preemptivos 5. Escalonamento FisrtInFirstOut (FIFO) 6. Escalonamento Shortest Job First (SJF) 7. Escalonamento Cooperativo 8. Escalonamento Circular1. Introdução
●
Ponto fundamental do capítulo:
»
A partir do momento que vários processos podem
estar no
estado de pronto, devem ser
estado de pronto
estabelecidos
critérios para determinar qual
critérios
processo será escolhido para fazer uso do
processador.
»
Critérios:
Políticas de Escalonamento: – Base para: ● Gerência do processador e da multiprogramação em um sistema operacional1. Introdução
●Onde ocorre o escalonamento ?
E s t a d o d e E s p e r a E s t a d o d e E x e c u ç ã o E s t a d o d e P r o n t o E s ca lo n am e n toSumário
1. Introdução 2. Funções Básicas 3. Critérios de Escalonamento 4. Escalonamentos Nãopreemptivos e Preemptivos 5. Escalonamento FisrtInFirstOut (FIFO) 6. Escalonamento Shortest Job First (SJF) 7. Escalonamento Cooperativo 8. Escalonamento Circular2. Funções Básicas
●Funções da política de escalonamento:
»
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
»
Maximizar o throughput do sistema
»
Oferecer tempos de resposta razoáveis a usuários
interativos
2. Funções Básicas
●Que componente do S.O. é responsável por
implementar os critérios da política de
escalonamento?
»
Scheduler (Escalonador)
●Que componente do S.O. é responsável por
implementar a troca de contexto dos
processos?
»
Dispatcher (Despachador)
Sumário
1. Introdução 2. Funções Básicas 3. Critérios de Escalonamento 4. Escalonamentos Nãopreemptivos e Preemptivos 5. Escalonamento FisrtInFirstOut (FIFO) 6. Escalonamento Shortest Job First (SJF) 7. Escalonamento Cooperativo 8. Escalonamento Circular3. Critérios de Escalonamento
●O escalonamento ocorre de acordo com o tipo
de sistema operacional:
»
Sistemas de tempo compartilhado:
Tratam todos os processos de forma equivalente, evitando o starvation.»
Sistemas de tempo real:
Devem priorizar a execução de processos críticos.3. Critérios de Escalonamento
●Critérios:
»
Utilização do processador
Desejável que permaneça alta»
Throughput
Desejável que permaneça alto»
Tempo de processador
Quanto tempo o processo permanece na CPU?»
Tempo de espera
Desejase a redução no tempo de espera3. Critérios de Escalonamento
●Critérios:
»
Tempo de Turnaround
Tempo desde a criação até o término do processo Desejase que esse tempo seja minimizado pelas políticas de escalonamento Soma dos períodos gastos: espera para ocupar memória + espera na fila de pronto + execução na CPU + I/O»
Tempo de Resposta
Tempo entre solicitação ao sistema operacional ou ao aplicativo e o tempo no qual a resposta é obtida ●Critérios podem ser conflitantes!
Sumário
1. Introdução 2. Funções Básicas 3. Critérios de Escalonamento 4. Escalonamentos Nãopreemptivos e Preemptivos 5. Escalonamento FisrtInFirstOut (FIFO) 6. Escalonamento Shortest Job First (SJF) 7. Escalonamento Cooperativo 8. Escalonamento Circular4. Escalonamentos Não
preemptivos e Preemptivos
●O que é preempção:
»
Em sistemas operacionais, tratase da
possibilidade de interromper um processo em
execução e substituilo por outro
»
Escalonamento nãopreemptivo:
Quando um processo está em execução, nenhum evento externo pode ocasionar a perda do uso do processador»
Escalonamento preemptivo:
Processo pode ser interrompido e passado para o estado de pronto.Sumário
1. Introdução 2. Funções Básicas 3. Critérios de Escalonamento 4. Escalonamentos Nãopreemptivos e Preemptivos 5. Escalonamento FisrtInFirstOut (FIFO) 6. Escalonamento Shortest Job First (SJF) 7. Escalonamento Cooperativo 8. Escalonamento Circular»
Algoritmo de Escalonamento mais simples
»
Também chamado de FirstComeFirstServed(FCFS)
»
O processo que chega primeiro ao estado de pronto é
selecionado para CPU
Após saírem da CPU, os processos que foram para o estado de espera retornam no final da fila de pronto U C P E s t a d o d e C r i a ç ã o E s t a d o d e E s p e r a F i l a d o s p r o c e s s o s n o e s t a d o d e P r o n to E s t a d o d e T é r m i n o5. Escalonamento FisrtInFirstOut
(FIFO)
5. Escalonamento FirstInFirstOut
(FIFO)
●Características:
»
Nãopreemptivo
»
Processos CPUbound levam vantagem sobre
processos I/Obound
●
Exemplo 1:
»
3 processos disputam a CPU:
»
Todos os processos já estavam na fila de pronto
Processo P1 P2 P3 Tempo de execução(ms): 24 3 3 Tempo de espera: P1 = 0; P2 = 24; P3 = 27 Tempo médio de espera: (0 + 24 + 27)/3 = 17P
1P
2P
3 24 27 30 05. Escalonamento FirstInFirstOut
(FIFO)
5. Escalonamento FirstInFirstOut
(FIFO)
»
Alterando a orderm dos processos:
Processo P2 P3 P1 Tempo de execução(ms): 3 3 24 Tempo de espera: P1 = 6; P2 = 0; P3 = 3 Tempo médio de espera: (6 + 0 + 3)/3 = 3P
1P
3P
2 6 3 30 05. Escalonamento FirstInFirstOut
(FIFO)
●
Exemplo 2:
»
Apresente o
diagrama de tempo de execução do
Sumário
1. Introdução 2. Funções Básicas 3. Critérios de Escalonamento 4. Escalonamentos Nãopreemptivos e Preemptivos 5. Escalonamento FisrtInFirstOut (FIFO) 6. Escalonamento Shortest Job First (SJF) 7. Escalonamento Cooperativo 8. Escalonamento Circular6. Escalonamento Shortest Job
First (SJF)
»
Processo de tempo de execução mais curto é
alocado primeiro à CPU
Empate? FCFS»
Há dois esquemas:
Nãopreemptivo: não cede a vez para o próximo processo Preemptivo: – Há um novo processo com tempo de execução de CPU menor? ● SRTF ShortestRemainingTimeFirst SJT é ótimo: mínimo tempo médio para um conjunto de processos6. Escalonamento Shortest Job
First (SJF)
●
ShortestJobFirst (SJF)
»
Exemplo SJF
NãoPreemptivo
NãoPreemptivo
Processo P1 P2 P3 P4 Tempo de chegada 0 2 4 5 Tempo de execução(ms): 7 4 1 4 Tempo médio de espera:(0 + 6 + 3 + 7)/4 = 4ms
P
1P
3P
2 7 3 16 0P
4 8 126. Escalonamento Shortest Job
First (SJF)
●
ShortestJobFirst (SJF)
»
Exemplo SJF
Preemptivo
Preemptivo
Processo P1 P2 P3 P4 Tempo de chegada 0 2 4 5 Tempo de execução(ms): 7 4 1 4 Tempo médio de espera:(9 + 1 + 0 + 2)/4
P
1P
2P
3 4 2 11 0P
4 5 7P
2P
1 16Sumário
1. Introdução 2. Funções Básicas 3. Critérios de Escalonamento 4. Escalonamentos Nãopreemptivos e Preemptivos 5. Escalonamento FisrtInFirstOut (FIFO) 6. Escalonamento Shortest Job First (SJF) 7. Escalonamento Cooperativo 8. Escalonamento Circular7. Escalonamento Cooperativo
●Características primordiais:
»
Tenta aumentar o grau de multiprogramação em
políticas sem preempção:
FIFO SJF»
Liberação da CPU é realizada pelo próprio
processo
Sumário
1. Introdução 2. Funções Básicas 3. Critérios de Escalonamento 4. Escalonamentos Nãopreemptivos e Preemptivos 5. Escalonamento FisrtInFirstOut (FIFO) 6. Escalonamento Shortest Job First (SJF) 7. Escalonamento Cooperativo 8. Escalonamento Circular8. Escalonamento Circular
●Round Robin Scheduling
»
Preemptivo
»
Projeto para sistemas de tempo compartilhado
Timesharing»
Característica primordial:
Quando um processo passa para o estado de execução, há um limite para o uso contínuo do processador:– Fatia de tempo (timeslice) ou quantumtimeslice
P r e e m p ç ã o p o r te m p o U C P E s t a d o d e C r i a ç ã o E s t a d o d e E s p e r a F i l a d o s p r o c e s s o s n o e s t a d o d e P r o n to E s t a d o d e T é r m i n o