Sebbene questo algoritmo sia stato progettato per fornire il massimo rendimento in tutti gli scenari, questo non è corretto per tutte le situazioni. Cosa succede se il processore ha molti piccoli processi? Porterà sicuramente alla fame. Il tempo di produzione dei piccoli processi sarà basso, mentre quello dei grandi processi sarà grande rispetto ad altri algoritmi di schedulazione.
Wikipedia dice:
Since turnaround time is based on waiting time plus processing time,
longer processes are significantly affected by this. Overall waiting
time is smaller than FIFO, however since no process has to wait for
the termination of the longest process.
Se pianifichi per prima cosa lavori più grandi, molti processi di piccole dimensioni dovranno attendere la conclusione del processo (in quanto non è preventiva). E poiché il tempo di consegna è il tempo totale tra la presentazione di un processo e il suo completamento, questo sarebbe decisamente basso. Ma in SJF, pochissimi processi di grandi dimensioni attendono alcuni piccoli processi, quindi i tempi di restituzione dei soli processi di grandi dimensioni sarebbero influenzati.
Controlla il link per un confronto di varie tecniche.