当前位置: 首页 > news >正文

FREERTOS的三种调度方式

一、调度器的调度方式

调度器的调度方式解释针对的对象
抢占式调度1.高优先级的抢占低优先级的任务 2.高优先级的任务不停止,低优先级的任务不能执行 3.被强占的任务会进入就绪态优先级不同的任务
时间片调度1.同等优先级任务轮流享用CPU时间 2.没有用完的时间片,下次该任务仍使用1个时间片 3.1个时间片指的是1个滴答时钟的中断周期优先级相同的任务

二、FREERTOS里的任务状态

FREERTOS里的任务状态解释
运行态mcu正在运行的任务(STM32同一时间只运行一个任务)
就绪态一个任务已经准备好被执行了,但是当前还未被执行
阻塞态正在延时或者正在等待外部事件的任务,处于阻塞态
挂起态得调用函数才能进入挂起态。挂起函数:vTaskSuspend(); 解挂函数:vTaskResume();解挂后进入就绪态
  • 阻塞态想进入运行态,必须先转成就绪态,在进入运行态

三、任务状态列表

任务状态列表解释
就绪列表pxReadyTasksLists[x],x表示任务优先级。调度器从31到零,挨个检索,如果优先级变为1的话代表该优先级有任务。
阻塞列表pxDelayedTaskList
挂起列表xSuspendedTaskList
http://www.lryc.cn/news/544902.html

相关文章:

  • 前端依赖nrm镜像管理工具
  • redis repl_backlog_first_byte_offset 这个字段的作用
  • JavaScript基础(BOM对象、DOM节点、表单)
  • Java Junit框架
  • 23种设计模式之《备忘录模式(Memento)》在c#中的应用及理解
  • Seaborn知识总结
  • flowable中用户相关api
  • java后端开发day23--面向对象进阶(四)--抽象类、接口、内部类
  • 安装 Open WebUI
  • Llama 2中的Margin Loss:为何更高的Margin导致更大的Loss和梯度?
  • 【后端】Docker一本通
  • 工程化与框架系列(13)--虚拟DOM实现
  • 数据结构之各类排序算法代码及其详解
  • 【洛谷贪心算法】P1090合并果子
  • 【告别双日期面板!一招实现el-date-picker智能联动日期选择】
  • 现今大语言模型性能(准确率)比较
  • 程序诗篇里的灵动笔触:指针绘就数据的梦幻蓝图(水文,勿三)
  • 在 UniApp 中实现中间凸起 TabBar 的完整指南
  • Redis大key
  • WPF高级 | WPF 与数据库交互:连接、查询与数据更新
  • CogBlobTool工具
  • C# WinForm程序中如何调试dll接口
  • 自然语言处理:词频-逆文档频率
  • 【银河麒麟高级服务器操作系统】服务器测试业务耗时问题分析及处理全流程分享
  • 基于大数据的民宿旅馆消费数据分析系统
  • Spring-AI搭建企业专属知识库 一
  • 极简本地体验deepseek大模型教程
  • RabbitMQ系列(五)基本概念之Queue
  • 【记录】成为创作者的第 730 天(两年)
  • 深度剖析数据分析职业成长阶梯