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

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

卡卷网2年前 (2024-12-01)每日看点347

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

分享给朋友:

相关文章

k70和红米note14pro+咋选啊?

k70和红米note14pro+咋选啊?

首选红米K70,可满足题主的功能需求。 红米 Note 14 pro+的使用者定位并不是学生,红米K70的使用者定位才是学生。 一、k70和红米note14pro+各自的参数 红米K70推出的定位初衷,是主打性能为主。最佳使用对象是喜欢…

WordPress建站同时面向B端和C端,有什么好的解决方案?

这个很容易实现呀,只不过需要自己开发,整体用权限管理就可以实现了,B端和C端是不同用户权限,C端能看到的菜单入口和B端不一样就行了。技术层面实现没问题的,只不过就是看你们的技术能力和投入了 ,这样的需求应该没有现成的开源插件。只能找人定制开…

什么样的网站能快速捕获你的心?

什么样的网站能快速捕获你的心?

大家好,我是程序员鱼皮。 大家如果平时使用网站或产品时出现了问题,一般都会去寻找 “联系客服” 的位置,从而获得人工的帮助。我们团队的面试刷题产品 - 面试鸭最近就遇到了这样一个难题:明明我们网站右下角就有联系客服按钮、而且我们每道面试题目…

在 Kubernetes 中,Service 的实现原理是什么,它是如何实现服务发现的?

行,问的这个问题挺有意思,Kubernetes 里 Service 是怎么实现的,服务发现是怎么回事,咱就直说了。这事儿看起来挺玄乎,但掰开揉碎了讲,也就那么回事。你得把这事儿想得简单点,别一上来就被啥术语吓住了——其实全是些搬砖的套路。…

怎样使自己处于高能量状态?

1、 不要习惯性的回顾过去那些让你尴尬和犯了错误的事情,不要嫌弃自己蠢。 学会原谅自己,当你不断回忆那些错误和囧事的时候,告诉自己:自己确实做错了,下次不要再犯即可,不需一遍遍的回忆。 这件事情已经发生,不要再一遍遍的折磨自己,不断回忆一点…

本专业是电气的,请问入门plc 必须要从电工接线开始吗,我怕被公司骗了,想请教各位?

本专业是电气的,请问入门plc 必须要从电工接线开始吗,我怕被公司骗了,想请教各位?

开关接线图 PART 01一开单控开关接线图 二三开连体单控开关接线图 四开连体单控开关接线图 一开五孔单控插座接线图 二开五孔单控插座接线图 一开双控开关接线图 二三开单控开关接线图 四开单控开关接线图 一…

发表评论

访客

看不清,换一张

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