2017年,对物联网而言注定难忘。这一年共享单车开始洗牌、NB-IoT(基于蜂窝的窄带物联网)持续发酵。据IDC预测,2020年全球物联设备数将达281亿,全球市场规模将达7.1亿美元,经济价值将达到1.9万亿美元。
在物联网设备和应用数量持续暴增的背景下,物联网操作系统的重要性被一再提及,各方也纷纷布局、持续投入,正上演着一出你方唱罢我登场的戏码。但由于操作系统在产业链中处于极其特殊的地位,决定了这不可能是纯粹技术比拼,而是综合实力的较量。
兵家必争之地
与手机时代的苹果iOS操作系统、安卓系统和PC时代的Windows一样,操作系统也必然成为物联网时代的战略制高点,是兵家必争之地。据统计,Google、Microsoft、ARM、华为和阿里等互联网巨头早已推出物联网操作系统。但操作系统行业既定的规律是,当一到两个系统形成垄断之后,其他系统就很难对其构成威胁了,物联网操作系统这个让无数人充满想象的舞台帷幕正慢慢拉开。
回望物联网操作系统(简称OS)的历史会发现有一个关键节点——2014年。正是从那时起,Google、Microsoft、ARM,以及各色物联网OS开始进入市场。
2014年9月,ARM(是全球领先的半导体知识产权提供商)向全球物联网相关企业推出了mbed OS操作系统和设备平台。作为ARM最大股东的日本软银集团曾经宣布,未来20年内,全球ARM架构芯片的年出货量将达到1万亿颗。作为这样一家企业,怎能坐视物联网OS花落人家。
ARM亚太区物联网部门有关负责人表示,好的物联网OS需同时满足三个条件,即易开发、低功耗和安全性,这是因为物联网设备十分繁杂,好的物联网OS必须适应这一特点,这就要求企业不断积累技术。几年来,ARM mbed OS不断升级迭代。中国软件行业协会有关负责人告诉《中国经济信息》记者,作为一家全球企业,ARM的确更注重操作系统架构的安全性及通用性。
除了芯片领域的传统巨头,Google、Microsoft和Apple也不安于现状。Apple专为智能手表开发了Watch OS,以iOS为主是Apple的战略考量,将用HomeKit(是苹果公司发布的智能家居平台)统领智能家居硬件厂商。与Apple相比,Google则再进一步。2014年,其向市场推出了OS Brillo(现已经更名为Android Things)和IoT通信协议 Weave。2016年8月,谷歌爆出正研发名为“Fuchsia”的物联网OS。
在手机操作系统市场功败垂成的Microsoft此时也出场了。2015年7月,微软发布面向物联网的操作系统 Windows 10 IoT Core。这一操作系统是基于Windows 10操作系统,并与其保持着良好的通用性。Microsoft中国有关负责人评论道,Microsoft操作系统家族是个融合的体系,解决了跨平台开发的问题。除上述企业,国外物联网市场还活跃着其他物联网OS项目,如FreeRTOS、TinyOS等。
已现中国时机
数据显示,我国2014年物联网市场规模达到了6000亿元,2015年已经达到 7500亿元,公众网络机器到机器(M2M)连接数则突破1亿,占全球总量31%,成为全球最大市场。而2020年有望达到15000亿元。此外,到2020年机器到机器连接数有望达到17亿,预计到2020年前的年复合增长率将达到76%。
在与国际巨头的竞争中,中国企业几乎与他们共同起步。我国最早进入这一领域的企业是一家名不见经传的信息技术公司。其是从嵌入式无线模块做起,产品已经在智能电网、智能交通、远程医疗等领域获得广泛应用。
也是在2014年,这家中国企业率先推出了物联网OS——MICO,其比ARM推出mbed OS还要早上几个月。企业负责人表示,我们生产的全部无线接入模块产品里,都安装了这一操作系统。最新数据显示,在企业销售的1千万搭载MICO操作系统的无线接入模块中,已经被激活并开始使用的多达数百万个。
华为也基本上起步于同一时期。2015年5月,华为正式发布开源物联网OS LiteOS。该系统最大亮点是内核超轻,小于10kb,是世界上最轻量级的物联网OS。而这一物联网OS仅仅是华为大的物联网战略的组成部分之一。华为物联网战略简称为“1+2+1”:即“1”个开源物联网操作系统(指LiteOS);“2”种连接方式,分别是有线连接(家庭网关、工业网关)和无线连接(2G/3G/4G/NB-IoT);以及“1”个物联网平台(指华为IoT连接管理平台OceanConnect)。目前,华为正依靠其在NB-IoT上的技术积累,帮助运营商完成向5G的跨越。
此外,阿里YunOS的出现也是物联网OS领域的一件大事。2014年,YunOS开始应用互联网电视、智慧家居、互联网汽车、机器人等物联网领域,而其以前则主要应用在手机上。标志性的事件是,2016年8月,阿里和上汽荣威合作生产了互联网汽车荣威RX5,并在短短一年多的时间,销量突破10万辆。数据显示,我国车联网市场规模将在2025年达到约2162亿美元。YunOS则成功完成了在行业爆发前的进入。
中国信息通信研究院技术与标准研究所业务资源与物联网研究部有关负责人表示,总体而言,中国公司大多数都是“由硬到软”,即利用我国在制造业领域的优势地位,向物联网操作系统进军。
运营至关重要
纵观PC操作系统与手机操作系统局面的形成可以发现,操作系统的技术比拼只是其中一个方面,而运营能力才更为重要。塞班系统是诺基亚投入200亿美元重金打造,最终却无疾而终,而诺基亚也随着打造这一系统的失利,彻底陨落在曾经“天下不败”的手机领域。
有业内人士也表示,对中国的物联网OS企业来讲,运营能力是十分要紧的。他说:“中国公司善于做应用产品,但做操作系统则完全是两回事,中国企业往往缺少这方面的经验,毕竟还没有哪家中国公司真正成功占领过某一个操作系统市场。”
与移动互联网和PC时代相比,物联网时代操作系统所面临的考验更多。即包括与底层硬件厂商之间的磨合,也包括接口方面的标准化和标准的统一。而最让人头疼的是物联网中需要接入的终端数量十分庞大。大的物联网市场其实是由众多小市场组成,估计任何一家操作系统企业都无法全覆盖。
而开发者的支持也十分重要。物联网OS做得到底如何,需要众多的开发者通过应用进行检验,没有开发者的支持,操作系统再完美也白费,这就是在考验物联网OS企业的运营能力。Google和Apple都能从其手机操作系统的用户获得支持,其他企业往往需要在不断运营中培养开发者用户。有关数据显示,ARM mbed OS已在全球拥有约20万名开发者。华为则已经开始着手打造LiteOS开源社区。
此外,物联网操作系统的生态较量已经上升至“云端”。在移动互联网和PC时代,终端需要安装众多应用程序,但进入物联网时代以后,终端最主要的任务是传输和收集,并将数据传输至云端,所以对于物联网操作系统,云计算的能力十分重要。
据阿里YunOS事业部有关负责人介绍,在大数据和云计算方面,阿里拥有很出色的能力,我们打造的YunOS物联网操作系统,最终将实现为用户提供人、物、服务三位一体的全新网络。而Google、Microsoft等企业也在努力加强云计算的能力。华为相关负责人也表示,将与某云服务提供商开展深度合作。
总之,好的物联网OS绝不仅仅只是技术能力问题,而是对整个生态系统建设能力的全面检验。
知识补充:
物联网的重要操作系统
不像PC和移动设备领域,一系列广泛的商用和开源操作系统在驱动物联网。本文介绍了几种领先的物联网操作系统以及它们各自的最佳使用场合。
科技行业将大量的时间花在致力于物联网热潮。营利性科技公司和开源社区成员都在宣传各自的操作系统,标榜自己是适合众多物联网用途的那种操作系统。而事实上,不是每种操作系统都很适合每一个物联网用途。正由于如此,物联网操作系统领域会具有一定的多样性。
物联网和操作系统这个话题出现在IT界时,你常常听到“嵌入式操作系统”这个术语与“实时操作系统”(RTOS)互换使用。但实际上,一些嵌入式操作系统有实时功能,另一些则没有这种功能。
真正的RTOS物联网设备需要处理数据时没有缓冲延迟。RTOS的好处包括:能够实现多任务处理,能够调度和优先处理任务,还能够管理资源在多个任务之间的共享。这种操作系统通常用于比较复杂的航空、工业和医疗物联网设备中。
另一方面,我们又有不大复杂,不过仍功能齐全的操作系统,它们有另外的好处:功耗比较低,对资源的要求也比较低,比如处理能力和内存。十之八九,诸如此类的操作系统的增长率会超过RTOS,至少对第一代物联网设备来说是这样。
我们将介绍几种不同的操作系统,我们认为它们将驱动物联网行业。虽然有许多替代操作系统没有介绍,但本文代表了一系列广泛的操作系统功能,既有一些开源操作系统,也有一些商用操作系统。最后,它们体现了可支持一切设备的操作系统:从卫星、联网冰箱,一直到嵌入在手表和衣服中的智能技术。
不妨看一看诸多操作系统及其周围的公司/社区。最后说说你认为哪些操作系统会给物联网带来最大的影响,或者你是否认为我们漏掉了一两种应该榜上有名的操作系统。
RIOT OS
RIOT OS是一种开源社区项目,自2008年以来就启动了。RIOT能够在众多平台上运行,包括嵌入式设备和PC(以及数量众多的极其流行的传感器/致动器板卡),而且拥有易于使用的API。该操作系统因用电量和资源需求方面能够做到高效而家喻户晓。
Windows 10 For IoT
微软的最新款嵌入式操作系统名为Windows 10 for IoT。这面大旗下还有三个子操作系统,视你的要求而定。第一个是Windows 10 for IoT Mobile,它支持ARM架构。下一个是Windows 10 for IoT Core,它支持Raspberry Pi和英特尔凌动。最后一个是Windows 10 for IoT Enterprise――这多少有点像功能完备的Windows 10 Enterprise,但仅限于只运行单一应用程序。
由于Windows 10 for IoT是全新产品,它在用户群和经验丰富的开发者方面显然落后于其他许多物联网操作系统。话虽如此,这款操作系统大有潜力――如果你想在内部开发应用程序,更是如此。最终,那些习惯于使用Visual Studio和Azure物联网服务,针对Windows从事开发工作的人会被整套的Windows 10 for IoT方案吸引过去。
WindRiver VxWorks
WindRiver的VxWorks可能是如今使用的最流行的商用ROTS。它提供了一款可靠的操作系统,又具有高度的灵活性。VxWorks还提供了许多安全功能,这些功能对需要它们的物联网项目来说至关重要。VxWorks在工业、医疗和航空等领域的名气很大,因为它是少数几家满足必要的认证要求、以便用于那些行业的RTOS厂商之一。
谷歌Brillo
谷歌在去年秋季的谷歌I/O大会上宣布,打算推出Brillo,进军嵌入式操作系统市场。面向基于安卓的嵌入式操作系统的开发平台很合适在编写安卓应用程序方面有着扎实背景的那些人。Brillo使用一种名为Weave的通信协议。这意味着,智能设备没必要非得将嵌入式安卓作为其操作系统――它们只要能够使用Weave进行通信就可以。这为一大批厂商将Weave集成到物联网产品当中敞开了大门,最终让这些产品能够与Brillo。
ARM Mbed OS
ARM在开发自己的开源嵌入式操作系统,名为mbed OS。由于它是由ARM开发的,所以ARM是唯一支持的架构。话虽如此,预计该操作系统会在智能家居和可穿戴式设备这两个物联网细分市场大放异彩。这款操作系统有别于另外许多的嵌入式操作系统,原因在于它是单线程,而不是多线程。ARM表示,它认为这对该操作系统能够在尺寸最小、功耗最低的设备上运行而言必不可少。如果物理尺寸和电池使用时间至关重要,物联网设备最后可能会在mbed OS上运行。
Embedded Apple iOS和OS X
虽然苹果还没有在如今的物联网市场扮演重要角色,但是它肯定会很快扮演这种角色。到目前为止,苹果已采用了其操作系统平台的变种,开发了多款物联网设备,比如苹果电视、CarPlay(借助BlackBerry QNX)和苹果手表。
展望未来,预计苹果会继续使用其iOS,并改动OS X,那样它可以在物联网端点设备上更精简、更高效地运行。开发人员可以使用诸如最近发布的HomeKit之类的工具,这种框架用来构建控制家庭自动化设备的应用程序。
Nucleus RTOS
Nucleus RTOS是Mentor Graphics公司开发的一种嵌入式操作系统。这家公司声称,其软件目前在30多亿个设备上运行,这是个相当庞大的安装群。该操作系统为众多嵌入式架构提供了有力的支持,在汽车、医疗、公用事业、工业和消费类电子产品等行业垂直领域大受欢迎。
Green Hills Integrity
不过另一种由来已久的商用RTOS解决方案是Green Hills的Integrity。它在航空/国防、汽车、工业和医疗等垂直领域展开激烈的竞争。该公司还继续在面向消费者的物联网市场大受欢迎,这归功于它一向以来凭借性能、安全和可靠性博得了人气和美名。
AliOS Things
AliOS Things为阿里巴巴研制的一款面向汽车、IoT终端、IoT芯片和工业领域研发的物联网操作系统,并在其中整合了原YunOS移动端业务。
简单来说,这种操作系统具备了极致的性能,易开发、云端强大、组件丰富(包括实时操作系统内核,连接协议库、文件系统、libc接口、FOTA、Mesh、语音识别)以及较高的安全防护等功能,还支持移动端设备直接连接到阿里云loT云服务平台。
阿里表示:操作系统不应该仅仅只是阿里巴巴的操作系统,希望这次AliOS开源之后,把OS变成大家的OS。
AliOS面向多端可配置,分别面向设备方案、芯片、设备及中间技术等四个软件层。系统设计严格遵循CPL可配置原则,模块内部实现高度内聚、模块间依靠松耦合,插件化的设计,可按需加载,实现禁止反向依赖,在保证更高可定制化的同时,还能不破坏系统兼容性。
并且为了让开发者更加关注开发及应用、部署和迭代,AliOS Things会为开发者提供一个功能强大、好用的工具。
AliOS的使命是 “驱使万物智能”,将OS(端),连接,云服务,硬件深度结合,为IoT生态伙伴提供一站式IoT解决方案,从而形成闭环。
Lite OS
Lite OS目前世界上最轻量级的物联网操作系统,其系统体积轻巧到10KB级,具备零配置、自组网、跨平台的能力,可广泛应用于智能家居、穿戴式、工业等领域。由于LiteOS实行开源,合作伙伴便可以快速构建自己的物联网产品,这将让智能硬件的开发变得更加简单,从而加快实现万物的互联互通。Lite OS的模式与牛津大学研究人员发明的Contiki系统、加州大学伯克利分校发明的TinyOS相似,同样具备轻量化、开源的特性。
Liteos操作系统具有能耗最低,体积最小、响应最快的特点,已推出全开放开源社区,提供芯片、模块和开源硬件板,如海思的PLC芯片HCT3911、媒体芯片3798M/C、IPCamera芯片Hi3516A,以及LTE-M芯片等(开发者也可以选择第三方芯片,如STM32等)。
Liteos主要应用于智能家居、穿戴式、车联网、智能抄表、工业互联网等IoT领域的智能硬件上,数据采集、实时控制等是其典型使用环境。
结束语
不像PC、平板电脑和智能手机领域,可能不会只有那么几种操作系统主导整个物联网市场。相反,我们将不得不面对几十种流行的选择,它们各自有特定的优缺点。本文介绍的八种操作系统表明了广泛的选择余地以及它们可能用于哪些领域。
1、物联网操作系统 概述
物联网是新一代信息技术的重要组成部分。其英文名称是 IOT(Internet Of Things)。由此,顾名思义,“物联网就是物物相连的 互联网”。这有两层意思:第一,物联网的核心和基础仍然是 互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。因此,物联网的定义是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与 互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理的一种网络。物联网与 互联网的不同在于,互联网关注的是“人与人”之间的信息交换和共享,而物联网则进一步扩展,实现“物与物”、“人与物”之间的信息交换和共享。
下图示意了物联网的 分层体系结构: 物联网大致可分为感知层、 网络层(进一步分为网络 接入层和核心层)、设备管理层、 应用层等四个层次。其中最能体现物联网特征的,就是物联网的感知层。感知层由各种各样的传感器、协议转换 网关、通信网关、智能终端、刷卡机(POS机)、智能卡等终端设备组成。这些终端大部分都是具备计算能力的 微型计算机。运行在这些终端上的最重要的系统软件-操作系统,就是所谓的物联网操作系统。
与传统的个人计算机或个人智能终端(智能手机、平板电脑等)上的操作系统不同,物联网操作系统尤其独特的特征。这些特征是为了更好的服务物联网应用而存在的,运行物联网操作系统的终端设备,能够与物联网的其它层次结合的更加紧密,数据共享更加顺畅,能够大大提升物联网的生产效率。
2、物联网操作系统的作用
除具备传统操作系统的设备资源管理功能外,物联网操作系统还具备下列功能:
物联网生态环境培育:拉通物联网产业的上下游,培育物联网 硬件开发、物联网系统 软件开发、物联网 应用软件开发、物联网业务运营、网络运营、物联网数据挖掘等分离的商业生态环境,为物联网的大发展建立基础。类似于智能终端操作系统(iOS、Andriod等)对移动 互联网的生态环境培育作用;
降低物联网应用开发的成本和时间:物联网操作系统是一个公共的业务开发平台,具备丰富完备的物联网基础功能组件和应用开发环境,可大大降低物联网应用的开发时间和开发成本;提升数据共享能力:统一的物联网操作系统具备一致的数据存储和数据访问方式,为不同行业之间的数据共享提供了可能。物联网操作系统可打破行业壁垒,增强不同行业之间的数据共享能力,甚至可以提供“行业服务之上”的服务,比如数据挖掘等;
为物联网统一管理奠定基础:采用统一的远程控制和远程管理接口,即使行业应用不同,也可采用相同的 管理软件对物联网进行统一管理,大大提升物联网的可管理性和可维护性,甚至可以做到整个物联网的统一管理和维护。
3、体系架构
物联网操作系统由 内核、通信支持(Zibee、2/3/4G等通信支持、NFC、RS232/PLC支持等)、外围组件(文件系统、GUI、Java 虚拟机、XML文件解析器等)、 集成开发环境等组成,基于此,可衍生出一系列面向行业的特定应用,下图展示了这个概念:
物联网操作系统与传统的个人计算机操作系统和智能手机类操作系统不同,它具备物联网应用领域内的一些独特特点,现说明如下。
4、物联网操作系统的特点
物联网操作系统由内核、辅助外围模块(文件系统、图形用户界面、通信协议栈、各类常见设备的驱动程序等)、集成开发环境等组成。物联网操作系统与传统的个人计算机操作系统和智能手机类操作系统不同,它具备物联网应用领域内的一些独特特点。
内核的特点
内核尺寸伸缩性强,能够适应不同配置的硬件平台。比如,一个极端的情况下,内核尺寸必须维持在10K以内,以支撑内存和CPU性能都很受限的传感器,这时候内核具备基本的任务调度和通信功能即可。在另外一个极端的情况下,内核必须具备完善的 线程调度、 内存管理、本地存储、复杂的网络协议、 图形用户界面等功能,以满足高配置的智能 物联网终端的要求。这时候的内核尺寸,不可避免的会大大增加,可以达到几百K,甚至M级。这种内核尺寸的伸缩性,可以通过两个层面的措施来实现:重新编译和二进制模块选择加载。重新编译措施很简单,只需要根据不同的应用目标,选择所需的功能模块,然后对内核进行重新编译即可。这个措施应用于内核定制非常深入的情况下,比如要求内核的尺寸达到10K以下的场合。而二进制模块选择加载,则用在对内核定制不是很深入的情况。这时候维持一个操作系统配置文件,文件里列举了操作系统需要加载的所有二进制模块。在内核初始化完成后,会根据配置文件,加载所需的二进制模块。这需要 终端设备要有外部 存储器(比如硬盘、Flash等),以存储要加载的二进制模块;
内核的实时性必须足够强,以满足关键应用的需要。大多数的物联网设备,要求 操作系统内核要具备实时性,因为很多的关键性动作,必须在有限的时间内完成,否则将失去意义。内核的实时性包涵很多层面的意思,首先是 中断响应的实时性,一旦外部中断发生,操作系统必须在足够短的时间内响应中断并做出处理。其次是线程或任务调度的实时性,一旦任务或线程所需的资源或进一步运行的条件 准备就绪,必须能够马上得到调度。显然,基于 非抢占式调度方式的内核很难满足这些实时性要求;
内核架构可扩展性强。物联网操作系统的内核,应该设计成一个框架,这个框架定义了一些接口和规范,只要遵循这些接口和规范,就可以很容易的在 操作系统内核上增加新的功能的新的硬件支持。因为物联网的应用环境具备广谱特性,要求操作系统必须能够扩展以适应新的应用环境。内核应该有一个基于 总线或树结构的设备管理机制,可以动态加载设备驱动程序或其它核心模块。同时内核应该具备外部二进制模块或应用程序的动态加载功能,这些应用程序存储在外部介质上,这样就无需修改内核,只需要开发新的应用程序,就可满足特定的行业需求;
内核应足够安全和可靠。可靠性就不用说了,物联网应用环境具备自动化程度高、人为干预少的特点,这要求内核必须足够可靠,以支撑长时间的独立运行。安全对物联网来说更加关键,甚至关系到国家命脉。比如一个不安全的内核被应用到国家电网控制当中,一旦被外部侵入,造成的影响将无法估量。为了加强安全性,内核应支持内存保护(VMM等机制)、异常管理等机制,以在必要时隔离错误的代码。另外一个安全策略,就是不 开放源代码,或者不开放关键部分的内核源代码。不公开源代码只是一种安全策略,并不代表不能免费适用内核;
节能省电,以支持足够的电源续航能力。 操作系统内核应该在CPU空闲的时候,降低CPU运行频率,或干脆关闭CPU。对于周边设备,也应该实时判断其运行状态,一旦进入空闲状态,则切换到省电模式。同时, 操作系统内核应最大程度的降低中断发生频率,比如在不影响实时性的情况下,把系统的 时钟频率调到最低,以最大可能的节约电源。
外围模块的特点
外围模块指为了适应物联网的应用特点,操作系统应该具备的一些功能特征,比如 远程维护和升级等。同时也指为了扩展物联网 操作系统内核的功能范围,而开发的一些功能模块,比如文件系统、网络协议栈等。物联网操作系统的外围模块(或外围功能)应该至少具备下列这些:
支持操作系统核心、设备 驱动程序或应用程序等的远程升级。远程升级是物联网操作系统的最基本特征,这个特性可大大降低维护成本。远程升级完成后,原有的设备配置和数据能够得以继续使用。即使在升级失败的情况下,操作系统也应该能够恢复原有的运行状态。远程升级和维护是支持物联网操作系统大规模部署的主要措施之一;
支持常用的文件系统和外部存储,比如支持FAT32/NTFS/DCFS等文件系统,支持硬盘、USB stick、Flash、ROM等常用存储设备。在网络连接中断的情况下,外部存储功能会发挥重要作用。比如可以临时存储采集到的数据,再网络恢复后再上传到数据中心。但文件系统和存储驱动的代码,要与操作系统核心代码有效分离,能够做到非常容易的裁剪;
支持远程配置、远程诊断、远程管理等维护功能。这里不仅仅包涵常见的远程操作特性,比如远程修改设备参数、 远程查看运行信息等。还应该包涵更深层面的远程操作,比如可以 远程查看 操作系统内核的状态,远程调试线程或任务,异常时的远程dump内核状态等功能。这些功能不仅仅需要外围应用的支持,更需要 内核的天然支持;
支持完善的网络功能。物联网操作系统必须支持完善的TCP/IP协议栈,包括对IPv4和IPv6的同时支持。这个协议栈要具备灵活的伸缩性,以适应裁剪需要。比如可以通过裁剪,使得 协议栈只支持IP/UDP等协议功能,以降低代码尺寸。同时也支持丰富的IP协议族,比如Telnet/FTP/IPSec/SCTP等协议,以适用智能终端和高安全可靠的应用场合;
对物联网常用的无线通信功能要内置支持。比如支持GPRS/3G/HSPA/4G等公共网络的无线通信功能,同时要支持Zigbee/NFC/RFID等近场通信功能,支持WLAN/Ethernet等桌面网络接口功能。这些不同的协议之间,要能够相互转换,能够把从一种协议获取到的数据报文,转换成为另外一种协议的报文发送出去。除此之外,还应支持短信息的接收和发送、语音通信、视频通信等功能;
内置支持XML文件解析功能。物联网时代,不同行业之间,甚至相同行业的不同领域之间,会存在严重的信息共享壁垒。而XML格式的数据共享可以打破这个壁垒,因此XML标准在物联网领域会得到更广泛的应用。物联网操作系统要内置对XML解析的支持,所有操作系统的配置数据,统一用XML格式进行存储。同时也可对行业自行定义的XML格式进行解析,以完成行业转换功能;
支持完善的GUI功能。 图形用户界面一般应用于物联网的智能终端中,完成用户和设备的交互。GUI应该定义一个完整的框架,以方便图形功能的扩展。同时应该实现常用的用户界面元素,比如 文本框、按钮、列表等。另外,GUI模块应该与操作系统核心分离,最好支持二进制的动态加载功能,即操作系统核心根据应用程序需要,动态加载或卸载GUI模块。GUI模块的效率要足够高,从用户输入确认,到具体的动作开始执行之间的时间(可以叫做click-launch时间)要足够短,不能出现用户点击了确定、但任务的执行却等待很长时间的情况;
支持从外部存储介质中动态加载应用程序。物联网操作系统应提供一组API,供不同应用程序调用,而且这一组API应该根据操作系统所加载的外围模块实时变化。比如在加载了GUI模块的情况下,需要提供GUI操作的系统调用,但是在没有GUI模块的情况下,就不应该提供GUI功能调用。同时操作系统、GUI等外围模块、应用程序模块应该二进制分离,操作系统能够动态的从外部存储介质上按需加载应用程序。这样的一种结构,就使得整个操作系统具备强大的扩展能力。 操作系统内核和外围模块(GUI、网络等)提供基础支持,而各种各样的行业应用,通过应用程序来实现。最后在软件发布的时候,只发布 操作系统内核、所需的外围模块、应用程序模块即可。
集成开发环境的特点
集成开发环境是构筑行业应用的关键工具,物联网操作系统必须提供方便灵活的开发工具,以开发出适合行业应用的应用程序。开发环境必须足够成熟并得到广泛适用,以降低应用程序的上市时间(GTMT)。集成开发环境必须具备如下特点:
物联网操作系统要提供丰富灵活的API,供程序员调用,这组API应该能够支持多种语言,比如既支持C/C++,也支持Java、Basic等 程序设计语言;最好充分利用已有的 集成开发环境。比如可以利用Eclipse、Visual Studio等 集成开发环境,这些集成开发工具具备广泛的应用基础,可以在Internet上直接获得良好的技术支持;除配套的集成开发环境外,还应定义和实现一种紧凑的应用程序格式(类似Windows的PE格式),以适用物联网的特殊需要。通过对 集成开发环境进行定制,使得集成开发环境生成的代码,可以遵循这种格式;要提供一组工具,方便应用程序的开发和调试。比如提供应用程序 下载工具、远程调试工具等,支撑整个开发过程。
可以看出,上述物联网 操作系统内核、外围模块、应用开发环境等,都是支撑平台,支撑更上一层的行业应用。行业应用才是最终产生生产力的软件,但是物联网操作系统是行业应用得以茁壮生长和长期有效生存的基础,只有具备了强大灵活的物联网操作系统,物联网这棵大树才能结出丰硕的果实。
5物联网操作系统的开发
当前尚无一个比较完善的可商业应用的物联网操作系统。不过许多操作系统,都在朝这个方向发展。比如国产操作系统Hello China,已具备物联网操作系统的大致雏形(完善的 内核、文件系统、网络功能、GUI、开发工具等),进一步完善后,可作为典型的物联网操作系统进行推广。进一步的信息,请参考“扩展阅读”相关内容。
责任编辑:靳玉凤