| 算法 | 类型 | 是否可抢占 |
|---|---|---|
| FCFS | 非抢占 | 否 |
| SJF(非抢占) | 非抢占 | 否 |
| SRTF(抢占 SJF) | 抢占 | 是(最短剩余时间) |
| 时间片轮转 | 抢占 | 是 |
| 指标 | 公式 |
|---|---|
| 周转时间 | 完成时间 − 到达时间 |
| 带权周转时间 | 周转时间 / 服务时间 |
| 等待时间 | 周转时间 − 服务时间 |
| 平均周转时间 | 各进程周转时间之和 / 进程数 |
进程调度决定哪个进程获得 CPU。考试重点考查 FCFS、SJF、时间片轮转 三种算法的手算过程。
示例数据(下文四个算法共用):
| 进程 | 到达时间 | 服务时间 |
|---|---|---|
| P1 | 0 | 8 |
| P2 | 1 | 4 |
| P3 | 2 | 9 |
| P4 | 3 | 5 |
FCFS 结果(平均周转 15.25):
| 进程 | 完成 | 周转 | 带权周转 | 等待 |
|---|---|---|---|---|
| P1 | 8 | 8 | 1.00 | 0 |
| P2 | 12 | 11 | 2.75 | 7 |
| P3 | 21 | 19 | 2.11 | 10 |
| P4 | 26 | 23 | 4.60 | 18 |
平均周转时间 $= \frac{8+11+19+23}{4} = 15.25$;平均带权周转 $= \frac{1.00+2.75+2.11+4.60}{4} = 2.62$。
SJF(非抢占,平均周转 14.25):顺序 P1→P2→P4→P3。平均带权周转 2.31。
SRTF(抢占,平均周转 13.00):P1[0–1]→P2[1–5]→P4[5–10]→P1[10–17]→P3[17–26]。平均带权周转 1.80。
RR(q=4,平均周转 18.25):P1→P2→P3→P4→P1→P3→P4→P3。
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。