放眼国内物联网战场,华为、阿里、腾讯等纷纷打造自己的操作系统,RT-Thread这样有一定生态规模的第三方也在迅速崛起。谁更适合在物联网时代生存?是将长期共存,还是会出现一统天下的“霸主”?
国产物联网操作系统的“小王国”
华为鸿蒙Harmony OS
开源、微内核、全场景、分布式
本月月中华为将迎来禁令最终时刻,而这几天的开发者大会上,鸿蒙OS(Harmony OS)引起无数关注。
最新发布的鸿蒙OS 2.0,最核心的五大特点为:跨设备、服务流转、极速直达、可视可说、隐私安全。据华为消费者业务CEO余承东介绍,华为手机明年将全面支持鸿蒙OS 2.0,2021年10月,华为将面向所有4G以上的设备开放鸿蒙OS 2.0。
与1.0版本相比,鸿蒙OS 2.0最重要的提升就是分布式能力有了“质变”,并且鸿蒙OS将从智慧屏扩展到更多智能设备。
而更重要的是,鸿蒙OS 2.0将支持第三方生态,开放给应用生产商和智能硬件厂商。华为目前已经授权了7款芯片、5款模组、8款开发板,并与合作伙伴推出了2个解决方案。目前,美的、九阳、老板等厂商都已成为了华为的重要客户。
在华为看来,整个操作系统未来的发展方向是微内核。谷歌在开发下一代微内核架构的操作系统Fuchsia;苹果目前虽以宏内核为主,但也正在引进微内核。
“不管是苹果手机iOS还是Android,他们都是基于Linux、Uinux,这样的内核是庞大的,Android操作系统1亿行代码,内核一项就超过2000万行代码,非常复杂,平常我们真正用到的只有内核中8%的代码,如此庞大和冗余的设计很难保障流畅度”,余承东去年在介绍鸿蒙OS开发初衷时曾表示:“鸿蒙OS的出发点和Android、iOS都不一样,是一款全新的基于微内核的面向全场景的分布式操作系统。”这也就是说,鸿蒙其实是为物联网量身打造的。
这也从鸿蒙2.0所面向的应用场景中可以看出,目前主要针对智能家居领域。不过今年的开发者大会上,华为更多在介绍SDK、编译器等等,并未过多介绍鸿蒙架构层面的进展,也并未厘清鸿蒙2.0与已有的轻量级物联网操作系统LiteOS之间的界限。
而根据去年开发者大会上的介绍,鸿蒙当时的架构中,主要有Linux、鸿蒙微内核、Lite OS三种内核,而未来鸿蒙微内核将是鸿蒙OS的唯一内核。那么,此次发布的针对物联网设备的鸿蒙2.0,是不是只是LiteOS的组件升级版本?已经推出五六年、但在生态方面并无太大建树的LiteOS未来怎么玩下去?真正的鸿蒙微内核OS是否要在明年的华为手机中才见真章?这是这次大会上留有伏笔的地方。
另外在鸿蒙光环的B面,也有一些争议认为华为做物联网设备端的OS实在是“不务正业”,理由是:如果针对手机等富媒体设备开发微内核操作系统,用于Android备份——这个思路是对的,而针对物联网设备,鸿蒙没戏。
泼凉水者最不看好的是华为构建鸿蒙生态背后的逻辑——根据华为“1+8+N”战略:1是手机主入口,8是指PC、平板、智慧大屏、车载屏幕等8个华为自研领域产品,N则是泛IoT硬件构成的华为HiLink生态。这其中的1+8是华为自己做,N代表更多的合作伙伴加入,最终希望形成一个更为开放的生态。这其中的意图其实非常明显,华为希望通过鸿蒙围绕手机构建生态——但这个逻辑早已被推翻,智能家居就是最好的例子。
从计算机发明以来操作系统都是采用宏内核。华为敢于创新、并且在当前形势下硬刚到底的同时,也该兼听一些反对声音。此外,鸿蒙作为华为万物互联体系的核心,从自有生态到真正开放的全场景生态共享,还需经得起竞争和市场检验。
阿里AliOS Things
开源、微内核、AI支持、安全集成
阿里将“打造国产自主可控、安全可靠的操作系统”视为重要的战略布局。阿里的OS系统项目有多个,其中AliOS Things是AliOS家族专门针对物联网设备的、高可裁剪的操作系统。阿里做OS其实起于移动操作系统YunOS,距今已近10年,后整合升级为AliOS,专门面向物联网领域的AliOS Things操作系统由此衍生。
2017年,阿里宣布AliOS Things开源,今年6月,AliOS Things3.1版推出,新增了大量贴近于实际应用的协议及功能。同时,通过对开发工具的迭代,在提升用户开发便利性的同时,也重点考虑了生态集成的便捷性,被视为是面向生态伙伴的全新起点。
AliOS Things也采用微内核架构,能够将在智能硬件上运行的软件容器化和在线化升级,这意味软硬件可以快速解耦、运维,降低了硬件厂商的生产与维护成本。据阿里官方介绍,这是一款专用于AIoT智能设备的操作系统,具备全新开发模式、在线裁剪工具、应用与内核分离、脚本语言支持、本地AI框架等特性。
AliOS Things也是平头哥YoC软件平台的核心。今年3月,以AliOS Things技术底层加持、平头哥自主研发的YoC软件平台,获得了国际公认第三方认证机构SGS-TUeV SAAR颁发的SIL3功能安全证书。这一方面体现了YoC软件平台与国际规范接轨的能力,也在一定程度上体现了AliOS Things系统底层的技术含量。
在物联网生态的布局方面,阿里近年来正在通过软硬件并进的方式,使操作系统与芯片更好地结合,加速应用落地。特别是从今年开始,阿里持续加强在物联网领域的布局,宣布启动“双百计划”:投入100亿元围绕天猫精灵布局AIoT及内容生态领域,年内将与合作伙伴共同推出百款千万级智能产品。依托庞大的生态体量,AliOS Things在阿里王国还在继续生根发芽。
腾讯TencentOS tiny
开源、精简RTOS内核、可接入腾讯云
TencentOS tiny是腾讯面向物联网领域开发的实时操作系统,具有低功耗、低资源占用、模块化、安全可靠等特点,可有效提升物联网终端产品开发效率。
TencentOS tiny号称业界最小,只有1.8K,提供精简的RTOS内核,内核组件可裁剪可配置,可快速移植到多种主流MCU及模组芯片上。基于RTOS内核提供了丰富的物联网组件,内部集成主流物联网协议栈(如CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT 等),可助力物联网终端设备及业务快速接入腾讯云物联网平台。
去年9月,腾讯宣布TencentOS tiny开源,希望以此进一步推动其物联网生态的繁荣。其实在腾讯正式开源TencentOS tiny之前,还有一段前尘往事:腾讯曾宣布TencentOS于2017年6月28日停止服务。当时给出的解释是,“因为第三方ROM市场萎缩,TencentOS要退出历史舞台了。”
不过两年后,腾讯终难抵物联网前景诱惑,正式加入物联网开源系统的阵营。目前,TencentOS tiny已支持意法半导体、恩智浦、华大半导体、瑞兴恒方、国民技术等主流厂商多种芯片和模组。不过,与华为、阿里强势、全面的生态布局相比,腾讯还有很长一段路要跋涉。
还有谁的王国?
图源 | Marketing Land
小米
商业意义上的“操作系统”
在国内市场提起物联网,小米是个重要角色。不论是IoT平台已连接的设备数量,还是AIoT品类的多样性,都领先于业界。不过小米在物联网生态的布局策略,更多是通过产业链的服务能力,谈小米AIOT架构的话,整个组织的架构比技术架构更完善。物联网操作系统目前并无看到太明确的规划,就像迟到多年的澎湃芯片一样,不知是在暗中用力还是会继续缺席。
不过值得玩味的一点是,小米集团副总裁、集团技术委员会主席崔宝秋曾在公开场合提到“小米的AIoT实际上就是一个操作系统,一个跨场景、跨设备、跨平台的智能系统”。这也就是说,小米提供的其实是商业意义上的操作系统,而不是技术和系统架构层面所指的操作系统。这又该如何理解?
海量的、碎片化的物联网应用中需要一种协同力,小米的开放联盟发挥了巨大作用。作为行业领导者,小米形成的规模化服务机制,可以等同于行业标准。其AIoT品类的多样性、协同力、网络规模效应,为小米整合各种内外商业要素、调动整个价值链创造着高频的空间。这应该是崔宝秋提出该话题的背景。
再从小米官网所呈现的物联网能力来看,更多都体现在接入、联网以及平台支持等方面,并无太多自研的底层技术支撑。
确实,在物联网的生态壁垒中,从底层搭建纯自研体系绝非易事。小米凭借技术与商业模式的共同驱动而迅速崛起,如果是以往,在成熟且庞大的Linux生态之外构建一个新系统显得是“没必要”,但是今非昔比,基础技术缺失总是存有隐忧,特别是对于小米这样放眼全球的品牌,一款写着自己名字的操作系统,战略价值和地位是不言而喻的。
京东
基于独立第三方的操作系统
正在把自己变成一家技术公司的京东,走的就是从底层技术而起,来搭建整体架构的模式。京东希望通过从底层控制设备的接入、通行和场景联结,以及服务平台,更好地提供数据的整合和场景的服务,并且加上现在具备的2C的优势,以及在2B中越来越强的落地能力所打造的落地渠道,最终形成其物联网全景。
在物联网操作系统方面,京东基于开源的RT-Thread推出了物联网操作系统,包含RT-Thread为京东定制的服务组件,内置京东智联云物联网服务和协议,提供包括配网、设备控制、OTA升级、安全认证及策略等全套物联网服务。
而之所以选择基于第三方开源平台推出底层操作系统,与京东的商业目标密不可分——希望更多提供系统集成能力、服务植入能力、后期能力,包括大数据、人工智能、机器学习等,把物联网这个市场做大。
RT-Thread
开源、中立的物联网OS生态价值
RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,在RTOS领域中,国外的FreeRTOS、uC/OS、RTX、QNX、VxWorks等都比较盛行,而国内的代表就是RT-Thread。
不同于华为对于微内核的追逐,睿赛德电子最新推出的RT-Thread Smart,则是定位于面向实时应用场合的高性能混合微内核操作系统,以填补传统RTOS和大型操作系统之间的不足,同时平衡微内核与宏内核之间的优劣。
根据物联网智能终端的需求,操作系统要在实时性、成本、安全性、启动速度等方面取得平衡。具体来说,宏内核相当于将内核的功能,都组合在一个内核态进程中完成。而微内核将许多在宏内核中的模块移出内核,使之运行于用户模式。
这也决定了它们各自的优势:宏内核各功能模块处于同一个地址空间,相互调用效率很高,弊端是体积太大,不利于在移动设备上进行部署;微内核的功能模块各自独立、体积较小,方便进行移植也方便对其它体系进行兼容,但缺点是功能模块之间变成进程间通信,CPU上下文切换代价很大,执行效率较低。
RT-Thread Smart通过共享内存的方式,把交换的数据内存块分别投到不同的进程地址空间上,从而不需要做额外的数据拷贝。这种方案在针对具体场景的优化时效果较好,例如监控摄像可能数据带宽要求很高,那么就可以把涉及到的网络协议栈再放回到内核态中,这时性能指标可以达到比较理想的程度。
RT-Thread创始人熊谱翔表示,之所以选择研发RT-Thread Smart,主要是看到在相当多的应用场景中,例如网关多种协议间的格式转换、安防需要快速启动、高端处理器由于带MMU(Memory Management Unit,内存管理单元),功能复杂,Linux越来越庞大,传统的IoT OS应用与内核编译在一起后维护代价大,容易带来安全性问题,业界迫切需要一款更小、更快、更安全、可维护性更好的软件开发平台。
包括安防和图像、智慧城市和工业、智能家居、智能硬件在内的AIoT市场,一方面要求智能终端具有图形交互、应用分离与安全、边缘计算与端云一体化、AI与多媒体化的技术趋势,另一方面又要求智能终端具备实时性、低成本、快速启动等特性。RT-Thread COO邹诚认为,这都促使终端技术开发平台必须尽快从单一的RTOS内核,升级为具备丰富中间组件和软件包的物联网操作系统以提高开发效率,从多芯多OS升级为软件和应用可复用的、统一的OS平台以提升管理和效率。
无生态不OS。通过在嵌入式开源社区的多年积累,目前RT-Thread装机量已超过6亿,芯片厂商支持超过80家,原生搭载超过30家。广泛的用户基础,也决定了RT-Thread未来的想象空间。
写在最后
在AI、5G的推波助澜下,物联网操作系统终于迎来了发展史上的黄金时期。
可以肯定的是,物联网软件生态的繁荣将由AIoT操作系统逐渐主导,在这一过程中,操作系统会逐渐收敛,中高端AIoT领域的竞争将会更加激烈。
群雄割据,各有优势。华为、阿里、腾讯等巨头有平台、有资金也不缺生态,像RT-Thread这样的第三方,首先已无生态之忧,在这个先决条件下,再谈其价值,就是开源、中立。
短期来看,物联网操作系统被一个个小王国所分食,长期来看,则是寡头模式与中立模式的竞争。究竟谁能胜出?还是将持续长期共存?市场还需要更长的时间来验证。
预处理 #pragma 命令详解
标准C库导致缓冲区溢出,如何避免?
ARM 编译工具keil 和 IAR 命令行编译和下载
长按前往图中包含的公众号关注