共2条
1/1 1 跳转至页
请问各位大侠:操作系统必须应该有空闲任务么?

问
“μC/OS-Ⅱ总是建立一个空闲任务,这个任务在没有其它任务进入就绪态时投入运行。它什么也不做,只是在不停地给一个32位的名叫OSIdleCtr的计数器加1。”
我想问的是:1)假如我没有用到统计任务的话,空闲任务是不是就完全失去了它的作用?
2)操作系统是不是一定得有空闲任务啊,没有这个任务对操作系统是不是有影响,或者影响很大
答 1: 呵呵1) 你可以利用空闲任务做一些不那么紧要的事情.
2) CPU总是在不停的运行(除非你要他休眠),如果没有其它任务在运行,又没有个IDLE的任务,你叫他做什么去. 答 2: 牛角尖空闲任务优先级最底,如果你的系统搭建的不会产生空闲,而是一直在忙碌,比如你的一个主任务一直都在查询某些状态而做出反应,并不让其进入休眠或挂起,那么那个空闲任务是没机会执行的。所以没必要理会这个无所谓的任务。 答 3: 谢谢牛角尖的回答,呵呵您的意思是说:没有这个空闲任务也行,因为我的系统可以做的没有让它运行的机会 答 4: 没有这个空闲任务也行意味着你电脑上的任务管理器cpu占用一直是100% 答 5: 如果你的系统所有的任务都不想要CPU了,那CPU怎么办?不就跑飞了?所以得要个空闲任务,没任务需要的时候,就跑到那里去运行~~~~~~
你可以在空闲任务中加入让CPU进入待机模式的指令,以降低功耗。 答 6: 楼上的,千万别悔人不倦啊。
空闲任务也不是必须的,如果OS中所有任务运行不频繁,并且都由中断驱动,完全可以没有空闲任务。这种情况下,不存在就绪任务时需要让CPU停机并进入睡眠模式(Halt)。
OS中存在空闲任务至少有两个理由:
* 空闲任务可以用来测量CPU的负荷情况,在不修改CPU频率的情况下,这种测量方法是最精确的
* 因为CPU从睡眠到唤醒需要一小段时间,频繁执行会明显地降低CPU对外部事件的响应速度。引入空闲任务后,可以采用合适的算法让CPU自己决定何时进入睡眠态,从而避免睡眠/唤醒过程过于频繁
我想问的是:1)假如我没有用到统计任务的话,空闲任务是不是就完全失去了它的作用?
2)操作系统是不是一定得有空闲任务啊,没有这个任务对操作系统是不是有影响,或者影响很大
答 1: 呵呵1) 你可以利用空闲任务做一些不那么紧要的事情.
2) CPU总是在不停的运行(除非你要他休眠),如果没有其它任务在运行,又没有个IDLE的任务,你叫他做什么去. 答 2: 牛角尖空闲任务优先级最底,如果你的系统搭建的不会产生空闲,而是一直在忙碌,比如你的一个主任务一直都在查询某些状态而做出反应,并不让其进入休眠或挂起,那么那个空闲任务是没机会执行的。所以没必要理会这个无所谓的任务。 答 3: 谢谢牛角尖的回答,呵呵您的意思是说:没有这个空闲任务也行,因为我的系统可以做的没有让它运行的机会 答 4: 没有这个空闲任务也行意味着你电脑上的任务管理器cpu占用一直是100% 答 5: 如果你的系统所有的任务都不想要CPU了,那CPU怎么办?不就跑飞了?所以得要个空闲任务,没任务需要的时候,就跑到那里去运行~~~~~~
你可以在空闲任务中加入让CPU进入待机模式的指令,以降低功耗。 答 6: 楼上的,千万别悔人不倦啊。
空闲任务也不是必须的,如果OS中所有任务运行不频繁,并且都由中断驱动,完全可以没有空闲任务。这种情况下,不存在就绪任务时需要让CPU停机并进入睡眠模式(Halt)。
OS中存在空闲任务至少有两个理由:
* 空闲任务可以用来测量CPU的负荷情况,在不修改CPU频率的情况下,这种测量方法是最精确的
* 因为CPU从睡眠到唤醒需要一小段时间,频繁执行会明显地降低CPU对外部事件的响应速度。引入空闲任务后,可以采用合适的算法让CPU自己决定何时进入睡眠态,从而避免睡眠/唤醒过程过于频繁
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持数字示波器】树莓派PICO调试器官方固件本地化部署实践被打赏24分 | |
【换取手持数字示波器】分享一个KEIL无法识别CMSIS-DAP调试器的解决办法被打赏20分 | |
【换取手持数字示波器】分享一个自制的ArduinoNano扩展板底板被打赏23分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 |