|
终端设备开源操作系统,已从移动手机市场转向物联网市场。
iot终端操作系统
文章目录
前言一、物联网终端操作系统的特点二、常见的物联网操作系统
1.两大派系2.诸多厂家
1. 华为鸿蒙HarmonyOS2. 华为LiteOS3. 阿里- AliOS Things4. TencentOS tiny5. RTthread6. TinyOS7. Amazon FreeRTOS8.NuttX9. Fuchsia10. PX411.Azure RTOS ThreadX
总结
<hr>前言
移动市场,已经由两大巨头占据:苹果公司的iOS和Google的安卓。一个闭源,一个开源。开源的移动操作系统,被国产手机华为、vivo、oppo、小米等学习、微创新并在市场上发扬光大。
移动操作系统,市场容量是由购机人数*换机率来决定的。购机人群的上限就是人类人口总和,哈哈,再减去低龄儿童、青少年、一部分老年人。经过十几年的发展,移动操作系统基本稳定。
科技要进步,商业要发展,所以转向潜力巨大、有想象空间的物联网终端设备操作系统。物联网终端设备,数量非常大,应用多样性,再加上开源项目的助推,出现了终端操作系统的繁荣。
<hr>一、物联网终端操作系统的特点
1、内核尺寸伸缩性以及整体架构的可扩展性。
物联网的发展已经进入爆发期,面对一轮轮的技术革新甚至换代时,整体架构的灵活性和可扩展性可以说决定了一个企业的商业命脉。同时,为了适应不同的应用场景下的技术要求,内核尺寸的伸缩性也是需要面对的问题。
2、内核的实时性。
对于非抢占式调度方式的内核很难满足关键性动作的实时性要求,比如常见的中断响应和多任务调度等情况下,操作系统的实时性便有了更高的要求,特别是对于大多数的物联网应用而言,有意义的响应时间决定了市场的接受度。
3、安全性和高可靠性。
安全性和可靠性是一个系统的基本需求,在物联网的应用环境下,面对海量节点可以说设备一经投入使用,就很难再去维护。所以平均无故障运行时间和在一些严苛环境下的性能表现就显得尤为重要。物联网应用环境具备自动化程度高、人为干预少的特点,这要求内核必须足够可靠,以支撑长时间的独立运行。其次操作系统的安全性和稳定性与物联网设备的安全性和稳定性息息相关。
4、低功耗。
由于物联网的应用场景和网络节点的数量增多,低功耗是一个非常关键的指标。所以在整体架构设计的时候,就需要加入一些休眠模式、节能模式、降频模式等逻辑判断,以延长续航能力,或者考虑太阳能供电。
二、常见的物联网操作系统
这里说的物联网操作系统,指的是设备端的,或者说硬件端。不包含云平台。
在下一个时代,物联网时代,物联网终端操作系统成为巨头厂商分外关注、积极部署的一步棋。或者说,巨头开源物联网终端操作系统,让硬件开发者免费使用,让更多的厂家加入到他的生态中,使用他的云平台及service,通过平台、存储、数据库、其他服务等来实现盈利和业务持续增长。
1.两大派系
目前,市面上的物联网终端操作系统基本形成了两大核心流派:
1、由传统的嵌入式RTOS(实时操作系统)发展而来,典型代表:RT-Thread、Lite OS。
优点:在物联网终端上已经广泛支持,硬件推广成本低。
缺点:软件开发专业度极高,软硬件开发难以隔离,对专业软件公司进入这个领域造成困难。
国内这几年做得最好的是RT-Thread,目前发展势头非常快。
2、由互联网公司的云平台延伸而来,典型代表:Ali OS Things、Android Things、Tencent OS tiny。
优点:天生与互联网服务相结合,方便对接互联网应用。
缺点:基本上是各家产品对各家服务,难以做到平台中立,对软件开发者来说功能性受到了限制。
2.诸多厂家
物联网终端操作系统,目前还是群雄逐鹿的市场状况,以下排名不分先后。也存在好学生先交了作业,后来者居上,把生态和产业化做的风生水起的。在此,向先交作业的好学生致敬!
1. 华为鸿蒙HarmonyOS
先说让国人傲娇的、炙手可热的鸿蒙。官宣:“HarmonyOS 2.0,连接无限可能”。
OpenHarmony是开放原子开源基金会(OpenAtom Foundation)旗下开源项目,定位是一款面向全场景的开源分布式操作系统,第一个版本支持128K-128M设备上运行。
针对设备开发者,OpenHarmony采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求。可运行在百K级别的资源受限设备和穿戴类设备,也可运行在百M级别的智能家用摄像头/行车记录仪等相对资源丰富的设备。
2. 华为LiteOS
Huawei LiteOS是华为面向物联网领域开发的一个基于实时内核的轻量级操作系统,现有基础内核支持任务管理、内存管理、时间管理、通信机制、中断管理、队列管理、事件管理、定时器等操作系统基础组件,更好地支持低功耗场景,支持tickless机制,支持定时器对齐。
同时提供端云协同能力,对接华为云,集成了LwM2M、CoAP、mbedtls、LwIP全套IoT互联协议栈,且在LwM2M的基础上,提供了AgentTiny模块,用户只需关注自身的应用,而不必关注LwM2M实现细节,直接使用AgentTiny封装的接口即可简单快速实现与云平台安全可靠的连接。
3. 阿里- AliOS Things
AliOS Things是面向IoT领域的轻量级物联网嵌入式操作系统。致力于搭建云端一体化IoT基础设备。具备极致性能,极简开发、云端一体、丰富组件、安全防护等关键能力,并支持终端设备连接到阿里云Link,可广泛应用在智能家居、智慧城市、新出行等领域。
4. TencentOS tiny
TencentOS tiny是腾讯面向物联网领域开发的实时操作系统,具有低功耗,低资源占用,模块化,安全可靠等特点,可有效提升物联网终端产品开发效率。TencentOS tiny 提供精简的 RTOS 内核,内核组件可裁剪可配置,可快速移植到多种主流 MCU (如STM32全系列)及模组芯片上。而且,基于RTOS内核提供了丰富的物联网组件,内部集成主流物联网协议栈(如 CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT 等),可助力物联网终端设备及业务快速接入腾讯云物联网平台。
5. RTthread
RT-Thread诞生于2006年,是一款以开源、中立、社区化发展起来的物联网操作系统。 RT-Thread主要采用 C 语言编写,浅显易懂,且具有方便移植的特性。它提供了非常强的可伸缩能力:从一个可以运行在ARM Cortex-M0芯片上的极小内核,到中等的ARM Cortex-M3/4/7系统,甚至是运行于MIPS32、ARM Cortex-A系列处理器上功能丰富系统。
6. TinyOS
Tiny OS是UC Berkeley(加州大学伯克利分校)开发的开放源代码操作系统,专为嵌入式无线传感网络设计,操作系统基于构件(component-based)的架构使得快速的更新成为可能,而这又减小了受传感网络存储器限制的代码长度。Tiny OS是一个具备较高专业性,专门为低功耗无线设备设计的操作系统,主要应用于传感器网络、普适计算、个人局域网、智能家居和智能测量等领域。MCU目标设备可以“只有几KB内存和数十KB代码空间”。事件驱动的TinyOS由nesC这种C语言来编写,它经常被研究低功耗无线网络(包括多跳网络)的研究人员使用。据项目组自己承认,“计算密集型的应用程序可能很难编写。”项目致力于提供Cortex-M3支持,不过眼下它仍是为低端MCU和无线电芯片设计的。
7. Amazon FreeRTOS
FreeRTOS很快就能在嵌入式开发平台中与Linux相匹敌,它特别适用于开发物联网终端设备。FreeRTOS缺少Linux功能,比如设备驱动程序、用户帐户以及高级的网络和内存管理。然而,它占用的资源比Linux少得多,更不用说与VxWorks这样的主流实时操作系统相比了,它还提供开源GPL许可证。FreeRTOS可以在内存不到0.5KB、ROM为5-10KB的设备上运行,不过与TCP/IP架构结合使用更为常见,它更像是24KB内存和60KB闪存。
8.NuttX
NuttX――非限制性的、采用BSD许可证的NuttX主要以此出名:它是面向开源无人机的最常见的实时操作系统,在APM/ArduPilot和PX4 UAV平台上运行,它们都是Dronecode平台的一部分。NuttX还广泛用于其他资源受限制的嵌入式系统中。虽然它支持x86、 Cortex-A5及-A8平台,但这款基于POSIX和ANSI的操作系统主要针对Cortex-M MCU。 NuttX完全抢占式,有固定的优先级、轮询和偶发调度。该操作系统号称是“小巧的Linux通用型操作系统,但大大精简了功能特性。”
9. Fuchsia
Fuchsia――谷歌的这款最新开源操作系统。Fuchsia与Linux毫无关系,但是基于旨在与面向MCU的操作系统(比如FreeRTOS)兼容的LK发行版,这让许多人猜测它是一款物联网操作系统。不过,Fuchsia还支持移动设备和笔记本电脑,所以谷歌对这个处于早期阶段的项目方面抱有极大的野心。
10. PX4
PX4是一款致力于为学术界、业余爱好者和产业社区提供低成本、高性能的无人机飞行控制解决方案。它由苏黎世联邦理工学院计算机视觉与几何实验室PIXHAWK项目支持,并得到了自主系统实验室和自动控制实验室的支持,以及一些出色的个人也参与其中,包括 3D Robotics 和 international 3DR distributors的成员。PX4无人机中间件平台,它提供运行的驱动程序和中间件无人机。PX4广泛用于从消费型无人机到工业应用的各种用例。
11.Azure RTOS ThreadX
这个先进的实时操作系统(RTOS)是专为嵌入式应用而设计的。它提供的多种好处包括高级调度工具、消息传递、中断管理和消息传递服务。Azure RTOS Threadx有许多高级特性,包括picokernel架构、抢占阈值、事件链和一组丰富的系统服务。对接微软的Azure云。
。。。。。。
总结
目前还没有一款物联网终端操作系统,能够一统天下,可以支持同类设备的各种跨场景应用。将物联网作为核心赛道的企业往往会布局“云、边、端”多款IoT操作系统,比如:
华为的LiteOS、鸿蒙OS和华为云,阿里的AliOS Things、Link Edge和阿里云,谷歌的Android Things、Fuchsia和谷歌云。
再次强调一下,本文只列举物联网终端OS,在物联网的三层架构体系统,属于设备端。不包含云平台OS,不同于终端OS,云端OS一般都不开源。云平台源码合作,请打开链接。
【参考文献】
https://club.huawei.com/thread-24934921-1-1.htmlhttps://www.osrtos.com/https://www.zephyrproject.org/http://www.duobee.com/src/index.htmlhttps://docs.microsoft.com/zh-cn/azure/rtos/threadx/https://www.freertos.org/2020/11/whats-new-in-the-202011-00-freertos-release.html
开源云平台源代码 |
|