写点什么

内核代码量不到一万行、GitHub star 超 5k,国产开源物联网操作系统 TencentOS Tiny 的探索与实践

  • 2022-12-07
    北京
  • 本文字数:3341 字

    阅读完需:约 11 分钟

内核代码量不到一万行、GitHub star超5k,国产开源物联网操作系统TencentOS Tiny的探索与实践

嘉宾 | 王佳、汪礼超

作者 | 凌敏


国内物联网操作系统浪潮是从 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

TencentOS 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 具备三个特性:


  1. 内核精简,低资源占用。在产品定位上,TencentOS Tiny 更聚焦在互联网领域,为其提供非常精简的操作系统。据介绍,TencentOS Tiny 内核整体代码量不超过一万行,所有组件也都是可裁减可配置的,能够实现超低资源的占用,降低物联网软件使用成本。IDLE 任务下,最小资源占用仅为 0.6KB RAM、1.8KB ROM。

  2. 高效管理框架,功耗低。智慧城市等领域对功耗非常敏感,这也是市场痛点之一。TencentOS Tiny 能动态调整系统功耗,完整包含 MCU 和外围设备功耗管理,用户可以根据业务场景选择可参考的低功耗方案,最小休眠功耗可以达到 uA 级别,有效降低设备耗电,延长设备寿命。

  3. 软件架构简洁,可移植性良好。TencentOS tiny 提供多种编译器快速移植指南和移植工具,目前已经支持主流芯片和通信模组,降低开发者使用门槛,有效提升开发效率。


作为底层基础设施,操作系统普遍难以创造直接收益,更多是通过为行业提供解决方案来实现商业化。因此,对物联网操作系统来说,如何打造自身的差异化竞争力是一个需要长期思考的问题。


在汪礼超看来,物联网操作系统需要根据不同的应用场景发挥自身优势,比如在金融场景,安全与否是关键;在能源场景,功耗是首要考虑的问题。根据不同的应用场景,形成对应的解决方案或打造上层软件应用包,这些都是实现商业化的途径。


目前,TencentOS Tiny 的应用场景主要包括 MCU 芯片 / 物联网模组、物联网终端设备厂家以及物联网解决方案:


  • 支持主流的 MCU 芯片,如 STM32 NXP 等,支持主流通信模组,如 ESP8266 Wi-Fi、LoraWAN 模组、NB-IoT 模组等;

  • 提供完整的终端软件栈,简单易用的端云 SDK 缩短设备厂家的开发周期,进而节省终端产品开发成本;

  • 提供一站式软件解决方案,方便各种物联网设备快速接入腾讯云,可支撑智慧城市、智能水表、智能家居、智慧农业、智能穿戴、车联网等多种行业应用。

物联网“碎片化”特性明显,如何做好生态建设?


物联网浪潮的兴起让“万物互联”成了可能。根据 IoT Analytics 的统计及预测,2020 年,全球共有 117 亿台物联网设备,联网设备数量第一次超过了非联网设备;预计到 2025 年,全球物联网设备连接数将超过 300 亿。


与 iOS、Android、Windows 等操作系统不同,物联网操作系统的终端形态差异巨大,不同的行业有着不同的消费终端。随着行业进入高速发展期,物联网以及物联网终端的形态更加复杂,需求呈现多样化,“碎片化”特征也更加明显。


“现在物联网领域最大的问题就是‘碎片化严重’,操作系统作为物联网生态的其中一环,不足以解决整个‘碎片化’难题。不过,我们非常看好万物互联这个方向,也有比较全面的布局。”据王佳介绍,不同于桌面、服务器操作系统提供通用解决方案,物联网操作系统更具针对性,专注的领域更加垂直。


正因如此,要想做好物联网操作系统生态,需要行业形成统一标准,达成技术共识。“有了统一的行业标准后,生态链上的不同角色能够更好地合作互通,降低软硬件适配成本。否则,物联网操作系统生态将一直处于割裂状态。”汪礼超表示,目前在智能家居行业,这一愿景已初步实现——行业在酝酿新的智能家居协议,以解决“碎片化”难题。也许在未来,针对某个行业,会出现行业级别的物联网操作系统“一统江湖”,但归根结底,还是要由市场需求来驱动。


物联网操作系统要想进一步发展,汪礼超认为,行业需要找到共用的一套融合操作系统,或是共建一个融合性的社区,共同推动行业达成共识,一起把蛋糕做大。就像在服务器操作系统领域,大家普遍基于 Linux 内核构建操作系统,在技术栈上能够实现统一。在物联网操作系统领域,也可以形成统一的技术标准,包括硬件接口标准、内核接口标准、物联网协议标准、应用接口标准等。“展望未来,无论是针对细分领域还是针对整个行业,物联网操作系统都需要建立一套标准。这套标准也一定是大家共同建立和维护的。”


