SJF (1)

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