Upload
jessica-teixeira
View
214
Download
0
Embed Size (px)
Citation preview
8/18/2019 SJF (1)
1/3
Shortest Job First
SJF é a sigla para "Shortest Job First", que traduzindo significa "trabalho mais
curto primeiro". O conceito dele é simples, o processo que tem menor tempo deexecução, entre processos de igual prioridade, é o próximo da fila, não importando a
ordem de chegada, a menos que tenha 2 ou mais processos com o mesmo tempo de
execução, então se usa a ordem de chegada.
Ele pode ser tanto preemptivo, como não preemptivo.
Não preemptivo: quando um processo está em execução, nenhum outro
evento externo pode ocasionar a perda do uso do processador. Se ele iniciar um
processo, esse processo não pode parar por nenhum motivo.
Preemptivo: O sistema operacional tem a capacidade de interromper umprocesso em execução a qualquer momento de acordo com seus algoritmos de
determinação de ordem de chegada ou de tempo de duração.
Não preemptivo:
No não preemptivo ele permite que o processo em execução termine antes de
começar o outro.
Preemptivo:
No preemptivo, caso e tenha um processo menor que o em execução, o queestá em execução é interrompido e o novo processo é executado. Também conhecido
como SRT por alguns autores.
Formulas
A formula para o tempo de espera do processo é:
TEP = FP - CP - TAM
TEP = tempo de espera do processo
FP = Final do processo
CP = Chegada do processo
TAM - Tamanho
Formula para o tempo médio de espera:TME = (P1+P2+P3+...Pn+1) / n
8/18/2019 SJF (1)
2/3
TME = Tempo médio de espera
Pn = TEPn
Vantagens e Desvantagens
Vantagens:
Tem o escalonamento ótimo, pois fornece um tempo de espera mínimo.
É especialmente apropriado para processamento em lotes, onde você sabe o
tempo de processamento de cada processo.
Favorece processos curtos.
Desvantagens:
Tem o problema em não conhecer a duração do próximo processo
precisamente só estimar.
Um meio para se fazer a estima é usando os surtos anteriores do mesmo
processo usando um função exponencial de decaimento. (não entendi direito,
qualquer coisa procuro mais depois caso seja interessante de colocar, tem até a
formula http://www.cs.jhu.edu/~yairamir/cs418/os2/sld028.htm)
Desfavorece processos longos. Pois conforme vai entrando processos menores,
os mais longos vão sendo adiados, a menos que entre outros fatores de prioridade.
Como o tempo que ele está esperando (Highest Response Ratio Next ou aging)
(Dizem, que quando o IBM 7094 do MIT foi desligado em 1973, encontraram um processode baixa prioridade que tinha sido submetido (DISPATCHER) em 1967 e que ainda não
tinha sido executado (Wikipédia))
Não é recomendada em um ambiente onde se divide o tempo dos processos e
precisa-se de um tempo de resposta razoável. (Caso alguém consiga uma tradução
melhorhttp://www.personal.kent.edu/~rmuhamma/OpSystems/Myos/sjfSchedule.htm)
8/18/2019 SJF (1)
3/3
Fontes:
Slide do professor
SJF Preemptivo
https://www.youtube.com/watch?v=OVWc4wDX1u4
SJF não Preemptivo
https://www.youtube.com/watch?v=czk_22GoJyA
http://www.cs.jhu.edu/~yairamir/cs418/os2/sld022.htm
http://www.personal.kent.edu/~rmuhamma/OpSystems/Myos/sjfSchedule.htm
http://tanmayonrun.blogspot.com.br/2011/12/explain-and-solve-shortest-job-
first.html
http://www.personal.kent.edu/~rmuhamma/OpSystems/Myos/sjfSchedule.htmhttp://www.personal.kent.edu/~rmuhamma/OpSystems/Myos/sjfSchedule.htmhttp://www.personal.kent.edu/~rmuhamma/OpSystems/Myos/sjfSchedule.htm