在C中,假设每个算法都给出了完全相同的一组过程,那么周一先发球,最短作业和循环之间的周转时间是否相等?或者调度算法会有所不同吗?
答案 0 :(得分:2)
SJF的平均周转时间最长,其次是FCFS。 相比之下,RR的周转时间最短。
说明:
FCFS调度是最简单的调度算法, 但它可能导致短进程等待很长的进程(护送效果)。
SJF调度是对FCFS的改进,考虑了进程需要完成的时间长度(CPU突发)。 SJF可证明是最佳的,提供最短的平均等待时间。然而,实现SJF调度很困难,因为预测下一个CPU突发的长度是困难的。此外,如果有太多的短流程,那么长时间运行的流程可能会在SJF下挨饿。
RR提供公平问题的解决方案,提供更好的平均响应时间。这通常是以较高的平均周转时间为代价的。
在一天结束时,它是平均周转时间与响应时间公平性之间的权衡。
以下是另一个可以帮助您的链接: https://homes.cs.washington.edu/~arvind/cs422/lectureNotes/sched-6.pdf
或者,您可以查看以下书籍的第6章CPU调度:
操作系统概念,第9版 由Silberschatz,Galvin和Gagne
答案 1 :(得分:0)
通常,实施先到先服务(FCFS)和最短作业优先(SJF)以支持周转时间,同时实施Round Robin(RR)以支持响应时间。这通常是一种权衡。这意味着给定相同的流程(也取决于工作负载的类型),SJF和FCFS通常具有比RR更好的周转时间,反之亦然,RR通常具有比两者更好的响应时间。
为了更好地理解这一点,您可以阅读http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched.pdf
答案 2 :(得分:0)
相对于平均周转时间和平均等待时间
SJF