L'algoritmo Shortest Job First (SJF) è un metodo di scheduling dei processi che seleziona il processo con il tempo di esecuzione più breve tra quelli in attesa, evitando l'effetto del treno causato da processi lunghi. Esso presenta due varianti: una senza prelazione e una con prelazione, mantenendo sempre misure di performance uniforme come il tempo medio di attesa. Rispetto al First-Come, First-Served (FCFS), l'SJF può ridurre significativamente il tempo medio di attesa dei processi.