在汪礼超看来,除了要形成统一的物联网操作系统行业标准,让不同设备之间可以基于一套标准实现互联互通,在未来,这些趋势 / 方向同样值得关注:


  • 微内核。微内核的核心优势是内核精简,可剪裁,能更方便地部署到不同的硬件上。

  • RISC-V 架构。作为一种新兴的精简指令集架构,RISC-V 最大的特点是开源免费,降低物联网终端成本,促进物联网操作系统与硬件的结合,加快软件体系发展。

  • 车联网。未来新能源汽车有可能彻底取代传统燃油车,并且新能源汽车的智能化程度更高,对软件系统的要求也会更高,在物联网协议、安全、人机交互等方面都将提出更高的要求,这也是物联网操作系统在未来比较大的业务方向之一。

2022-12-07 10:3014975

评论

发布
暂无评论
发现更多内容

AntDB数据库再获奖,亚信安慧被评为“2022 PostgreSQL中国最佳创新企业”

亚信AntDB数据库

数据库 AntDB 国产数据库 AntDB数据库 企业号 2 月 PK 榜

ZBC通证月内已翻倍,Nautilus Chain 上线前夕的“开门红”

西柚子

行业分析| OA系统中的实时通讯

anyRTC开发者

音视频 远程办公 视频会议 视频通话 OA

CVE-2023-23752 Joomla未授权访问漏洞分析

墨菲安全

漏洞分析 软件供应链安全

一图读懂 | ChatGPT热潮背后,金融行业大模型应用路在何方?——金融行业大模型应用探索

易观分析

金融 科技

聊聊 HTAP 的前世今生

墨天轮

数据库 OLAP TiDB OLTP HTAP

代码的发展与终结

飞算JavaAI开发助手

低代码选型,论协同开发的重要性

葡萄城技术团队

和狂飙的 ChatGPT 聊聊软件开发的现在与未来

极狐GitLab

DevOps 研发效能 DevSecOps 极狐GitLab ChatGPT

LoRaWAN设备接入阿里云IoT企业物联网平台实战——实践类

阿里云AIoT

物联网 传感器

TDengine 发布主流时序数据库对比分析报告,与 InfluxDB、TimescaleDB 展开全面对比测试

TDengine

tdengine 时序数据库 数据库·

工业数字孪生:西门子工业网络与设备虚拟调试案例(TIA+MCD+SINETPLAN)

工赋开发者社区

Python基础练习题(一)

漫步桔田

智多星RPA重塑业务流程,全面赋能企业商业创新

YonBuilder低代码开发平台

数字经济赋能乡村建设,助力乡村全面振兴

加入高科技仿生人

低代码 数字经济 乡村振兴 农村

设备上报二进制数据在 IoT 平台解析实践——实践类

阿里云AIoT

小程序 监控 物联网 传感器 测试技术

IoT物联网设备端硬件上云技术方案详解——实践类

阿里云AIoT

物联网 存储 开发工具 数据采集 传感器

2023年Java面试正确姿势(1000+面试题附答案解析)

Java编程日记

Java 架构 后端 java程序员 java面试

【监控运维】消息轨迹全景图详解-独门秘籍——实践类

阿里云AIoT

运维 监控 物联网 数据可视化 消息中间件

Tapdata 和 Databend 数仓数据同步实战

Databend

墨菲安全参与信息通信软件供应链安全社区成员大会并获自主研发创新成果奖

墨菲安全

供应链安全 安全情报

CVE-2022-22947 SpringCloud GateWay SPEL RCE 漏洞分析

墨菲安全

漏洞分析 软件供应链安全

Python 基础练习题(二)

漫步桔田

软件供应链受威胁下的应对方法——供应链安全管理平台的五大工具能力

墨菲安全

SCA 供应链安全

云小课|MRS数据分析-通过Spark Streaming作业消费Kafka数据

华为云开发者联盟

大数据 数据分析 华为云 企业号 2 月 PK 榜 华为云开发者联盟

当 Amazon Lambda 遇上 Apache APISIX 可以擦出什么火花?

API7.ai 技术团队

AWS api 网关 Lambda s APISIX

大前端CPU优化技术--SIMD技术

江湖修行

simd neon

基于 IoT物联网 + 表格存储DB + DataV 搭建实时环境监控大屏——实践类

阿里云AIoT

数据库 监控 物联网 存储 数据可视化

如何通过Java 代码设置 Word 文档页边距

在下毛毛雨

C# .net word文档 页边距

脑洞|ChatGPT加持下,ChatOps将如何革新团队协作与运维管理?

极狐GitLab

团队管理 DevOps 团队协作 ChatOps ChatGPT

电信NB-IoT设备对接阿里云IoT平台实战——实践类

阿里云AIoT

大数据 监控 物联网 存储 数据格式

内核代码量不到一万行、GitHub star超5k,国产开源物联网操作系统TencentOS Tiny的探索与实践_文化 & 方法_凌敏_InfoQ精选文章