内核尺寸伸缩性强,能够适应不同配置的硬件平台。比如,一个极端的情况下,内核尺寸必须维持在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格式),以适用物联网的特殊需要。通过对集成开发环境进行定制,使得集成开发环境生成的代码,可以遵循这种格式;要提供一组工具,方便应用程序的开发和调试。比如提供应用程序下载工具、远程调试工具等,支撑整个开发过程。
可以看出,上述物联网 *** 作系统内核、外围模块、应用开发环境等,都是支撑平台,支撑更上一层的行业应用。行业应用才是最终产生生产力的软件,但是物联网 *** 作系统是行业应用得以茁壮生长和长期有效生存的基础,只有具备了强大灵活的物联网 *** 作系统,物联网这棵大树才能结出丰硕的果实。
物联网技术涵盖感知层、网络层、平台层和应用层四个部分。
感知层的主要功能就是采集物理世界的数据,其是人类世界跟物理世界进行交流的关键桥梁。比如在智能喝水领域会采用一种流量传感器,只要用户喝水,流量传感器就会立即采集到本次的喝水量是多少,再比如小区的门禁卡,先将用户信息录入中央处理系统,然后用户每次进门的时候直接刷卡就行。(了解更多智慧人脸识别解决方案,欢迎咨询 汉玛智慧)
网络层主要功能就是传输信息,将感知层获得的数据传送至指定目的地。物联网中的“网”字其实包含了2个部分:接入网络、互联网。以前的互联网只是打通了人与人之间的信息交互,但是没有打通人与物或物与物之间的交互,因为物本身不具有联网能力。后来发展出将物连接入网的技术,我们称其为设备接入网,通过这一网络可以将物与互联网打通,实现人与物和物与物之间的信息交互,大大增加了信息互通的边界,更有利于通过大数据、云计算、AI智能等先进技术的应用来增加物理和人类世界的丰富度。
平台层可为设备提供安全可靠的连接通信能力,向下连接海量设备,支撑数据上报至云端,向上提供云端API,服务端通过调用云端API将指令下发至设备端,实现远程控制。物联网平台主要包含设备接入、设备管理、安全管理、消息通信、监控运维以及数据应用等。
应用层是物联网的最终目的,其主要是将设备端收集来的数据进行处理,从而给不同的行业提供智能服务。目前物联网涉及的行业众多,比如电力、物流、环保、农业、工业、城市管理、家居生活等,但本质上采用的物联网服务类型主要包括物流监控、污染监控、智能交通、智能家居、手机钱包、高速公路不停车收费、远程抄表、智能检索等。
物联网的体系架构中,在感知层和网络层两个不同的网络之间需要一个中间设备,那就是“物联网网关”。物联网智能网关既可以用于广域网互连,也可以用于局域网互连。
特点:
接口丰富,标准易用
工业现场设备远程控制
兼容全网,链路智能切换备份
多种协议,保障数据无损传输
物联网感知层是物联网与传统互联网的重要区别之一,感知层的存在使得 物联网的安全 问题具有一定的独特性。 总体来说,物联网感知层主要有以下几个特点:物联网感知对象种类多样,监测数据需求较大,感知节点常被部署在空中、水下、地下等人员接触较少的环境中,应用场景复杂多变。 因此,一般需要部署大量的感知层节点才能满足全方位、立体化的感知需求;
感知层在同一感知节点上大多部署不同类型的感知终端,如稻田监测系统,一般需要部署用以感知空气温度、湿度、二氧化碳含量以及稻田水质等信息的感知终端。 这些终端的功能、接口以及控制方式不尽相同,导致感知层终端种类多样、结构各异;
从硬件上看,由于部署环境恶劣,感知层节点常面临自然或人为的损坏;从软件上看,受限于性能和成本,感知节点不具备较强的计算、存储能力,因此无法配置对计算能力要求较高的安全机制,最终造节点安全性能不高问题的出现。
从攻击方式上看,感知层的安全威胁可以分为物理攻击、身份攻击和资源攻击。
感知节点应用场景复杂多样,易于受到自然损害或人为破坏,导致节点无法正常工作。
因缺乏监管,终端设备被盗窃、破解,导致用户敏感信息泄露,影响系统安全。
攻击者非法获取用户身份信息,并冒充该用户进入系统,越权访问合法资源或享受服务。
攻击者替换原有的感知层节点设备,系统无法识别替换后的节点身份,导致信息感知异常。
攻击者恶意占用信道,导致信道被堵塞,不能正常传送数据。
攻击者通过不停向节点发送无效请求,占用节点的计算、存储资源,影响节点正常工作。
攻击者截获各种信息后重新发送给系统,诱导感知节点做出错误的决策。与公有云相比,物联网私有云平台具备开放性,支持企业基于API接口进行二次开发;具备兼容性,支持主流IaaS平台、IDC机房独立主机部署、主流Linux *** 作系统等;具备安全性,支持敏感数据脱敏存储、数字签名、TLS12加密传输、对称/非对称加密方案等;具备可靠性,支持横向扩展,通过增加主机提升设备接入量;具备灵活性,支持在非容器主机上部署、Docker容器化部署,而且支持最小化部署,即可在1台主机完成部署。机智云物联网私有云部署方案都具备这些特点,有丰富的服务经验,找他们提供服务要更加稳妥一些,你可以百度具体了解一下。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)