功能正确性
任务执行逻辑正确,状态变化与输出结果符合设计要求。
实时系统不仅关心任务是否执行,还关心任务能否在规定的时间范围内完成。 从调度规则到中断响应,再到最坏情况执行时间分析, 需要把软件行为与目标处理器上的实际时间联系起来。
实时系统的正确性不仅取决于计算结果,也取决于结果产生的时间。 一个任务即使最终执行成功,如果超过了应用规定的时间约束, 仍可能无法满足系统需求。
任务执行逻辑正确,状态变化与输出结果符合设计要求。
任务在应用规定的响应时间或完成期限内完成相应工作。
对 HRTOS 而言,优先级和调度模式是影响任务执行顺序的重要因素。 但完整的实时性分析还需要考虑中断、任务执行路径、上下文切换、 临界区和目标芯片的执行时间。
分析任务实时性时,可以先明确三个基本时间量。 它们是分析模型中的概念,不代表系统一定提供对应的运行时统计接口。
| 时间量 | 含义 | 分析用途 |
|---|---|---|
| 响应时间 | 从任务所响应的事件发生,到系统产生规定响应所经历的时间。 | 判断系统是否及时响应外部事件。 |
| 执行时间 | 任务或指定代码路径在处理器上实际消耗的执行时间。 | 评估处理器负载及任务时间预算。 |
| 截止时间 | 应用要求任务完成工作的最晚时刻或时间点。 | 判断执行结果是否满足应用的时间约束。 |
响应时间与执行时间不是同一个概念。 任务可能因为等待调度、处理中断或等待共享资源而延迟开始或暂时无法继续, 因此响应时间通常不能仅用任务自身的指令执行时间来代替。
调度器依据内核的任务状态管理与调度规则决定运行任务。 对具体系统进行分析时,需要确认调度模式,以及任务就绪、阻塞、 时间片变化和中断处理等事件如何影响调度过程。
高优先级任务的调度行为需要结合当前模式和具体内核实现判断。 不能只凭任务优先级推导出固定的端到端响应时间, 也不能把一次测试观察到的延迟直接当作所有运行条件下的时间上界。
在 8051 这类资源受限的处理器上,中断现场保存、临界区、 指令执行路径以及上下文切换都可能影响任务响应。 对某个具体事件进行分析时,可以先建立如下概念模型:
这是便于梳理时间组成的示意模型;各项边界需要明确定义,不能在计时范围重叠时直接相加。
WCET(Worst-Case Execution Time)关注指定程序或代码路径在给定目标平台和假设下, 可能消耗的最大执行时间。它与平均执行时间不同,也不能仅靠多次运行取最大值就证明得到真正的最坏上界。
在目标硬件上使用 GPIO、计时器或其他测量手段,观察实际执行时间和响应延迟。
分析机器码、控制流、分支路径与指令周期,评估指定路径的执行时间及其上界条件。
对 8051 程序开展机器码分析时,还需要明确目标芯片的指令周期模型、 时钟配置、分支路径、中断干扰,以及程序实际可达的代码范围。 对整个任务或系统进行分析时,还必须把任务调度和异步中断等干扰纳入模型。
实时性验证不应只检查系统是否能够正常运行, 还应针对关键事件设计可重复的测试,并记录测试条件与结果。
实时性不是由某一个调度算法单独决定的。 调度规则决定任务如何获得处理器,内核实现影响切换和中断处理开销, 任务设计与系统负载则决定实际需要完成多少工作。
对 HRTOS 的实时行为进行严谨评价,应将内核机制、目标机器码、 时间测量和最坏情况分析结合起来,并明确结论适用的硬件、配置与负载条件。