有 5 个任务 A、 B、 C、 D、 E, 几乎同时到达, 预计它们的运行时间为 10、 6、 2、 4、 8 分钟, 其优先级分别为 3、 5、 2、 1 和 4, 这里 5 为最高优先级。 对于下列每一种调度算法, 计算其平均进程周转时间(进程切换开销可不考虑)。
先来先服务算法(按 A、 B、 C、 D、 E 的顺序)。
采用先来先服务算法时的执行情况, 如表 1 所示。
表1 FIFO 算法的执行情况
| 作业序号 | 运行时间 | 等待时间 | 周转时间 |
| A | 10 | 0 | 10 |
| B | 6 | 10 | 16 |
| C | 2 | 16 | 18 |
| D | 4 | 18 | 22 |
| E | 8 | 22 | 30 |
| 平均周转时间 | T=19.2(min) |
优先级调度算法。
采用优先级调度算法时的执行情况, 如表 2 所示。
表2 优先级调度的执行情况
| 作业序号 | 运行时间 | 等待时间 | 周转时间 |
| A | 6 | 0 | 6 |
| B | 8 | 6 | 14 |
| C | 10 | 14 | 24 |
| D | 2 | 24 | 26 |
| E | 4 | 26 | 30 |
| 平均周转时间 | T=20(min) |
时间片轮转调度算法。
采用时间片轮转调度算法(时间片为 2min) 的执行情况, 如表 3 所示。
表3 时间片轮转调度算法的执行情况
| 作业序号 | 运行时间 | 等待时间 | 周转时间 |
| A | 10 | 20 | 30 |
| B | 6 | 16 | 22 |
| C | 2 | 4 | 6 |
| D | 4 | 12 | 16 |
| E | 8 | 20 | 28 |
| 平均周转时间 | T=20.4(min) |