[开发资料] 关于FreeRTOS 空闲任务

[复制链接]
6005|72
 楼主| forgot 发表于 2024-6-13 09:41 | 显示全部楼层 |阅读模式
几乎所有的小型 RTOS 中都会有一个空闲任务,空闲任务属于系统任务,是必须要执行的,用户程序不能将其关闭。不光小型系统中有空闲任务,大型的系统里面也有的,比如我们使用的Window系统等。
在FreeRTOS 中很多人会注意到为什么有一个叫IDLE task的任务占用了CPU百分之九十多的使用权,但是这个任务并没有自己手动创建。原因就是这个空闲任务是系统自己创建的,每当系统没有其他任务要运行时,空闲任务就开始运行了。这个空闲任务有什么作用呢?首先一个RTOS每时每刻都需要有任务运行,其次这个空闲任务还可以来做其他的一些工作,例如进入低功耗等(因为当系统运行到空闲任务说明没有任务需要运行了,这时是进入低功耗的最佳时机)。

jf101 发表于 2024-6-27 22:14 | 显示全部楼层
空闲任务属于系统任务,是必须要执行的,用户程序不能将其关闭
szt1993 发表于 2024-6-28 11:25 | 显示全部楼层
IDLE task的任务占用了CPU百分之九十多的使用权
再见十分钟 发表于 2024-6-28 15:41 | 显示全部楼层
空闲任务属于系统任务,是必须要执行的
村支书 发表于 2024-6-28 15:41 | 显示全部楼层
是不是UCOS也有的

评论

有  发表于 2024-7-8 08:37
前车后炮 发表于 2024-6-28 15:42 | 显示全部楼层
这是操作系统的知识吧

评论

是的  发表于 2024-7-8 08:37
小暖 发表于 2024-6-28 15:42 | 显示全部楼层
学习一下
tenminutes 发表于 2024-6-28 15:44 | 显示全部楼层
IDLE task没事的时候就会运行
包子3号 发表于 2024-6-28 15:45 | 显示全部楼层
Window系统也有吗
leslietian 发表于 2024-6-28 15:45 | 显示全部楼层
没太注意这个任务,但是知道是有的
kenny02 发表于 2024-6-28 15:46 | 显示全部楼层
IDLE task的任务占用了CPU百分之九十多的使用权
小耳朵图图 发表于 2024-6-28 15:46 | 显示全部楼层
嵌入式系统的知识点,了解一下
sheflynn 发表于 2024-7-4 20:23 | 显示全部楼层
当没有其他任务需要执行时,空闲任务确保CPU资源不会被闲置。在多任务操作系统中,CPU会在任务之间切换,而空闲任务可以在没有其他任务运行时填充这个空白,保持系统的响应性。
sanfuzi 发表于 2024-7-4 21:28 | 显示全部楼层
在ARM Cortex-M系列微控制器中,空闲任务可以调用深度睡眠模式。
elsaflower 发表于 2024-7-7 13:45 | 显示全部楼层
空闲任务是系统自动创建的一个特殊任务,当系统中没有其他任务处于就绪状态(即没有其他任务可以运行)时,空闲任务就会开始执行。
wangdezhi 发表于 2024-7-7 16:46 | 显示全部楼层
在FreeRTOS中,空闲任务是由系统自动创建的,通常具有最低的优先级。
AdaMaYun 发表于 2024-7-9 11:27 | 显示全部楼层
在FreeRTOS中,空闲任务是由系统自动创建的,这个是跟系统自身有关系吧
chenjun89 发表于 2024-7-9 12:20 来自手机 | 显示全部楼层
大多数基于无MMU的嵌入式操作系统内核机制其实都差不多。
dspmana 发表于 2024-7-9 20:34 | 显示全部楼层
通过执行空闲任务,可以确保CPU始终有任务可以执行,从而避免浪费CPU资源。
tabmone 发表于 2024-7-9 23:36 | 显示全部楼层
在RTOS中,调度器会根据任务的优先级和状态来决定哪个任务应该运行。如果系统中没有其他高优先级的任务就绪,那么调度器就会选择空闲任务来执行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2112

主题

14683

帖子

59

粉丝
快速回复 在线客服 返回列表 返回顶部