物联网(IoT)是目前最新最热的技术热点之一,也是这个信息化时代的重要发展节点。相对于互联网而言,物联网的本质在于“万物相连” 。物联网的核心和基础仍然是互联网,是在互联网基础上延伸和扩展的网络;其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是物物相息。
尽管物联网的发展形态受到普遍看好和关注,但是“连接、区别、识别、沟通、操作”这五大问题一直如影随形,可以说只有这些问题得到很好的解决和兼顾,才能继续应对安全性、易用性、低成本等问题。在互联网“人与人”之间的信息交换和共享基础上,进一步扩展实现“物与物”“人与物”之间的信息交换和共享。
因此,我们都非常关注物联网时代的操作系统。下面我们将对这些问题一一进行探讨:
1.什么是物联网操作系统?
2.物联网操作系统有哪些特点?
3.物联网需要怎样的操作系统?
什么是物联网操作系统?
提到操作系统,第一时间我们就会想到运行在电脑上的windows、linux,想起运行在手机上的Android/ target=_blank class=infotextkey>安卓和IOS。这些程序直接运行在“裸机”设备的最低层,搭建起其他软件、应用运行的环境与基础。得益于操作系统的兴起、完善,才促成了软件与应用的兴起,铸就了辉煌的PC时代与移动互联网时代。
而谈到物联网,往往与之相关的形容词是“碎片化”和“术业有专攻”。无论是底层的连接还是上层的应用服务,都特别强调专业化。与传统的嵌入式设备相比,物联网感知层的设备更小、功耗更低,还需要安全性及组网能力,物联网通信层需要支持各种通信协议核协议之间的转换,应用层则需要具备云计算能力。在软件方面,支撑物联网设备的软件比传统的嵌入式设备软件更加复杂,这也对嵌入式操作系统提出了更高的要求。为了应对这种要求,一种面向物联网设备和应用的软件系统——物联网操作系统。同时物联网的操作系统,并不简单局限于“边缘侧的操作系统”,嵌入式操作系统只是完成了物理硬件的抽象,并不能真正代表未来的物联网的操作系统。
物联网的操作系统调度“物体”本身,操作系统对“物体”的调度过程通过层层分发、层层下达, 通过调度云、边、端,不同层级中不同设备的计算资源而实现。
因此,物联网中的操作系统涉及到芯片层、终端层、边缘层、云端层等多个层面.单一层次的物联网操作系统与安卓在移动互联网领域的地位和作用类似,实现了应用软件与智能终端硬件的解耦。就像在安卓的生态环境中,开发者基本不用考虑智能终端的物理硬件配置,只需根据安卓的编程接口编写应用程序,就可以运行在所有基于安卓的智能终端上一样,物联网操作系统的作用也是如此。
物联网操作系统有哪些特点?
在上文阐述的行业背景下,我们发现物联网操作系统与传统的个人计算机操作系统和智能手机类操作系统不同,它具备物联网应用领域内的以下特点:
1、内核尺寸伸缩性以及整体架构的可扩展性。
物联网的发展即将进入一个小的爆发期,所以面对一轮轮的技术革新甚至换代时,整体架构的灵活性和可扩展性可以说决定了一个企业的商业命脉。同时,为了适应不同的应用场景下的技术要求,内核尺寸的伸缩性也是需要面对的问题。
2、内核的实时性。
对于非抢占式调度方式的内核很难满足关键性动作的实时性要求,比如常见的中断响应和多任务调度等情况下,操作系统的实时性便有了更高的要求,特别是对于大多数的物联网应用而言,有意义的响应时间决定了市场的接受度。
3、高可靠性 。
在物联网的应用环境下,面对海量节点可以说设备一经投入使用,就很难再去维护。所以平均无故障运行时间和在一些严苛环境下的性能表现就显得尤为重要。而在一向很注重信息安全的机密机构的数据安全性,引发了业内关于开源机制、VMM机制等的广泛讨论。
4、低功耗。
由于物联网的应用场景和网络节点的数量增多,低功耗是一个非常关键的指标。所以在整体架构设计的时候,就需要加入一些休眠模式、节能模式、降频模式等逻辑判断,以延长续航能力。
物联网需要怎样的操作系统?
在最低层的硬件平台之上,有物联网操作系统内核和外围功能模块,加上集成开发环境,这些子系统之间相互配合,共同组成一个完整的面向各种各样物联网应用场景的软件基础平台,一起支撑了物联网的具体应用。
具体地说,物联网操作系统除具备传统操作系统的设备资源管理功能外,还具备下列功能:
1、屏蔽物联网碎片化的特征,提供统一的编程接口;
2、物联网生态环境培育;
3、降低物联网应用开发的成本和时间;
4、为物联网统一管理奠定基础。
针对物联网操作系统的外围功能模块,也有一些特殊的要求:
1、支持应用程序的远程升级。
上文说到,因为物联网的种种应用环境和条件限制,远程升级是物联网操作系统在升级方式上的唯一选择,当然同时也是最为低成本的选择。
2、外部存储。
支持硬盘、USB stick、Flash、ROM等常用存储设备,以便在网络连接中断的情况下,起到临时存储数据的作用。
3、对物联网常用的无线通信功能要内置支持。
在公共网络、近场通信、桌面网络接口之间,要能够相互转换,能够把从一种协议获取到的数据报文,转换成为另外一种协议的报文发送出去。除此之外,还应支持短信息的接收和发送、语音通信、视频通信等功能;
4、 网络功能。
物联网操作系统必须支持完善的TCP/IP协议栈,包括对IPv4和IPv6的同时支持。但TCP/IP协议栈是面向互联网设计的通信协议栈,由于物联网本身特征与互联网有很大差异,TCP/IP协议栈在应用到物联网的时候,面临许多问题和挑战,需要对TCP/IP协议栈做一番优化改造。
5、支持完善的GUI功能。
图形用户界面一般应用于物联网的智能终端中,完成用户和设备的交互。GUI应该定义一个完整的框架,以方便图形功能的扩展。同时应该实现常用的用户界面元素,比如文本框、按钮、列表等。
小结
目前物联网操作系统的市场情况是:十几种物联网操作系统都处在发展初期,产业链生态环境对此并未做出积极反映,目前还很少看到和听到国内外企业在使用某种物联网操作系统的信息。同时,开源Linux和RT操作系统还是主流,活跃在物联网市场。
操作系统是物联网时代的战略制高点,今天PC和手机时代的操作系统霸主未必能在物联网时代延续霸业。操作系统产业的规律是:当垄断已经形成,后来者就很难颠覆,只有等待下一次产业浪潮。如今,一个全新的、充满想象空间的操作系统市场机会正在开启。