繁体   English   中英

FCFS vs SJF vs RR

[英]FCFS versus SJF versus RR

在C语言中,假设每个算法都具有完全相同的过程集,那么在先到先服务,最短作业先到以及轮询之间的周转时间是否相等? 还是调度算法之间有所不同?

SJF的平均周转时间最佳,其次是FCFS。 相比之下,RR的周转时间最差。

说明:

FCFS调度是最简单的调度算法,但是它可能导致较短的进程等待非常长的进程(车队效应)。

考虑到进程需要完成的时间长度(CPU突发),SJF调度是对FCFS的改进。 事实证明,SJF是最佳选择,可提供最短的平均等待时间。 但是,实现SJF调度很困难,因为很难预测下一个CPU突发的长度。 此外,如果运行时间短的进程太多,则运行时间长的进程可能会在SJF下饿死。

RR为公平性问题提供了解决方案,从而提供了更好的平均响应时间。 不过,这通常是以更高的平均周转时间为代价的。

归根结底,这是平均周转时间与响应时间之间的权衡取舍。

这是另一个可以帮助您的链接: https : //homes.cs.washington.edu/~arvind/cs422/lectureNotes/sched-6.pdf

或者,您可以查看以下本书的第6章CPU调度

Silberschatz,Galvin和Gagne撰写的《操作系统概念》第9版

通常,先实现先服务(FCFS)和最短作业优先(SJF)实施有利于周转时间,而实施轮询(RR)有利于响应时间。 通常这是一个权衡。 这意味着,在相同的流程(还取决于工作负载的类型)的情况下,SJF和FCFS的周转时间通常比RR好,反之亦然,RR的响应时间通常都比RR好。

要更好地理解这一点,您可以阅读http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched.pdf

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM