问答题 有三个作业:
   
作 业 到达时间 所需CPU时间
1 0.0 8
2 0.4 4
3 1.0 1

   分别采用先来先服务和短作业优先作业调度算法。试问它们的平均周转时间各是什么?你是否还可以给出一种更好的调度算法,使其平均周转时间优于这两种调度算法?
【正确答案】(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
【答案解析】