廖小健 肖恰 吴恒
摘 要 在物联网终端中引入操作系统后基本不用考虑终端设备的物理硬件配置,只需根据操作系统提供的编程接口编写应用程序,就可以运行在所有基于物联网操作系统的智能终端上。一旦把硬件功能剥离出来,通过软件的变动,可以使得整个系统的功能大大扩充。就如Android操作系统对于智能手机最大的贡献就在于,实现了终端设备硬件和软件的分离,从而解决了软件和硬件强耦合造成的问题,推动了消费类电子产品的飞速发展。
关键词 物联网 操作系统 嵌入式 实时性
中图分类号:TP39 文献标识码:A
物联网终端市场将会是数倍于以人口为基数的个人移动终端市场。物联网操作系统也产业呈现百花齐放的竞争态势,微软、谷歌等国际巨头以及阿里、华为、庆科等国内企业纷纷推出自己的物联网操作系统。如谷歌的Brillo、华为公司的Huawei LiteOS 等,它们各有特色。物联网操作系统与传统的计算机操作系统和智能手机操作系统不同,它具备物联网应用领域的一些独有的特点,本文剖析了没有引入操作系统的物联网设备的不足之处及物联网的操作系统应该具有的技术特点。
1当前物联网设备存在的不足
(1)硬件不能升级,而且硬件设计难以复用。
(2)软件的开发与硬件紧密相关,软件开发过程中要编写硬件的操作代码,这加大的软件开发的难度。
(3)物联网终端设备定制程度高,原有的软硬件资源又难复用,使得物联网终端设备的开发周期过长、开发成本居高不下。
这些都影响了物联网技术的产业化应用。物联网操作系统的最基本功能,与Android操作系统在移动互联网领域的地位和作用类似,都是实现终端设备硬件和软件的分离,从而解决了软件和硬件强耦合造成的问题,从而缩短开发周期,降低开发成本。物联网操作系统除了具有这些最基本功能,还应有其独有的技术特点。
2物联网的操作系统应该具有的技术特点
2.1实现多终端设备间的协同工作
物联网终端不同于智能手机,其单个设备的功能往往比较有限,给人以功能单一的印象。但多个设备协同工作时,可以发展出丰富的应用场景,甚至给应用场景带来了无限的可能。由此可见物联网的应用场景更多是依靠设备之间的协同工作来满足用户需求。所以物联网操作系统必须支持多设备的交互关联,以实现用戶所需的特定功能。
2.2内核尺寸富有弹性,能够满足终端设备碎片化的需求
物联网终端形形色色,呈现出碎片化的特征,小到门锁、追踪卡、手环,大到汽车、冰箱等,这些终端上运行的物联网操作系统内核尺寸可能从10几K到几百K,甚至M级。内核尺寸这样大的跨度要求操作系统的内核要有极高的缩放性,以适应各种应用场景。
2.3内核实时性要强,能在预期的时间内给出响应
由于物联网担负着万物互联的重任。在一些特殊的互联领域对响应的速度要较高的要求,一些特殊场合的响应速度要求极为苛刻。如交通领域,医疗领域等,这些领域的关键性响应,必须在规定的时间内完成,否则将造成严重的不良后果。而物联网终端的实时性取决于物联网操作系统必须具有强的实时性。
2.4内核能支持终端扩展升级的需求
目前的物联网终端一旦增加一个新的硬件,必须编写对应的驱动程序,然后重新编译内核,这限制了物联网的发展。物联网操作系统的内核,应该设计成一个框架,这个框架定义了一些接口和规范,只要遵循这些接口和规范,就可以很容易的在操作系统内核上增加新的硬件实现新的功能。
2.5内核应足够稳定和安全
物联网应用环境具有自动化程度高、人为干预少的特点,这要求物联网操作系统的内核必须足够可靠,以支撑长时间的稳定运行。随着越来越多的设备连接到物联网中,对互联网的依赖性将不断增大。如果设备不安全,这种依赖将导致物联网存在重大的安全隐患,使设备很容易遭到攻击和破坏。所以稳定性和安全性是物联网操作系统不可或缺的组成部分。
2.6内核任务调度满足低功耗的要求
随着半导体技术的发展基于硬件的低功耗设计达到了比较好的效果,但随着半导体技术瓶颈的出现,硬件的低功耗设计变得越来越难。在物联网操作系统中必须包含的功耗策略模块,提供多种功耗管理策略,通过对调度算法、外围设备管理实现软件的低功耗设计。
物联网操作系统的引入能够解决原来软硬件强耦合带了的制约物联网发展的问题,但并不是所有的操作系统都是物联网操作系统,满足上述六个特点,能够实现软硬件分离,支持物联网终端碎片化特征,支持本地多个终端协同操作的操作系统,同时解决物联网操作系统的三个不足之处,才算是未来物联网操作系统的发展方向。