Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 1
Arquitetura de Sistemas Arquitetura de Sistemas OperacionaisOperacionais
Técnico em Informática MBI1Técnico em Informática MBI1
Gerência do ProcessadorGerência do Processador
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 2
Sumário
• Introdução• Funções Básicas• Critérios de escalonamento• Escalonamentos não-preemptivos e
preemptivos• Escalonamento FIFO• Escalonamento SJF• Escalonamento cooperativo• Escalonamento circular• Escalonamento por prioridades• Escalonamento circular com prioridades
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 3
Sumário
• Escalonamento por múltiplas filas• Escalonamento por múltiplas filas com
realimentação• Política de Escalonamento em Sistemas de
Tempo Compartilhado • Política de Escalonamento em Sistemas de
Tempo Real
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 4
Introdução
• Escalonamento
Estado d eEsp era
Estado d eExecu çã o
Estado d ePronto
Esca lo namento
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 5
Funções Básicas
• Manter a UCP ocupada a maior parte do tempo
• Balancear o uso da UCP entre processos• Privilegiar a execução de aplicações críticas• Maximizar o throughput• Oferecer tempos de resposta razoáveis para
usuários interativos• Implementada pelo scheduler e dispatcher• Processos – unidades de alocação de
recursos• Threads – unidades de escalonamento
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 6
Throughput
Throughput (ou taxa de transferência) é a quantidade de dados transferidos de um lugar a outro, ou a quantidade de dados processados em um determinado espaço de tempo, pode-se usar o termo throughput para referir-se a quantidade de dados transferidos em discos rígidos ou em uma rede, por exemplo; tendo como unidades básicas de medidas o Kbps, o Mbps e o Gbps.
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 7
Turnaround
Turnaround Intervalo de tempo entre a submissão de um processo e sua finalização (soma dos intervalos esperando para ser carregado na memória, fila de pronto, em execução e em espera)
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 8
Critérios de Escalonamento
• Utilização do processador• Throughput• Tempo de Processador / Tempo de UCP• Tempo de Espera• Tempo de Turnaround • Tempo de Resposta
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 9
Escalonamentos Não-Preemptivo e Preemptivo
• Preempção – possibilidade do SO interromper um processo em execução e substituí-lo por outro
• Escalonamento não-preemptivo• Escalonamento preemptivo
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 10
Escalonamento FIFO
• Escalonamento First-In-First-Out
U C P
Estado d eC r iação
Estado d eEsp era
Fila do s pro cesso s n o estad o d e Pron to
Estado d eTérm ino
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 11Arq
uite
tura
de
Sis
tem
as O
pera
cion
ais
– M
acha
do/M
aia
Escalonamento FIFO
• Exemplo
Processo A
Processo B
Processo C
10 14 17
Processo A
Processo B
Processo C
4 7 17 u .t.
u .t.
ProcessoTem p o d e
p rocessa do r(u .t.)
A
B
C
10
4
3
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 12Arq
uite
tura
de
Sis
tem
as O
pera
cion
ais
– M
acha
do/M
aia
Escalonamento SJF
• Escalonamento Shortest-Job-First• Não preemptivo• O processo com o menor tempo para
ser completado é escolhido.
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 13Arq
uite
tura
de
Sis
tem
as O
pera
cion
ais
– M
acha
do/M
aia
Escalonamento SJF
• Escalonamento Shortest-Job-First
Processo A
Processo B
Processo C
3 7 17 u .t.
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 14
Escalonamento Cooperativo
• Processo em execução libera voluntariamente a UCP
• Verifica a fila de mensagens periodicamente (Windows 3.11)
• Um programa mal escrito pode monopolizar a CPU
• Podem ocorrer problemas• Exemplo: primeiros sistemas MS-Windows
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 15
Escalonamento Circular ou Round Robin
• Define-se uma unidade de tempo denominada time-slice que corresponde ao tempo limite para uso da CPU.
• Após este tempo ter sido passado, o processo sofre preempção e é colocado no final da fila de pronto.
• A fila de pronto é tratada como uma fila circular (FIFO).
• O escalonador “pega” o primeiro processo da fila de pronto para ser executado e define um tempo de 1 time-slice.
• Se o tempo de execução for maior que 1, o time gera uma interrupção.
• Projetado para sistemas de tempo compartilhado.
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 16
Escalonamento Circular ou Round Robin
Preem p ção po r tem p o
U C P
Estado d eC r ia çã o
Estado d eEsp era
Fila do s pro cesso s n o estad o d e Pron to
Estado d eTérm ino
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 17
Escalonamento por Prioridades
U C P
Estado d eTérm ino
Fila s do s p ro cesso s n o estad o d e Pro n to
Pr io r id ad e P1
Pr io r id ad e P2
Pr io r id ad e Pn
Estado d eC r iação
Estado d eEsp era
Preem p ção po r p r io r id ad e
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 18
Escalonamento por Prioridades
• Exemplo
Processo A
Processo B
Processo C
3 13 17 u .t.
ProcessoTem p o d e
p rocessa do r(u .t.)
A
B
C
10
4
3
Pr io r id ad e
2
1
3
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 19
Escalonamento Circular com Prioridades
U C P
Estado d eTérm ino
Fila dos processos n o estad o d e Pron to
Pr io r id ad e P1
Pr io r id ad e P2
Pr io r id ad e Pn
Estado d eC r iação
Estado d eEsp era
Preem p ção po r tem p o o u pr io rida de
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 20
Escalonamento por Múltiplas Filas
• Os processos são previamentes divididos em grupos em função do tipo de processamento realizado. Interativo / 1˚ plano (foreground) Batch / 2˚ plano (background) Processo BATCH - É todo aquele que não necessita
de intervenção do usuário, isto é, uma vez iniciado será terminado automaticamente.
• A cada grupo é aplicado um escalonamento adequado.
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 21
Escalonamento por Múltiplas Filas
U C P
Fila de p rocessos d o sistem a
Fila de p rocessos in tera tivos
Fila de p rocessos b a tch
M a io rp rio r id ade
M eno rp rio r id ade
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 8 – Gerência do Processador 22
Escalonamento por Múltiplas Filas com Realimentação
• Os processos não permanecem em uma mesma fila até o término do processamento;
• O SO faz um ajuste dinâmico para ajustar os processos em função do comportamento do sistema.
• Os processos não são previamente associados às filas, mas direcionados pelo sistema entre as diversas filas com base no seu comportamento.
• Parâmetros: Número de filas; Algoritmo de escalonamento para cada fila Método para determinar em que fila um processo
entra.
Top Related