当前位置: 首页 > 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

相关文章:

  • 做it的兼职网站seo搜索价格
  • dede5.7微电影网站模板青岛seo网站建设公司
  • 网站怎做百度代码统计苏州seo建站
  • 江苏专业做网站的公司网络推广学校
  • 宁波网站建设计平台推广方式
  • 天津网站建设深圳网络营销推广公司
  • 微服务架构实践:SpringCloud与Docker容器化部署
  • 从零开始用react + tailwindcss + express + mongodb实现一个聊天程序(七) 主题设置
  • 【Tomcat】
  • 基于Ubuntu2410部署LobeChat服务端数据库版本
  • 5-1JVM内存区域
  • 【记录】成为创作者的第 730 天(两年)
  • LeetCode 解题思路 7(Hot 100)
  • 【Java基础】Java 中 的`final` 关键字
  • Cocos Creator3.8.6拖拽物体的几种方式
  • rust学习笔记8-枚举与模式匹配
  • 使用Pycharm创建第一个Python程序
  • Maven入门教程
  • AI在投资和金融领域有什么用法和提示词
  • Redis持久化方案RDB和AOF
  • 零信任架构
  • C语言408考研先行课第一课:数据类型
  • 一个基于vue3的图片瀑布流组件
  • FFmpeg av_read_frame 和iOS系统提供的 AVAudioRecorder 实现音频录制的区别
  • redis开启过期监听
  • 《CWAP-404》,第一章:802.11 协议(1.1~1.3)