【正确答案】(1)采用先来先服务作业调度算法时的实施过程如下。
| 作 业 | 到达时间 | 所需CPU时间 | 开始时间 | 完成时间 | 周转时间 |
| 1 | 0.0 | 8 | 0.0 | 8.0 | 8.0 |
| 2 | 0.4 | 4 | 8.0 | 12.0 | 11.6 |
| 3 | 1.0 | 1 | 12.0 | 13.0 | 12.0 |
这时,作业的调度顺序是1→2→3。其平均周转时间为:
(8+11.6+12)/3=10.53
(2)采用短作业优先作业调度算法时的实施过程如下。
| 作 业 | 到达时间 | 所需CPU时间 | 开始时间 | 完成时间 | 周转时间 |
| 1 | 0.0 | 8 | 0.0 | 8.0 | 8.0 |
| 3 | 1.0 | 1 | 8.0 | 9.0 | 8.0 |
| 2 | 0.4 | 4 | 9.0 | 13.0 | 12.6 |
这里要注意,在作业1运行完毕进行作业调度时,作业2和3都已经到达。由于是实行短作业优先作业调度算法,因此先调度作业3运行,最后调度作业2运行。所以,这时的作业调度顺序是1→3→2。其平均周转时间为:
(8+8+12.6)/3=9.53
(3)还可以有更好的作业调度算法,使其平均周转时间优于这两种调度算法。例如,如果知道在作业1后面会来两个短作业,那么作业1到达后,先不投入运行。而是等所有作业到齐后,再按照短作业优先作业调度算法进行调度,具体实施过程如下。
| 作 业 | 到达时间 | 所需CPU时间 | 开始时间 | 完成时间 | 周转时间 |
| 3 | 1.0 | 1 | 1.0 | 2.0 | 1.0 |
| 2 | 0.4 | 4 | 2.0 | 6.0 | 5.6 |
| 1 | 0.0 | 8 | 6.0 | 14.0 | 14.0 |
这时的作业调度顺序是3→2→1。其平均周转时间为:
(1+5.6+14)/3=6.87