调度基础(Scheduling Fundamentals)
调度是RTOS的核心控制机制,决定CPU在任意时刻执行哪个任务。 它直接影响系统是否满足实时约束,而不是单纯的运行效率问题。
一、调度本质
通用系统优化“整体效率”,RTOS优化“时间可预测性”。 调度的核心不是资源分配,而是时间约束是否成立。
RTOS调度器本质是“时间可行性判断器”,而不是简单的任务排序器。
二、任务状态链路
任务状态不是线性流程,而是被中断、资源与时间事件不断打断的动态系统。
每次状态变化都可能触发一次调度,因此状态设计直接影响系统稳定性。
三、调度模型类型
优先级调度
基于优先级选择任务。 RTOS核心模型,但不等于实时性本身。 需要配合执行时间约束才能成立。
抢占式调度
高优先级任务可中断低优先级任务。 用于保证响应时间上界。 代价是上下文切换成本增加。
时间片调度
CPU按时间轮转分配。 强公平性,但弱实时性。 适用于后台任务。
事件驱动调度
由中断、消息、信号触发。 是RTOS与中断系统耦合的主要方式。
四、调度决策逻辑
调度不是“选最高优先级任务”,而是判断“谁在约束内仍可执行”。
调度本质是约束满足问题,而不是排序问题。
五、抢占代价
抢占提升实时性,但带来系统成本:切换、缓存失效与抖动。
高频抢占会吞噬执行时间,因此任务粒度必须受控。
六、实时性关系
实时性由调度保证,而不是CPU性能决定。
评价RTOS不能看平均性能,而必须看最坏情况。
七、结论
学习路径
建议顺序理解:
→ 中断基础
→ RTOS vs Linux
→ IPC基础
→ 抢占 vs 协作
→ 实时系统基础