Você está na página 1de 3

Conceito: uma atividade organizacional feita pelo escalonador (scheduler) da CPU, que possibilita executar os

processos mais viveis e concorrentes, priorizando determinados tipos de processos


Critrios usados pelo escalonador: Taxa de utilizao da CPU (time-slice),Troughput (num de processos concludos
numa unidade de tempo, Turnaround (tempo transcorrido desde o momento em que o processo entra e o instante que
termina sua execuo),Tempo de resposta (intervalo entre a chegada ao sistema e incio de sua execuo), Tempo de
espera (soma dos perodos em que o programa estava no seu pronto)
Objetivos do escalonador: Ser justo (tratar os processos igualmente), Maximizar a produtividade (throughput), Ser
previsvel (uma tarefa deve ser executada com o mesmo tempo e custo operacional), Minimizar a sobrecarga
(overhead desperdcio de recursos e tempo), Balancear o uso de recursos (manter todos os recursos ocupados)
Tipos de algoritmos: Preemptivos permitem que um processo seja interrompido durante sua execuo, quer seja por
fora de uma interrupo de entrada/sada, quer seja pela poltica de escalonamento, ou por fora do trmino da
execuo do processo. Leva a troca de contexto (salvar o contedo dos registradores e memria utilizada pelo
processo na Tabela de Processos), No preemptivo no permite a interrupo do processo
Tipos de algoritmos de escalonamento: FIFO (First in, first out), SJF (Shortest Job First), SRT (Shortest Remaining Time),
RR (Round-Robin), Mltiplas Filas, Por Prioridade
Escalonamento FIFO: No preemptivo, Implementado atravs de fila, Inicialmente criado para sistemas batch,
Injusto com jobs curtos, Ineficiente para sistemas de tempo compartilhado, Pode ser combinado com outros
algoritmos
P1 (10 u.t.), P2 (2 u.t.), P3 (2 u.t.), = Turnaround mdio = (10+12+14)/3= 12 u.t. q / Tempo de espera mdio =
(0+10+12)/3= 7,33 u.t.
Escalonamento SJF Shortest Job File: No preemptivo, O processo com o menor tempo para ser completado
escolhido, Reduz o tempo mdio de espera mais do que isto, o algoritmo timo, pois sempre d o tempo de espera
mnimo para um dado conjunto de processos, Pode apresentar uma grande varincia no tempo de espera
P1 (6 u.t.), P2 (8 u.t.), P3 (7 u.t.), P4 (3 u.t) / Turnaround mdio SJF: (p4+p1+p3+p2)/4 = (3+9+16+24)/4= 13 u.t.
Tempo de espera mdio: (p1+p2+p3+p4)/4 = (3+16+9+0)/4= 7 u.t.
Escalonamento Cooperativo: O processo em execuo libera voluntariamente a CPU retornando para a fila de
pronto sem a interrupo do SO, Um programa mal escrito pode monopolizar a CPU, Fila de mensagem verificada
periodicamente (Win 3.11)
Escalonamento Round Robin (RR): Defini-se uma unidade de tempo denominada quantum ou time-slice
(usualmente de 10 a 100ms) que corresponde ao tempo limite para uso da CPU por cada processo, Aps este tempo,
o processo sofre preeempo e colocado no final da fila de pronto, A fila de pronto tratada com uma fila circular, O
escalonador pega o primeiro processo da fila de pronto para ser executado e define um timer para o tempo de 1 (um)
quantum, Se o tempo de execuo for maior que 1 quantum, o timer gera uma interrupo e o SO faz o chaveamento
de contexto, Projetado para sistemas de tempo compartilhado, Claramente preemptivo, O tempo mdio de espera
alto, O desempenho do tamanho do quantum, Se for muito grande tende a FIFO, Se for muito pequeno, o overhead
com o chaveamento de contexto se torna alto demais
Quantum = 1 u.t. : P1= 10, P2= 3, P3= 3 / Turnaround mdio: (16+8+9)/3= 11 u.t.

Obs: tipicamente, o turnaround mdio maior que o SJF, mas o tempo de resposta melhor

Escalonamento SRT (Shortest Remaining Time): a contra-partida preemptiva do SJF, O processo com menor
tempo para ser completado escolhido, Um processo em execuo interrompido se um novo processo com menor
tempo para ser completado aparece na fila de pronto, Apresenta sobrecarga maior que o SJF

Processo

Tempo de Chegada

Tempo de Execuo

P1

P2

P3

P4

Turnaround mdio: ((17-0)+(5-1)+(26-2)+(10-3))/4 = 13 ut


Escalonamento por Prioridade: Uma prioridade associada a cada processo e a CPU alocada ao processo de
maior prioridade, SJF um caso de escalonamento por prioridade em que a prioridade maior para os processos de
menor tempo de execuo, A prioridade geralmente representada por um nmero (entre 0-7 ou 0-255), mas no
existe uma conveno de qual nmero (o maior ou o menor) o de maior prioridade, Pode ser preemptivo ou no:
Processo

Tempo de Execuo

Prioridade

P1

10

P2

P3

P4

P5

Ordem execuo: P2 P5 P1 P3 P4
Mltiplas Filas:

Os processos so previamente divididos em grupos em funo do tipo de processamento realizado

Interativo (foroground)

Batch (background)

A cada grupo aplicado um mecanismo de escalonamento adequado

Interativo (foroground) - RR

Batch (background) FIFO

Outra alternativa: time-slice entre filas (80% RR e 20% para FIFO)

Mltiplas Filas com Realimentao: Os processos no permanecem em uma mesma fila at o trmino do seu
processamento, O SO faz um ajuste dinmico (mecanismo adaptativo) para ajustar os processos em funo do
comportamento do sistema, Mtodo mais complexo, Os processos no so previamente associados s filas, mas
direcionados pelo sistema entre as diversas filas com base no seu comportamento
Parmetros: Nmero de linhas, Algoritmo de escalonamento para cada fila, Mtodo para mudar (promover ou
rebaixar) o processo da fila, Mtodo para determinar em que fila um processo entra
Exemplo de aplicao: Processos novos entram no fim da primeira fila, Nas filas, os processos so escalonados
segundo RR, O quantum varia de uma fila para outra, Os processos das primeiras filas tm maior prioridade, Um
processo em execuo interrompido, caso aparea um processo em uma das filas anteriores sua, Sempre que um
processo esgotar seu quantum, ele suspenso na fila da prxima classe de prioridade, Se o processo liberar a CPU,
sem preempo, sai da estrutura de filas, Quando um processo volta estrutura, colocado em uma fila de prioridade
mais alta do que estava antes de sair
Vantagens: Processos CPU-bound vo caindo em filas de prioridade mais baixas, sendo escolhidos para rodar com
menos frequncia; no entanto, eles recebem quantun maiores, necessitando receber a CPU por um nmero menor de
vezes, o que reduz a quantidade de trocas de contexto, Processos interativos (I/O-bound), normalmente pequenos, so
favorecidos, reduzindo-se o tempo de resposta mdio do sistema, Processos interativos grandes, aps interao com
usurios, retornam em filas de prioridade mais alta