FreeRTOS基础知识

任务调度

  • 抢占式调度:优先级高的抢占优先级低的,数字越大优先级越高。高优先级阻塞(系统延时或等待信号量等),低优先级会运行.被抢占的任务进入就绪态
  • 时间片调度:针对优先级相同的任务,任务调度器会在每一次系统时钟节拍到的时候切换任务。同等优先级任务轮流享有相同的CPU时间,一个时间片等于一个systick中断周期。没有用完的时间片不会再使用(如运行了半个时间片阻塞,下次该任务得到执行还是从时间片头开始)
  • 协程式调度:当前执行任务一直运行,高优先级不会抢占低优先级(官方不再更新)

任务状态

  • 运行态:同一时间只有一个任务处于运行态
  • 就绪态:该任务已经能被执行但仍未执行
  • 阻塞态:延时或等待外部事件发生
  • 挂起态:类似暂停,调用函数vTaskSuspend()进入挂起态,调用解挂函数vTaskResume()才可进入就绪态
  • 四种状态除了运行态,其他都有对应的任务状态列表
    :就绪列表:pxReadyTaskList[x],x数值代表任务优先级数值(0~31)
    :阻塞列表:pxDelayedTaskList
    :挂起列表:xSuspendedTaskList
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值