专栏名称: 21ic电子网
即时传播最新电子科技信息,汇聚业界精英精彩视点。
目录
今天看啥  ›  专栏  ›  21ic电子网

RTOS没有执行任务,CPU在干嘛?

21ic电子网  · 公众号  · 半导体  · 2024-09-26 17:09

文章预览

作者 | strongerHuang 微信公众号 | strongerHuang 前几天,有小伙伴问了 大概 这么一个问题: RTOS有很多任务,如果没有执行任务了,都在延时等待 (如vTaskDelay) ,或等待事件触发 (如xQueueReceive) ,CPU在干嘛? 从裸机转向RTOS的小伙伴, 不知道你有没有过这样的疑问? 裸机 vs 系统 裸机情况下,就是一个while死循环: int main( void ) { /* 初始化 */ while ( 1 ) { /* 循环处理多项事情 */ } } 换上RTOS就是为了提高CPU利用率,使其执行多个任务(多个while): void   Task1 ( void ) { /* 初始化 */ while ( 1 ) { /* 处理事情1 */ } } void Task2 ( void ) { /* 初始化 */ while ( 1 ) { /* 处理事情2 */ } } void   Task3 ( void ) void Task4 ( void ) ...... 通过对比裸机和操作系统的区别,再结合开篇的问题,你能联想到什么? 裸机情况下,CPU永远都在while(1)大循环中。那 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览