SCHEDULER / THEORY

调度理论 Scheduling Theory

调度算法决定任务如何获得处理器时间;调度理论进一步研究任务能否在执行时间、 优先级、资源阻塞与中断干扰等约束下满足截止时间。 从机制设计走向时间约束验证,是理解实时系统的重要一步。

Task Model WCET Analysis Response Time Schedulability
01

调度理论研究什么

从任务按时执行,转向任务是否能够按时执行。

实时系统的正确性不仅取决于计算结果,也取决于结果是否在规定时间内产生。 调度理论研究在给定处理器能力、任务执行需求、调度策略和系统干扰条件下, 任务集合是否满足各自的时间约束。

执行约束 Execution Time

任务需要多少处理器时间,以及最坏情况下需要多久。

调度约束 Scheduling Policy

任务何时就绪、何时运行,以及高优先级任务如何影响其他任务。

时间约束 Deadline

任务必须完成的时间边界,以及系统能否满足这一要求。

因此,实时性不能仅凭平均运行速度、较短的实测延迟或任务能够正常运行来判定。 这些数据可以提供证据,但是否满足时间约束,还取决于分析模型与覆盖范围。

02

实时任务模型

先明确任务的时间属性,才能讨论调度是否可行。

对一个具有明确时间约束的任务,可以使用以下参数描述其关键属性。 具体模型需要根据任务是周期执行、偶发执行还是一次性执行进行选择。

Rᵢ 释放时间(Release Time)
Cᵢ 最坏执行时间(WCET)
Dᵢ 相对截止时间(Relative Deadline)
Tᵢ 任务周期(Period)
Absolute Deadline = Release Time + Relative Deadline

对周期任务,还需要描述任务的周期与可能的释放抖动; 对偶发任务,则通常需要明确最小到达间隔或到达模式。 固定优先级系统还需记录任务优先级,以及可能影响其执行的资源阻塞和中断干扰。

模型边界

任务参数并非仅靠命名即可确定。尤其是 WCET,它必须对应明确的代码路径、 编译配置、处理器时序和系统执行条件。缺少这些条件时,估计值不等于已建立的最坏情况上界。

03

最坏执行时间与响应时间

任务执行成本只是分析起点,不是最终的截止时间结论。

最坏执行时间(WCET)

WCET 描述任务在指定硬件、软件构建和执行假设下, 完成相关计算所需处理器时间的可信上界。

  • 识别代码路径与循环边界
  • 分析指令执行成本及分支影响
  • 明确编译器、时钟和硬件条件
  • 考虑分析方法无法覆盖的路径与干扰

响应时间(Response Time)

响应时间衡量任务从释放到完成所经历的时间。 它可能包含等待调度、被更高优先级任务抢占、资源阻塞以及中断干扰。

Rᵢ = Completion Time − Release Time

对具有截止时间约束的任务,需要将分析得到的最坏响应时间与相应截止时间比较, 而不是只检查任务自身的执行时间。

04

可调度性分析

判据必须与调度算法、任务模型和分析假设一致。

可调度性分析(Schedulability Analysis)用于判断给定任务集合在指定系统模型下, 是否能够满足其时间约束。不存在适用于所有任务模型和调度策略的单一利用率公式。

处理器利用率

U = Σ(Cᵢ / Tᵢ)

对周期任务,该式可用于描述长期平均处理器需求。 它是重要的系统负载指标,但单独使用时通常不足以证明任意任务集合可调度。

固定优先级响应时间分析

Rᵢ = Cᵢ + Bᵢ + Σ⌈Rᵢ / Tⱼ⌉ Cⱼ

在经典单处理器、固定优先级、可抢占周期任务模型下, 该形式用于表达任务自身执行、高优先级任务干扰和阻塞的关系。 求解时通常需要迭代,并将适用的中断干扰等因素纳入模型。

重要说明:公式都有前提

上述响应时间公式是经典分析形式的简化表达,不是适用于所有 HRTOS 配置的通用公式。 其中 Bᵢ 表示任务可能遭遇的阻塞上界;求和项表示优先级高于任务 i 的任务所产生的干扰。 若存在非抢占区、复杂资源协议、任务释放抖动或其他中断源,就需要相应扩展模型。

对经典单处理器、抢占式 EDF 调度而言,在任务具有隐式截止时间 (Dᵢ = Tᵢ)且满足相应模型假设时,利用率不超过 1 可以作为可调度性判据。 这一结论不能直接推广到任意截止时间、任意任务模型或任意调度算法。

05

从系统建模到时间约束验证

每一步都需要明确输入、假设和可验证的输出。

STEP 01 任务建模

确定释放模式、周期、截止时间、优先级与任务关系。

STEP 02 执行成本分析

估计或分析 WCET,并明确硬件与构建条件。

STEP 03 干扰与阻塞建模

考虑抢占、中断、临界区及共享资源等待。

STEP 04 截止时间验证

使用匹配的判据或响应时间分析检查时间约束。

如果任务到达模式、执行成本上界或阻塞时间等关键参数尚未明确, 分析结论就必须保留相应限制。模型不完整并不意味着系统不能工作, 但意味着现有分析不足以支持完整的可调度性保证。

06

影响时间保证的系统因素

调度器之外的执行路径,同样可能决定最坏响应时间。

  • 中断响应与中断干扰: 中断进入、处理和退出的成本,以及中断屏蔽区间,会影响任务可获得处理器时间的时刻。
  • 临界区与资源阻塞: 共享资源访问、不可抢占区间和同步机制,可能延长任务的等待时间。
  • 上下文切换与调度开销: 保存和恢复上下文、更新任务状态及执行调度逻辑,都属于系统运行成本。
  • 内存与运行时行为: 动态内存操作、不可预测的等待以及运行时库行为,在确实影响执行路径时需要纳入分析。
  • 硬件与编译配置: 指令时序、存储访问、时钟配置和生成的机器代码,都会影响执行时间的分析依据。
07

分析、测量与保证的边界

三者相互补充,但不能相互替代。

静态与理论分析 建立上界与判据

依赖明确的模型、假设和分析方法,目标是论证所覆盖条件下的时间约束。

实测与压力测试 观察实际行为

帮助发现延迟、抖动和异常路径,但测试结果本身不证明所有执行情形均已覆盖。

系统级验证 检查整体约束

需要结合任务、调度器、中断、资源协议、硬件与应用负载,核对分析假设是否成立。

实时性保证来自完整证据链

一个系统可以具备实时调度机制,也可以通过实测表现出良好的响应能力; 但要对特定任务集合提出严格的截止时间保证,还需要证明相应的执行时间上界、 干扰与阻塞边界、调度判据及其适用条件成立。 因此,应将内核机制能力、实测性能和已论证的实时性保证分别描述。

08

调度理论与 HRTOS 架构

从内核实现能力,连接到系统级时间行为分析。

对 8051 等资源受限平台而言,调度理论还需要面对有限的数据存储空间、 中断入口与返回开销、寄存器组与上下文保存策略,以及内核临界区等具体约束。 这些因素不能仅从抽象调度算法中推导出来,而需要结合实际内核实现与目标硬件分析。

对 HRTOS 来说,调度器、任务上下文、中断处理和内核执行路径构成了分析系统时间行为的基础。 通过对关键路径进行测量、分析与验证,可以逐步建立更可信的时间成本模型。 具体任务能否满足截止时间,仍需结合目标应用的任务参数、执行路径和干扰条件单独判断。

返回调度器架构