Saltar para o conteúdo

Shortest job first

Origem: Wikipédia, a enciclopédia livre.
(Redirecionado de SJF)
Execução do algoritmo SJF.

Shortest Job First (SJF, em português trabalho mais curto primeiro), ou Shortest Job Next (SJN, em português trabalho mais curto em seguida), ou ainda Shortest Process Next (SPN, em português processo mais curto em seguida) é uma política de escalonamento que seleciona para ser executado o processo com o menor tempo de execução.[1] SJF é um algoritmo não-preemptivo. Shortest Remaining Time é uma variação preemptiva de SJF.

O escalonamento SJF é vantajoso por sua simplicidade e também porque minimiza o tempo médio que cada processo leva desde quando ele é criado até o fim de sua execução, incluindo aqui o tempo de espera entre o momento em que ele é criado e o momento em que é selecionado para executar. No entanto, essa estratégia pode levar a inanição de processos com longos tempos de execução caso processos curtos sejam continuamente adicionados ao escalonador. Highest Response Ratio Next é um algoritmo similar que resolve este problema ao levar em conta o envelhecimento dos processos.[2]

Uma outra desvantagem do SJF é a necessidade de saber previamente os tempos para execução dos processo. Embora seja impossível prever os tempos de maneira exata, existem diversos métodos que podem ser usados para estimá-los, tais como média ponderada ou uso dos tempos de execução anteriores para processos semelhantes.[3]


Weighted Shortest Job First

[editar | editar código-fonte]

Weighted Shortest Job First (WSJF, em português trabalho mais curto ponderado) é uma modificação usada no desenvolvimento ágil onde o jobs ganham pesos de acordo com o custo do atraso, de modo que os processos mais custosos sejam terminados primeiro.[4]

Value-Flow Rate (VFR, em português taxa valor-fluxo) é um nome alternativo, mas intuitivo para WSJF que expressa o custo do atraso e duração usando "pontos" sem uso de unidades como tempo ou dinheiro.[5]

  1. Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C. (2014), Operating Systems: Three Easy Pieces [Chapter Scheduling Introduction] (PDF), Arpaci-Dusseau Books 
  2. Tanenbaum, A. S. (2008). Modern Operating Systems 3rd ed. [S.l.]: Pearson Education, Inc. p. 156. ISBN 0-13-600663-9 
  3. Silberschatz, A.; Galvin, P.B.; Gagne, G. (2005). Operating Systems Concepts 7th ed. [S.l.]: Wiley. p. 161. ISBN 0-471-69466-5 
  4. Reinertsen, Donald (2008). Principles of Product Development Flow: Second Generation Lean Product Development. [S.l.]: Celeritas Publishing. p. 193. ISBN 978-1-935401-00-1 
  5. Knesek, Doug. «'Value-Flow Rate': A Better Name for a Great Measure». Consultado em 8 de abril de 2016 
Ícone de esboço Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.