如何做到物联网终端操作系统的目标,或者说如何设计一个好的物联网终端操作系统?下面我们从物联网终端设备定义出发讨论其对操作系统的新的要求?物联网又对物联网应用又有哪些新的要求,从而体现在物联网终端操作系统的能力上?
硬件控制能力
物联网终端设备可以感知或控制物体一个或多个属性,物联网终端设备的一个重要能力是感知和控制物体,这种感知和控制都是由不同的硬件设备完成。由于行业和领域的多样性,物联网这些硬件可能是多种多样,那么对硬件的抽象和控制显得尤为突出。
操作系统中通常采用I/O控制,对外来设备采用即插即用的方式,Windows是这方面做得最好的操作系统,它采用驱动和操作系统分开的方式,硬件提供商提供硬件设备的同时也提供配套的驱动程序,这样操作系统对硬件的支持就非常开放。
同时,操作系统要提供丰富的API来控制硬件或外设。API可以提供硬件的底层控制,也可以是高层的应用属性的控制。例如,API可以是对一类接口,如串口控制,也可以是针对摄像设备的控制。通常操作系统的早期阶段是以底层接口AP为多,随着操作系统的发展会向高层API发展。
通过上面的讨论,我们可以总结出:物联网终端操作系统要能够提供丰富的硬件设备驱动,同时提供丰富的硬件控制API。
软件远程控制能力
物联网终端设备的数量非常庞大,而且通常都是无人监控和操作,那么物联网终端设备的远程被控制的能力非常重要,因此,终端操作系统为软件的远程控制能力支持,应该是物联网终端操作系统的一个特性。
远程控制能力可以从下面两个方面理解:应用的远程升级;系统控制能力高度开放。
应用的远程升级需要操作系统能够将应用的运行环境和应用分离。Android系统、Windows系统、Linux系统都是这类的操作系统,但是大部分的嵌入式操作系统都不是这类系统。一个比较好的解决方式是Java虚拟机的概念,即操作系统中提供一个虚拟化的运行环境,应用可以后向的开发和升级。只有做到软硬件分离,应用与运行环境分离,才能将物联网领域中的技术分离促成物联网技术链的形成。
系统控制能力高度开放指终端操作系统能够为应用提供足够丰富的控制接口,这里不仅涉及API开发,还涉及操作系统访问控制权限的设计。
丰富、精简的网络能力
物联网终端设备能够具有通过近距离无线通信与其他物联网终端设备进行信息交换的能力。物联网的承载网络可以是多种多样的,不同网络下设备之间的通信是比较困难的,那么物联网终端操作系统要能够提供一种承载无关的物联网通信协议,从而满足不同阶段不同网络承载设备的部署,同时突破目前物联网通信技术各自为政的局面。
物联网操作系统应该同时提供丰富的网络接口能力,支持众多的网络协议,目前互联网领域中的网络协议都应该能够在物联网中有对应的映射和补充。
物联网终端操作系统网络协议应该是精简的,目前物联网处于早期发展阶段,物联网终端设备的能力相对较弱,那么精简的网络协议有利于设备、应用的快速开发和部署,同时满足物联网终端设备能力不一致的问题。
物联网终端操作系统支持网络协议应该是支持高吞吐量、高效的网络协议,物联网基本的神经单元数据都是由物联网终端设备采集提供的,同时这些采集通常是不间断、高速产生的,这对于网络协议提出了新的需求。
计算能力
计算能力包括技术的精度、计算的速度、数据输入/输出的速度、计算模型。不同的物联网终端设备对上述的计算能力会有不同的要求。
计算的速度和数据输入/输出的速度是软件、硬件共同作用的结果。
就计算的精度来说,这个要求是物联网终端操作系统需要提供的基础能力,数据的精确度和计算结果的精确度是数据价值的保障。
计算模型操作系统能够提供丰富的计算模型,方便开发者开发,同时提供计算模型能够支持第三方的技术模型。
由于文章过长,后半部分可阅读:如何设计物联网终端操作系统(下)