中断流(Interrupt Flow)描述的是:外部或硬件事件如何打断当前执行流,并触发系统重新进入可调度状态。
在 HRTOS 中,中断不只是“异常响应机制”,而是时间系统的一部分,直接参与调度路径构建。
每一次中断都会改变系统的“时间连续性”,因此必须被纳入确定性分析模型。
中断来源包括:Timer、外设IO、通信接口、错误检测、异常事件等。
在实时系统中,中断触发必须满足两个条件:
• 可预测(Predictable)
• 可界定上界(Bounded frequency)
否则系统无法进行 Worst-Case Latency 分析。
CPU 会立即保存当前执行上下文,并进入 ISR(Interrupt Service Routine)。
响应延迟由三部分组成:
• 硬件延迟(IRQ propagation)
• 内核屏蔽窗口(Interrupt masking window)
• 上下文保存时间(Context save time)
RTOS设计的关键目标之一,就是最小化并界定该延迟的上界。
高优先级中断可以抢占低优先级 ISR,从而形成“中断嵌套链”。
但嵌套深度必须受到严格控制,否则会引入“时间不可终止风险”。
在 HRTOS 中,中断嵌套必须满足:
Nesting Depth ≤ Bounded Constant
否则系统将失去可分析性(Analysability)。
中断不仅影响当前任务执行,还可能触发调度器重新选择任务。
因此可以将中断视为“调度触发器(Scheduling Trigger)”。
在抢占式RTOS中,中断 = 调度事件源。
ISR结束后,系统有两种路径:
• 返回原任务(Return to previous context)
• 触发调度(Invoke scheduler)
在高优先级事件发生时,通常会直接进入重新调度路径。