总结FreeRTOS中的任务调度算法,空闲任务,任务状态等概念
1. 任务调度算法
1.抢占式调度:高优先级的任务优先执行,并且可以打断低优先级的任务执行。在FreeRTOSConfig.h中开启configUSE_PREEMPTION宏,将宏设置为1,关闭(将宏设置为0)
2.时间片轮转:相同优先级的任务,拥有相同的时间片(1ms),当时间片被耗尽,就退出当前任务。保证代码执行的公平性。时间片轮转默认被设置了
2. 空闲任务
空闲指的就是当系统中无其他任务在执行时就会执行空闲任务,空闲任务是在开启调度器的时候被创建。
空闲任务的作用:
1.空闲任务可以防止CPU进入空转的状态,节约CPU的资源。
2.回收被释放的任务资源
3. 任务状态
Ready:当任务被创建出来后就会进入到就绪态
Running:当任务正在执行就是运行态
Blocked:等待某一个事件
Suspended:任务被挂起,无法执行,但是任务还是存在