调度器负责什么?
多任务系统中,多个任务可能同时处于可运行状态。 调度器根据系统定义的调度规则,决定哪个任务获得执行机会, 并与任务状态管理、时钟或事件触发机制以及上下文切换协同工作。
调度策略决定任务选择规则;上下文切换负责保存当前执行状态并恢复目标任务状态。 两者相互配合,但承担的是不同职责。
调度器负责根据系统的调度规则选择后续执行的任务,并协调任务运行与上下文切换。 本模块围绕 优先级、任务调度策略、时间片机制与调度流程 组织相关文档,帮助理解 HRTOS 如何管理任务执行。
多任务系统中,多个任务可能同时处于可运行状态。 调度器根据系统定义的调度规则,决定哪个任务获得执行机会, 并与任务状态管理、时钟或事件触发机制以及上下文切换协同工作。
调度策略决定任务选择规则;上下文切换负责保存当前执行状态并恢复目标任务状态。 两者相互配合,但承担的是不同职责。
调度并不只是“选择最高优先级任务”这一条规则。 具体行为还取决于任务是否就绪、调度触发条件、 当前执行上下文以及系统配置。
从三个主题进入,分别理解任务选择规则与运行组织方式。
以下页面分别介绍优先级调度、实时调度相关概念和时间片轮转。 它们是本模块的学习入口;具体算法、触发条件与配置语义应以对应章节及 HRTOS 实际实现为准。
理解任务优先级如何参与调度决策,以及优先级策略与任务就绪状态之间的关系。
理解实时任务的响应要求、调度时机与执行约束,以及如何分析调度行为与时限目标的关系。
理解时间片如何影响任务运行机会,以及时间片策略与优先级规则之间的配合关系。
阅读说明: 优先级调度、时间片轮转和实时调度并非在所有系统中互相排斥的三种独立算法。 它们可能描述不同层面的规则。请结合 HRTOS 各章节的具体定义理解,不要仅凭名称推断实现细节。
任务选择和任务切换是紧密相关、但职责不同的两个过程。
调度器确定目标任务后,系统还需要通过相应执行路径处理任务现场。 在 8051 平台上,相关工作可能涉及寄存器保存与恢复、栈指针管理、 中断返回路径以及编译器调用约定。具体步骤应以 HRTOS 的调度流程和内核实现为准。
阅读具体策略时,建议重点关注以下几个方面。