系统边界(System Boundary)

Kernel 的本质不是执行控制器,而是“可证明系统的边界生成器”

1. 核心定义

系统边界(System Boundary)定义的是:内核系统与外部世界之间的可计算分割条件。

形式化表达为:

System = Kernel + Boundary + Environment

其中: Boundary 决定 Kernel 是否“可成立”

System boundary defines the computable separation between kernel and environment, determining system validity.

边界不是抽象修辞,而是系统能够被建模的前提。只要存在无法归入 Boundary 的执行路径,Kernel 对系统状态的控制就不再闭合,所谓“实时性”也就失去了统一判定标准。

2. 边界的数学抽象

系统边界可以抽象为约束集合:

B = {Tb, Rb, Ib}

Tb = 时间约束边界(Timing Bound)
Rb = 资源约束边界(Resource Bound)
Ib = 不确定性边界(Uncertainty Bound)

系统成立条件:

∀ event ∈ System → event ∈ B

👉 超出 B 的行为 = 非RTOS行为

Tb、Rb、Ib 可以分别映射到截止时间、资源容量和不确定性来源清单。工程上做架构审查时,往往需要为每一项建立量化上界,否则边界集合只能停留在概念层,无法进入可验证设计流程。

3. Kernel 的真实角色(关键转折点)

在RTOS语义中,Kernel不是系统组件,而是“边界执行器”。

传统 OS:

Kernel = 调度 + 管理 + 抽象

HRTOS:

Kernel = Boundary Enforcement Engine(边界执行器)

它的任务不是“运行系统”,而是:

👉 防止系统行为突破可分析空间

因此 Kernel 的首要职责不是提供更多服务,而是拒绝那些会破坏可分析空间的行为,例如无界阻塞、不可控动态分配和越权访问。它像一道主动收敛的控制闸门,而不是被动承载所有功能的容器。

系统关系模型

Kernel ≠ System Scheduler ≠ Control Boundary = System Validity Condition

Scheduler 在 Boundary 内运行,而 Kernel 负责维持 Boundary 不被突破。

这里最重要的区分是 Boundary 负责定义系统成立条件,Scheduler 只是在成立条件内进行最优选择。把这两个角色混为一谈,往往会把策略问题误当成理论问题,把边界问题误当成实现细节。

4. 调度域 = 时间边界投影

Scheduling Domain 是时间边界在 CPU 上的投影:

SD ⊆ Time × Tasks

调度器只能在 SD 内做决策:

✔ 不允许未知执行路径
✔ 不允许时间不可界定行为

否则:

❌ Determinism collapse(确定性崩塌)

调度域可以理解为 CPU 上被 Boundary 裁剪后的合法执行区域。只有进入该区域的任务、ISR 和共享对象,才配得上进入可调度性分析;域外行为即使偶然运行成功,也不属于可证明系统的一部分。

5. 不可逆性(Irreversibility)

系统边界具有一个关键特性:

👉 一旦突破,无法恢复可证明性

例如:

• 动态内存导致时间漂移
• cache miss 引入非确定路径
• 中断嵌套破坏执行序列

这些不是 bug,而是: 边界不可逆破坏

不可逆性强调的是证明失效,而不是程序崩溃。系统可能继续运行,但一旦最坏情况模型被破坏,任何实时保证都失去法律效力和工程意义,后续观测到的“正常运行”只能被视作偶然样本。

6. 隔离机制 = 边界实现方式

系统边界通过以下机制实现:

• Time isolation(时间隔离)
• Memory isolation(内存隔离)
• Interrupt gating(中断门控)
• Priority ceiling(优先级封顶)

目标不是“安全”,而是: 控制系统可分析空间

因此隔离机制的价值在于把复杂系统切成可分别证明的子空间,例如用 MPU 约束地址边界、用中断门控限制异步入口、用优先级天花板限制阻塞传播深度。隔离做得越清晰,边界条件越容易写成明确规则。

7. 边界破坏 = RTOS → GPOS 退化

当边界失效时:

• WCET 不再成立
• 调度理论失效
• 延迟无法界定
• 系统变为“概率系统”

本质变化:

RTOS → GPOS = 从确定性系统 → 非确定性系统

8. 系统级意义

系统边界决定:

✔ 系统是否可证明 ✔ 系统是否属于 RTOS ✔ 系统是否可做 worst-case analysis

没有边界 → 没有 RTOS

对于硬实时项目,系统边界往往也是需求边界。只要需求方提出的功能会突破既有边界,团队就必须同步调整任务模型、资源预算和验证方法,而不是仅靠局部编码补丁去弥补架构前提的变化。

语义总结

系统边界不是结构设计,而是: RTOS 是否作为数学系统成立的必要条件

System boundary is not architecture, but the necessary condition for RTOS to exist as a provable system.

相关架构链接

内核执行流程 · 调度器模型 · 中断架构 · IPC通信模型