07 确定性因果链(Deterministic Chain)

从事件触发到系统输出的完整时间因果结构

核心定义

确定性因果链(Deterministic Chain)描述的是:在 HRTOS 中,一个外部或内部事件如何经过一系列系统阶段,最终生成一个可预测的执行结果。

它不是“执行流程”,而是“时间 + 调度 + 中断 + 内存”共同构成的因果路径模型。

A deterministic chain defines how events propagate through scheduling, interrupts and execution to produce predictable outcomes.

1. 因果链结构(Causal Pipeline)

一个完整的实时执行链可以抽象为以下顺序:

Event Trigger → Interrupt → Scheduling Decision → Context Switch → Execution → Completion

每一个阶段都是时间约束节点,而不是功能模块。

系统确定性 = 每个节点延迟上界的可证明性之和。

2. 事件触发层(Event Layer)

事件来源包括:

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

关键约束:事件必须可枚举,否则因果链无法建模。

3. 调度决策层(Decision Layer)

调度器在事件发生后执行唯一决策:

👉 谁在“下一时间片”获得 CPU

在确定性系统中,这个决策必须是:

✔ 可重复 ✔ 可分析 ✔ 不依赖运行时随机状态

4. 执行层(Execution Layer)

执行阶段是因果链中“时间消耗最大”的部分。

它必须满足 WCET(Worst Case Execution Time)边界,否则整个链失效。

在 HRTOS 中:

✔ 平均时间无意义 ✔ 只有最坏路径有效

5. 确定性破坏点(Determinism Breakpoints)

以下任一因素都会破坏因果链:

• 不可预测调度(non-deterministic scheduler) • cache miss 抖动未建模 • 动态内存分配 • 未界定中断嵌套深度 • 未约束锁竞争

一旦出现不可建模路径,系统就失去“可证明性”。

6. 系统级意义

确定性因果链的意义不是描述系统,而是:

👉 把“操作系统行为”变成“可证明的时间函数”

即:

Input(Event) → F(t) → Output(Result)

其中 F(t) 必须是稳定的时间函数。

语义总结

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

它回答的问题不是“系统做了什么”,而是“系统为什么每次都能在同一时间结构中做出同样结果”。

A deterministic chain transforms an operating system into a time-causal system with provable behavior.

相关阅读(Related Reading)

上级入口

System View 总览

上一篇(学习顺序)

06 时间系统(Time System)←

下一步(体系扩展)

进入 Docs 体系(实现层)→

同类型扩展(系统因果 / 调度视角)

调度循环模型
中断流模型

跨模块关联(系统实现层)

优先级调度模型
内存保护机制