观点 | 物联网操作系统进展研究
再不点蓝字关注,机会就要飞走了哦
一、引言
战略性行业升级和规模化市场发展推动物联网应用进入新一轮发展浪潮,据Gartner预测,到2020年全球联网设备数量将达到260亿个,物联网市场规模达到1.9万亿美元。
面向物联网新型终端大量组网的需求,传统嵌入式操作系统由于封闭式的特点无法直接套用于物联网设备,移动端iOS和Android操作系统由于体积较大、功耗较高等原因也无法很好适配物联网终端,因此操作系统需进行新一轮发展创新。架构上,为实现通用化,架构逐渐趋于一致,并具备物联网独有特点;技术上,面向新型终端安全性、低功耗、互联性的需求,操作系统不断提升自身性能。近年来,新兴操作系统ARM的Mbed,微软的Win10 IoT、谷歌的Fuchsia等皆在物联网领域有所发展与应用,我国华为的liteOS、阿里的yunOS等也表现较好。
二、物联网操作系统发展特征
2.1 操作系统与物联网平台成为生态双核心
在移动互联网时代,产业和生态的基点是智能终端,大部分价值在众多APP应用,操作系统为应用提供统一接口,作为应用框架成为生态核心。而物联网以连接和数据为主,汇聚和处理数据成为产业发展重心,操作系统作为数据汇聚接入接口,生态定位发生改变。
物联网生态价值的向上转移和操作系统生态定位的改变,导致物联网的生态核心从单核向双核转变。一方面,物联网以大数据服务为主,注重海量数据的云端互联,物联网平台的生态价值提升,成为物联网生态的核心环节。另一方面,物联网的生态模式由移动互联网衍生而来,物联网操作系统仍是屏蔽底层硬件差异、管理软硬件的重要工具,其影响力依然存在。同时,数据的采集和互联,需要底层传感器、上层应用和云端的能力,操作系统提供接口,是数据接入汇聚处理的重要支撑。
2.2 面向物联网,操作系统出现低功耗、安全性、互通性等新需求
随着新兴物联网应用服务的兴起,服务对象逐步变为大众消费者,新兴物联网在运维模式、网络架构、数据处理上都与传统的专用模式有很大区别,物联网系统从独立封闭走向开放互联。同时,随着通信、人工智能、自动驾驶等技术不断成熟发展,物联网终端智能化不断加深,亟待提升能力的终端设备给物联网操作系统提出了新需求。一是面向不同厂家的设备,为实现互联互通和互操作,操作系统必须实现互通性要求;二是物联网设备资源受限,低功耗成为物联网操作系统的必备特性;三是联网设备不断增加,网络安全性亟待提升,从操作系统层面保障软硬件安全成为必须;四是物联网设备形态功能各异,需增加软硬件的支撑能力;五是针对大量异构终端,物联网操作系统需实现模块化要求,实现可裁剪和迅速定制。
2.3 物联网操作系统呈现3种发展路径
由于现有操作系统很难完全匹配物联网应用需求,目前物联网操作系统领域涌现出3条技术路径。一条是基于Android、iOS等操作系统进行裁剪和定制,来适应物联网接入设备的需求;另一条技术路线是以传统嵌入式操作系统和实时操作系统为基础,通过增加设备联网等功能,满足物联网接入设备互联需求,形成新的嵌入式操作系统;第三条技术路线是面向物联网产生的新型操作系统。
三、国内外新型物联网操作系统最新进展研究
3.1 操作系统技术面向物联网新需求不断升级优化
(1)操作系统架构区别于互联网,面向物联网应用逐步趋于一致
物联网操作系统由内核、外围功能组件、物联网协同框架、通用智能引擎、集成开发环境等子模块组成。这些子模块之间相互配合,又互相形成层次依赖关系,共同组成一个完整的面向各种各样物联网应用场景的软件基础平台。
内核层面上实现伸缩性、安全性、低功耗。伸缩性方面,内核通过重新编译和二进制模块选择加载的方式适应不同配置的硬件平台,实现尺寸在K到M级范围内的伸缩。安全性上,支持内存保护(VMM等机制)、异常管理等机制,以在必要时隔离错误的代码,提供内核统计与监控功能,为维护或开发人员提供故障定位的工具。低功耗上,常用两种技术手段实现节能,一是在CPU空闲时,降低CPU运行频率或关闭CPU;二是最大程度地降低中断发生频率。
增加外围模块,支持连接、图形等基本功能。为实现轻量级,物联网操作系统功能模块采取按需提供的方式。因此,物联网操作系统把文件系统、TCP/IP网络协议栈、数据库等功能组件从内核中独立出来,组成外围功能组件。在很多情况下,功能组件用到一到两个就可以满足需求,其它的功能组件必须裁剪掉。
通过协同框架,实现物联网设备协同交互。物联网设备之间需相互交互和协同,以达到单一物联网设备无法完成的功能。而物联网协同框架,就是为物联网设备之间的协同提供了技术基础,包括如下功能:物联网设备发现机制、物联网设备的初始化与配置管理、物联网设备之间的协同交互、云端服务等。
(2)面向物联网终端互连,互联互通性成为重要发力方向
兼容物联网通信协议接口,完善协同框架功能。由于物联网是万物互联的场景,设备之间互联互通需求很大;同时,物联网连接场景较多,如智能家居场景下,短距离高速率通信将各家居设备和手机、PC等终端相连,而智能物流场景下,需要覆盖范围广且功率低的通信协议以支持长距离的传输。因此,物联网操作系统需支持更多新型的物联网通信协议,以便互联互通。
融合操作系统初现,前景仍有待观望。微软Win10 IoT通过设备系列实现API共用,开发工具获取通用API,下载安装时自动识别设备环境并编译出专用API,保证在代码统一编写的同时,保持自身特有属性。但目前用户习惯多停留在Win32系统上,同时微软的物联网终端占有率较低,因此厂商不愿意投入人力物力发展跨终端系统。谷歌推出Fuchsia,采用全新Magenta内核、Escher渲染器以及Dart语言,支持32位和64位的ARM处理器和64位PC处理器,打造全新融合操作系统。目前,该系统尚在开发之中,并且Android建立的用户习惯和生态习惯短期内较难改变,该系统发展前景仍有待观测。
(3)低功耗技术逐步成熟,形成不同解决方案
由于物联网设备大多数为无线设备,因此需要维持低功耗以实现长时间使用。目前,各操作系统企业纷纷在低功耗上发力,欲实现操作系统层面的低功耗。如华为推出的liteOS,功耗仅为10~3mW;Mbed与Silicon Labs合作,推出低功耗Mbed OS。具体技术方面,物联网操作系统从调度机制、传输机制和电源管理三方面入手,实现低功耗。首先,调度机制一改原来Linux实时调度方式,采用“集中式任务调度”。其次,在传输方式上,通过网络协议栈、路由算法优化等方法来降低系统功耗。最后在电池管理上,进行深度休眠模式的自动选择,显著降低能耗。
(4)软硬件结合提升物联网安全性
以ARM-M系列TrustZone技术为基础,保证硬件安全。2015年底,ARM将Trustzone技术引到M系列芯片,从而给物联网安全提供了硬件保障。TrustZone 技术将SoC的硬件资源和软件资源进行了划分,并将其隔离为两个执行环境,即安全环境和普通环境,安全环境执行安全子系统中的任务,如存储密钥、加密算法软件库等敏感事物,普通环境则处理剩下的其它所有事务。不同于A系列的TrustZone,M系列的环境切换是基于硬件安全状态的切换,切换速度快,切合物联网低功耗、实时性的需求。
软件层面采用隔离手段保证安全。基于软件的安全方案则是通过数据加密或在操作系统中植入安全特性等方法实现系统安全。如Mbed OS利用uVisor将部分代码分成不同的BOX,每个程序的BOX之间会有不同权限的控制,跨BOX之间的权限访问在设备出厂之初固化操作系统之内。
(5)面向新型智能化终端,提升软硬件支撑能力
车载操作系统面向车联网和自动驾驶,提高连接性,增加ADAS接口。联网化方面,汽车的联网化逐步成为发展趋势,操作系统需从底层为车联网提供通信支持,需支持V2X车载通信协议,从车内网,车际网,移动车载网三方面增强底层数据接入、处理能力。智能化方面,随着自动驾驶技术不断进步,车载操作系统也加强与ECU的耦合,传感数据通过网络接口与计算系统相连,操作系统管理调度计算资源,为自动驾驶提供软件基础。
机器人操作系统面向人工智能,引入AI引擎。从底层硬件上看,机器人为增强自身运动控制等能力,不断加强感知功能,对底层传感提出了更多要求,操作系统不断增强对底层硬件的支持。从上层软件上看,机器人面向不同的应用场景,推出多种原生应用,打造机器人操作系统生态,操作系统提供代码库等接口,以支持应用。
3.2 物联网操作系统专利申请逐步增长,但仍较薄弱
目前,据中国信息通信研究院统计,从2013年起物联网操作系统专利申请量呈爆发式增长,由2012年的86个激增到2013年的189个,并且还在呈现逐步增长的趋势。专利围绕iOS、Andriod等移动操作系统,以及Contiki、Tiny OS、ARM Mbed、华为LiteOS等物联网操作系统,其中部分为中国企业或个人申请的专利。然而相比于传感器、有线通信技术和短距离通信技术等专利申请量较高的领域,在物联网技术中,关注于物联网操作系统的技术专利仍然较少,技术发展创新节奏仍然较慢。
3.3 物联网操作系统呈现以开源为主、闭源并存的发展趋势
一方面,从产业上看,我国物联网目前尚处于发展期,需降低技术门槛加速普及,开源作为生态构建手段,有利于加速我国物联网发展。从技术上看,由于物联网终端形态各异、连接互通性要求高、碎片化严重等特点,导致软硬件开发兼容性要求较高,通过开源可以为兼容提供基础。LiteOS、Brillo、Tizen等新兴物联网操作系统采取开源策略,如Liteos代码开源,构建了包括芯片、模块、开源硬件、创客以及软件开发者等玩家的开源社区。但为了保证安全性和掌握控制权,某些操作系统的开源模式会类似于手机安卓“AOSP开源,GMS闭源”的方式,大部分开源开放,关键部分闭源授权,如Mbed免费且部分开源,固件当中仍然存在二进制机制,而且其中一部分以受到严密保护的闭源驱动程序形式提供给由芯片制造商推出的系统芯片产品。
另一方面,某些特殊行业存在自身特殊需求,如航天、水电等领域安全性保密性要求较高,操作系统闭源策略仍需并存。
3.4 围绕操作系统和物联网平台,物联网生态逐步建立
由于物联网生态核心逐步向操作系统和物联网平台双核心转变,布局新型物联网操作系统企业纷纷配套物联网平台建设,并根据自身特点各有侧重,以打造物联网生态系统。
侧重以操作系统为核心。依托手机、PC端操作系统成熟生态的强大影响力,企业在布局物联网操作系统时,侧重以操作系统为核心,将手机/PC端技术和生态优势转移到物联网。如苹果采用完全封闭的发展策略,先后推出CarPlay、Watch OS、HealthKit等,将iOS系统及应用生态深度整合到汽车、可穿戴设备当中,并通过资金支持、技术支持等方式深度参与终端上游元器件的开发、生产和制造过程,打造从终端到应用的极致用户体验,如图1所示。
侧重以操作系统与物联网平台为核心。新型操作系统专为物联网设计,新产品需快速建立完整产业链以切入市场;同时,企业的主业大多数为互联网或连接,在云端互联上有自身优势,因此新型操作系统侧重以双核心构建物联网生态系统。如ARM以Cortex®-M架构、Mbed OS、设备管理系统和开源社区为核心布局物联网生态,如通过物理IP包授权、处理器授权、架构/指令集授权与MCU芯片提供商建立紧密合作关系;以部分开源、支持二次开发的方式向合作伙伴免费提供mbed OS;与IBM、stream、爱立信、KDDI等多家云服务商合作打造统一开发环境吸引第三方开发者;与系统集成商合作面向行业用户提供多种物联网解决方案等,如图2所示。
侧重以物联网平台为核心。一方面,嵌入式操作系统自身交互性、互通性等性能较弱;另一方面,此类操作系统多应用于工业等行业领域,智能化对行业应用的大规模组网需求提升。因此,传统嵌入式操作系统需借助物联网平台,增强连接、分析、处理能力。
四、我国物联网操作系统的发展建议
4.1 我国物联网操作系统的发展机遇
增量市场带来大量新的机会。目前,并没有一款成熟产品能够完全适应物联网应用,即使是微软与风河等传统操作系统公司,也需要调整自己的产品线来适应新市场。我国物联网产业快速发展,成为全球最大的市场,因此物联网操作系统增量市场的很大一部分必将来自中国。
物联网操作系统与云计算和移动互联网结合紧密。目前开发物联网操作系统的中国厂商都有互联网和云端的相关背景,依托此特点可进行优势转移。如阿里巴巴依托阿里云推出的yunOS,并配套Yoc开放平台;华为依托华为云,推出liteOS和Oceanconnect物联网平台,并且依托本身连接优势,大力推行低功耗广域网,在连接上占据优势。
4.2 我国物联网操作系统应用情况
我国物联网操作系统目前在不同领域发展较不同步。在智能家居领域,庆科Mico与阿里yunOS发展较好,与底层硬件和家电厂商初步形成生态。阿里云以Yun OS和云平台为核心,在兼容所有主流移动芯片架构、MCU平台的基础上,采用组建商业联盟、开放运营模式、创新产品服务策略打通智能家居等多个终端领域,并通过应用预装、大数据精准营销等手段形成良性的利益分成机制;目前,阿里云与超过40家硬件厂商建立合作关系,推出较多智能家居成型产品,且应用较好。在机器人领域,出现应用于机器人上人工智能级OS,但暂未形成生态。如人工智能创业团队图灵机器人对外发布了一款人工智能机器人操作系统Turing OS。车载系统中Wince、QNX和安卓占据大部分市场份额,国内新型操作系统暂未有成型产品。
4.3 我国物联网操作系统发展建议
(1)依托“物联网”“智能硬件”,借助政策/市场引导支持
我国重量级物联网操作系统发展较缓,依托智能硬件、智慧城市等政策出台,借助政策引导,建立专项基金,大力加快重量级操作系统发展。轻量级物联网操作系统发展较好,随着市场需求不断刺激,推动操作系统面向应用场景和细分市场,进行差异化开发;联动上下游,实现协同发展。
(2)加快创新技术研发
关注物联网操作系统技术领域,大力发展安全、低功耗、互联互通相关技术;重量级操作系统逐步扩展功能性,与人工智能、数据分析等前沿技术紧耦合。安全性上,依托trustzone技术,利用隔离思想,从操作系统层面加强软件安全;同时,利用TLS打造内核+传输+云端全生命周期安全体系。低功耗上,完善调度和传输机制上低功耗方案,注重低功耗和实时性之间平衡发展,加强低功耗机制创新。互联性上,借力国内低功耗广域网发展优势,大力加强操作系统对连接技术的支撑能力;在重量级操作系统内部耦合云应用引擎,加强云端互联。
(3)加强与产业链各环节合作
围绕操作系统和物联网平台,加强操作系统与硬件企业、开发者和平台运营企业合作,建立物联网生态。一是加强与硬件企业合作。定义标准的硬件驱动程序接口,实现内核与硬件驱动程序的分离。通过定义标准API接口,实现应用程序与硬件的分离。操作系统通过这种合作,能够更加了解操作系统的主要需求来源,在硬件驱动、软硬分离、终端适配、协同等方面更加有的放矢;二是加强与应用开发者合作。将解决方案结合特定场景进行优化,共同进行各自算法和代码优化;三是加强与平台运营企业合作。终端侧操作系统需要配合平台侧实现状态查询、配置管理、告警管理、传感器管理等功能,合作的加强可推动“操作系统+物联网平台”生态的快速建立。
参考文献
[1] IEC. IoT 2020: Smart and Secure IoT Platform.
[2] VDC reseach. The Global Market for IoT & Embedded Operating Systems.
本文原载于2017年第5期《电信网技术》。
作者简介
王玫:中国信息通信研究院信息化与工业化融合研究所工程师。联系方式:wangmei@caict.ac.cn。
推荐阅读
快,点击阅读原文,一起涨姿势~