乾明 发自 凹非寺
量子位 报道 公众号 QbitAI
鹅厂又开源,这次是一个操作系统,面向物联网场景,名为TencentOS-tiny。
项目如其名,核心亮点就是 tiny——最小体积仅 1.8 KB,功耗最低 2 微安。
而且合作伙伴众多,已经支持意法半导体、恩智浦等多家厂商的多种芯片和模组。
项目放出之后,便引发大量关注,一举登上 GitHub 热榜,获得 1200+ 标星,300+Fork。
TencentOS-tiny,为 IoT 而生
对于开源这一物联网系统,腾讯也给出了官方的说法:
这不仅可以将腾讯在物联网领域的技术和经验与全球开发者分享,还能汲取全球物联网领域的优秀成果和创新理念,最终推动整体物联网生态的繁荣以及万物智联时代的到来。
当然,这背后也是应势而为,物联网已经成为了当下的热门风口之一,而且有极大的市场潜力。
根据《中国物联网发展年度报告》,去年中国物联网市场容量已经超过 1 万亿,到 2020 年,中国物联网市场容量可望超过 1.5 万亿。
在整个产业链中,终端侧的操作系统至关重要,直接对接底层物联网设备,是物联网系统中“智能”的关键。
与其他平台上的操作系统不同,物联网领域的操作系统面向的是各种复杂的场景与设备,而且各个设备能够提供的算力、电池以及存储空间也大有不同,其中最显著的特征就是“弱”、“小”、“少”。
这就是腾讯推出的 TencentOS tiny 的切入点:
首先,存储与资源占用上,提供业界最精简的 RTOS 内核,最少资源占用为 RAM 0.6 KB,ROM 1.8 KB。
在类似烟感和红外等实际场景下,TencentOS tiny 的资源占用仅为:RAM 2.69 KB、ROM 12.38 KB,来降低硬件资源占用。
其次在功耗上,应用了高效功耗管理框架,可以针对不同场景降低功耗。
比如内部的定时机制在发现业务没有运行的时候,会自动启动休眠状态,降低功耗。官方实测数据,最低的休眠功耗仅有 2 微安。
同时,这方面也给开发者提供了“操作空间”,他们可以根据业务场景选择可参考的低功耗方案,降低设备耗电,延长设备寿命。
在追求低资源占用以及低功耗的同时,腾讯也在 TencentOS tiny 中支持了不少功能,比如复杂的任务管理、实时调度、时间管理、中断管理、内存管理、异常处理等等。
这样系统,是怎么实现的呢?我们一起来看看其背后的架构。
整体架构放出,植根于腾讯云
根据腾讯放在 GitHub 上的文件,整个 TencentOS tiny 的架构一共分为 8 个部分,整体架构图如下所示:
从下到上依次是:CPU 库(当前主要支持 ARM Cortex M0/3/4/7)、驱动管理层 (包括板级支持包、硬件抽象和设备驱动)、内核 (任务管理、实时调度等模块)、支持不同网络硬件的 IoT 协议栈、安全框架、组件框架、文件系统、开放 API(规划开发中)、示例应用。
其中,IoT 协议栈、安全框架、开放 API 等功能,都与腾讯云密切相关,深度集成。
此外,腾讯也基于 TencentOS tiny 规划了一个全链条的 IoT 开发功能:
结合腾讯云物联网开发平台 IoT Explorer,加上之前已经建设完成的国内最大规模 LoRa 网络。
腾讯云物联网已经彻底打通从芯片通讯开发、网络支撑服务,物理设备定义管理,数据分析和多场景应用开发等一站式、全链条 IoT 云开发服务能力。
是的,如果想要更好地发挥这一开源系统能量与作用,你最好选择腾讯云,因为这样效果更好,效率更高。
这种依靠软件开源,用更好的性能吸引更多开发者的策略,已经是科技巨头围绕自己核心业务构建生态的常用手法,比如阿里、百度、华为等等都有类似的动作出现。
与此同时,寻找合作伙伴也是这些科技巨头推动生态建设的关键。
TencentOS tiny 也不例外,官方宣称已经支持意法半导体、恩智浦、华大半导体、瑞兴恒方、国民技术等主流厂商多种芯片和模组。
如果你有兴趣,可以看看~
GitHub 项目链接:
https://github.com/Tencent/TencentOS-tiny