在C语言中,假设每个算法都有一组完全相同的进程,那么在先到先得、最短作业先得和循环之间的周转时间是否相等?或者调度算法之间有什么不同?

最佳答案

SJF的平均周转时间最好,其次是FCF。
相比之下,RR的周转时间最短。
说明:
FCFS调度是最简单的调度算法,
但它会导致短进程等待很长的进程(护航效应)。
考虑到进程需要完成的时间长度(CPU突发),SJF调度是对FCFS的改进。SJF可证明是最优的,提供最短的平均等待时间。然而,实现SJF调度是困难的,因为预测下一个CPU突发的长度是困难的。此外,如果有太多的短进程,那么在SJF下运行时间长的进程可能会饿死。
RR提供了公平性问题的解决方案,提供了更好的平均响应时间。不过,这通常是以较高的平均周转时间为代价的。
归根结底,这是平均周转时间和公平性在响应时间方面的折衷。
下面是另一个帮助您的链接:
https://homes.cs.washington.edu/~arvind/cs422/lectureNotes/sched-6.pdf
或者,您可以查看以下书籍的第6章CPU调度:
操作系统概念,第9版
作者:Silberschatz、Galvin和Gagne

07-24 19:31