ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

任务管理

2022-07-14 07:32:34  阅读:187  来源: 互联网

标签:FreeRTOS 管理 阻塞 任务 系统资源 CPU 运行


1.任务的基本概念

从系统的角度看,任务是竞争系统资源的最小单位
FreeRTOS是一个支持多任务的操作系统,在FreeRTOS中,任务可以使用或等待CPU,使用内存空间等系统资源,并独立于其他任务运行

每个任务在自己的环境中运行,在任何时刻,只有一个任务得到运行(对单CPU而言),FreeRTOS调度器决定运行哪个任务。调度器会不断的启动、停止每一个任务,从
宏观上看,所有的任务都在同时进行

在FreeRTOS中,每个任务都有自己的栈空间(一段连续的内存),用于保存任务运行环境。任务越多,需要的栈空间越大,而一个系统能运行多少个任务,取决于系统可用的内存

任务通常会运行在一个死循环中,不会退出,如果不需要某个任务,可以调用FreeRTOS中的删除任务API函数将任务删除,释放系统资源

2.任务状态的概念

FreeRTOS系统中的任务有四种状态:
Running——运行态
当任务处于实际运行时被称之为运行态,即CPU的使用权被这个任务占用;

Ready——就绪态
处于就绪态的任务是指那些能够运行(没有被阻塞和挂起),但是当前没有运行的任务,因为同优先级或更高优先级的任务正在运行;

Blocked——阻塞态
由于等待信号量,消息队列,事件标志组等而处于的状态被称之为阻塞态,另外任务调用延迟函数也会处于阻塞态。

Suspended——挂起态
类似阻塞态,通过调用函数vTaskSuspend()对指定任务进行挂起,挂起后这个任务将不被执行,只有调用函数xTaskResume()才可以将这个任务从挂起态恢复。

3.任务状态的切换

 

 

标签:FreeRTOS,管理,阻塞,任务,系统资源,CPU,运行
来源: https://www.cnblogs.com/-glb/p/16476185.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有