物联网操作系统,物联网发展不可或缺的微引擎

发布时间:2016-09-12 作者:陈巍(中兴通讯)

  物联网(IoT)是新一代信息技术的重要组成部分,也是信息化时代的重要发展阶段。简而言之,物联网就是物物相连的互联网。这里包含两层意思:


  第一,物联网的核心和基础仍然是互联网,是在互联网基础上延伸和扩展的网络;


  第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是物物相息。


  物联网首先要解决的是“连接、区别、识别、沟通、操作”这五大问题,只有这些问题解决了,才能继续涉及安全性、易用性、低成本等问题。而传统的PC操作系统、网络操作系统和嵌入式操作系统等均无法有效解决以上问题。下面,我们从物联网面临的主要问题出发,分析物联网操作系统(OS)的特点和属性。


物联网OS的定义及特征

物联网设备的特点


  物联网连接的设备不再局限于传统的手机等设备,更多的智能硬件、感知设备正在和即将被部署,这其中包含海量的传感器等资源严重受限设备。这类设备具备以下典型特点:


  ●   CPU频率在兆赫兹级别;


  ●   RAM/Flash资源在千比特级别;


  ●   电池供电;


  ●   长生命周期。


物联网的需求变化


  针对资源受限设备的特点,开源组织和芯片厂家都在努力推出物联网应用的开源操作系统,主要包括:FreeRTOS、Contiki、RIOT、Wind River Helix、ARM mbed等。以前的物联网应用采用垂直、沙漏模型,厂商提供端到端的解决方案,这些方案通常都是私有架构、私有连接协议、厂商自定义安全机制等。而当今的物联网概念,更加强调互联互通、标准开放的物联网平台。


  资源受限设备的功能通常并不复杂,厂商、开发者使用芯片厂商提供的操作系统就能完成设备和应用开发,这种模式在以前的部署中问题不大,厂商只需考虑与自有平台对接,无需与其他厂商设备互联互通,设备升级更新不频繁。但在目前物联网设备激增的情况下,该模式已经不适应时代需求:


  ●   快速升级


  设备硬件升级意味着移植、适配等繁琐的工作,也意味着成本的增加和较长的上市周期。


  ●   互联互通


  不同的应用场景在网络连接、互联互通上对应不同的方案,网络协议栈异常复杂,最好的解决方式是提供操作系统平台支撑。


  ●   系统安全


  随着更多设备的联网,协同效应也就越明显,但是系统整体安全风险也越大。任何一个存在安全漏洞的设备,都是系统潜在的入侵点,亟需一个具有安全机制的操作系统平台。


  ●   设备管理


  物联网设备,具有部署数量众多、部署地理位置分散的显著特点,迫切需要通用的设备管理平台服务,为物联网设备提供远程部署、配置、信息收集、升级等功能。


  ●   应用开发与调试


  传统的物联网应用开发都是使用芯片厂家提供的开发工具包,而物联网不限定接入设备的厂家,因此不便于开发和调试。随着基础物联网平台的不断发展,高效的物联网应用开发和调试环境将会成为用户的急迫需求。


  综上所述,在物联网飞速发展和水平化转型的大背景下,运行在资源受限设备之上的操作系统内涵也将不断丰富,例如硬件抽象、安全、协议连接、互联互通、设备管理等。


物联网层次结构中的OS


  物联网在互联网“人与人”之间的信息交换和共享基础上,进一步扩展,实现“物与物”“人与物”之间的信息交换和共享。图1为物联网层次结构。


  物联网可分为3个层次:终端应用层、网络层和感知层。其中最能体现物联网特征的,就是物联网的感知层。感知层由各种传感器、协议转换网关、通信网关、智能终端设备组成。这些终端大部分都是微型计算机。物联网OS,就是运行在这些终端上,对终端进行控制和管理,并提供统一编程接口的操作系统软件。


  具体来说,物联网OS除具备传统OS的设备资源管理功能外,还具备下列功能:


  ●   屏蔽物联网碎片化的特征,提供统一的编程接口;


  ●   物联网生态环境培育;


  ●   降低物联网应用开发的成本和时间;


  ●   为物联网统一管理奠定基础。


中兴通讯物联网OS架构设计

