2-任务调度
一、简介
调度器就是使用相关的调度算法来决定当前需要执行的哪个任务
二、调度方式
1、抢占式调度
主要是针对优先级不同的任务,每个任务都有一个优先级,优先级高的任务可以抢占优先级低的任务。
- 高优先级任务,优先执行
- 高优先级任务不停止,低优先级任务无法执行。
- 被抢占的任务将会进入就绪态
2、时间片调度
主要针对优先级相同的任务,当多个任务的优先级相同时,任务调度其会在每一次系统时钟节拍到的时候切换任务。
- 同等优先级任务,轮流执行
- 一个时间片大小 ,取为滴答定时器中断周起
- 注意没有用完的时间片不会再使用,下个任务Task3得到执行还是按照一个时间片的时钟节拍运行。
3、协程式调度
当前执行任务会一直运行,同时高优先级的任务不会抢占低优先级任务。FreeRTOS现在虽然还支持,但是官方已经表示不再更新协程式调度。
三、任务状态
FreeRTOS中任务共存在4中状态:运行态、就绪态、阻塞态、挂起态