为了满足实时系统对截止时间的要求,实现实时系统中的调度具备下列几个条件:
1、就绪时间
2、开始截止时间和完成截止时间
3、处理时间
4、资源要求
5、优先级
基于时钟中断的抢占式优先权调度算法
在高优先权的实时进程到来后,虽然该进程的优先权大于正在执行的进程,系统并不会立即抢占当前进程的处理机,而是等到最近一次时钟中断到来,系统才剥夺当前进程的CPU,将CPU分配给新来的优先权更高的实时进程。
立即抢占的优先权调度算法
一旦接收到触发实时进程运行的信号,这通常是一个外部中断信号,系统立即剥夺当前进程的CPU,将其分配给请求中断的实时进程。这比“基于时钟中断的抢占式优先权调度算法”响应更快。
最早截止时间优先EDF算法
该算法是根据进程的开始截止时间确定进程的优先级。进程的截止时间越早,优先级越高,越优先获取处理机。该算法要求在系统中保持一个实时进程的就绪队列,该队列按各个进程的截止时间早晚排序,截止时间最早的进程排在队列的最前面。高度程序在选择进程时,总是选择就绪队列中的第一个进程,为其分配处理机,使之投入运行。
最低松弛度优先LLF算法
松弛度用来表示一个实时进程的紧迫程度。如果一个进程的完成截止时间为T,当前时间为Tc,处理完该任务还需要的时间为Ts,则松弛度L的计算表达式为:
L = T - Tc -Ts
在使用该算法时,调度程序在调度时机到来时,每次选择松弛度L最小的进程,把CPU分配给该进程