我的教科书(高尔文)提到SJF在平均等待时间最短的意义上是最优的。虽然在Tanenbaum教科书中提到它给出了最小的平均周转时间。 斯坦福大学的一张幻灯片还提到,对于SJF而言,周转时间可能不是最佳。 我很困惑SJF是给出最小的平均等待时间还是最小的平均周转时间或两者。 据我所知,周转时间=等待时间+突发时间,因此通过减少平均等待时间,我们确实可以减少平均周转时间。
答案 0 :(得分:0)
是即可。如果您能够减少平均等待时间,那么根据定义,您还可以缩短平均周转时间。
周转时间 是完成请求所需的时间或流程完成所需的总时间,因此,根据定义,它将包含 等待时间 。因此,如果您减少就绪队列中的 等待时间 ,您肯定会减少 周转时间 。< / p> 在理想条件下
SJF 确实提供了平均等待时间,那为什么不遵循?
答案是饥饿。如果您正在考虑一个系统,其中有连续的流程流进入预备队列并且短突发时间,那么大突发时间的进程将永远不会获得 CPU 即可。他们会饿死。
如果我们不考虑上述系统,则是 SJF提供最小平均等待时间和最低平均值周转时间。