HRTOS Scheduler

实时调度(Real-Time Scheduling)

基于时间约束与任务优先级的确定性调度机制, 用于保证系统在截止时间内完成关键任务执行。

概述

实时调度用于保证任务在确定时间窗口内完成执行,是RTOS核心能力。 HRTOS采用优先级 + 时间约束联合调度模型。

支持硬实时与软实时任务:硬实时保证必须完成,软实时允许延迟但保证尽量执行。

工作原理

调度器维护就绪队列,根据优先级与任务状态选择执行对象。

高优先级任务就绪时,将立即触发抢占调度。

实时性依赖最坏执行时间控制与抢占式内核设计。

调度规则

1. 高优先级任务优先执行 2. 同优先级任务轮转执行 3. 低优先级任务仅在空闲时运行 4. 新任务就绪可触发抢占

关键接口 / 结构

/* 状态控制 */ os_task_suspend(id) os_task_resume(id) os_task_exit() os_task_delete(id) /* 调度控制 */ os_task_set_priority(id, pr) os_task_get_priority(id) os_task_set_next(id) /* 查询 */ os_task_get_state(id) os_task_self() os_task_is_valid(id) /* CPU控制 */ os_task_yield() os_task_suspend_self() /* 任务创建锁 */ os_lock() os_unlock() os_lock_query()

接口覆盖任务生命周期管理、优先级调整、调度触发与资源同步控制。

运行流程

task ready ↓ scheduler scan ↓ priority compare ↓ preempt decision ↓ context switch ↓ task execute

调度在任务就绪、中断唤醒或优先级变化时触发,执行延迟为微秒级。

优先级反转

低优先级任务持锁 + 高优先级等待 + 中优先级运行,会导致反转问题。

HRTOS通过优先级继承与锁机制缓解该问题。

扩展说明

调度性能依赖优先级队列结构与抢占效率。

HRTOS通过位图调度 + O(1)查找机制优化实时性表现。