当前位置:首页 > 每日看点 > 正文内容

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

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

事实上,有不少基本功扎实的工程师花上个把月,都能手搓一个简易版的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

分享给朋友:

相关文章

电视参数哪个最重要?

电视参数哪个最重要?

在选择智能电视时,面板类型是一个关键因素。IPS面板以其宽广的视角和出色的色彩还原能力受到青睐,尤其适合日常观看和游戏。尽管可能会有轻微的漏光,但在大多数情况下,这并不影响使用体验。相比之下,VA面板提供更高的对比度和更深的黑色,增强了沉浸...

想入个键盘,想买机械的但是太贵,求知友推荐一款手感比较好的薄膜键盘?

想入个键盘,想买机械的但是太贵,求知友推荐一款手感比较好的薄膜键盘?

相信很多接触过286的90后朋友都和我有一样的体会,以前的机械键盘真的是让人头皮发麻,不仅敲击要非常用力,而且很吵。所以后面随着大家的生活消费水平的上升,家家户户都有电脑了,自然也不想再用打字来宣扬自己有电脑的优越感,基本上大家都换成了又轻...

想学习Linux下的ELF文件有什么好书推荐吗?

想学习Linux下的ELF文件有什么好书推荐吗?

大家好,这里是物联网心球。 今天我们来聊聊ELF文件,了解一下Linux如何创建进程以及ELF文件如何转变成Linux进程?1.什么是ELF文件? ELF(Executable and Linkable Format)文...

程序员都有自己的服务器吗?

程序员都有自己的服务器吗?

2024.9. 24,有朋友咨询功耗,我没有单独给服务器弄智能插座,系统做的 esxi 也看不到,所以只能用其他角度判断供大家参考。我有一个餐边柜改的机柜,里面白裙两盘,黑群晖 4 机械 1 mvme,一个爱快硬路由,一个联通光猫,一个 2...

微信占用存储空间很大,如何解决?

微信占用存储空间很大,如何解决?

微信用久了,越来越占内存怎么办?确实如此,微信使用时间久了,如果不定期清理数据的话,就会占用特别多的内存,几G甚至几十G。你是不是也正在为这种事情而头痛?碰到这种情况,除了卸载重装微信以外,我们可以通过下面几种方法来释放内存。方法一:删除应...

做一名网络工程师是什么体验?

做一名网络工程师是什么体验?

过地铁火车安检时,经常会被要求开包检查。。。同时,电脑包的重量普遍比较高。除了很多打工人必备的笔记本电脑之外,网络工程师还会随身携带部分工具。。。01.网线(长度不一定,根据工作要求随时被使用。。。)没有网线无法开展工作。02.串口线,ty...

发表评论

访客

看不清,换一张

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