3. 中断流模型(Interrupt Flow)

系统如何被外部事件打断并重新组织执行路径(Execution Recomposition)

核心定义

中断流(Interrupt Flow)描述的是:外部或硬件事件如何打断当前执行流,并触发系统重新进入可调度状态。

在 HRTOS 中,中断不只是“异常响应机制”,而是时间系统的一部分,直接参与调度路径构建。

每一次中断都会改变系统的“时间连续性”,因此必须被纳入确定性分析模型。

Interrupt flow is not an exception mechanism, but a core component of the system's timing model.

1. 中断触发(Interrupt Trigger)

中断来源包括:Timer、外设IO、通信接口、错误检测、异常事件等。

在实时系统中,中断触发必须满足两个条件:

• 可预测(Predictable)
• 可界定上界(Bounded frequency)

否则系统无法进行 Worst-Case Latency 分析。

2. 中断响应(Interrupt Response)

CPU 会立即保存当前执行上下文,并进入 ISR(Interrupt Service Routine)。

响应延迟由三部分组成:

• 硬件延迟(IRQ propagation)
• 内核屏蔽窗口(Interrupt masking window)
• 上下文保存时间(Context save time)

RTOS设计的关键目标之一,就是最小化并界定该延迟的上界。

3. 中断嵌套(Interrupt Nesting)

高优先级中断可以抢占低优先级 ISR,从而形成“中断嵌套链”。

但嵌套深度必须受到严格控制,否则会引入“时间不可终止风险”。

在 HRTOS 中,中断嵌套必须满足:

Nesting Depth ≤ Bounded Constant

否则系统将失去可分析性(Analysability)。

4. 中断与调度的关系

中断不仅影响当前任务执行,还可能触发调度器重新选择任务。

因此可以将中断视为“调度触发器(Scheduling Trigger)”。

在抢占式RTOS中,中断 = 调度事件源。

5. 执行恢复(Resume Execution)

ISR结束后,系统有两种路径:

• 返回原任务(Return to previous context)
• 触发调度(Invoke scheduler)

在高优先级事件发生时,通常会直接进入重新调度路径。

语义总结

中断流的本质是:系统执行时间被外部事件切割后重新构建为新的时间序列。

它决定了RTOS是否能够维持“时间连续性与可预测性”的统一。

Interrupt flow defines how execution time is segmented and reconstructed under external events, ensuring timing determinism.

相关阅读(Related Reading)

上级入口

System View 总览

上一篇(学习顺序)

02 任务生命周期(Task Lifecycle)←

下一篇(学习顺序)

04 调度器周期模型(Scheduler Cycle)→

同类型扩展(Interrupt / Timing 视角)

执行流模型
确定性执行链

跨模块关联(系统级理解)

任务上下文切换(Context Switch)
优先级调度模型