优先级调度演示(Priority Demo)
Priority Demo 用于展示HRTOS中不同优先级任务之间的调度关系, 包括抢占、高优先级切换以及调度器选择逻辑。
机制定义
Priority Scheduling = 优先级比较 + Ready队列扫描 + 高优先级任务抢占执行
调度API: os_switch · os_dispatch_id · os_task_ready · os_task_state
调度行为
优先级调度通常表现为以下流程:
任务进入Ready状态
新任务进入调度队列等待执行。
优先级比较
调度器扫描当前所有Ready任务。
抢占判断
若新任务优先级更高,则抢占当前任务。
任务切换
保存当前上下文并切换到目标任务。
调度器核心链路
Ready队列 → 优先级扫描 → os_dispatch_id → os_switch → 上下文切换
执行流程
1. 创建任务
初始化多个不同优先级任务。
2. 启动调度器
进入HRTOS调度模式。
3. 高优先级任务到达
触发抢占条件。
4. 切换执行
高优先级任务获得CPU控制权。
演示代码
// 在这里填入 Priority Demo 示例代码
// 例如:priority / scheduler / preemption
系统意义
优先级调度是RTOS实时性的核心保障机制, 能确保关键任务优先获得CPU资源,提高系统响应能力。