Shortest-Job-First (SJF) Scheduling
Introduction
每次從 ready queue 挑下一個 CPU burst 最短的 process 來跑
SJF is Optimize for Average Waiting Time
把短工作排在前面,可以讓更多 process 更早結束,減少所有人的等待時間。可以證明 SJF 的平均 waiting time 是所有 nonpreemptive algorithm 中最小的
Problem: CPU burst time is unknown
在現實中我們無法得知每個 process 下次的 CPU burst time,我們只能透過預測或是詢問用戶來嘗試得到 CPU burst time