Você está na página 1de 19

ESCALONAMENTO

ALGORITMOS PARA SISTEMAS EM


BATCH E SISTEMAS INTERATIVOS
First-Come First-Served
(FIFO)

É um algoritmo de Não garante um tempo Primeiros pacotes


escalonamento para de resposta rápido pois que chegam serão
estruturas de dados é extremamente sensível despachados em
do tipo fila. a ordem de chegada de primeiro lufar,
cada processo e dos independente do
antecessores tipo de pacote.
First-Come First-Served
(FIFO)
Não tem priorização,
porque todos os
pacotes são tratados
da mesma forma.

Não existe proteção É implementado na Algoritmo padrão para


contra aplicações mal interface de qualquer roteador e não
comportadas(que geram entrada ou saída exige parametrização.
fluxos que causam (preferencialmente)
congestionamento na
rede, por exemplo).
EXEMPLO -
FIFO
Shortest Job First
É uma política de escalonamento que
(SJF) seleciona para ser executado o processo com
o menor tempo de execução.

Uma desvantagem é a necessidade de saber Uma vantagem do SJF é sua simplicidade e


previamente os tempos para execução dos também porque minimiza o tempo médio
processo. Embora seja impossível prever os que cada processo leva desde quando ele é
tempos de maneira exata, existem diversos criado até o fim de sua execução, incluindo o
métodos que podem ser usados para estimá- tempo de espera entre o momento em que
los, tais como média ponderada ou uso dos ele é criado e o momento em que é
tempos de execução anteriores para selecionado para executar.
processos semelhantes.
EXEMPLO - SJF
Shortest Remaining Time Next (SRTN)

A fila de processos a serem


executados pelo SRT é
organizada conforme o
É a variante preemptiva tempo estimado de
do escalonamento SJF execução, ou seja, de forma
semelhante ao SJF, sendo
processados primeiro as
menores tarefas.
Shortest Remaining Time Next (SRTN)
Uma vantagem é a preempção, exemplo: um processo X que está
em execução na CPU e nesse meio tempo chegue um processo Y
menor do que o restante do processo X, nesse momento ocorrerá
uma preempção, ou seja, o processo X irá parar sua execução e
ceder lugar para o processo Y executar. Caso chegue um processo
ainda menor que o restante do processo Y, esse processo ganhará
a CPU e o processo Y retornará para a fila de prontos antes de
terminar e irá aguardar um momento para ser executado.
šCaracterísticas

1 2 3 4 5
PREEMPÇÃO: šTEMPO DE šTEMPO DE šSTARVATION: šTHROUGHPUT
INTERROMPE RESPOSTA: ESPERA: CASO POSSÍVEL DE : POSSUIRÁ
UM POSSUI UM COMECE A OCORRER EM UM ALTO
PROCESSO E TEMPO DE SER PROCESSOS NÚMERO DE
INICIA RESPOSTA EXECUTADO E LONGOS. PROCESSOS
OUTRO MUITO BOM SE DE REPENTE
POR UNIDADE
MENOR O PROCESSO VOLTE À FILA DE TEMPO.
NÃO FOR DE PRONTOS,

MUITO GRANDE, TERÁ UM


CASO SEJA TEMPO DE
DEMORARÁ ESPERA
MUITO PARA MAIOR QUE O
COMEÇAR A SER TEMPO DE
EXECUTADO. RESPOSTA.

EXEMPLO
ROUND-ROBIN
ALGORITMOS EMPREGADOS POR
ESCALONADORES DE PROCESSO E DE REDE.

É UM DOS MAIS ANTIGOS E SIMPLES


ALGORITMOS, É TOTALMENTE IMUNE A
PROBLEMAS DE STARVATION QUE SÃO TAREFAS
QUE NUNCA SÃO EXECUTADAS EM FUNÇÃO DE
TER PRIORIDADE INFERIOR AS DEMAIS. É USADO
EM PROJETOS DE SISTEMAS OPERACIONAIS
MULTITAREFA, E FOI PROJETADO ESPECIALMENTE
PARA SISTEMAS TIME-SHARING (TEMPO
COMPARTILHADO), POIS ESTE ALGORITMO
DEPENDE DE UM TEMPORIZADOR (TIMER).
ROUND-ROBIN
O FUNCIONAMENTO QUE DETERMINA O
PERÍODO DE TEMPO ENTRE CADA SINAL DE
INTERRUPÇÃO.

TODOS OS PROCESSOS SÃO ARMAZENADOS EM


UMA FILA CIRCULAR.

šO AGENDAMENTO ROUND-ROBIN EMPREGA


TEMPO COMPARTILHADO, OU SEJA, CADA TAREFA
TEM UM TEMPO DEFINIDO CHAMADO QUANTUM.
SE ESGOTADO O QUANTUM, A TAREFA É
INTERROMPIDA E RETOMARÁ DE ONDE PAROU NO
PRÓXIMO AGENDAMENTO. SEM O TEMPO
COMPARTILHADO, TAREFAS GRANDES PODERIAM
SER FAVORECIDAS EM DETRIMENTO DE TAREFAS
MENORES.
É um tipo de algoritmo de
escalonamento, onde são usadas filas de
MÚLTIPLAS FILAS processos. Cada fila tem um determinado
nível de prioridade. Sendo um dos mais
antigos agendadores de prioridade.
Aumentar a utilização da CPU: Com isto
as chances da CPU ficar ociosa diminuem,
aproveitando possíveis tempos de espera
para a execução de outro processo.

Maximizar o throughput: Mais processos


serão executados num determinado
Vantagens tempo.

Minimizar o turnaround: Nesse caso o


tempo total dos processos na CPU será
menor.
Minimizar o tempo de espera: O tempo
de I/O dos processos será menor.

Minimizar o tempo de resposta: O tempo


em que os processos esperam para
receber a CPU pela "primeira vez" será
menor.
Vantagens
Diminuir o uso de recursos: Menos
recursos serão usados pelos processos,
evitanto Deadlock.
Priorizar processos que segurem recursos
chave: Processos que necessitam de certos
recursos com mais frequência do que
outros, terão prioridade elevada para
fazê-los com mais facilidade.

Não degradar o sistema: Assim, mais


Vantagens formas de escalonamento ocorrerão
fazendo com que o máximo de processos
receba a CPU, aplicando-se prioridades
dinâmicas e formando um ciclo que evita
que eles entrem em Starvation.
Shortest Process
Next (SPN)
šNão preemptivo. Prioridade para
processos curtos.

O processo com o Turnaround time


menor tempo de muito menor para
serviço é processos curtos do
selecionado como o que FCFS.
próximo para ser
selecionado .
GARANTIDO
Ele garante aos processos sua execução, dando a
todos eles a mesma quantidade de tempo de
execução utilizando a CPU.

Se acontecer de um processo utilizar menos tempo


de execução do que poderia, sua prioridade de
execução é aumentada. Se outro processo utilizou
mais do que deveria, sua prioridade é diminuida.
LOTTERY

Cada thread mantém um número de loteria.

A cada novo quantum um número aleatório é


gerado.

A thread sorteada é colocada para execução.š

Existem tickets de compensação para threads


que bloqueiem antes do quantum.

Obs.: É um algoritmo usado apenas em testes


do Kernel não deve ser usado em produção.

Você também pode gostar