专栏名称: EDN电子技术设计
EDN China电子技术设计为电子设计工程师和设计经理人提供前沿深度的电子资讯、设计实例应用方案。
目录
今天看啥  ›  专栏  ›  EDN电子技术设计

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

EDN电子技术设计  · 公众号  ·  · 2024-10-01 11:16

文章预览

前几天,有小伙伴问了大概这么一个问题: 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)大循环中。那么,在操作系统下,CPU除了执行任务中的whi ………………………………

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