3. 确定性约束(Determinism Constraint)

实时系统的第一原则:所有行为必须可预测

核心定义

确定性(Determinism)指系统在给定输入、状态与环境条件完全相同的情况下, 必须产生完全一致的执行行为与时间结果

这里的一致性不仅指计算输出,还包括: 调度顺序、中断响应时刻、上下文切换路径与执行延迟。

Determinism requires identical inputs and states to produce identical execution behavior and timing outcomes.

为什么它是“第一约束”

在实时系统中,确定性不是优化目标,而是系统成立的前提条件。

一旦系统行为无法被预测,即使平均性能再高,也无法用于控制类任务。

确定性约束的实际含义

系统必须满足两个层面的“固定性”:

• 行为路径固定(Execution Path Determinism)
• 时间边界固定(Timing Bound Determinism)

缺少任意一项,都意味着系统无法进入强实时领域。

与非实时系统的本质差异

通用系统允许:
• 调度顺序变化
• 执行路径变化
• 延迟波动(jitter)

实时系统不允许这些“变化”,因为变化本身就是风险来源。

确定性的三个层级

1. 逻辑确定性:输出结果固定
2. 调度确定性:执行顺序固定
3. 时间确定性:执行时间上界固定

RTOS的目标是同时约束这三者,而不是仅优化其中之一。

对系统设计的直接影响

为了满足确定性,系统必须牺牲:
• 部分吞吐量
• 动态优化空间
• 某些复杂调度策略

换取的是:行为可预测性与时间可证明性。

语义总结

确定性约束本质上定义了实时系统的边界: 系统是否可以被“时间建模”,决定它是否属于RT系统。

Determinism defines whether a system can be time-modeled, which determines whether it qualifies as a real-time system.

知识图谱(Knowledge Graph)

当前节点:确定性约束

上游原因: 实时问题的本质, 通用OS限制

同层概念: 确定性约束

下游系统映射: 执行流模型, 调度循环, 时间系统