新闻资讯
看你所看,想你所想

物联网作业系统

物联网作业系统

物联网作业系统是新一代信息技术的重要组成部分。其英文名称是IOT(Internet Of Things)。由此,顾名思义,“物联网就是物物相连的网际网路”。

基本介绍

  • 中文名:物联网作业系统
  • 外文名:Internet Of Things
  • 典型实现案例:HelloX作业系统

基本信息

这有两层意思:第一,物联网的核心和基础仍然是网际网路,是在网际网路基础上的延伸和扩展的网路;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。因此,物联网的定义是通过射频识别(RFID)、红外感应器、全球定位系统、雷射扫描器等信息感测设备,按约定的协定,把任何物品与网际网路相连线,进行信息交换和通信,以实现对物品的智慧型化识别、定位、跟蹤、监控和管理的一种网路。物联网与网际网路的不同在于,网际网路关注的是“人与人”之间的信息交换和共享,而物联网则进一步扩展,实现“物与物”、“人与物”之间的信息交换和共享。
下图示意了物联网的分层体系结构:物联网大致可分为终端套用层、网路层(进一步分为网路接入层和核心层)、设备管理层、后台套用层等四个层次。其中最能体现物联网特徵的,就是物联网的终端套用层。终端套用层由各种各样的感测器、协定转换网关、通信网关、智慧型终端、刷卡机(POS机)、智慧卡等终端设备组成。这些终端大部分都是具备计算能力的微型计算机。物联网作业系统,就是运行在这些终端上,对终端进行控制和管理,并提供统一编程接口的作业系统软体。
物联网作业系统
与传统的个人计算机或个人智慧型终端(智慧型手机、平板电脑等)上的作业系统不同,物联网作业系统有其独特的特徵。这些特徵是为了更好的服务物联网套用而存在的,运行物联网作业系统的终端设备,能够与物联网的其它层次结合的更加紧密,数据共享更加顺畅,能够大大提升物联网的生产效率。

系统作用

除具备传统作业系统的设备资源管理功能外,物联网作业系统还具备下列功能:
禁止物联网碎片化的特徵,提供统一的编程接口:所谓碎片化,指的是硬体设备配置多种多样,不同的套用领域差异很大。从小到只有几K记忆体的低端单片机,到有数百M记忆体的高端智慧型设备。传统的作业系统无法适应这种“广谱”的硬体环境,而如果採用多个作业系统(比如低端配置,採用嵌入式作业系统,高端配置设备,採用Linux等通用作业系统),则由于架构的差异,无法提供统一的编程接口和编程环境。正是这种“碎片化”的特徵,牵制了物联网的发展和壮大。物联网作业系统则充分考虑这些碎片化的硬体需求,通过合理的架构设计,使得作业系统本身具备很强的伸缩性,很容易的套用到这些硬体上。同时,通过统一的抽象和建模,对不同的底层硬体和功能部件进行抽象,抽象出一个一个的“通用模型”,对上层提供统一的编程接口,禁止物理硬体的差异。这样达到的一种效果就是, 同一个APP,可以运行在多种不同的硬体平台上,只要这些硬体平台运行物联网作业系统即可。这与智慧型手机的效果是一样的,同一款APP,比如微信,既可以运行在一个厂商的低端智慧型手机上,又可以运行在硬体配置完全不同的另一个厂商的高端手机上,只要这些手机都安装了Android作业系统。显然,这样一种独立于硬体的能力,是支撑物联网良好生态环境形成的基础。
物联网生态环境培育:拉通物联网产业的上下游,培育物联网硬体开发、物联网系统软体开发、物联网套用软体开发、物联网业务运营、网路运营、物联网数据挖掘等分离的商业生态环境,为物联网的大发展建立基础。类似于智慧型终端作业系统(iOS、Andriod等)对移动网际网路的生态环境培育作用;
降低物联网套用开发的成本和时间:物联网作业系统是一个公共的业务开发平台,具备丰富完备的物联网基础功能组件和套用开发环境,可大大降低物联网套用的开发时间和开发成本;提升数据共享能力:统一的物联网作业系统具备一致的数据存储和数据访问方式,为不同行业之间的数据共享提供了可能。物联网作业系统可打破行业壁垒,增强不同行业之间的数据共享能力,甚至可以提供“行业服务之上”的服务,比如数据挖掘等;
为物联网统一管理奠定基础:採用统一的远程控制和远程管理接口,即使行业套用不同,也可採用相同的管理软体对物联网进行统一管理,大大提升物联网的可管理性和可维护性,甚至可以做到整个物联网的统一管理和维护。

体系架构

