完整调度流程(Full Schedule Flow)

本页面描述HRTOS内核从中断触发到任务切换的完整调度链路, 覆盖中断入口、调度决策、上下文切换与任务恢复全过程。

机制定义

Full Schedule Flow = 中断触发 → 调度判断 → 任务选择 → 上下文切换 → 任务恢复

内核决策模型

Kernel Decision = Interrupt Context + Ready Queue + Priority Evaluation + Switch Condition

执行流程

1. 中断触发

系统Tick或外部中断进入内核态。

2. 保存上下文

当前任务寄存器与栈状态被保存。

3. 调度判断

调度器评估Ready队列优先级。

4. 任务切换

选择最高优先级任务执行。

5. 恢复执行

恢复目标任务上下文并跳转执行。

内核API执行链

os_save_context()

保存当前任务寄存器与栈状态。

os_scheduler_run()

调度器执行优先级计算与任务选择。

os_context_switch()

执行任务切换。

os_restore_context()

恢复目标任务执行状态。

演示代码


#include "HRTOS.h"

void schedule_flow_demo(void)
{
    os_tick_disable();

    os_save_context();

    if(os_scheduler_run() == SWITCH)
    {
        os_context_switch();
    }

    os_restore_context();

    os_tick_enable();
}
    

系统意义

内核调度流程是RTOS实时性的最终执行路径, 它决定系统在中断、调度与任务切换之间的整体响应效率与确定性。

相关导航

任务执行模型

任务执行模型

调度系统

调度系统

中断机制

中断机制

任务生命周期

任务生命周期

跨模块关联

中断驱动系统

Interrupt Driven

调度引擎

Scheduling Engine

任务执行模型

Task Execution

系统架构层

Kernel Architecture