嵌入式有必要学习RTOS吗,RT-Thread是否更适合你?
扫描二维码
随时随地手机看文章
通过观察近年来招聘网站的招聘信息,嵌入式工程师的要求中总会多出一条“掌握至少1-2种RTOS”,网友头上也经常“有许多问号”表示,到底有没有必要学RTOS?
RTOS是啥,有必要学吗
RTOS,英文全称Real-time operating system,又称“实时操作系统”。
与其相对应的还有TSOS这一概念,英文全称Time Sharing Operating System,意为“分时操作系统”,我们所熟知的Windows、Linux、Unix便都属于TSOS。
RTOS其实只有“实时性”才是它的最大特征,因为RTOS在被发明之初便是因为早期CPU任务切换开销过大,另外随着工业和物联网的发展,许多特殊场景重要任务执行优先度又极高。
因此利用实时操作系统可以避免频繁切换任务浪费的CPU时间,并且能够满足一些实时要求较高的场景。
当然,RTOS不仅此而已,除了实时,从本质上来说,它还是一款操作系统。
因此在厂商的“精心呵护”之下,普遍来说RTOS都拥有着极小的体积、极低的功耗和快速的启动速度,提供非常丰富的组件、工具链和社区。
在物联网爆发式发展下,RTOS是必备的。为何这么说?如果没有RTOS,设备便是处于“裸奔”的状态,这样的状态性能是无法最大化利用的。而反观招聘网站,RTOS几乎成了“必修课”。
(图:招聘网站上嵌入式实时操作系统几乎成为必备)
所以在物联网的爆发兴起下,嵌入式工程师掌握使用1-2种RTOS作为知识储备是很有必要,说不定哪一天项目中就会使用到了。
同时,一些著名的嵌入式专家也给出建议学习RTOS的观点,因为目前来说,使用RTOS的人和场景也越来越多了。
不过,RTOS虽然坐拥诸多优点,但也并非一把“万能钥匙”,任意场景都“一股脑”使用。
虽然的确在物流网兴起下,RTOS的应用越来越多,但许多工程师动不动就给项目给出使用RTOS的方案,这在设计中是很大的一个误区。
一般来说,是否使用RTOS取决于任务的数量和复杂程度。从方案来说,问题简单化才是一切的核心。
国产RTOS至关重要
中兴事件、实体清单、华为事件……从2018年到2020年,“缺芯”成了卡脖子的关键问题,近年来国产芯片愈发扬眉吐气。
不过十多年前的老话题“绕的过芯片,却绕不过系统”还是要拿出来翻一翻的。华为在此前发布了“鸿蒙”,另外还在最近投入了2亿元进一步发展鸿蒙。可见,即使国外拥有一些开源系统可使用,但国产自主的系统仍然是必不可少的。
目前的操作系统市场一种是收费的RTOS,一种是下游厂商打造的开源RTOS,不过随着市场的不断变换一些收费RTOS也逐渐转入免费。
在嵌入式领域,虽然不乏VxWorks、μCOS或FreeRTOS等优秀的国外RTOS,不过开源免费是一个伪命题,并没有任何保证,可以确定它是否会出现在下一次类似“实体清单”的事件中。
国产的RTOS还是有很多的。就拿巨头来说,2015年,华为发布了轻量级RTOS LiteOS;2017年,阿里发布了面向IOT的 AliOS 操作系统。另外,djyos是一款由长园深瑞继保自动化有限公司主持开源操作系统嵌入式RTOS。
在此,不得不提到RT-Thread,作为一款拥有将近14年历史的RTOS,目前来说拥有的知名度和用户方面相对占有优势。
不过,华为、阿里的加入必然是强有力的竞争,虽然AliOS和LiteOS依旧处于系统的技术建设完善期,但不容小觑的便是其强大的背景支持。一款产品必须拥有自己的独到优势才能在巨鳄的阴影下生存。
RT-Thread起源于工匠,而根据其创始人熊谱翔坦言,未来还会继续坚持工匠的精神做产品。目前来说,AliOS和LiteOS还是以自己产品主导,针对开发者支持还是短板,因此面向开发者便是RT-Thread的生态建设上的优势。
而嵌入式工程师,在如今的这种情境下,掌握一款国产的RTOS也似乎是一个不可或缺的课题,RT-Thread是其中一个好选择。程序员出身的RTOS
RT-Thread创始人熊谱翔被人爱称为“熊大”,程序员出身的他让这款RTOS更懂开发者的需求。
出生于广西桂林的他,父母都是高中教师。自幼理科偏科的他,一不小心拿了一个桂林单科数学的状元,考入了重庆邮电学院,这是通信行业的黄埔军校西南分校。
(RT-Thread创始人熊谱翔)
极度偏科的人一般都是绝顶聪明的人,纯理工科的他自然也陷入了代码的世界。熊大与Linux的“亲密接触”可以说与RT-Thread的诞生有着必不可少的关联,正因Linux也是一款免费开源的系统。
90年代,精通Linux的程序员凤毛麟角,在没有任何教程的情况下,熊大把Linux代码读了无数遍。而他也顺利成为了BBS的大佬,西南程序员圈子的名人。
2000年大学毕业以后,先后加入贝尔阿尔卡特、华为、NEC和松下合资成立的宇梦通信和美国半导体公司Marvell上海分公司,直至2005年辞职创业。
在技术社区交流过程中,熊大发现市面上缺少真正小尺寸、开源且符合Linux简约代码风格的嵌入式RTOS。
2005年,熊大便着手这个操作系统的编写。2006年,顺利发布了RTOS内核,命名为RT-Thread V0.0.1,意为实时线程。
2011年RT-Thread发布V1.0.0,支持更多MCU芯片,构建完整的生态;2015年发布V2.0.0,新增轻量级Javascript引擎和大量组件;2017年,RT-Thread发布V3.0.0,新增更多的IoT组件,大举进军物联网市场。
“RTOS之王”的目标
在Github 4.1K多颗星,6万多开发者,累积装机量超过4亿台的成绩,是RT-Thread在物联网时代可以称之为RTOS之王的证明。
与诸多RTOS诸如FreeRTOS,uC/OS主要区别之一是,它不仅仅是一个实时内核,还具备丰富的中间层组件。
不仅支持市面所有主流编译工具诸如GCC、Keil、IAR等;还支持所有标准接口诸如POSIX、CMSIS、C++应用环境、Javascript执行环境等;支持所有主流MCU架构,如ARM Cortex-M/R/A, MIPS, X86, Xtensa, C-Sky, RISC-V。并且值得注意的是,RT-Thread遵循Apache 2.0,实时操作系统内核及所有开源组件可以免费在商业产品中使用,不需要公布应用程序源码,没有潜在商业风险。
熊大曾经表示,RT-Thread的目标是成为国内最主流、物联网终端首选、联网装机量数十亿台的IoT OS,成为物联网产业的基石,让物联网终端的开发变得简单、快速,芯片的价值得到最大化发挥。
一场始料未及的新冠,让这个春节按下了暂停键,RT-Thread作为有担当的企业,几经辗转后,在疫情最关键的几天采购了一批防护服为前线的“他们”也做了帮助。