一般来说,物联网作业系统由核心、通信支持(WiFi/蓝牙、2/3/4G等通信支持、NFC、RS232/PLC支持等)、外围组件(档案系统、GUI、Java虚拟机、XML档案解析器等)、集成开发环境等组成,基于此,可衍生出一系列面向行业的特定套用,下图展示了这个概念:
物联网作业系统
物联网作业系统与传统的个人计算机作业系统和智慧型手机类作业系统不同,它具备物联网套用领域内的一些独特特点,现说明如下。

特点

核心的特点
核心尺寸伸缩性强,能够适应不同配置的硬体平台。比如,一个极端的情况下,核心尺寸必须维持在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、网路等)提供基础支持,而各种各样的行业套用,通过应用程式来实现。最后在软体发布的时候,只发布作业系统核心、所需的外围模组、应用程式模组即可。
集成开发环境的特点
集成开发环境是构筑行业套用的关键工具,物联网作业系统必须提供方便灵活的开发工具,以开发出适合行业套用的应用程式。开发环境必须足够成熟并得到广泛适用,以降低应用程式的上市时间(TTM)。集成开发环境必须具备如下特点:
物联网作业系统要提供丰富灵活的API,供程式设计师调用,这组API应该能够支持多种语言,比如既支持C/C++,也支持Java等程式设计语言;最好充分利用已有的集成开发环境。比如可以利用Eclipse、Visual Studio等集成开发环境,这些集成开发工具具备广泛的套用基础,可以在Internet上直接获得良好的技术支持;除配套的集成开发环境外,还应定义和实现一种紧凑的应用程式格式(类似Windows的PE格式),以适用物联网的特殊需要。通过对集成开发环境进行定製,使得集成开发环境生成的代码,可以遵循这种格式;要提供一组工具,方便应用程式的开发和调试。比如提供应用程式下载工具、远程调试工具等,支撑整个开发过程。
可以看出,上述物联网作业系统核心、外围模组、套用开发环境等,都是支撑平台,支撑更上一层的行业套用。行业套用才是最终产生生产力的软体,但是物联网作业系统是行业套用得以茁壮生长和长期有效生存的基础,只有具备了强大灵活的物联网作业系统,物联网这棵大树才能结出丰硕的果实。

典型实现案例

物联网作业系统是一个通用的概念,与“嵌入式作业系统”一样,是一类作业系统的统称。其中最典型的一个例子,就是HelloX作业系统。这是一个自2004年就开始开发的作业系统,原名为“Hello China作业系统“,后来为了更加聚焦物联网套用,更名为”HelloX作业系统“。该作业系统专注于物联网套用,完全符合物联网作业系统的上述特点,代码完全开源,同时具备如下主要特点:
完全自主智慧财产权的核心
HelloX作业系统的核心基于面形对象思想进行开发,具备完全的自主智慧财产权,代码完全开放。这与基于成熟作业系统核心进行定製开发的做法不同,这种一开始就瞄準物联网特点,从头开始全新定製开发的做法,才能确保作业系统完全满足物联网的套用需求。而基于已有成熟核心进行定製或二次开发的模式,则由于原有核心的开发理念不同,无法完全满足物联网套用特徵。同时,未来的开发计画还必须要匹配原有核心的版本计画,这两者之间的割裂会严重阻碍物联网作业系统的发展。因此,具备完全智慧财产权的核心,对物联网作业系统的开发异常重要;
具备高度的可伸缩性和丰富的外围功能模组
HelloX作业系统核心基于模组化和面向对象思想开发,可以通过定製,来匹配各种硬体的需求。比如,可以通过修改配置档案,把核心尺寸控制在10K级别,满足非常低端的硬体需求。同时可以通过添加丰富的外围组件,满足功能丰富的高端硬体配置需求。目前来说,HelloX作业系统除尺寸可伸缩的核心外,还具备TCP/IP协定栈,GUI,Java虚拟机,档案系统,乙太网管理框架,POSIX API,WLAN/蓝牙/串口通信支持等外围模组,并根据需要,增加更加丰富的外围模组。这些外围模组可静态或动态载入和卸载;
完善的硬体建模功能
硬体建模能力,是物联网作业系统的核心能力之一。通过硬体建模,为上层套用禁止硬体差异,提供统一的运行期API,是构筑物联网良好生态环境的基础。HelloX作业系统支持完善的JAVA虚拟机,基于Java语言对不同的底层硬体进行建模,同时支持模型的扩展性。
除此之外,HelloX还具备很多其它的满足物联网本身特徵的特性,比如安全和加密,统一配置和管理框架等,在此不做详细描述。

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com