嘉宾 | 王佳、汪礼超
国内物联 操作系统浪潮是从 2015 年前后掀起来的。在此之前,人们更习惯称其为嵌入式操作系统,这也是物联 操作系统的前身。当前,很多物联 操作系统仍是基于传统的嵌入式操作系统内核,与若干物联 相关软件栈组成终端软件平台。
随着物联 在智能家居、汽车、可穿戴设备等多个行业得到广泛应用,物联 操作系统的市场需求日益增长,国内也涌现出了多款受开发者欢迎的本土物联 操作系统。
2019 年 9 月,腾讯物联 操作系统 TencentOS Tiny 正式开源;2020 年 10 月,TencentOS Tiny 捐赠给中国开放原子开源基金会。截至 2022 年 11 月,TencentOS Tiny 在 GitHub 上的 star 数达 5.7k,fork 数量 1.5k,开发者规模达 5000 人。目前,TencentOS tiny 可支撑智慧城市、智能水表、智能家居、智能穿戴、车联 等多种物联 行业应用,能为物联 终端厂家和终端设备提供一站式软件解决方案。
近日,InfoQ 采访了腾讯操作系统研发负责人王佳、腾讯 TencentOS Tiny 项目负责人汪礼超,以期进一步了解 TencentOS Tiny 的发展历程与技术实践。
GitHub 地址:
https://github.com/OpenAtomFoundation/TencentOS-tiny
1TencentOS Tiny 的探索与实践
对腾讯而言,做物联 操作系统是一件自然而然的事情。
依托云、安全、AI 等技术创新,腾讯云与智慧产业事业群(CSIG)一直致力于打造智慧产业升级方案,并形成了一条物联 生态链。针对云场景,腾讯早在 2010 年就打造了服务器操作系统 TencentOS Server。随着腾讯云边缘计算业务快速发展,腾讯在 2019 年也启动了边缘操作系统 TencentOS Edge 的研发。
物联 操作系统 TencentOS Tiny 的研发工作则启动于 2018 年。作为物联 生态链底层重要的一环,物联 操作系统在一定程度上能够促进整个物联 的生态,乃至由腾讯主导的产业物联 的发展。对下,物联 操作系统能完善物联 端到端解决方案,实现终端设备的互联互通;对上,能为云上海量数据平台引流,将云端的边缘计算、大数据分析等能力与业务场景相结合,从而使终端设备更加智能化。
对于这款操作系统的定位,腾讯在一开始就想得很清楚:针对 MCU 芯片,打造 B 端生态链的前端操作系统,低功耗,低资源占用。“与其他物联 操作系统相比,我们有自己的特点,比如我们对腾讯云的支持,以及针对物联 嵌入式应用的特性。我们没有把这款物联 操作系统做得大而全,而是选择做极致精简的内核。”汪礼超对 InfoQ 说道。
2019 年 9 月,TencentOS Tiny 正式在 GitHub 上开源,发布不到 1 周便登上了 GitHub 全 开源项目热榜第二的位置。从 2019 年开始,TencentOS Tiny 每年都会举办多场开发者活动,并陆续成立了内核、AI 等多个 SIG 组,其他物联 相关 SIG 组也在筹备当中。2020 年 10 月,腾讯将 TencentOS Tiny 捐赠给中国开放原子开源基金会。目前,TencentOS Tiny 支持硬件平台数量 80+,与 STM32、NXP、瑞萨半导体、华大半导体、沁恒微电子、Nordic、兆易半导体、国民技术、TI MSP、瑞兴恒方、广和通等多家 MCU 和模组厂家达成合作,共同推进物联 终端产品落地商用。
产品架构及技术特性
TencentOS Tiny 的产品架构从下往上依次是主流 MCU 芯片 / 模组、核心基础内核及物联 所需要的联 组件。
底层,MCU 芯片 / 模组包括 STM32 和主流的蜂窝通信模组,提供了驱动框架和外设框架,兼容不同硬件,方便适配不同硬件平台。顶层,提供了物联 常用的功能组件,如文件系统、KV 存储和高级语言引擎框架等等;提供了方便用户调用的业务层 API,业务层上也会提供常用的案例供客户和开发者参考。此外,还内置了安全框架,为终端设备的设备唯一标识、通信链路加密、密钥安全存储提供了保障,防止物联 设备被攻击。
整体而言,TencentOS Tiny 具备三个特性:
内核精简,低资源占用。在产品定位上,TencentOS Tiny 更聚焦在互联 领域,为其提供非常精简的操作系统。据介绍,TencentOS Tiny 内核整体代码量不超过一万行,所有组件也都是可裁减可配置的,能够实现超低资源的占用,降低物联 软件使用成本。IDLE 任务下,最小资源占用仅为 0.6KB RAM、1.8KB ROM。
高效管理框架,功耗低。智慧城市等领域对功耗非常敏感,这也是市场痛点之一。TencentOS Tiny 能动态调整系统功耗,完整包含 MCU 和外围设备功耗管理,用户可以根据业务场景选择可参考的低功耗方案,最小休眠功耗可以达到 uA 级别,有效降低设备耗电,延长设备寿命。
软件架构简洁,可移植性良好。TencentOS tiny 提供多种编译器快速移植指南和移植工具,目前已经支持主流芯片和通信模组,降低开发者使用门槛,有效提升开发效率。
作为底层基础设施,操作系统普遍难以创造直接收益,更多是通过为行业提供解决方案来实现商业化。因此,对物联 操作系统来说,如何打造自身的差异化竞争力是一个需要长期思考的问题。
在汪礼超看来,物联 操作系统需要根据不同的应用场景发挥自身优势,比如在金融场景,安全与否是关键;在能源场景,功耗是首要考虑的问题。根据不同的应用场景,形成对应的解决方案或打造上层软件应用包,这些都是实现商业化的途径。
目前,TencentOS Tiny 的应用场景主要包括 MCU 芯片 / 物联 模组、物联 终端设备厂家以及物联 解决方案:
支持主流的 MCU 芯片,如 STM32 NXP 等,支持主流通信模组,如 ESP8266 Wi-Fi、LoraWAN 模组、NB-IoT 模组等;
提供完整的终端软件栈,简单易用的端云 SDK 缩短设备厂家的开发周期,进而节省终端产品开发成本;
提供一站式软件解决方案,方便各种物联 设备快速接入腾讯云,可支撑智慧城市、智能水表、智能家居、智慧农业、智能穿戴、车联 等多种行业应用。
2物联 “碎片化”特性明显,如何做好生态建设?
物联 浪潮的兴起让“万物互联”成了可能。根据 IoT Analytics 的统计及预测,2020 年,全球共有 117 亿台物联 设备,联 设备数量第一次超过了非联 设备;预计到 2025 年,全球物联 设备连接数将超过 300 亿。
与 iOS、Android、Windows 等操作系统不同,物联 操作系统的终端形态差异巨大,不同的行业有着不同的消费终端。随着行业进入高速发展期,物联 以及物联 终端的形态更加复杂,需求呈现多样化,“碎片化”特征也更加明显。
“现在物联 领域最大的问题就是‘碎片化严重’,操作系统作为物联 生态的其中一环,不足以解决整个‘碎片化’难题。不过,我们非常看好万物互联这个方向,也有比较全面的布局。”据王佳介绍,不同于桌面、服务器操作系统提供通用解决方案,物联 操作系统更具针对性,专注的领域更加垂直。
正因如此,要想做好物联 操作系统生态,需要行业形成统一标准,达成技术共识。“有了统一的行业标准后,生态链上的不同角色能够更好地合作互通,降低软硬件适配成本。否则,物联 操作系统生态将一直处于割裂状态。”汪礼超表示,目前在智能家居行业,这一愿景已初步实现——行业在酝酿新的智能家居协议,以解决“碎片化”难题。也许在未来,针对某个行业,会出现行业级别的物联 操作系统“一统江湖”,但归根结底,还是要由市场需求来驱动。
物联 操作系统要想进一步发展,汪礼超认为,行业需要找到共用的一套融合操作系统,或是共建一个融合性的 区,共同推动行业达成共识,一起把蛋糕做大。就像在服务器操作系统领域,大家普遍基于 Linux 内核构建操作系统,在技术栈上能够实现统一。在物联 操作系统领域,也可以形成统一的技术标准,包括硬件接口标准、内核接口标准、物联 协议标准、应用接口标准等。“展望未来,无论是针对细分领域还是针对整个行业,物联 操作系统都需要建立一套标准。这套标准也一定是大家共同建立和维护的。”
在汪礼超看来,除了要形成统一的物联 操作系统行业标准,让不同设备之间可以基于一套标准实现互联互通,在未来,这些趋势 / 方向同样值得关注:
微内核。微内核的核心优势是内核精简,可剪裁,能更方便地部署到不同的硬件上。
RISC-V 架构。作为一种新兴的精简指令集架构,RISC-V 最大的特点是开源免费,降低物联 终端成本,促进物联 操作系统与硬件的结合,加快软件体系发展。
车联 。未来新能源汽车有可能彻底取代传统燃油车,并且新能源汽车的智能化程度更高,对软件系统的要求也会更高,在物联 协议、安全、人机交互等方面都将提出更高的要求,这也是物联 操作系统在未来比较大的业务方向之一。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!