Escolar Documentos
Profissional Documentos
Cultura Documentos
Definição
A tarefa mais curta primeiro é um algoritmo de agendamento
no qual o processo com o menor tempo de execução é selecionado
para execução a seguir. O trabalho mais curto primeiro pode ser
preventivo ou não preemptivo. Devido à sua natureza simples, o
trabalho mais curto primeiro é considerado o ideal. Também reduz o
tempo médio de espera para outros processos aguardando
execução.
Como funciona
A tarefa mais curta depende primeiro do tempo médio de
execução dos processos. As estimativas precisas dessas medidas
ajudam na implementação do trabalho mais curto primeiro em um
ambiente, o que de outra forma torna o mesmo quase impossível de
implementar. Isso ocorre porque muitas vezes a rajada de execução
de processos não acontece de antemão. Pode ser usado em
ambientes interativos onde padrões passados estão disponíveis
para determinar o tempo médio entre o tempo de espera e os
comandos. Embora seja desvantajoso usar o conceito shortest-job-
first no agendamento da CPU de curto prazo, ele é considerado
altamente vantajoso no agendamento da CPU de longo prazo. Além
disso, o rendimento é alto no caso do trabalho mais curto primeiro.
Vantagens e Desvantagens
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]