任务状态
哪些任务已就绪、哪些任务正在运行,以及哪些任务因等待或其他条件暂时不能运行。
调度模型描述任务如何从就绪状态进入执行状态,以及系统在任务状态、 优先级或时间条件发生变化时,如何决定是否需要进行任务切换。 它连接任务管理、优先级规则、中断处理与上下文切换,是理解内核运行路径的关键。
调度决策建立在任务状态和内核规则之上。
调度器并不是简单地在每次中断发生时重新选择任务。 系统需要先处理事件对任务状态的影响,再根据调度规则判断是否发生执行权转换。 事件可能使任务就绪、使当前任务阻塞或改变时间相关状态; 只有当执行条件和调度规则允许时,才会进入相应的任务切换路径。
这是用于解释调度输入的概念模型,并非 HRTOS 内核中的实际函数或源代码表达式。 中断、超时和 IPC 等事件可能改变任务状态,但它们的处理路径及是否触发任务切换, 需要以具体内核实现为准。
哪些任务已就绪、哪些任务正在运行,以及哪些任务因等待或其他条件暂时不能运行。
优先级、调度模式和时间片规则共同约束任务执行权的选择与交接。
系统可能继续当前任务,也可能在满足切换条件后保存当前上下文并恢复另一个任务。
从事件处理到执行权转换,区分状态更新与上下文切换。
图示用于解释调度的逻辑过程,不代表所有事件都沿同一条固定代码路径执行。 中断处理、内核临界区、任务主动让出执行权和时钟节拍处理,可能具有不同的入口和切换条件。
任务的优先级决定相对执行权,任务状态决定它当前是否具备运行资格。
已具备运行条件、可以参与调度选择的任务。多个任务同时就绪时,执行顺序由调度规则决定。
当前占用处理器执行的任务。发生事件后,系统可能继续执行它,也可能切换到其他任务。
等待时间、消息、同步条件或其他事件的任务,通常需要相应条件满足后才能重新参与调度。
当没有更高优先级的可运行任务时,系统可执行空闲任务。其具体运行方式取决于内核实现。
不同机制解决不同问题,不应把它们视为互相排斥的调度类型。
在符合调度条件时,更高优先级的就绪任务可以获得执行机会。 实际切换仍受内核临界区、中断状态及具体调度规则约束。
时间片机制用于限制特定任务连续占用处理器的时间。 是否轮转、哪些优先级参与轮转,以及时间片到期后的行为, 需要按照 HRTOS 的具体规则理解。
中断、超时或通信事件可能改变任务状态并使任务重新就绪。 事件发生本身不意味着必然进行上下文切换。
实时分析评估任务响应时间与截止期限之间的关系。 它需要结合执行时间、干扰、阻塞和系统开销,而不是单靠调度策略名称作出结论。
调度决策的成本也是任务时序分析的一部分。
任务响应时间不仅包括任务本身的执行时间,也可能受到更高优先级任务、中断处理、 资源等待和上下文切换等因素的影响。对于资源受限的 8051 系统, 保存与恢复寄存器、栈空间安排和中断控制路径尤其值得关注。
这是用于组织分析项目的概念表达式,不是适用于所有调度算法的完整数学公式。 进行正式计算时,需要根据调度策略定义各项的边界与计数方式,避免遗漏或重复计算开销。
从调度机制继续深入到优先级规则、理论分析与内核执行路径。