物联网OS的分层结构


  物联网架构正在由原来的垂直沙漏模型向水平模型转化,从水平化角度看,其发展趋势是更重视设备管理和设备连接性,不再拘泥于特定OS的功能。如,Wind River和ARM都将自己的物联网平台定位在提供连接性和设备管理上。


  中兴通讯物联网OS采用水平化分层架构模式,如图2所示。


  该架构最下层是目前支持的硬件微控制单元(MCU),即ARM的Cortex-M系列;在其上是嵌入式内核;内核之上是中间层,它由安全模块、设备管理、设备连接发现及其协议栈组成。安全模块包括设备安全和网络通信安全。设备管理目前主要是基于LWM2M协议,实现对物联网设备的管理。网络部分支持以太网和WiFi通信,主要协议栈有IPv4/IPv6、6LoWPAN等。设备的发现和互联基于Alljoyn协议实现。中间层之上为应用接口层,为用户提供C++/C接口,便于应用开发以及其他应用库的实现;最上层则是应用程序和其他应用库。


物联网OS的功能及属性


  传统软件的运行依赖于操作系统提供的资源管理和抽象应用程序接口(API)功能。


  物联网平台需要管理来自不同厂商的物联网设备,对这些设备资源进行抽象,暴露所管理资源的能力,提供北向API给不同垂直领域的应用。物联网平台管理的是整个系统的资源,涉及终端、连接、网关和通用平台。物联网操作系统应包括以下几部分:


  ●   终端操作系统,以及连接到网关/平台的SDK;


  ●   网关:提供连接性管理;


  ●   物联网平台:对接入设备资源进行管理、抽象,提供API。


  物联网OS应提供完整的连接和设备管理功能,而不仅仅限于某一个网元。连接管理提供终端之间的互联互通,以及终端与平台之间的连接服务;设备管理提供终端的部署、配置、信息收集、升级等全生命周期管理服务。


  终端上的软件分为Client OS和Client SDK,Client SDK可以移植到第三方操作系统之上,使之具备接入物联网系统框架的能力。中兴通讯物联网OS模块属性如图3所示。

物联网OS安全机制


  “物”是物联网的基本要素,物联网连接处理的目标物主要有物、网络和数据。相较于以文本为主要处理目标的互联网,物联网对于安全性的要求高很多,主要包括:


  ●   机器与感知节点的本地安全问题;


  ●   感知网络的传输与信息安全问题;


  ●   核心网络的传输与信息安全问题;


  ●   物联网业务的安全问题。


  下面以mbed物联网平台为例,说明物联网OS在设备安全和通信安全方面的设计。


  ●   设备安全


  根据Cortex的M3和M4系列硬件支持的内存保护单元(MPU),利用mbed提供的uvisor功能实现设备安全;能够创建和强制实施独立的安全域;通过分隔系统的敏感部分,保护启动流程和调试会话,确保固件更新的安全安装,还可阻止恶意或错误代码升级权限和泄露秘密。


  ●   通信安全


 mbed支持传输层安全(TLS)协议。TLS以及相关的Datagram TLS(DTLS)协议是标准协议,用于保护互联网通信安全,已被证实能够防止窃听、纂改和伪造消息。mbed TLS库提供了一组可单独使用和编译的加密组件,可根据需要配置头文件加入或排除这些组件。mbed还提供了构建于加密组件上的中央SSL/TLS模块,以及为SSL和TLS提供完整协议实施的抽象层和支持组件。


物联网OS特色


  中兴通讯对物联网OS的定义是:轻量级的OS,具备开源特征,方便第三方进行开发,并具备远程的云调试和开发能力,可以进行远程调试和版本升级,并灵活适配各种类型的物联网终端。具体特征包括:


  ●   连接——操作系统集成常见的网络协议栈(TCP/IP、ZigBee、蓝牙、WiFi等);


  ●   远程管控和简易配置——操作系统集成设备管理协议(典型的是LWM2M),使得通过管理平台,可以对不同厂商的智能硬件设备进行统一的管理;


  ●   沟通和互操作——操作系统通过集成设备互联互通框架(典型的是AllJoyn精简核心库),能够在物和物之间进行沟通和互操作;云端的管理和操作使得物与物、物和人之间的互联互通不再是障碍;


  ●   在线开发调试——通过中兴CDSP云平台(Cloud Development & Support Platform),支持物联网OS软件的在线开发、编译和调试,还可以通过CDSP云平台对终端设备在线升级;实现多种厂商终端设备的支持。

随着物联网设备的日益激增以及设备的复杂度越来越高,物联网在连接和设备管理方面面临巨大的挑战。这就需要以水平化的思维方式,构建更加卓越的操作系统平台,将物联网推向新的高峰。可以毫不夸张地说,设计优良的物联网操作系统是物联网发展的助推器。