1. 执行流模型(Execution Flow)

Execution Flow:RTOS中的时间执行路径模型

核心定义

执行流(Execution Flow)描述的是:一个任务在实时系统中,从“触发条件成立”到“最终完成”的完整时间路径。

在 HRTOS 中,执行流不仅是控制流(Control Flow),更是时间流(Time Flow): 每一步都必须具备可分析的时间上界。

Execution Flow is both control flow and time flow, where every step must have analyzable timing bounds.

1. 任务触发(Trigger / Activation)

任务的执行起点来自三类触发源: 外部中断(External Interrupt)、内核事件(Kernel Event)、以及调度器唤醒(Scheduler Wake-up)。

触发本身必须满足“低抖动 + 有界延迟”,否则后续调度分析将失效。

在硬实时系统中,触发延迟通常被纳入系统 WCET(Worst Case Execution Time)分析的一部分。

2. 调度决策(Scheduling Decision)

调度器在该阶段进行“可执行任务集合”筛选,并基于优先级、截止时间(Deadline)或资源约束做决策。

该过程本质是一个约束选择问题: 在当前系统状态下,选择不会破坏时间约束的任务执行路径。

RTOS调度器的关键不是“选择最优”,而是“选择可证明不违反约束的解”。

Scheduling is a constraint satisfaction problem under timing guarantees, not an optimization problem.

3. 就绪队列竞争(Ready Queue Arbitration)

当多个任务同时处于 READY 状态时,系统进入竞争阶段。

竞争因素包括: 优先级、抢占状态、CPU亲和性、中断恢复路径。

在 HRTOS 设计中,该阶段必须避免“不可控随机性”,否则会破坏确定性模型。

4. 执行阶段(Execution Phase)

CPU 开始执行任务主体逻辑,此时系统进入“时间消耗阶段”。

该阶段受到三类因素干扰:
• 中断抢占(Interrupt Preemption)
• 高优先级任务插入
• Cache / Pipeline / Memory 延迟

因此必须引入 WCET(Worst Case Execution Time)模型进行约束分析。

Execution must be bounded by WCET under all interference conditions.

5. 中断交互阶段(Interrupt Interaction)

执行流并不是连续的,它可能被中断系统切断并插入新的执行流。

中断的关键约束是: 延迟必须有上界(Bounded Latency)

在 HRTOS 中,中断处理必须设计为“短路径 + 可预测返回路径”,避免破坏任务时间窗口。

6. 完成与返回(Completion & Return)

任务完成后必须执行资源释放、状态回收与调度回归。

关键点不是“结束”,而是: 系统何时重新进入可调度状态

这一阶段决定系统是否能稳定进入下一周期调度闭环。

7. 系统闭环(System Loop)

执行流不是单次过程,而是周期性闭环结构:

事件触发 → 调度 → 执行 → 中断 → 恢复 → 完成 → 重新触发

RTOS 的本质是不断重复该闭环,并保证每一轮时间误差不会累积失控。

语义总结

执行流的核心不在“任务执行过程”,而在“时间路径是否可被建模与约束”。

一旦执行流不可分析,实时系统就退化为通用系统。

Execution flow is about analyzable time paths. Without determinism, real-time systems collapse into general-purpose systems.

相关阅读(Related Reading)

上级入口

System View 总览

下一篇(学习顺序)

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

同类型内容(Execution / Scheduling)

调度器周期模型
中断流模型

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

任务上下文切换
优先级调度模型