摘要:根据IOT设备的需求,以及IOT OS需要满足的技术特征、现有IOT OS的来源,分别概述FreeRTOS、AliOS-Things、RT-Thread、Lite OS、Zephyr、Mbed OS、AWorksOS、HybridOS等8个IOT OS的特点。智能物联网(AIOT,AI+IOT)是人工智能与物联网的协同应用,据此分析IOT OS的发展方向。
关键字:物联网操作系统;IOT OS;智能物联网;AIOT
1 IOT 设备特点及IOT OS特征
2016年,WindRiver(风河系统公司)指出IOT设备的8大需求[1]:
不断调整和升级的架构(芯片?);适应不同种类的设备软件;设备安全;虚拟化;性能和可靠性;联网;丰富的UI;工业认证。
何小庆得出IOT OS的5大技术特征[2]
1) 管理“物”——物联网边缘节点上的嵌入式实时低功耗设备。
2) 泛在通信,无线和有线,近场和远距离的通信方式和协议。
3) 可维护性,OTA和远程维护。
4) 安全,设备、通信、云等的安全。
5) 云平台,远程管理,这是物联网大数据和人工智能的基础。
2 现有IOT操作系统
现行的IOT操作系统来源[1][3]:
1) 基于移动端操操作系统如Linux、Android、IOS等进行裁剪和定制,来适应物联网接入设备的需求。这些OS体积庞大、功耗较高,而且无法满足安全认证和实时性等要求。
2) 传统的嵌入式操作系统,FreeRTOS(亚马逊)、RT-Thread、uCos(以前是商业收费,现在也开源了)、ThreadX(微软)、VxWorks的变种。
3) 专门为IOT设计,SyberV、华为LiteOS、阿里AliOS-Things、Android Things、ARM Mbed OS。
2.1 FreeRTOS
FreeRTOS起源于英国人Richard Barry于2003年发布的开源的实时内核,发展历程如下。
2003~2016,传统嵌入式OS。
2017成为AWS开源项目,亚马逊增加IOT应用组件,连接云,变为IOT OS。
2016年,Micrium公司的µC/OS被Silicon Labs收购,出于竞争的担心,ST和NXP等知名的嵌入式芯片公司转向支持FreeRTOS[4]。
OS主要特点如下。
历史悠久,开发者众多,支持的CPU硬件架构特别多,达35种。
FreeRTOS有一些列软件,版本众多,包括开源版本、授权版本、安全版本(SafeRTOS)、Amazon开源IOT OS版本。
支持AWS边缘计算的功能(Greengrass)。
除了AWS,官方没有支持第三方云平台。
2.2 AliOS-Things
AliOS Things发布于2017年杭州云栖大会, 是AliOS家族旗下的、面向IoT领域的、高可伸缩的物联网操作系统。OS主要特点如下。
支持微内核基础上的POSIX实现,方便程序框架/程序库移植。
支持云端一体在线开发(灵活架构,自组网),提供IOT全链路开发、模拟和部署支持。
支持APP独立升级;组件化思想的多BIN或差分升级。内核、框架层、应用层三个独立的BIN文件,芯片厂商可以出厂预置内核,应用层只关心应用层开发,不关心硬件,方便移植。
支持可信执行环境(csky);支持ID2根身份证和秘钥;支持系统调用。
v1.1.1集成了自研的Bone Engine,它是一套为AliOS Things优化定制的JavaScript引擎,集成了JavaScript的编程及运行环境。
集成了IOT套件,Link Kit,Link Voice等阿里云IoT核心组件,产品可以访问阿里云服务。
支持的CPU架构一般。
2.3 RT-Thread
起源于上海睿赛德电子科技公司创始人和总经理熊谱翔于2006年创建的RT-Thread 开源实时操作系统项目,发展历程如下。
2011 年 RT-Thread 1.0 版本正式发布。
2015 年 2.0版本和现在名气很大的柿饼 GUI 捆绑发布。
2017 年发布 3.0,RT-Thread 全面启动 IoT 战略 。
OS特点如下。
柿饼UI,小型、现代化的图像库。
开源、社区化、中立,开放支持第三方云。
Nano版本和IOT版本。
集成开源JerryScript引擎,支持JavaScript开发。
组件比较丰富。
混合微内核架构正在内测[5],平台是柿饼M7的开发板,全志R11处理器,ARM Cortex-A7。
2.4 Lite OS
Huawei LiteOS是华为针对物联网领域推出的轻量级物联网操作系统,是华为物联网战略的重要组成部分,具备轻量级、低功耗、互联互通、组件丰富、快速开发等关键能力,为开发者提供 “一站式” 完整软件平台,有效降低开发门槛、缩短开发周期。发展历程如下,走过了内部产品-开源软件-IoT 解决方案发展之路。
2012 年华为开发支持公司内部消费产品的小型嵌入式操作系统 LiteOS。
2014 和 2015 年 LiteOS 与Huawei 手机和智能手表一同出货。
2016 年 Lite OS内核正式开源。
2017 年发布 LiteOS IoT 解决方案(即端云解决方案)
2018 年华为加速开发步伐,发布LiteOS SDK 2.1 和 Lite OS Studio 1.0(开发环境)。
2019以后,鸿蒙OS的架构中,LiteOS也是其内核之一(Linux、鸿蒙、LiteOS)。
OS主要特点:
OpenCPU架构,MCU和通信模组二合一,显著降低终端体积和终端成本,特别适用于NB-IOT应用场景和海思芯片,这是它的主要优势。
智能边缘项目KubeEdge,名字来源于Kube + Edge,顾名思义就是依托Kubernetes的容器编排和调度能力,实现云边协同、计算下沉、海量设备接入等。
AI引擎、JS引擎。
支持的CPU架构单一。
2.5 Zephyr
Zephy是2016年由Intel、Synopsys、NXP等公司发起的开源实时操作系统平台项目,现在由Linux基金会管理。Zephyr是一款小型且可扩展的操作系统,尤其适用于资源受限的硬件系统,可支持多种架构。
OS特点如下:
起点很高,来自风河的成熟代码。
代码结构和Linux内核很相似。
支持的CPU架构丰富。
安全设计方面,支持用户态/内核态;支持MPU;内核对象权限模型。
支持TEE,Armv8-M trustzone。
功能安全,打算通过IEC 61508和ISO 26262认证。
中间件丰富,支持很多协议。
2.6 Mbed OS
2014年,ARM发布了Mbed OS,试图基于Mbed OS建立一个庞大的物联网生态,以此来连接硬件厂商、软件服务商、云服务商以及开发者社区。OS特点如下。
面向ARM Cortex-M系列处理器。
版本从1.0、2.0、3.0,然后直接到5.0,6.0在计划中。
模块化的可配置软件栈,不配置则排除不必要的软件组件,进而降低内存要求。
使用C++作为程序设计语言。
在线编译,或者导出工程,用其他IDE编译,部分源码不开放。
内核uVisor运行在特权模式,内核创建隔离的安全域,安全域对内存和外设的访问权限有限制。
支持ARM PSA架构。
2017年ARM推出了mbed Edge,与mbed Cloud和mbed OS组成边缘计算的 IoT 方案 。
云服务pelion 也是在国外,影响了国人的使用。
2.7 AWorksOS
AWorksOS是ZLG(周立功,广州致远电子)历时12年开发的工业智能物联开发平台,特点如下。
AWorksOS是不开源的,内部核心功能组件都是以库的形式提供,相关接口通过头文件引出。
AWorksOS以SDK方式发布,伴随着特定开发板,SDK中包含了文档、工具、示例代码、模版工程等。
OS的发展,依托ZLG的AWTK开源GUI引擎。
分为“核心域”和“非核心域”,即“业务”和“技术”, 非核心域包括底层驱动、操作系统和组件;开发者忽略产品底层技术细节,专注“核心域”。
将MCU和OS的共性抽象为统一接口,应用实现“一次编程,终生使用,跨平台”。
支持的CPU很少,目前有ARM Cortex-M4/M7/A7,ARM9。
2.8 HybridOS
合璧操作系统(HybridOS)是北京飞漫软件于 2018 年 11 月发起的一个全新的开源项目。HybridOS 的目标是为物联网设备和云计算环境打造一个全新的操作系统,特点如下。
2019.11.18发布了第一个组件hiCairo;2019.12.10发布了了2D/3D的图形组件,包括hiMesa、hiDRM、hiDRMDrivers、以及hiCairo,这些和MiniGUI(最初由飞漫软件创始人魏永明开发,20年的发展历程,为 IoT 智能设备和嵌入式系统提供图形界面及交互实现)一起组成了HybridOS的图形栈;2020.3.29,随着MiniGUI 5.0的发布,HybridOS也升级了图形栈。
为IOT网络中的虚拟计算节点设计,故可运行在设备端、云端、客户端。
提供云端和客户端的接口,以及设备端与这两者通讯的协议栈。
支持python、JavaScipt、C/C++。
依托MiniGUI,增加数据库,以及其它复杂的图形处理。
2019.9.19宣布MiniGUI4.0.2支持RT-Thread,但是没找到相关验证的源码。
系统组件是damon进程;网络通信等协议栈作为系统的服务。
3 AI+IOT对操作系统提出的新课题
移动操作系统Android和Linux,无法满足工业安全认证和实时性要求;传统的嵌入式操作系统无法满足系统扩展、维护和应用的便捷需求;针对智能物联网(AIOT,AI+IOT)场景的广义的嵌入式操作系统和泛IOT OS技术正在探索和研究中[6]。
智能物联网是2018年兴起的概念[7],是人工智能与物联网的协同应用,人工智能使物联网获取感知与识别能力,物联网为人工智能提供训练算法的数据。AIOT中系统通过各种信息传感器实时采集各类信息(一般是在监控、互动、连接情景下的),在终端设备、边缘域或云中心通过机器学习对数据进行智能分析,包括定位、对比、预测、调度等。
AIOT中终端设备还需要具备智能特性,预计未来IOT OS会向着两个方向发展,一是大型、复杂、可配置,二是更小、更安全、硬化,则IOT OS需要满足如下要求。
1)云端协同/边缘计算架构
云端人工智能技术如何透过边缘计算与设备节点的 IOT OS结合起来[2];边缘节点管理和控制该场景中各种物联网设备和计算硬件[8],同时也支撑该场景中的应用层业务需求,提供基本的安全性。
2)人工智能,终端智能化,具备感知和交互能力
AI引擎,JS引擎,音频、图像算法。
3)终端虚拟化
轻量级容器。
4)功能安全
通过工业级认证,IEC 61508和ISO 26262。
5)信息安全
内核高度安全,通过形式化认证和安全认证[9],ARM Cortex-M33/M35P软核通过了EAL6+
认证[10]。内核支持用户态/特权态;进程MPU隔离;内核对象权限。
6)可信物联网,数据可信
结合区块链技术[11],确保端到端数据可信。终端、边缘、后端基础设施(云端)、后端应用程序的数据传递,确保可信。
7)可扩展的内核
大型、复杂、可配置:支持X86、ARM Cortex-A系列;
更小、更安全、硬化:支持极简的MCU等资源受限的设备。
8)APP单独管理
多BIN特征,内核、框架层、应用三个BIN文件,应用层不关心硬件。
9)高级语言支持
Micropython,JavaScript。
10)丰富的UI
占用资料少、界面流畅度高。
11)OS抽象层
支持POSIX、CMSIS RTOS
作者:wangyw
文章来源:博客园
审核编辑 黄昊宇
-
IOT
+关注
关注
187文章
4202浏览量
196680 -
物联网操作系统
+关注
关注
3文章
114浏览量
13353 -
智能物联网
+关注
关注
0文章
77浏览量
6401 -
IoT OS
+关注
关注
0文章
2浏览量
3789
发布评论请先 登录
相关推荐
评论