Buscar

SJF ALGORITMO - S.O

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

SJF (Shortest job fisrt)
Se o sistema operacional ta executando um processo, esse algoritmo vai escolher o próximo
processo previsto pelo Sistema Operacional que tem o menor uso de processamento do
processador.
Sendo baseado no menor tempo de execução do processador.
Ou ainda no menor tempo de uso do processador com aquele processo.
Podendo ser implementado numa lista ordenada, sendo crescente de tempo de utilização do
processador. Ele pega o primeiro que tem o menor tempo de processamento do processador,
fornecendo o menor tempo de espera pra um conjunto de processos. (ele é ótimo)
Uma das dificuldades seria determinar o tempo do próximo ciclo de CPU de cada processo
Processos I/O Bound são favorecidos - Pois é um fato que o menor tempo médio de
processamento é obtido quando se executa primeiro os processos de menor ciclo de
processador
I/O Bound são processos que utilizam muito o processo de entrada e saída
Tempo médio ex: (0 + 5 + 13 + 25)
tempo médio seria de 10,75 u.t
Processo A 12 (terceiro o 12)
B 8 (segundo o 8)
C 15 (quarto o 15)
D 5 (primeiro o 5)
Pode ser empregado em processos Batch, pois lá a previsão é mais fácil.
O problema desse algoritmo é que ele pode causar Starvation (quando um processo fica
morrendo de fome), pois podem acabar indo sempre ao final da fila de processos, acabando
nunca usando o processador.
processo preemptivo podemos interromper o processo
por exemplo em SJF preemptivo, quando um processo menor do que estava sendo processado
chega na fila, o processo seria executado pausando o maior que estava em processo. Pausa o
maior, executa o menor.
no processo não preemptivo não podemos interromper esse processo, somente liberando
quando termina sua execução ou quando se bloqueia.
Soluções:
Como o processador é alocado ao processo com etapa de CPU mais breve.
Em caso de empate se aplica outro algoritmo (normalmente o FIFO).
Vantagens:
Reduz o tempo de espera médio
Minimiza o efeito de priorizar processo cpu-bound
Desvantagens:
É difícil determinar a prioridade qual será a duração da seguinte etapa de CPU dos processos.
Pode ser resolvida alterando a prioridade dinamicamente
O uso de um recurso como uma impressora pode ser melhorado com uma política de
escalonamento
Shortest Job First , ou SJF , privilegia os serviços menores, propiciando um tempo médio de
espera menor
Para forçar esta política, podemos criar uma fila de requisições, similar à TicketQueue usada
para impor fairness no problema dos leitores e escritores.
Nós vamos aqui procurar evitar o problema de eficiência causado ao se acordar todos os
processos usando wakeup , sendo que apenas um deles terá condições de progresso,
enquanto todos os outros voltarão para dormir.
Como wakeup acorda todos os processos dormindo numa cama, vamos precisar de diversas
camas para implementar o nosso escalonamento. Vamos acordar somente o processo
selecionado pela política de escalonamento.

Continue navegando