2.3.2 SJF - Shortest Job First: It is non-pre-emptive,
Ready queue treated as a priority queue based on smallest
CPU time requirement, arriving jobs inserted at proper
position in queue, dispatcher selects shortest job (1st in
queue) and runs to completion. Its advantage is that it is
provably optimal from turnaround/waiting point of view.
The disadvantages of SJF are that in general, it cannot be
implemented, also starvation is possible, Can do it
approximately: use exponential averaging to predict length
of next CPU burst.