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

FreeRTOS与UCOSIII任务状态对比

FreeRTOS任务状态

1、运行态

正在运行的任务,正在使用处理器的任务。
单核处理器中任何时候都有且只有一个任务处于运行态。

2、就绪态

已经准备就绪(非阻塞或挂起),可以立即运行但还没有运行的任务。
正在等待比自己高优先级任务结束后运行的任务。

3、阻塞态

正在等待某个外部事件的任务。
阻塞态下不进入任务调度器,等待事件到来后再退出阻塞态。
使用了vTaskDelay()后,就会进入阻塞态直到延时结束。
正在等待队列、信号量、事件组、通知或互斥信号量的任务,也会进入阻塞态。
进入阻塞态会有一个超时时间,等待事件超时了未到,会退出阻塞态。

4、挂起态

挂起态任务也不进入任务调度器。
挂起态任务没有超时事件。
进入挂起态:vTaskSuspend();
退出挂起态:xTaskResume();
在这里插入图片描述

UCOSIII任务状态

1、运行态(与FreeRTOS相同)

正在运行的任务,正在使用处理器的任务。
单核处理器中任何时候都有且只有一个任务处于运行态。
UCOSIII不支持多核CPU。

2、就绪态(与FreeRTOS相同)

已经准备就绪(非阻塞或挂起),可以立即运行但还没有运行的任务。
正在等待比自己高优先级任务结束后运行的任务。

3、等待态(类比FreeRTOS阻塞态)

正在运行的任务需要等待某一外部事件,暂时让出CPU使用权,进入等待事件状态。
正在等待信号量、消息、事件标志组等的任务

4、休眠态(不同于FreeRTOS)

休眠态只是以任务函数的方式存在,只是存储区的一段代码。
并未使用OSTaskCreate()函数创建任务,不受UCOSIII任务调度器管理。

5、中断服务态(不同于FreeRTOS)

一个正在执行的任务被中断打断,CPU去执行中断服务程序,被打断任务进入中断服务态。
在这里插入图片描述

http://www.lryc.cn/news/15009.html

相关文章:

  • 小程序 npm sill idealTree buildDeps 安装一直没反应
  • GPT系列详解:初代GPT
  • 为什么要使用数据库
  • 【单目标优化算法】海鸥优化算法(Matlab代码实现)
  • 筑基六层 —— 整型提升及实用调式技巧
  • 后端前端文件传输2中传出模式
  • 【ZOJ 1067】Color Me Less 题解(vector+开方)
  • 凌恩生物经典文章:孟德尔诞辰200周年,Nature Genetics礼献豌豆高质量精细图谱
  • 进程间通信(二)/共享内存
  • 电路模型和电路定律——“电路分析”
  • 软件工程 | 第一章:软件工程学概述
  • 前端开发页面HEAD作用
  • CSS开发技巧——行为技巧
  • PX4之代码结构
  • 【C++11】可变参数模板(函数模板、类模板)
  • centos安装高版本cmake
  • 重温一下C#的时间类型,并简单写一个定时器功能
  • MYSQL查询语句执行顺序
  • 总结:电容在电路35个基本常识
  • Kroger EDI 855 采购订单确认报文详解
  • HANA SDA-远程数据源访问
  • 【AUTOSAR】:OS-Hook
  • Open3d入门
  • linux部署zookeeper
  • Junit4升级Junit5汇总
  • Axios二次封装和Api的解耦
  • SpringAOP从入门到源码分析大全,学好AOP这一篇就够了(一)
  • 【单目标优化算法】樽海鞘群算法(Matlab代码实现)
  • 手把手教你,解决C盘分区不足,C盘怎么扩大磁盘分区
  • Ethernet-APL——过程自动化的新黄金标准