FreeRTOS 操作系统学习
2 调度
任务调度的目的旨在决定某个时刻哪个任务可以由“就绪(Ready)”态进入运行状态。FreeRTOS 通过在任务创建时赋予任务不同的优先级来实现这一调度(参考 1.2章节)。任务优先级是调度器决定任务切换的唯一指标。
调度器会在每个时钟节拍中断产生时判断一次哪个任务需要被唤醒,哪个需要进入就绪态。如图3
图3 节拍中断产生时判断一次哪个任务需要被唤醒,哪个需要进入就绪态
2.1 优先级
FreeRTOS通过任务优先级的处理来实现多任务调度。优先级 是任务在创建时被赋予的一个数值,也可以通过vTaskPriorityGet() 和 vTaskPrioritySet() 函数来读取或设置(参考 FreeRTOS manual). 没有优先级的自动管理,这意味着除非程序修改,否则任务始终保持固定的