Sie sind auf Seite 1von 18

UESB

Sistemas de Informao
Sistemas Operacionais
Escalonamento

Prof. VANILDO MEIRA
Prof. Vanildo Meira
Escalonamento





Em sistemas que suportam a multiprogramao,
normalmente, muitos processos esto prontos
para executar Eles competem pela CPU.
O escalonamento representa a alocao da CPU
para um processo (escolhe prximo a executar),
para tanto, existem algoritmos especializados.
Inicialmente veremos os problemas que so
vlidos tanto para processos quanto threads,
depois veremos algumas situaes que dizem
respeito apenas a threads.
Prof. Vanildo Meira





(a) CPU-bound
tempo tempo
E/ S E/ S
UCP UCP
(b) I/ O-bound
Comportamento dos Processos
Prof. Vanildo Meira
Quando escalonar?
1. Processos recm criados Ex.: Processo
pai gera um processo filho.
2. Ao fim de um processo Pode acontecer
de nenhum processo estar pronto.
3. Bloqueio para E/S Ex. Se A um
processo com prioridade alta, mas depende
de B, a escolha de B pode ajudar*.
4. Interrupo de E/S Ao concluir E/S
alguns processos bloqueados podem passar
ao estado pronto.

Prof. Vanildo Meira
Tipos de Escalonamento
Escalonamento no preemptivo No existe
fatia de tempo. Um processo executa at solicitar
E/S ou terminar (liberar a CPU).
Escalonamento preemptivo Existe limite de
tempo determinado por uma interrupo de
relgio ou por prioridade de execuo. Quando
falamos em tempo-real geralmente associa-se
a segurana, mas uma aplicao multimdia
como vdeo conferncia depende da sincronia
udio/vdeo.
Prof. Vanildo Meira
Tipos de Aplicao/Necessidades
Aplicaes Necessidades
Sistemas em Lote Tempo para execuo
Interativas (comunicao
constante com usurios)
Tempo de resposta
satisfatrio
Aplicaes Tempo-real Restries temporais
(rotinas crticas).
Multimdia Qualidade de Servio
Sistemas Embarcados Em geral, a prioridade est
na economia de energia
Prof. Vanildo Meira
Objetivos Gerais
Implementar justia dar a cada
processo uma poro justa da CPU.
Aplicao da poltica verificar se a
poltica estabelecida cumprida.
Equilbrio manter ocupadas todas as
partes do sistema - Se a CPU, memria e
dispositivos de E/S estiverem o tempo todo
ocupados, significa que mais trabalho por
segundo realizado.
Prof. Vanildo Meira
Escalonamento Sistemas em Lote
FIFO (First In, First Out) ou FCFS (First Come, First
Served). Fila simples/nica de processos prontos.
Processos cedem a CPU ao terminar ou ficar bloqueado. O
primeiro da fila escalonado.
SJF (shortest job first) Ordenar os jobs por tempo de
execuo estimado, quando estes tempos so conhecidos.
Os jobs devem estar disponveis simultaneamente. Jobs
executam por inteiro sem multiprogramao.
SRTN (shortest remaining time next) Verso do
algoritmo job mais curto primeiro lote multiprogramado.
Escalonador escolhe o processo cujo tempo de execuo
restante seja o mais curto.
Prof. Vanildo Meira
Escalonamento Sistemas em Lote
Escalonamento em 3 nveis:
Escalonador de admisso fila de
entrada dos jobs.
Escalonador de memria determina
quais processos ficaro na memria principal
e quais permanecero em disco.
Escalonador de CPU seleciona para
executar um processo pronto na memria
principal.
Prof. Vanildo Meira
Escalonamento Sistemas em Lote
Prof. Vanildo Meira
Escalonamento Sist. Interativos
Alternncia (chaveamento) circular (round-robin)
Fila circular simples.
Interrupo de relgio (preempo) - A CPU
tomada do processo que est executando e
atribuda a outro processo.
Intervalo de tempo (quantum) Obs.:
Pequeno tempo gasto para alternar processos
consome alta porcentagem de uso da CPU.
Grande pode gerar tempos de resposta
excessivos para comandos simples.
Prof. Vanildo Meira
Escalonamento Sist. Interativos
Por Prioridades Atribuir uma prioridade a
cada processo. escalonado o de prioridade
mais alta (Lista em ordem decrescente). Deve-
se ter cuidado para evitar Starvation.
Prioridade esttica So atribudas no
incio da execuo e no so alteradas.
Prioridade dinmica Alteradas pelo
sistema Ex: aumentar a prioridade de
processos orientados a E/S e reduzir a de
processos orientados a CPU baseado no
tempo do ltimo surto de CPU.
Prof. Vanildo Meira
Escalonamento Sist. Interativos
Filas mltiplas Filas por classes (prioridades)
Polticas para a atribuio de processos a
classes baseada no comportamento do
processo
Justo atribuir classes de menor prioridade
para processos orientados a CPU e de maior
prioridade para processos orientados a E/S.
SPN (shortest process next) Tempo estimado
para a execuo (comportamento passado). Ex.:
mdia ponderada das execues passadas.
Prof. Vanildo Meira
Escalonamento Sist. Interativos
Garantido Ex. atribuir 1/n ciclos de CPU para
cada processo de grupo de n.
Loteria Waldspurger e Weihl (1994). Distribuir
bilhetes numerados a cada processo para
concorrer a recursos do sistema. Bilhetes
sorteados aleatoriamente. Processos com maior
prioridade bilhetes extras.
Frao Justa (fair-share) Sistemas
multiusurio. Aloca uma frao do tempo de uso
da CPU para cada usurio para a execuo de
seus processos.
Prof. Vanildo Meira
Escalonamento Sist. tempo real
TR crtico prazos absolutos.
TR no crtico descumprimento tolervel.
Respondem a eventos peridicos (ocorrem a
intervalos regulares) e aperidicos (acontecem
de modo imprevisvel).
Um sistema de tempo real escalonvel se
satisfizer a carga de eventos peridicos do
sistema. Executar m eventos peridicos Ei, que
ocorrem com periodicidade Pi e requerem Ci
segundos para executar.
Esttico ou Dinmico.

