物联网操作体系由内核、辅佐外围模块(文件体系、图形用户界面、通讯协议栈、各类常见设备的驱动程序等)、集成开发环境等组成,依据此,可衍生出一系列面向职业的特定运用,下图展现了这个概念:
物联网操作体系与传统的个人计算机操作体系和智能手机类操作体系不同,它具有物联网运用范畴内的一些共同特色,现阐明如下。
物联网操作体系内核的特色
1、内核尺度伸缩性强,能够习惯不同装备的硬件渠道。比方,一个极点的状况下,内核尺度有必要保持在10K以内,以支撑内存和CPU功用都很受限的传感器,这时分内核具有根本的使命调度和通讯功用即可。在别的一个极点的状况下,内核有必要具有完善的线程调度、内存办理、本地存储、杂乱的网络协议、图形用户界面等功用,以满意高装备的智能物联网终端的要求。这时分的内核尺度,不可避免的会大大添加,能够到达几百K,乃至M级。这种内核尺度的伸缩性,能够经过两个层面的办法来完结:从头编译和二进制模块挑选加载。从头编译办法很简单,只需求依据不同的运用方针,挑选所需的功用模块,然后对内核进行从头编译即可。这个办法运用于内核定制十分深化的状况下,比方要求内核的尺度到达10K以下的场合。而二进制模块挑选加载,则用在对内核定制不是很深化的状况。这时分保持一个操作体系装备文件,文件里列举了操作体系需求加载的一切二进制模块。在内核初始化完结后,会依据装备文件,加载所需的二进制模块。这需求终端设备要有外部存储器(比方硬盘、Flash等),以存储要加载的二进制模块;
2、内核的实时性有必要满意强,以满意要害运用的需求。大多数的物联网设备,要求操作体系内核要具有实时性,由于许多的要害性动作,有必要在有限的时刻内完结,否则将失掉含义。内核的实时性包容许多层面的意思,首先是中止呼应的实时性,一旦外部中止发生,操作体系有必要在满意短的时刻内呼应中止并做出处理。其次是线程或使命调度的实时性,一旦使命或线程所需的资源或进一步运转的条件准备就绪,有必要能够立刻得到调度。明显,依据非抢占式调度方法的内核很难满意这些实时性要求;
3、内核架构可扩展性强。物联网操作体系的内核,应该规划成一个结构,这个结构界说了一些接口和规范,只需遵从这些接口和规范,就能够很简单的在操作体系内核上添加新的功用的新的硬件支撑。由于物联网的运用环境具有广谱特性,要求操作体系有必要能够扩展以习惯新的运用环境。内核应该有一个依据总线或树结构的设备办理机制,能够动态加载设备驱动程序或其它中心模块。一起内核应该具有外部二进制模块或运用程序的动态加载功用,这些运用程序存储在外部介质上,这样就无需修正内核,只需求开发新的运用程序,就可满意特定的职业需求;
4、内核应满意安全和牢靠。牢靠性就不用说了,物联网运用环境具有自动化程度高、人为干涉少的特色,这要求内核有必要满意牢靠,以支撑长期的独立运转。安全对物联网来说愈加要害,乃至关系到国家命脉。比方一个不安全的内核被运用到国家电网操控傍边,一旦被外部侵入,形成的影响将无法估量。为了加强安全性,内核应支撑内存保护(VMM等机制)、反常办理等机制,以在必要时阻隔过错的代码。别的一个安全策略,便是不敞开源代码,或许不敞开要害部分的内核源代码。不公开源代码仅仅一种安全策略,并不代表不能免费适用内核;
5、节能省电,以支撑满意的电源续航才干。操作体系内核应该在CPU闲暇的时分,下降CPU运转频率,或爽性封闭 CPU。关于周边设备,也应该实时判别其运转状况,一旦进入闲暇状况,则切换到省电形式。一起,操作体系内核应最大程度的下降中止发生频率,比方在不影响实时性的状况下,把体系的时钟频率调到最低,以最大或许的节省电源。
物联网操作系外围模块的特色
外围模块指为了习惯物联网的运用特色,操作体系应该具有的一些功用特征,比方长途保护和晋级等。一起也指为了扩展物联网操作体系内核的功用规模,而开发的一些功用模块,比方文件体系、网络协议栈等。物联网操作体系的外围模块(或外围功用)应该至少具有下列这些:
1、支撑操作体系中心、设备驱动程序或运用程序等的长途晋级。长途晋级是物联网操作体系的最根本特征,这个特性可大大下降保护本钱。长途晋级完结后,原有的设备装备和数据能够得以持续运用。即便在晋级失利的状况下,操作体系也应该能够康复原有的运转状况。长途晋级和保护是支撑物联网操作体系大规模布置的首要办法之一;
2、支撑常用的文件体系和外部存储。比方支撑FAT32/NTFS/DCFS等文件体系,支撑硬盘、USB stick、Flash、ROM等常用存储设备。在网络连接中止的状况下,外部存储功用会发挥重要作用。比方能够暂时存储收集到的数据,再网络康复后再上传到数据中心。但文件体系和存储驱动的代码,要与操作体系中心代码有用别离,能够做到十分简单的裁剪;
3、支撑长途装备、长途确诊、长途办理等保护功用。这儿不仅仅包容常见的长途操作特性,比方长途修正设备参数、长途检查运转信息等。还应该包容更深层面的长途操作,比方能够长途检查操作体系内核的状况,长途调试线程或使命,反常时的长途dump内核状况等功用。这些功用不仅仅需求外围运用的支撑,更需求内核的天然支撑;
4、 支撑完善的网络功用。物联网操作体系有必要支撑完善的TCP/IP协议栈,包含对IPv4和IPv6的一起支撑。这个协议栈要具有灵敏的伸缩性,以习惯裁剪需求。比方能够经过裁剪,使得协议栈只支撑IP/UDP等协议功用,以下降代码尺度。一起也支撑丰厚的IP协议族,比方Telnet/FTP/IPSec/SCTP等协议,以适用智能终端和高安全牢靠的运用场合;
5、对物联网常用的无线通讯功用要内置支撑。比方支撑GPRS/3G/HSPA/4G等公共网络的无线通讯功用,一起要支撑Zigbee/NFC/RFID等近场通讯功用,支撑WLAN/Ethernet等桌面网络接口功用。这些不同的协议之间,要能够彼此转化,能够把从一种协议获取到的数据报文,转化成为别的一种协议的报文发送出去。除此之外,还应支撑短信息的接纳和发送、语音通讯、视频通讯等功用;
6、内置支撑XML文件解析功用。物联网年代,不同职业之间,乃至相同职业的不同范畴之间,会存在严峻的信息同享壁垒。而XML格局的数据同享能够打破这个壁垒,因而XML规范在物联网范畴会得到更广泛的运用。物联网操作体系要内置对XML解析的支撑,一切操作体系的装备数据,统一用XML格局进行存储。一起也可对职业自行界说的XML格局进行解析,以完结职业转化功用;
7、支撑完善的GUI功用。图形用户界面一般运用于物联网的智能终端中,完结用户和设备的交互。GUI应该界说一个完好的结构,以便利图形功用的扩展。一起应该完结常用的用户界面元素,比方文本框、按钮、列表等。别的,GUI模块应该与操作体系中心别离,最好支撑二进制的动态加载功用,即操作体系中心依据运用程序需求,动态加载或卸载GUI模块。GUI模块的功率要满意高,从用户输入承认,到详细的动作开端履行之间的时刻(能够叫做click-launch时刻)要满意短,不能呈现用户点击了确认、但使命的履行却等候很长期的状况;
8、支撑从外部存储介质中动态加载运用程序。物联网操作体系应供给一组API,供不同运用程序调用,并且这一组 API应该依据操作体系所加载的外围模块实时改变。比方在加载了GUI模块的状况下,需求供给GUI操作的体系调用,可是在没有GUI模块的状况下,就不应该供给GUI功用调用。一起操作体系、GUI等外围模块、运用程序模块应该二进制别离,操作体系能够动态的从外部存储介质上按需加载运用程序。这样的一种结构,就使得整个操作体系具有强壮的扩展才干。操作体系内核和外围模块(GUI、网络等)供给根底支撑,而各式各样的职业运用,经过运用程序来完结。终究在软件发布的时分,只发布操作体系内核、所需的外围模块、运用程序模块即可。
物联网操作体系集成开发环境的特色
集成开发环境是构筑职业运用的要害东西,物联网操作体系有必要供给便利灵敏的开发东西,以开宣布合适职业运用的运用程序。开发环境有必要满意老练并得到广泛适用,以下降运用程序的上市时刻(GTMT)。集成开发环境有必要具有如下特色:
1、 物联网操作体系要供给丰厚灵敏的API,供程序员调用,这组API应该能够支撑多种语言,比方既支撑C/C++,也支撑Java、Basic等程序规划语言;
2、 最好充分使用已有的集成开发环境。比方能够使用Eclipse、Visual Studio等集成开发环境,这些集成开发东西具有广泛的运用根底,能够在Internet上直接取得杰出的技术支撑;
3、 除配套的集成开发环境外,还应界说和完结一种紧凑的运用程序格局(相似Windows的PE格局),以适用物联网的特殊需求。经过对集成开发环境进行定制,使得集成开发环境生成的代码,能够遵从这种格局;
4、 要供给一组东西,便利运用程序的开发和调试。比方供给运用程序下载东西、长途调试东西等,支撑整个开发进程。
能够看出,上述物联网操作体系内核、外围模块、运用开发环境等,都是支撑渠道,支撑更上一层的职业运用。职业运用才是终究发生生产力的软件,可是物联网操作体系是职业运用得以健壮成长和长期有用生计的根底,只要具有了强壮灵敏的物联网操作体系,物联网这棵大树才干结出丰盛的果实。