实时调度的算法分类
分类:
- 根据实时任务性质的不同,分为硬实时调度算法和软实时调度算法;
- 按调度方式的不同,分为非抢占调度算法和抢占调度算法;
- 根据调度程序调度时间的不同,分为静态调度算法和动态调度算法。
- 多处理机环境下,可分为集中式调度和分布式调度两种算法
最早截止时间优先EDF算法
根据任务的截止时间来确定任务的优先级。截止时间越早,其优先级越高。该算法要求在系统中保持一个实时任务就绪队列,该队列按各任务截止时间的早晚排序,调度程序在选择任务时总是选择就绪队列中的第一个任务,为之分配处理机,使之投入运行。
EDF算法既可以用于抢占式调度,也可用于非抢占式调度。
抢占式调度方式用于周期实时任务
下图中有两个周期性任务,任务A的周期时间为20ms,每个周期的处理时间为10ms;任务B的周期时间为50ms,每个周期的处理时间为25ms
解:
在t=0时,A1和B1同时到达A1的开始截止时间为10,B1为25,所以A1执行,当A