为什么在多级反馈调度的最后一级不使用最短作业优先(SJF)算法而不是 FCFS
Why Shortest Job First(SJF) algorithm is not used instead of FCFS at final level in Multilevel Feedback Scheduling
在基层队列的多级反馈调度中,进程以循环方式循环,直到它们完成并离开系统。基级队列中的进程也可以按照先到先得的原则进行调度。
为什么不能将它们安排在最短作业优先 (SJF) 算法而不是先来先服务 (FCFS) 算法上,这似乎可以提高算法的平均性能。
SJF 算法提供更多的吞吐量,只有当进程在 突发时间 上有很大差异时。然而,它并不总是比 FCFS 表现更好的情况。在 .
获取战利品
由于在多级反馈调度算法中,所有无法在前2个队列的定义时间片内完成执行的进程都被放入具有[=15的最后一个队列=]FCFS,很可能它们都有较大的 CPU 爆发,因此它们的 爆发时间 不会有太大差异。因此,它更喜欢FCFS,调度最后一个队列。
一个简单的原因:
进程无法在更高级别队列中分配给它们的时间片内完成后,将落入基本级别队列。如果您在基层队列中实施 SJF 算法,您可能会饿死一个进程,因为较短的作业可能会在较长的执行进程获得 CPU.
之前不断到来
在基层队列的多级反馈调度中,进程以循环方式循环,直到它们完成并离开系统。基级队列中的进程也可以按照先到先得的原则进行调度。 为什么不能将它们安排在最短作业优先 (SJF) 算法而不是先来先服务 (FCFS) 算法上,这似乎可以提高算法的平均性能。
SJF 算法提供更多的吞吐量,只有当进程在 突发时间 上有很大差异时。然而,它并不总是比 FCFS 表现更好的情况。在
由于在多级反馈调度算法中,所有无法在前2个队列的定义时间片内完成执行的进程都被放入具有[=15的最后一个队列=]FCFS,很可能它们都有较大的 CPU 爆发,因此它们的 爆发时间 不会有太大差异。因此,它更喜欢FCFS,调度最后一个队列。
一个简单的原因:
进程无法在更高级别队列中分配给它们的时间片内完成后,将落入基本级别队列。如果您在基层队列中实施 SJF 算法,您可能会饿死一个进程,因为较短的作业可能会在较长的执行进程获得 CPU.
之前不断到来