当前位置:首页 > 每日看点

RTOS和非RTOS比得到了什么牺牲了什么?

卡卷网1年前 (2024-12-01)每日看点308

事实上,有不少基本功扎实的工程师花上个把月,都能手搓一个简易版的RTOS,RTOS本身绝不是那么的高不可攀。目前我们使用的几款主流的RTOS,例如FreeRTOS,RT-Tread等,只是因为他们是组织化运营,商业化运作,在早期使用的群体较多,源码得到了大量的测试验证,从而能不断完善自身,成功搭建起了用户生态。RTOS绝不是一个技术门槛很高产品,相反题主只要稍微浏览一下FreeRTOS的源码,便可得知一二。

RTOS和非RTOS比得到了什么牺牲了什么?  第1张

事实上确实存在一些非理智的声音,觉得只要程序移植了RTOS就能凸显自身技术水平,而鄙视一切的裸机程序,但这绝对是非常狭隘的看法。因为RTOS不过是一种基于MCU的开发手段而已,很多时候杀鸡是无需用牛刀的。如果只是利用MCU做一些简单的硬件控制以及命令收发,使用裸机方式进行开发明显是更优的选择:

  • RTOS是需要根据MCU的资源情况进行适配和裁剪的,这会带来额外的前置工作量;
  • RTOS本身也是一个程序,它也会占用MCU的资源,也会带来固定的运行开销;
  • RTOS会频繁的进行多任务调度,裸机开发常用的单步调试往往会失去实际意义,提高了代码调试的难度;
  • 开发人员需要对多任务程序开发有正确的理解,否则代码的质量难以保证,尤其是任务间的数据同步问题。

RTOS和非RTOS比得到了什么牺牲了什么?  第2张

那什么时候使用RTOS?答案其实跟技术本身无关,纯粹还是一个投入产出比的问题:若你接受上述的代价后依然觉得要上RTOS的,那就果断上。当程序的功能庞杂,外设众多,尤其时带有图像显示需要进行人机交互时,使用RTOS的收益就会大大提高。

  • 原生的多任务的程序架构能明显降低程序员的思维负担,有利于实现功能模块间的解耦,提升代码可读性;
  • 提供多种高效的数据传递机制,如消息队列,事件组等,可有效降低各种全局变量的管理难度;
  • 任务调度机制可有效提升MCU的运行利用率,同时改善系统对各种外部事件的响应速度。

RTOS和非RTOS比得到了什么牺牲了什么?  第3张

总体而言,是否使用RTOS,主要取决于程序的复杂度:程序功能越多,业务逻辑越复杂,基于RTOS的开发就越有性价比。而且关键的是,RTOS是帮助程序员降低编程难度的,能使用RTOS进行开发,绝不是编程水平高的体现。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2024/12/2391.html

分享给朋友:

相关文章

请问什么软件支持看电视直播?

请问什么软件支持看电视直播?

2024年9月6日最新更新:本文列举的 所有看电视直播、或流媒体影视资源点播的软件,我这两天又重新梳理成最新版本,最大程度保证可用性。获取方式见文末图片,或见评论。后续我也将持续更新,文章是旧的软件也会是新的,保证你拿到的都是最新可用版本。…

知乎创作收益高吗?

知乎创作收益高吗?

高啊,主要是大多数人不知道怎么做。(这是以前写的,请看到最后) 我之前就是傻傻写问答,文章,结果一毛钱收益没有。 知乎上收益高的主要有盐选,好物推荐,致知计划,付费咨询。1、盐选吧,是写故事,小说类的天堂,还有就是大咖们的地盘了,难度高。…

为什么大家不再提 5G 了?

现在看来,只有美国那种5g的思路是对的。 美国的运营商一开始就发现5g和4g并没有质的飞跃,无非就是提升频率/降低穿透力/提升带宽的故事。而美国运营商又是自负盈亏,因此一开始就仅在人口高密度地区或富裕地区布置5g。 虽然说人家4g也菜,但是…

内存和硬盘的单位都是G,两者的功能是什么?谁能用简单通俗的方式来解读一下?

内存和硬盘的单位都是G,两者的功能是什么?谁能用简单通俗的方式来解读一下?

要弄清楚这个问题,首先要弄清楚什么是内存,什么是硬盘,在计算机的组成结构中有一个很重要的部分是存储器。它是用来存储程序和数据的部件。对于计算机来说,有了存储器,才有记忆功能,,才能保证正常工作。存储器的种类很多。按其用途可分为主存储器与辅助…

为什么我感受不到 1500 元的手机比四五千的差?

我长期使用两千元左右的安卓机,一天接近8小时的重度手机使用者。 某天我突然想试试看传说中非常赛艇的苹果。狠了心,砸了钱。七千大样买了爱疯。 就这?什么辣鸡玩意。而且因为我一直更新软件,用了两年爱疯就卡了。并没有传说中的用四五年不卡。 用了这…

打印速度慢,是不是打印机cpu不行?

打印速度慢,是不是打印机cpu不行?

打印机是机械设备,cpu内存硬盘它也有但这只是它的电控部分,打印机类似于汽车属于机电一体化设备和电脑不是一个类型的产品。 很多人总是认为打印机和电脑是一类产品,实际上这是一个误区,电脑是it(Information Technology)信…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。