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

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.kler.cn/a/567231.html

相关文章:

  • 【网络安全 | 渗透工具】小程序反编译分析源码 | 图文教程
  • React Native 核心技术知识点快速入门
  • MacDroid for Mac v2.3 安卓手机文件传输助手 支持M、Intel芯片 4.7K
  • 7.2 - 定时器之计算脉冲宽度实验
  • JMeter 引入 JAR 包的几种方法
  • 【Qt】ffmpeg照片提取、视频播放▲
  • Linux学习——退出vi编辑模式
  • Python中字符串的常用操作
  • Java 大视界 -- Java 大数据在智能安防入侵检测与行为分析中的应用(108)
  • 大模型工程师学习日记(五):基于LangServe的AI服务架构深度解析
  • 解决Vscode项目同时运行两个项目终端无法自动叠加的问题
  • 算法题:快速排序
  • 性能测试【Perfdog】
  • 【Nginx】在Windows服务器上用Nginx部署Vue前端全流程(附避坑指南)
  • SpringBoot原理-02.自动配置-概述
  • 【Linux】命令行参数 | 环境变量(四)
  • 超详细,多图文介绍redis集群方式并搭建redis伪集群
  • 25物理学研究生复试面试问题汇总 物理学专业知识问题很全! 物理学复试全流程攻略 物理学考研复试调剂真题汇总
  • Windows之远程终端问题集锦(十二)
  • NAT 代理服务 内网穿透