Prof. Vanildo Meira
Polticas x Mecanismos
At agora vimos vrios algoritmos de
escalonamento. Eles pretendem fazer a melhor
escolha para processos que competem pela CPU.
Contudo, poderia haver situaes em que um
processo pai saiba de antemo quais os
filhos mais importantes para executar.
Os escalonadores vistos at agora no aceitam
intromisso no escalonamento, logo, raramente,
faro a escolha certa.
A forma de resolver este tipo de problema
separar: Poltica de Mecanismos.
Prof. Vanildo Meira
Polticas x Mecanismos
Polticas (Parte terica)
Estratgia (modelo
abstrato, ou seja, o que
fazer?.) Ex.: FIFO - Sem
prioridades; organizar fila
circular, prioridades, etc.
Mecanismos (parte
prtica) Implementao
(modelo concreto, ou
seja, como fazer?) Filas
de processos, mudana
de contexto, etc.
*Para tanto, o escalonamento dever ser parametrizado
(definies que podem ser alteradas por processos dos
usurios). Em outras palavras, o mecanismo de
execuo est no ncleo mas a poltica estabelecida
por um processo de usurio.
Prof. Vanildo Meira
Escalonamento de threads
Threads de usurio Escalonadas pelo
sistema supervisor sem interrupes de relgio.
Ex.: Escalonamento circular e por prioridades so
comuns.
Threads de ncleo Escalonadas pelo S.O. o
ID do processo no precisa ser considerado.
Alternar entre threads de um mesmo processo
custa menos.

Das könnte Ihnen auch gefallen