HRTOS · REAL-TIME ANALYSIS

实时调度

实时系统不仅关心任务是否执行,还关心任务能否在规定的时间范围内完成。 从调度规则到中断响应,再到最坏情况执行时间分析, 需要把软件行为与目标处理器上的实际时间联系起来。

8051 Native Response Time WCET Analysis Engineering Verification
01

实时调度的核心问题

实时系统的正确性不仅取决于计算结果,也取决于结果产生的时间。 一个任务即使最终执行成功,如果超过了应用规定的时间约束, 仍可能无法满足系统需求。

FUNCTIONAL CORRECTNESS

功能正确性

任务执行逻辑正确,状态变化与输出结果符合设计要求。

TEMPORAL CORRECTNESS

时间正确性

任务在应用规定的响应时间或完成期限内完成相应工作。

对 HRTOS 而言,优先级和调度模式是影响任务执行顺序的重要因素。 但完整的实时性分析还需要考虑中断、任务执行路径、上下文切换、 临界区和目标芯片的执行时间。

重要区别: 支持实时调度,不等于自动保证任意任务都能在任意截止时间内完成。 具体保证必须建立在明确的工作负载、时间边界和系统假设之上。
02

理解任务的时间约束

分析任务实时性时,可以先明确三个基本时间量。 它们是分析模型中的概念,不代表系统一定提供对应的运行时统计接口。

时间量 含义 分析用途
响应时间 从任务所响应的事件发生,到系统产生规定响应所经历的时间。 判断系统是否及时响应外部事件。
执行时间 任务或指定代码路径在处理器上实际消耗的执行时间。 评估处理器负载及任务时间预算。
截止时间 应用要求任务完成工作的最晚时刻或时间点。 判断执行结果是否满足应用的时间约束。

响应时间与执行时间不是同一个概念。 任务可能因为等待调度、处理中断或等待共享资源而延迟开始或暂时无法继续, 因此响应时间通常不能仅用任务自身的指令执行时间来代替。

03

调度行为与实时性

调度器依据内核的任务状态管理与调度规则决定运行任务。 对具体系统进行分析时,需要确认调度模式,以及任务就绪、阻塞、 时间片变化和中断处理等事件如何影响调度过程。

事件发生 外部输入、定时事件或任务条件满足
内核处理 中断处理、任务状态更新和调度判断
产生响应 任务运行并完成规定工作

高优先级任务的调度行为需要结合当前模式和具体内核实现判断。 不能只凭任务优先级推导出固定的端到端响应时间, 也不能把一次测试观察到的延迟直接当作所有运行条件下的时间上界。

分析实时行为时,应把调度决策、中断处理和实际任务执行分开测量, 再根据应用定义的起点与终点计算完整响应时间。
04

响应时间由哪些部分组成

在 8051 这类资源受限的处理器上,中断现场保存、临界区、 指令执行路径以及上下文切换都可能影响任务响应。 对某个具体事件进行分析时,可以先建立如下概念模型:

Tresponse = Tinterrupt + Tkernel + Twait + Twork

这是便于梳理时间组成的示意模型;各项边界需要明确定义,不能在计时范围重叠时直接相加。

1
中断响应与处理 从事件到达开始,考虑处理器响应、中断入口及必要的现场处理。
2
内核处理与调度 考虑任务状态更新、调度判断和与事件相关的内核路径。
3
等待与竞争 考虑更高优先级工作的干扰、临界区和资源等待等实际条件。
4
任务实际工作 明确何时算作完成响应,例如输出信号、写入数据或完成控制计算。
05

最坏情况执行时间分析(WCET)

WCET(Worst-Case Execution Time)关注指定程序或代码路径在给定目标平台和假设下, 可能消耗的最大执行时间。它与平均执行时间不同,也不能仅靠多次运行取最大值就证明得到真正的最坏上界。

MEASUREMENT

基于测量的分析

在目标硬件上使用 GPIO、计时器或其他测量手段,观察实际执行时间和响应延迟。

STATIC / BINARY ANALYSIS

基于程序路径的分析

分析机器码、控制流、分支路径与指令周期,评估指定路径的执行时间及其上界条件。

对 8051 程序开展机器码分析时,还需要明确目标芯片的指令周期模型、 时钟配置、分支路径、中断干扰,以及程序实际可达的代码范围。 对整个任务或系统进行分析时,还必须把任务调度和异步中断等干扰纳入模型。

边界说明: 单条指令的周期计算、指定代码路径的执行时间、完整任务的 WCET, 以及系统端到端响应时间,是不同层次的分析对象。 只有明确分析范围和假设,结果才具有可解释性。
06

工程验证方法

实时性验证不应只检查系统是否能够正常运行, 还应针对关键事件设计可重复的测试,并记录测试条件与结果。

1
明确测量起点和终点 例如,从外部事件发生到 GPIO 翻转,或从任务就绪到任务开始执行。
2
记录目标平台和配置 包括 MCU 型号、时钟、编译器设置、调度模式和中断配置。
3
覆盖有代表性的竞争条件 测试其他任务运行、中断发生和关键路径执行时的响应变化。
4
区分测量结果和时间上界 报告最大观测值时说明测试范围;若声称 WCET 上界,应给出分析依据和适用条件。
07

实时系统的工程原则

实时性不是由某一个调度算法单独决定的。 调度规则决定任务如何获得处理器,内核实现影响切换和中断处理开销, 任务设计与系统负载则决定实际需要完成多少工作。

对 HRTOS 的实时行为进行严谨评价,应将内核机制、目标机器码、 时间测量和最坏情况分析结合起来,并明确结论适用的硬件、配置与负载条件。

核心思路: 从“任务可以运行”进一步走向“任务何时响应、执行多久,以及在什么条件下能够满足时间约束”。