题目
假定一个系统中的所有作业同时到达,那么使作业平均周转时间为最小的作业调度算法是 ( )调度算法
假定一个系统中的所有作业同时到达,那么使作业平均周转时间为最小的作业调度算法是 ( )调度算法
题目解答
答案
短作业优先
解析
本题考查作业调度算法以及平均周转时间的相关知识。解题的关键在于理解不同作业调度算法的特点,以及周转时间的计算方式,通过分析各种算法对作业周转时间的影响,找出使平均周转时间最小的算法。
周转时间的计算公式为:周转时间 = 作业完成时间 - 作业到达时间。平均周转时间则是所有作业周转时间的平均值。
下面分析几种常见的作业调度算法:
- 先来先服务(FCFS)调度算法:按照作业到达的先后顺序依次执行作业。这种算法简单直观,但如果有长作业先到达,后面的短作业就需要等待很长时间,会导致平均周转时间较长。例如,有三个作业A、B、C,到达时间都为0,作业A需要执行时间为10,作业B需要执行时间为1,作业C需要执行时间为2。按照FCFS算法,执行顺序为A、B、C。作业A的周转时间为10,作业B的周转时间为10 + 1 = 11,作业C的周转时间为10 + 1 + 2 = 13。平均周转时间为$\frac{10 + 11 + 13}{3}=\frac{34}{3}\approx11.33$。
- 短作业优先(SJF)调度算法:优先选择执行时间最短的作业进行执行。这样可以使短作业尽快完成,减少短作业的等待时间,从而降低平均周转时间。对于上述例子,按照SJF算法,执行顺序为B、C、A。作业B的周转时间为1,作业C的周转时间为1 + 2 = 3,作业A的周转时间为1 + 2 + 10 = 13。平均周转时间为$\frac{1 + 3 + 13}{3}=\frac{17}{3}\approx5.67$。
- 优先级调度算法:根据作业的优先级来决定执行顺序。如果优先级设置不合理,可能会导致某些作业长时间得不到执行,平均周转时间也会较长。
- 高响应比优先调度算法:响应比 = (等待时间 + 服务时间)/ 服务时间。虽然该算法综合考虑了作业的等待时间和服务时间,但在所有作业同时到达的情况下,其效果不如短作业优先算法。
通过以上分析可知,在所有作业同时到达的情况下,短作业优先调度算法能使作业平均周转时间最小。