Arquitetura de Sistemas
Operacionais
Técnico em Informática MBI1
Gerência do Processador
Cap. 8 – Gerência do Processador
1
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
Cap. 8 – Gerência do Processador
2
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
Cap. 8 – Gerência do Processador
3
Introdução
• Escalonamento
Est a d o d e
Execu çã o
c
Es
al
on
am
en
to
Est a d o d e
Esp er a
Cap. 8 – Gerência do Processador
Est a d o d e
Pr o n t o
4
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
Cap. 8 – Gerência do Processador
5
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.
Cap. 8 – Gerência do Processador
6
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)
Cap. 8 – Gerência do Processador
7
Critérios de Escalonamento
•
•
•
•
•
•
Utilização do processador
Throughput
Tempo de Processador / Tempo de UCP
Tempo de Espera
Tempo de Turnaround
Tempo de Resposta
Cap. 8 – Gerência do Processador
8
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
Cap. 8 – Gerência do Processador
9
Escalonamento FIFO
• Escalonamento First-In-First-Out
Fil a d o s p r o cesso s n o esta d o d e Pr o n to
Esta d o d e
Cr ia çã o
U CP
Esta d o d e
Tér m i n o
Esta d o d e
Esp er a
Cap. 8 – Gerência do Processador
10
Escalonamento FIFO
• Exemplo
Pr o cesso A
Pr o cesso B
Pr o cesso C
10
14
17
u .t.
Pr o cesso A
Pr o cesso
Tem p o d e
p r o cessa d o r
(u .t. )
A
10
B
4
C
3
Pr o cesso B
Pr o cesso C
4
7
Cap. 8 – Gerência do Processador
17
u .t.
11
Escalonamento SJF
• Escalonamento Shortest-Job-First
• Não preemptivo
• O processo com o menor tempo para
ser completado é escolhido.
Cap. 8 – Gerência do Processador
12
Escalonamento SJF
• Escalonamento Shortest-Job-First
Pr o cesso A
Pr o cesso B
Pr o cesso C
3
Cap. 8 – Gerência do Processador
7
17
u .t.
13
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
Cap. 8 – Gerência do Processador
14
Escalonamento Circular ou
Round Robin
• Define-se uma unidade de tempo denominada timeslice 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.
Cap. 8 – Gerência do Processador
15
Escalonamento Circular ou
Round Robin
Fil a d o s p r o cesso s n o esta d o d e Pr o n to
Esta d o d e
Cr ia çã o
U CP
Esta d o d e
Tér m i n o
Pr eem p çã o p o r tem p o
Esta d o d e
Esp er a
Cap. 8 – Gerência do Processador
16
Escalonamento por
Prioridades
Fil a s d o s p r o cesso s n o esta d o d e Pr o n to
Pr io r id a d e P1
Pr io r id a d e P2
Est a d o d e
Cr ia çã o
U CP
Est a d o d e
Tér m i n o
Pr io r id a d e Pn
Pr eem p çã o p o r p r io r id a d e
Est a d o d e
Esp er a
Cap. 8 – Gerência do Processador
17
Escalonamento por
Prioridades
• Exemplo
Pr o cesso A
Pr o cesso
Tem p o d e
p r o cessa d o r
(u .t.)
Pr io r id a d e
A
10
2
B
4
1
C
3
3
Pr o cesso B
Pr o cesso C
3
13
Cap. 8 – Gerência do Processador
17
u .t.
18
Escalonamento Circular com
Prioridades
Fil a d o s p r o cesso s n o est a d o d e Pr o n to
Pr io r id a d e P1
Pr io r id a d e P2
Est a d o d e
Cr ia çã o
U CP
Est a d o d e
Tér m i n o
Pr io r id a d e Pn
Pr eem p çã o p o r tem p o o u p r io r i d a d e
Est a d o d e
Esp er a
Cap. 8 – Gerência do Processador
19
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.
Cap. 8 – Gerência do Processador
20
Escalonamento
por Múltiplas Filas
Fil a d e p r o cesso s d o sist em a
M a io r
p r i o r id a d e
Fil a d e p r o cesso s i n ter a ti vo s
U CP
Fil a d e p r o cesso s b a t ch
M en o r
p r i o r id a d e
Cap. 8 – Gerência do Processador
21
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.
Cap. 8 – Gerência do Processador
22
Download

3_2 - Escalonamento_Tarefas_GerenciaProc