我想在C中实现最早的截止日期调度,但我无法在网上找到算法..
我理解下面的例子,当时间为0时,A1和B1都到达。由于A1有最早的截止日期,因此首先安排。当A1完成时,B1给予处理器。当时间为20时,A2到达。由于A2的截止日期早于B1,因此B1中断,以便A2可以执行完成。然后当时间为30时恢复B1,当时间为40时,A3到达。然而,B1有一个较早的结束截止日期,并且允许在时间为45时执行完成。然后A3给予处理器并在时间为55时结束。但是我无法想出一个解决方案..请帮我找一个算法。 感谢..
示例图片
答案 0 :(得分:4)
processTimeToDeadline - processTimeToExecute
作为新当前流程的流程newProcessTimeToDeadline - newProcessTimeToExecute < currentProcessTimeToDeadline - currentProcessTimeStillNeededToExecute
。注意:如果您使用多个CPU执行此操作,则会获得Multiprocessor scheduling problem,即NP完成。
答案 1 :(得分:0)
以前的回答描述&#34;最早可行的截止日期&#34; (EFDF)调度程序,它完美地从qestion成像。 &#34;最早的截止日期&#34; (EDF)调度程序更简单。调度程序只是在最早的截止日期之前运行任务。这就是全部。