先來先做 (First-Come,First-Served,簡稱FCFS)
最短的工作先做 (Shortest Job First,簡稱SJF)
循環分配 (Round Robin,簡稱RR)
優先權
FCFS演算法
行程 所需時間單位
P1 40
P2 75
P3 20
P4 80
P5 25
平均的回復時間 = (40 + 115 + 135 + 215 + 240) / 5,等於149
SJF演算法![](file:///C:/Users/%E6%A5%8A%E6%96%87%E7%90%B3/AppData/Local/Temp/artF599.tmp)
所有行程所需執行時間從小排到大,由時間最短的開始執行
執行順序:P3、P5、P1、P2 、 P4
平均的回復時間 = (20 + 45 + 85 + 160 + 240) / 5,等於110
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhKuQ-2mZZ1S22CWquxA6vJpq8MtLja0udWFCJSQwAy5bS8O0IsXfoMPbVyHcUHAB0iKRA0DAU0HEPG5YMMv2U92_GHBv4hDS3v01fSm1b12t4jNZf-XFQndzki7vPI3kpX8YWroDl_aA/s1600/%E5%9C%96%E7%89%877.jpg)
RR演算法
事先定義固定的時間配額,每個行程輪流分配。
若是無法執行完成,則下一次就再分配一次
平均回復時間 = (60 + 120 + 165 + 220 + 240) / 5,等於161
依事先決定的優先權定義,計算優先順序,照著優先順序的先後給予CPU使用權
執行順序:P2、P5、P1、P3 、 P4
平均的回復時間 = (75 + 100 + 140 + 160 + 240) / 5,等於143
以行程到達的先後順序來執行,先來的先做![](file:///C:/Users/%E6%A5%8A%E6%96%87%E7%90%B3/AppData/Local/Temp/OICE_52D2F6C6-FC52-4F9D-AFC0-EB430EB17C81.0/art82B5.tmp)
行程 所需時間單位
P1 40
P2 75
P3 20
P4 80
P5 25
平均的回復時間 = (40 + 115 + 135 + 215 + 240) / 5,等於149
所有行程所需執行時間從小排到大,由時間最短的開始執行
行程 所需時間單位
P1 40
P2 75
P3 20
P4 80
P5 25
P1 40
P2 75
P3 20
P4 80
P5 25
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhKuQ-2mZZ1S22CWquxA6vJpq8MtLja0udWFCJSQwAy5bS8O0IsXfoMPbVyHcUHAB0iKRA0DAU0HEPG5YMMv2U92_GHBv4hDS3v01fSm1b12t4jNZf-XFQndzki7vPI3kpX8YWroDl_aA/s1600/%E5%9C%96%E7%89%877.jpg)
RR演算法
事先定義固定的時間配額,每個行程輪流分配。
若是無法執行完成,則下一次就再分配一次
行程 所需時間單位
P1 40
P2 75
P3 20
P4 80
P5 25
P1 40
P2 75
P3 20
P4 80
P5 25
行程 所需時間單位 優先順序
P1 40 3
P2 75 1
P3 20 4
P4 80 5
P5 25 2
P1 40 3
P2 75 1
P3 20 4
P4 80 5
P5 25 2
平均的回復時間 = (75 + 100 + 140 + 160 + 240) / 5,等於143