题目整理
进程调度问题:分别使用 FCFS(先来先服务) 和 非抢占式SJF(短作业优先) 算法,计算以下进程的等待时间、周转时间,并绘制甘特图。
进程 | 到达时间 | 运行时间 |
---|
J1 | 0.0 | 7 |
J2 | 2.0 | 4 |
J3 | 4.0 | 1 |
J4 | 5.0 | 4 |
解题步骤(FCFS算法)
1. 调度顺序(先来先服务)
- 0.0 ms:J1到达,立即执行,运行至 7.0 ms。
- 7.0 ms:J1完成。此时已到达的进程有J2(2.0 ms到达)、J3(4.0 ms到达)、J4(5.0 ms到达)。
- 11.0 ms:J2完成。执行J3(运行时间1 ms)至 12.0 ms。
- 12.0 ms:J3完成。执行J4至 16.0 ms。
2. 甘特图(FCFS)
时间轴(ms) | 0-----7-----11-----12-----16
进程执行 | J1 J2 J3 J4
3. 计算等待时间与周转时间(FCFS)
进程 | 到达时间 | 运行时间 | 开始时间 | 完成时间 | 等待时间 | 周转时间 |
---|
J1 | 0.0 | 7 | 0.0 | 7.0 | 0.0 | 7.0 |
J2 | 2.0 | 4 | 7.0 | 11.0 | 5.0 | 9.0 |
J3 | 4.0 | 1 | 11.0 | 12.0 | 7.0 | 8.0 |
J4 | 5.0 | 4 | 12.0 | 16.0 | 7.0 | 11.0 |
4. 系统整体性能(FCFS)

解题步骤(SJF算法)
(与之前答案一致,此处简要重复)
1. 调度顺序(非抢占式SJF)
- 0.0 ms:J1执行至 7.0 ms。
- 7.0 ms:选择最短作业J3(1 ms)执行至 8.0 ms。
- 8.0 ms:选择J2(4 ms)执行至 12.0 ms。
- 12.0 ms:执行J4至 16.0 ms。
2. 甘特图(SJF)
时间轴(ms) | 0-----7-----8-----12-----16
进程执行 | J1 J3 J2 J4
3. 计算等待时间与周转时间(SJF)
进程 | 到达时间 | 运行时间 | 开始时间 | 完成时间 | 等待时间 | 周转时间 |
---|
J1 | 0.0 | 7 | 0.0 | 7.0 | 0.0 | 7.0 |
J2 | 2.0 | 4 | 8.0 | 12.0 | 6.0 | 10.0 |
J3 | 4.0 | 1 | 7.0 | 8.0 | 3.0 | 4.0 |
J4 | 5.0 | 4 | 12.0 | 16.0 | 7.0 | 11.0 |
4. 系统整体性能(SJF)
- 平均等待时间:4.0 ms
- 平均周转时间:8.0 ms
对比总结
算法 | 平均等待时间 | 平均周转时间 | 特点 |
---|
FCFS | 4.75 ms | 8.75 ms | 简单,但短作业等待时间长 |
SJF | 4.0 ms | 8.0 ms | 优化短作业,但需预知运行时间 |
关键结论
- FCFS调度顺序:J1 → J2 → J3 → J4
- SJF调度顺序:J1 → J3 → J2 → J4
- SJF优势:短作业(如J3)等待时间显著减少,整体平均性能更优。
- FCFS劣势:先到达的长作业(如J2)阻塞后续短作业,导致平均等待时间增加。