调度理论(Scheduling Theory)
1. 核心定义
调度理论研究的是:在有限 CPU 资源下,对任务集合进行时间分配,使系统满足“时间约束可证明性”。
在 HRTOS 中,调度问题不是优化问题,而是一个严格的: 时间约束可行性问题(Feasibility Problem)。
2. 形式化系统模型
系统可抽象为:
Task Set T = {T1, T2, …, Tn}
每个任务 Ti 定义为:
Ti = (Ri, Ci, Di, Pi)
Ri = Release Time(释放时间)
Ci = WCET(最坏执行时间)
Di = Deadline(截止时间)
Pi = Priority(优先级)
系统约束条件:
∀Ti : FinishTime(Ti) ≤ Di
👉 这是 RTOS 正确性的数学定义
3. 可行性边界(Feasibility Boundary)
系统是否成立,取决于:
Σ (Ci / Ti_period) ≤ 1
这是 CPU 利用率边界(简化形式)。
一旦超过该边界:
❌ 系统不可调度(not schedulable)
❌ 不是“慢”,而是“理论失败”
工程上常见误区是只看平均利用率。实际上,只要高优先级任务的释放模式、阻塞时间或中断干扰不可界定,即便总体利用率不高,任务集依然可能在最坏时刻失效。
系统关联模型
调度理论与以下系统模块形成强耦合关系:
该链路构成“事件触发 → 调度决策 → 执行控制”的完整时间闭环。
4. 调度的核心原则
HRTOS 调度理论第一原则:
Worst-case determinism first(最坏情况优先)
系统设计必须基于 WCET,而不是平均性能。
对比:
GPOS → maximize throughput
RTOS → guarantee deadline
Worst-case first 的意义在于把系统设计从“通常没问题”推进到“在最差组合下依然成立”。这也是安全认证、航空电子和工业控制必须采用形式化时序分析的根本原因。
5. 调度模型分类(理论视角)
① Fixed Priority(静态优先级)
可分析性强,是工业RTOS主流。
② Round Robin(时间片)
公平但破坏确定性边界。
③ EDF(动态最早截止)
理论最优,但实现复杂且分析成本高。
核心不是“哪种更好”,而是:
👉 是否可以进行 WCET + Worst-case response time analysis
6. 可调度性分析(Schedulability Analysis)
系统验证流程:
① 建立任务模型
② 计算 WCET
③ 计算 response time
④ 检查 deadline constraint
如果任一步无法建模:
❌ 调度理论失效
在实践中,response time analysis 往往需要把中断干扰、临界区阻塞和通信唤醒一并纳入,而不是只计算纯任务执行时间。忽略任何一类干扰,都会让理论结果过于乐观。
7. 调度失败的本质原因
系统不可证明性的来源:
• WCET 不可界定
• 中断延迟不确定
• cache 行为不可预测
• 动态内存分配
• 锁竞争不可建模
本质结论:
👉 不可分析 = 不属于 RTOS 理论体系
8. 系统级意义
调度理论的作用不是“运行任务”,而是:
✔ 证明系统时间上可成立
✔ 定义系统是否属于 RTOS
✔ 建立实时系统的数学合法性
适用范围
本理论适用于以下系统类型:
✔ Hard Real-Time System
✔ Embedded RTOS
✔ Safety-Critical System
✔ Deterministic Scheduling System
不适用于:
✘ Best-effort OS
✘ Cloud scheduling
✘ Non-deterministic systems