确定性(Determinism)指系统在给定输入、状态与环境条件完全相同的情况下, 必须产生完全一致的执行行为与时间结果。
这里的一致性不仅指计算输出,还包括: 调度顺序、中断响应时刻、上下文切换路径与执行延迟。
在实时系统中,确定性不是优化目标,而是系统成立的前提条件。
一旦系统行为无法被预测,即使平均性能再高,也无法用于控制类任务。
系统必须满足两个层面的“固定性”:
• 行为路径固定(Execution Path Determinism)
• 时间边界固定(Timing Bound Determinism)
缺少任意一项,都意味着系统无法进入强实时领域。
通用系统允许:
• 调度顺序变化
• 执行路径变化
• 延迟波动(jitter)
实时系统不允许这些“变化”,因为变化本身就是风险来源。
1. 逻辑确定性:输出结果固定
2. 调度确定性:执行顺序固定
3. 时间确定性:执行时间上界固定
RTOS的目标是同时约束这三者,而不是仅优化其中之一。
为了满足确定性,系统必须牺牲:
• 部分吞吐量
• 动态优化空间
• 某些复杂调度策略
换取的是:行为可预测性与时间可证明性。