嵌入式实时操作系统调度算法
一、基础调度算法
- 时间片轮转调度算法:为每个任务分配固定份额的 CPU 执行时间,使任务轮流获得 CPU 资源。
- 优先级调度算法:静态优先级:系统为每个任务分配相对固定的优先顺序,运行时优先级基本保持不变。动态优先级:任务的优先级可在运行过程中动态调整。
- 抢占式优先级调度算法:任一时刻,运行的任务都是所有就绪任务中优先级最高的;多数实时操作系统(RTOS)的调度算法采用抢占(可剥夺)方式。
二、经典实时调度算法
- 单调速率调度算法(RMS 算法):静态优先级调度算法,适用于周期性任务。任务优先级与周期呈单调函数关系 —— 周期越短,优先级越高;周期越长,优先级越低。
- 最早截止期调度算法(EDF 算法):根据任务的截止时间确定优先级,截止时间最近的任务被分配最高优先级。
- 最低松弛度优先(LLF)算法:依据任务的紧急(松弛)程度确定优先级,任务紧急程度越高,优先级越高,进而优先执行。