IOT OS比较,分析IOT OS的发展方向

摘要:根据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
文章来源:博客园


全球知名半导体制造商罗姆亮相德国慕尼黑电子展
基于DSP芯片TMS320C6713实现吉他识音器的应用方案设计
【智能结合,一机两用】板管一体光纤激光切割机
S300 Mini - 世界上最小的安全激光扫描器
福禄克FLUKE 1587CFC绝缘万用表的性能特点及应用优势
IOT OS比较,分析IOT OS的发展方向
y电容和瓷片电容的区别
嵌入式视频通信的兴起:视频应用程序趋势良好
小米6最新消息:小米旗舰处理器首曝!小米6s有望首发
华为p50pro对比苹果13pro更愿意选择哪一款
OPPO沈义人强调适合自己才是最好 称自己就在用Find X2标准版
功能实用|编辑简单|CRT直坐标机器人示教编程案例
整体性能与整体系统设计可用性的基础
老教授眼里的新能源车
iPhoneX怎么样 值不值得买
AM400金属增材制造系统专门用于口腔产品制造的3D打印系统
猖獗的破解游戏市场,完善的VR游戏灰色产业链
如何利用区块链技术来抵御DDOS攻击
FPC平板切割与刀模和激光切割相比的优势有哪些
UniPro Jira敏捷开发两大优势 :迭代管理+组合查询