在多级反馈调度中,为什么不使用最短作业优先(SJF)算法而不是最终级别的FCFS

时间:2017-03-21 16:36:41

标签: algorithm operating-system scheduling

在基本级别队列的多级反馈调度中,进程以循环方式循环,直到它们完成并离开系统。基本级别队列中的进程也可以先到先服务的方式进行调度。 为什么不能将它们安排在最短作业优先(SJF)算法而不是先到先服务(FCFS)算法上,这似乎可以提高算法的平均性能。

2 个答案:

答案 0 :(得分:0)

SJF 算法只有在突发时间过程中差异很大时才会提供更多的吞吐量。然而,它的表现并不总是比 FCFS 更好。在this answer获取战利品。

由于在多级反馈调度算法中,所有无法在前2个队列的定义时间量内完成执行的进程被放入具有 FCFS 的最后一个队列,很可能它们都有大量的CPU突发,因此它们的突发时间不会有太大差异。因此,它最好具有 FCFS ,为最后一个队列进行调度。

答案 1 :(得分:0)

一个简单的原因:

进程在高级队列中分配给它们的时间量未能完成后,进入基本级别队列。如果在基本级别队列中实现SJF算法,则可能会使进程匮乏,因为较短的作业可能会在较长的执行进程获得CPU之前继续运行。