四、计算题 1.有以下三个作业,分别采用先来先服务和短作业优先作业调度算法。试问它们的平均周转时间各是什么?是否还可以给出一种更好的调度算法,使其平均周转时间优于这两种调度算法? 作 业 到达时间 所需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 2.有一组作业,它们的到达时间和所需 CPU 时间如下所示,分别采用先来先服务和短作业优先作业调度算法,给出它们的调度顺序、作业周转时间以及平均周转时间。 作业号 到达时间 所需 CPU 时间 1 9:00 70 分钟 2 9:40 30 分钟 3 9:50 10 分钟 4 10:10 5 分钟 解:(1)采用先来先服务作业调度算法时的实施过程如下: 作业号 到达时间 所需 CPU 时间 开始时间 完成时间 周转时间 1 9:00 70 分钟 9:00 10:10 70 分钟 2 9:40 30 分钟 10:10 10:40 60 分钟 3 9:50 10 分钟 10:40 10:50 60 分钟 4 10:10 5 分钟 10:50 10:55 45 分钟 这时,作业的调度顺序是1→2→3→4...