1.2 物联网操作系统
传统的操作系统(Operating System, OS)是管理计算机硬件和软件资源,给用户提供计算机软件服务的计算机程序。常见的计算机操作系统有微软Windows操作系统、UNIX及类UNIX操作系统(如Linux、谷歌)、苹果Mac OS操作系统等。从图1-2所示的系统结构来看,操作系统位于硬件和固件之上,应用软件之下,是用户与计算机的接口,也是计算机软件和硬件的接口。对于用户而言,操作系统屏蔽了硬件接口,用户可以在此基础上直接进行软件的使用或开发。如果从行业生态的角度去考察操作系统对于行业发展历史影响的话,可以发现操作系统的作用是巨大的。20世纪70到80年代,大型机和微计算机不使用或者使用简单的操作系统,因此计算机的使用对于用户的专业能力有着较高的要求,阻碍了计算机的普及。20世纪90年代,Windows操作系统的推出,使得个人电脑和笔记本电脑迅速普及,计算机设备的用户呈现几个数量级的增长。过去10年移动互联网迅猛发展的一个主要原因也是得益于移动端操作系统的发展,iOS和Android两个操作系统几乎一统移动端操作系统的江山,推动了行业生态的建立,使得众多应用的开发者可以不用考虑底层硬件的问题,为用户开发出各种丰富的应用。所以,从历史上操作系统的发展对行业生态的影响可知,在物联网成为新浪潮的今天,物联网操作系统将对行业生态起到革命性的影响。
图1-2 操作系统在整个系统结构中的位置
然而,从技术角度看,物联网应用中传统的操作系统将不再适用。虽然物联网的终端设备种类繁多,接口也各不相同,但它们都有共同的特点:终端设备硬件资源受限、计算能力不足,大部分的终端设备同时存在低功耗、低成本的要求。因此,传统的操作系统不能运行在物联网的终端设备上,它们需要更加轻量级、运行效率更高的专为物联网打造的操作系统。
实际上,物联网操作系统作为一种新型的关键信息技术受到了广泛的关注。目前,物联网领域中已经涌现出多个物联网操作系统,给物联网的发展带来了巨大的机会。从功能角度看,物联网操作系统运用主要有以下几个作用。
1.2.1 屏蔽终端设备,解决物联网“碎片化”问题
在物联网中,不同的应用领域,其包含的设备终端差异很大,从内存很小的微控制器到超大内存的智能设备,从传统的传感器电路到基于先进微电子技术设计的微机电系统(MEMS)传感器,以及Wi-Fi、BLE、NB-IoT等各种通信方式,还有多种多样的物联网云平台。正是这些硬件、接口以及平台的“碎片化”特征在牵制着物联网的发展。物联网操作系统的出现为这些问题提供了新的解决方案,它使用合理的架构设计,屏蔽底层的硬件接口,设计出规范化的统一编程接口,使得上层应用可以脱离硬件层接口和各种不同的平台设置。就如安装了安卓系统的不同手机都可以运行同样的APP一样,物联网操作系统构建出的抽象模型可以实现同样的上层物联网应用软件在不同的物联网终端硬件基础上运行。这是一个非常激动人心的想法。
1.2.2 建立产业上下游连接,形成积极健康的行业生态
以物联网操作系统为核心,打通物联网产业从芯片层次(处理器芯片、通信芯片、传感芯片)、模组层次、硬件电路层次、系统应用层次、物联网运营层次、物联网数据运维层次的全线贯穿,形成合力,建立面向各个不同行业的积极健康的行业生态,为物联网产业的发展奠定坚实的基础。如同iOS和Android两个嵌入式移动终端操作系统形成的对移动互联网时代的巨大推动作用一样,可以预期的是,物联网操作系统将逐渐走出群雄割据的时代,走入以主流物联网操作系统为生态主导的全新发展时代,这将极大地促进整个物联网产业的发展。
1.2.3 为物联网终端设备带来安全保障
由于物联网的应用往往存在数百、数千乃至更多的终端节点,这种庞大的节点群的安全问题可能在累加之后不再是小问题,而是一些系统性的大问题。针对这个问题,常见的物联网操作系统在进行通信以及业务处理时都加入了安全处理模块,包括各类安全加密算法。这些安全加密算法可以帮助开发人员提升物联网应用的安全性,同时物联网操作系统中还加入了设备认证、服务认证等,这些认证服务能让物联网设备减小被攻击和算法被破解的风险。
1.2.4 降低应用开发的成本和时间
大多数物联网操作系统都是开源的操作系统,它们提供完善的操作系统组件和通用的开发环境,降低了物联网应用开发的成本和时间。同时,在物联网操作系统之上使用统一的数据格式和存储方式,不同业务、领域之间可以进行数据共享,为物联网各类应用的互通提供了可能。
1.2.5 为物联网终端统一管理提供技术支撑
物联网操作系统提供多种通信协议连接管理平台的能力。随着物联网设备管理平台的出现,结合物联网操作系统,开发者可以对物联网设备进行统一的管理,不同领域不同类型的设备都可以在同一管理平台进行维护和管理。因此,物联网操作系统为物联网终端的统一管理提供了技术支撑。