我正在尝试解决有关最早截止日期优先调度的矛盾。我的教科书( Buttazzo的 Hard Real-Time Computing Systems)字面意思是两者都说(不是开玩笑):
pg.63:“如果任务在执行期间不能被抢占,EDF 就不再是最优的。 ”
第 65 页:“通过限制非空闲调度算法的情况,Jeffay、Stanat 和 Martel 证明了 EDF 在非抢占式任务模型中仍然是最优的。 ”
“当有活动作业时不允许处理器空闲的调度算法称为非空闲算法。”
什么?
正文的第 64 页显示了一个与此直接矛盾的示例。最佳调度是处理器可以空闲 1 个单位时间(直到第二个作业到达)以便它可以首先执行第二个作业的调度。相比之下,EDF 生成的时间表(第一个作业立即开始,没有任何空闲时间)不是最佳的,因为时间表未能满足其最后期限。
我猜教科书的意思是说 EDF 在非抢占式任务模型中不是最优的,除非处理器被允许闲置并且算法知道未来任务何时到达。否则在那种情况下它永远不可能是最优的吗?