Escolar Documentos
Profissional Documentos
Cultura Documentos
Endereço: R. Mal. Floriano Peixoto, 185 - Centro Histórico, Porto Alegre - RS,
90020-061
Todos os sistemas possuem o objetivo geral de justiça, dar a cada processo uma porção
justa da CPU; aplicação da política do algoritmo, verificar se a política estabelecida está
sendo cumprida; equilíbrio, manter ocupada todas as partes do sistema.
Resumo: quanto maior E/S (menor uso do processador), maior prioridade (prioridade = 0).
4.4. Menor Serviço Primeiro: é útil para sistemas de lotes (batch), pois muitas vezes o
usuário já sabe estimar o tempo de execução dos programas (pois os programas são
rodados constantemente). O escalonador escolhe para execução entre todos os jobs
disponíveis, aquele de menor tempo de execução. EX: Existem quatro jobs disponíveis (A,
B, C, D). O A demora 8 minutos para executar e os demais, 4 minutos cada. Se o job de 8
minutos for escolhido antes, teríamos:
Utilizando o método Menor Serviço Primeiro vamos ter um tempo médio de resposta igual a
11 minutos! Mesmo que os serviços não sejam todos conhecidos o tempo de resposta pode
não ser o mínimo mas é uma boa aproximação.
4.5. Escalonamento Dirigido a Política: Se existem ‘n’ usuários ativos, então, cada um
receberá aproximadamente 1/n do tempo de UCP. Para garantir isso devemos usar o
seguinte método:
● manter para cada usuário o valor do tempo de UCP que ele já utilizou desde
que entrou (tempo utilizado).
● contar quanto tempo já se passou desde que o usuário iniciou sua seção e
dividir pelo número de usuários gerando o tempo destinado ao processo
(tempo destinado)
● computar para cada usuário a razão entre o tempo utilizado e o tempo
destinado (razão)
Então escolhemos para execução aquele usuário que apresenta a menor razão. Ex:
Ia = 4 / (10/2) = 0,8 = 80%
(no caso, o A)
Ia = (( 4 / (10/2)) x 10 +
( 6 / (15/3) ) x 15 ) / 25 = 1,04
Ib = (( 6 / (10/2)) x 10 +
( 4 / (15/3)) x 15 ) / 25 = 0,96
Ic = (( 5/(15/3) x 15 ) / 15 = 1,0
4.6. Escalonamento em Dois Níveis: Até aqui consideramos que todos os processos
executáveis estão na memória. Diferentemente, aqui precisamos manter parte dos
processos em disco (pois a memória principal dificilmente comportará todos os dados
necessários). O problema é que o tempo para ativar um processo que está em disco é
muito maior que o para ativar um que está na memória. A melhor solução para isto é a
utilização de um escalonador em dois níveis. Para isso um subconjunto dos processos
executáveis é mantido na memória e um outro subconjunto é mantido no disco. Um
escalonador (baixo nível) é utilizado para realizar o chaveamento (por qualquer método
descrito anteriormente) apenas entre os processos que estão na memória e outro
escalonador (alto nível) é utilizado para trocar periodicamente o conjunto de processos que
estão na memória (por aqueles que estavam em disco). Para escolher qual conjunto de
processos será colocado na memória, o escalonador de alto nível deve verificar: o tamanho
do processo, a prioridade do processo, o tempo de UCP do processo, quando tempo se
passou desde que o processo foi posto ou retirado
5.Referências.