-
Fiquei com muita duvida e mesmo procurando no livro do Tanebaum a duvida persiste, porque ele somente sera ótimo apenas quando as tarefas estão disponíveis ao mesmo tempo. A questão fala que ele e comprovadamente ótimo.
Escalonamento de Tarefa mais curta primeiro (Shortest-Job-First) – Como o próprio nome já diz, essa abordagem prioriza os processos mais curtos primeiro, o problema é descobrir qual dos processos atualmente executáveis é o mais curto. Uma abordagem é fazer estimativas baseadas no comportamento passado e executar o processo com o tempo de execução estimado mais curto. A tarefa mais curta primeiro é provavelmente uma ótima escolha. Vale a pena destacar que a tarefa mais curta primeiro é ótima apenas quando todas as tarefas estão disponíveis simultaneamente.
Sistemas Operacionais Modernos, 4° ed, Tanebaum
-
João Paulo, você tem razão.
Mas creio que a banca, ao afirmar "...para determinado conjunto de processos" já esteja considerando que as tarefas estejam disponíveis simultaneamente.
-
"no quesito de minimizar o tempo médio de espera para determinado conjunto de processos"
Resolvendo os processos mais curtos (mais rápidos) primeiro, conseguiremos resolver mais processos numa mesma quantidade de tempo, logo o tempo médio de espera é reduzido.
-
Quando há vários trabalhos igualmente importantes esperando na fila de entrada para serem iniciados, o escalonador escolhe a tarefa mais curta primeiro (shortest job first).