普通任务
普通任务使用 0–15 号任务槽位;优先级数值用于表达任务的调度级别,空闲任务与普通业务任务应区别理解。
优先级是实时操作系统进行任务调度的重要依据。 理解优先级的分层、调度模式与切换时机, 是分析 HRTOS 任务响应行为和系统实时性的基础。
优先级调度通过任务的优先级参与运行任务的选择。 当多个任务处于可运行状态时,调度器依据当前调度模式和内核规则, 决定任务的执行顺序以及是否需要发生任务切换。
对实时系统而言,优先级并不是孤立的数字。 它需要与任务状态、调度触发条件、中断处理和上下文切换机制共同理解。 因此,分析 HRTOS 的调度行为,应以实际内核实现和对应配置为准。
HRTOS 的优先级体系覆盖普通任务、快任务和中断相关执行层级。 这里的数字越大,表示优先级越高。
普通任务使用 0–15 号任务槽位;优先级数值用于表达任务的调度级别,空闲任务与普通业务任务应区别理解。
快任务使用独立任务槽位 16、17。任务编号表示任务槽位,不应与任务优先级数值混为一谈。
HRTOS 提供不同的调度模式。阅读调度行为时, 应先确认系统当前使用的模式,再判断高优先级任务就绪后会发生什么。
| 观察维度 | 优先级模式 | 时间片模式 |
|---|---|---|
| 核心关注点 | 任务优先级对调度与抢占行为的影响 | 优先级关系与时间片运行机制的配合 |
| 分析重点 | 任务就绪时的调度时机及是否发生切换 | 时间片边界、任务优先级和切换条件 |
| 验证方式 | 观察不同优先级任务之间的执行关系 | 观察时间片到期及任务切换时的执行顺序 |
调度触发表示内核需要重新评估任务运行安排; 上下文切换则是将处理器执行状态从一个任务转移到另一个任务。 触发调度并不意味着每次都必须切换任务。
如果调度判断后当前任务仍然符合运行条件,内核可以继续执行当前任务; 如果调度结果要求运行另一个任务,则需要按照 HRTOS 的上下文管理机制完成切换。
优先级规划应从任务的响应要求出发,而不是简单地把所有重要任务都设置为最高优先级。 如果多个任务长期竞争处理器,优先级配置不合理可能使低优先级任务得不到足够的执行机会。
优先级是影响响应行为的重要因素,但优先级本身并不能直接证明系统具有某个确定的最坏响应时间。 要分析实时性,还需要考虑中断屏蔽时间、任务执行路径、上下文切换开销、 更高优先级工作的干扰以及共享资源带来的等待。
使用 GPIO、计时器或其他可重复的测量手段,记录任务切换和中断响应的实际时间。
结合目标机器码、控制流路径和指令周期,分析指定执行路径的时间上界及其成立条件。