写点什么

内核代码量不到一万行、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:3014780

评论

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

LangChain系列-03. LLM聊天模型

无人之路

大模型 LLM #LangChain

程序员 AI 助手来了,蚂蚁正式开源代码大模型CodeFuse

TRaaS

支付宝小程序 开源 前端

对话在行人|中亿丰(下):数智化推动建筑行业高质量发展

用友BIP

2023全球商业创新大会 对话在行人

OpenHarmony创新赛|赋能直播第三期

OpenHarmony开发者

OpenHarmony

限时!低至0.028元/核时,火山引擎边缘渲染全面降价

火山引擎边缘云

视频 渲染 边缘云 渲染技术

华为云Classroom赋能--面向高校学生的Toolkit系列实践培训

华为云PaaS服务小智

云计算 软件开发 华为云 开发者插件

跨链代币开发:架起区块链未来的桥梁

区块链软件开发推广运营

交易所开发 数字藏品开发 dapp开发 区块链开发 NFT开发

大模型加持下的AI,推动智能化普及应用

用友BIP

2023全球商业创新大会 升级数智化底座

ChatGPT:GPU驱动的智能对话系统典范

Finovy Cloud

gpu ChatGPT

YARN 资源调度器 CapacityScheduler 原理

冰心的小屋

YARN 资源调度 CapacityScheduler

为什么使用图进行关联运算比表Join更具吸引力?

TuGraphAnalytics

sql join 图计算 tugraph no-SQL

Mac电脑版Pd虚拟机18通用 Parallels Desktop 18密钥工具

胖墩儿不胖y

虚拟机 Mac软件 Parallels Desktop 虚拟机

首家!亚信科技AntDB数据库完成中国信通院数据库迁移工具专项测试

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库

PopChar for mac(特别字符输入工具) 9.5永久激活版

mac

苹果mac Windows软件 PopChar 特别字符输入工具

1分钟实现Redis数据迁移任务

NineData

redis 复制 迁移 不停机发布 NineData

开源社区赋能,Walrus 用户体验再升级

SEAL安全

开源 开源工具 Walrus 企业号9月PK榜

OpenHarmony社区运营报告(2023年8月)

OpenHarmony开发者

OpenHarmony

山东布谷科技直播app源码,QUIC协议:改善性能与安全性

山东布谷科技

性能优化 网络协议 安全性 QUIC 直播APP源码

对线面试官 - 硬件级别之再谈Volatile关键字的可见性

派大星

Java 面试题 volatile原理

Spring 中三种 BeanName 生成器!

江南一点雨

Java spring

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