07 确定性因果链(Deterministic Chain)

从事件触发到结果输出的时间因果结构

核心定义

确定性因果链描述事件在 HRTOS 中如何经过中断、调度与执行路径, 最终生成可预测的系统输出。

它不是流程图,而是“时间约束驱动的因果模型”。

A deterministic chain models how events become predictable outcomes through time-constrained system stages.

1. 因果链结构

完整链路:

Event → Interrupt → Scheduling → Context Switch → Execution → Result

每个节点都是时间约束点,而非功能模块。

2. 事件层

事件来源:

• 外部中断(IO / 传感器)
• Tick 定时器
• 任务通信信号

要求:事件必须可枚举,否则无法建立确定性模型。

3. 调度层

调度器只做一件事:

决定下一时刻 CPU 属于谁

要求: ✔ 可重复
✔ 可分析
✔ 无随机依赖

4. 执行层

执行是链路中主要耗时阶段。

必须满足 WCET 上界,否则因果链失效。

设计原则:只关心最坏情况,而非平均值。

5. 破坏点

以下因素会破坏确定性:

• 非确定调度策略
• cache miss 未建模
• 动态内存分配
• 不受控中断嵌套
• 锁竞争不可界定

6. 系统意义

因果链的目标不是描述执行,而是构造函数:

Input(Event) → F(t) → Output

其中 F(t) 必须稳定且可证明。

语义总结

确定性因果链把操作系统从“执行系统”提升为“时间因果系统”。

系统正确性等价于:在相同时间结构下产生相同结果。

A deterministic chain turns an OS into a provable time-causal system.

相关阅读

上级

System View 总览

上一篇

06 时间系统 ←

下一篇

Docs 体系 →

扩展

调度循环模型
中断流模型