这个问题实际上是为什么 SJF 算法很少在常见环境中使用的主要原因之一,因为 SJF 算法需要精确估计所有进程的运行时间, 而这只在专用环境中给出。 在常见情况下,您只能获得估计和不准确的进程运行时间长度,例如通过记录同一进程的前几个 CPU 暴发的长度,并使用数学逼近方法来计算下一次它将运行多长时间。
如果你有一些闲置的带宽,你也许可以在这里找到实际的代码。从2.0开始,我认为你会发现这是试验性的。 SJF(短作业优先调度算法)据我所知非常短命,正如ZelluX所指出的确切原因。 我认为你理解其背后的原理的唯一希望就在于代码上了。你也许能够在模拟器中构建它并使其启动。 编辑: 我现在不能完全确定它是否曾经进入过主线。如果你找不到它,请不要责怪我 :)