执行流(Execution Flow)描述的是:一个任务在实时系统中,从“触发条件成立”到“最终完成”的完整时间路径。
在 HRTOS 中,执行流不仅是控制流(Control Flow),更是时间流(Time Flow): 每一步都必须具备可分析的时间上界。
任务的执行起点来自三类触发源: 外部中断(External Interrupt)、内核事件(Kernel Event)、以及调度器唤醒(Scheduler Wake-up)。
触发本身必须满足“低抖动 + 有界延迟”,否则后续调度分析将失效。
在硬实时系统中,触发延迟通常被纳入系统 WCET(Worst Case Execution Time)分析的一部分。
调度器在该阶段进行“可执行任务集合”筛选,并基于优先级、截止时间(Deadline)或资源约束做决策。
该过程本质是一个约束选择问题: 在当前系统状态下,选择不会破坏时间约束的任务执行路径。
RTOS调度器的关键不是“选择最优”,而是“选择可证明不违反约束的解”。
当多个任务同时处于 READY 状态时,系统进入竞争阶段。
竞争因素包括: 优先级、抢占状态、CPU亲和性、中断恢复路径。
在 HRTOS 设计中,该阶段必须避免“不可控随机性”,否则会破坏确定性模型。
CPU 开始执行任务主体逻辑,此时系统进入“时间消耗阶段”。
该阶段受到三类因素干扰:
• 中断抢占(Interrupt Preemption)
• 高优先级任务插入
• Cache / Pipeline / Memory 延迟
因此必须引入 WCET(Worst Case Execution Time)模型进行约束分析。
执行流并不是连续的,它可能被中断系统切断并插入新的执行流。
中断的关键约束是: 延迟必须有上界(Bounded Latency)。
在 HRTOS 中,中断处理必须设计为“短路径 + 可预测返回路径”,避免破坏任务时间窗口。
任务完成后必须执行资源释放、状态回收与调度回归。
关键点不是“结束”,而是: 系统何时重新进入可调度状态。
这一阶段决定系统是否能稳定进入下一周期调度闭环。
执行流不是单次过程,而是周期性闭环结构:
事件触发 → 调度 → 执行 → 中断 → 恢复 → 完成 → 重新触发
RTOS 的本质是不断重复该闭环,并保证每一轮时间误差不会累积失控。