基于物联网驱动的Linux系统的研究与改进.docx
《基于物联网驱动的Linux系统的研究与改进.docx》由会员分享,可在线阅读,更多相关《基于物联网驱动的Linux系统的研究与改进.docx(45页珍藏版)》请在课桌文档上搜索。
1、基于物联网驱动的1.inUX系统的研究与改进徐高峰摘要物联网作为一种正处于蓬勃发展阶段的新兴技术,越来越受到人们的关注。物联网是“物与物相连构成的互联网络”,也可以理解为嵌入式智能终端的网络化形式。因此它的发展给其环境下的嵌入式系统、无线传感网络等核心技术带来了新的机遇。嵌入式技术作为物联网产业发展的核心推动力,它的灵魂是嵌入式操作系统。嵌入式操作系统中,1.inUX凭借自身的模块化设计、可剪裁等特点成为了目前使用最为广泛的系统之一,但由于1.inux一直以来是以通用分时系统的角色存在的,所以如果将其直接用在物联网的嵌入式系统中是不能满足物联网技术中对实时性的要求的。针对这个问题,本文研究了已
2、成功的1.inUX实时化方案,指出了它们的优点及不足。并基于标准的2.6内核,对调度算法中与实时性相关的源代码进行了深入分析。在实时化改进方面的主要研究及改进成果有:1)标准内核实时性不足的原因:实时任务的动态优先级一经设定是不会改变的,即实际上是“静态”的,没有实现真正意义上的动态调度。2)对动态调度算法RM(RateMonotonicAnalysis)EDF(EarliestDeadlineFirst)以及1.1.F(1.eaSt1.aXityFirst,基于EDF的改进算法)的介绍及优缺点分析。3)针对1.1.F算法在调度过程中存在的“颠簸”问题,本论文提出了基于变更期的1.1.F算法,
3、并在标准的2.6内核中进行了实现。核心思想是:在进程切换时,把当前进程的裕度值更新为1,且在变更期内生效。这样不但大大地减少了原1.1.F算法中由于频繁切换而导致的资源浪费,而且还保证了新系统的可抢占性,能有效地提升系统的实时性能。物联网环境下的Zigbee技术,是无线传感网络中使用的最重要技术。目前.,在物联网的应用中,使用该技术一般都是采用Zigbee模块的形式。Zigbee模块是商家通过专用硬件以及软件开发平台为用户的再次开发提供的一套完整开发环境。它的优点是使用起来简单、方便,且花费的时间也较短;缺点是功能单一。虽然其暂时拥有了市场、赢得了利益,但从长远的角度分析,伴随着物联网的发展,
4、嵌入式应用领域会变得越来越复杂、多变,单靠其单一的功能,其在未来的物联网市场上必将失去核心竞争力。基于以上分析,为了体现在具有Zigbee无线通信能力的同时,又能更好地发挥1.inux操作系统在物联网中的重要作用,实现一个基于Zigbee技术的专用1.inux内核将成为未来发展趋势,所以本课题提出了在1.inux系统中实现Zigbee协议栈的想法。该内核在具有1.inUX系统强大功能的同时又具有了Zigbee无线通信的能力。这方面的研究内容及成果有:1)分析了Zigbee协议栈的分层结构,并且对各层的工作做了详细的概述。2)分析了1.inux系统中实现Zigbee协议栈的可行性。3)提出了在1
5、.inUX系统中实现Zigbee协议栈的想法,并给出了1.inUX_Zigbee的网络体系框架。4)基于提出的想法,给出了部分关键数据结构的实现。在论文的最后一个章节,对实时性的改造部分进行了实验,并和原系统进行了数据的对比,结果表明,引入基于变更期的1.1.F算法后的内核在对实时任务的响应上有所增强。关键字:1.inUX操作系统,嵌入式实时系统,物联网,ZigBee无线技术1前言12物联网及1.inux系统概述22.1物联网简介22.2Zigbee无线通信技术32.3Zigbee技术应用现状42.4嵌入式操作系统52. 5实时Iinux系统研究进展631.inux调度算法实时性分析与改进73
6、. 11.inux2.6进程调度分析与研究73.1.1进程调度基本过程73.1.2三种调度策略及不足113.2实时系统调度算法123. 2.1RM倜度算124. 2.2EDF调度算法125. 2.31.1.F调度算法123. 3基于变更期的1.1.F算法的设计及实现133. 3.1taskstruct的扩展144. 3.2j145. 3.3scheduler_tick156. 3.4任务切换函数157. 3.5基于变更期的1.1.F算法的设计168. 1.inux系统中Zigbee协议栈的构建184. 1Zigbee协议栈分析184. 2可行性分析204. 31.inux内核网络结构204.
7、3.1各层功能分析214. 3.2网络结构特点254. 41.inux_Zigbee网络体系的设计264. 5关键数据结构305实验与分析325. 1实时性能评价指标325.2系统内核构建325.3测试工具介绍335.4测试及讨论345.4.1基于变更期的1.1.F算法性能测试355.4.2中断延迟测试365.4.3调度延迟测试366总结39i.40致谢421前言物联网技术是把人和人间的信息交换扩展到了人和人、人和物、物和物之间,它的目标是要实现信息空间、人类社会及物理世界的融合和连通,它引领着未来网络技术的发展趋势,被认为是信息领域的又一次重大发展及机遇。同时,它必将促进人和自然的和谐发展,
8、为信息产业提供一个巨大的发展空间。伴随物联网的发展,对嵌入式系统的要求也越来越高。1.inUX操作系统因具有廉价、稳定、开源等众多优势,使得其在嵌入式领域一直受到很多开发者的青睐。且凭借自身的优势一直以来都被作为嵌入式操作系统的首要选择,所以物联网的发展一方而要求1.inUX系统在实时性方面不断提高;另一方面,无线通信技术作为物联网中另一个关键技术,在市场上主要以无线模块的形式存在,其大都功能单一,因此无线通信模块有待于进一步提升,才能跟上物联网的发展,应对未来复杂的应用。首先,2.6内核是基于静态优先级调度策略的,不支持动态实时优先级调度。而面对物联网应用中的多变环境,单一的静态优先级方法将
9、无法满足物联网嵌入式应用中强实时需求。所以,在2.6内核中引入实时进程的动态优先级调度方法成为必要,即进程的优先级不再是静态值,而是随着某些变化而变化,从而增强内核的实时性能。其次,针对市场上无线通信模块功能的单化问题,考虑在1.inUX系统中引入Zigbee(协议栈),引入该协议栈后系统不但能够满足无线通信的功能而且还能够具有标准内核管理的强大功能,这个基于Zigbee的嵌入式操作系统软件平台将能满足物联网未来发展中的复杂需求。本课题是基于物联网驱动的1.inux操作系统的研究与改进,关键就是针对1.inux操作系统在嵌入式系统应用中存在的实时性方面的不足,进行的研究与改进,具体操作是引入了
10、新的调度算法;同时,又通过分析1.inUX操作系统的网络架构,结合Zigbee协议栈的框架提出了在1.inux操作系统中实现Zigbee协议栈的构想。总之,对1.inUX操作系统在实时性能方面的改进,及在网络结构方面的想法,不仅具有理论价值,而且从实用价值看,也必将推动嵌入式系统的发展,从而带动物联网技术走向产业化,从整体上推动我国物联网产业的发展,还会带动一批新的服务行业的产生和发展,社会效益显著。2物联网及1.inUX系统概述2.1 物联网简介物联网可以说是物和物、人和物之间的信息传递和控制。在物联网应用中最关键的三项技术是:(1)无线传感网络WSN(WirelessSensorNetwo
11、rks)是大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络。使用过程中,用户端根据需要通过管理站点发送相关的指令从而可达到对传感器网络的管理,如发布监测命令从而收集监测到的数据。其体系结构如图2.1所示:图27无线传感器网络体系结构图图2-1中的普通节点一般是个具有简单的存储、处理、通信能力的嵌入式系统,同时该系统还有感知环境数据的能力。从网络的角度分析,每一个传感器节点有着普通节点与路由的双重身份,即不但要收集本地数据和进行数据的处理,还要对其它节点派送过来的数据进行处理,与此同时,还能协作其它节点共同完成某些特定工作。网关设备以无线方式与传感器网络连接,再通过有线方式或者无线方式
12、连接到Internet等外部网络,即实现两种不同通信协议栈的转换。它不但可以发布一些对基站的检测任务,还可以把采集到的数据转发到外部网络中。(2)无线射频技术RFID(RadioFrequencyIdentificationDevices)是一种自动无线识别及数据获取技术。RFID标签就是将无线射频技术及嵌入式技术融合为一体的技术,且能适应于恶劣的环境中,因此它在物品物流管理、自动识别等领域有着广阔的应用前景。(3)嵌入式系统技术。该技术综合了传感器技术、计算机软硬件、电子应用技术、集成电路技术为一体的复杂技术。从结构上看,物联网有感知层、网络层、应用层。技术架构图如图2-2所示:应用层智能家
13、居城市管理工业监控环境监测智能交通绿色农业网络层云平台2G网络管理中心3G网络(T)64G网络感知层RFID读写器/标签M2M终端、传感器/摄像头传感器网关传感器网络传感器网关传感器网络图2-2物联网技术架构图2.2Zigbee无线通信技术在物联网这个巨大网络中,传感设备与网络间的通信是通过有线或者无线的方式进行的。但是从系统建设、维护、投资等几个方面考虑,无线传输技术显然具有更大优势。而物联网应用领域中要想成功地发挥无线传感器网络之强大功能,Zigbee技术是再合适不过的技术了581.作为一种新兴技术,Zigbee凭其著多优点被广泛应用。Zigbee技术与常用无线通信技术的对比如图2-3所示
14、:主要技术应用范围优势缺点成本蓝牙遥感勘测、数字电子设备、工业控制、智能化建筑、家庭和办公自动化、无线公文包等替代有线,应用较多、成本较低且方便使用以移动电话为中心,每网最多8个节点低于5美元Wi-FiWeb/Emai!/Video等相关应用使用现有网络、高速率、组网以活高功耗、协议开销大、需要接入点约20美元Zigbee家庭、楼宇自动化等可靠、安全、组网方便等缺少安全性规范和完善的标准50美分左右图2-3常用无线技术对比图Zigbee技术特点网有数据传输速率低、功耗低、安全、网络容量大、时延短等优点。因此,把Zigbee无线网络传输技术应用于物联网中是最为可靠、经济的手段之一,基于Zigbe
15、e技术的优点,本课题提出了在1.inUX系统中实现Zigbee协议的想法。2.3Zigbee技术应用现状智能家居、工业监控、智能交通、绿色农业等都是物联网的典型应用领域,实现过程中Zigbee节点的硬件结构如图2-4所示:图2-4Zigbee节点硬件结构图而Zigbee技术在物联网中具体的应用方案,有两种方式可供选择:第一种:选择芯片。选择Zigbee芯片后要根据自己的需要进行Zigbee应用设计,这种方式需要对软件及Zigbee协议栈非常了解,还需要有高频设计的相关知识和经验,开发周期将会比较长。第二种:选择Zigbee模块。Zigbee无线通信模块,是已经包含了所有外围电路及完整Zigbe
16、e协议栈的且随时能够使用的产品。解决了用户方案设计的难题,使用时只需将Zigbee模块作为一个透明的元器件,也可以直接将模块焊接到相关设备的线路板上以达到无线通讯的功能。所以这种方法只需把重点放在设计解决方案上,花费的时间较短,且应用起来也显得容易了很多。Zigbee无线通信作为物联网应用中的关键技术,不管是选择Zigbee芯片还是选择Zigbee模块,都有其不足之处。选择Zigbee芯片开发周期长,且要对协议栈足够的了解,一定程度了增加了复杂度;而选择模块的缺点有:首先,硬件上使用的都是单片机,与ARM芯片存在着一定的差距,主要体现在ARM芯片属于微处理器而单片机只能叫做微控制器。其次,软件
17、上,由于是基于单片机实现的功能,所以只有针对无线通信的技术内容。因此随着嵌入式系统的不断发展,嵌入式应用的复杂度的不断提高,现在基于单片机开发的Zigbee无线通信技术将不能胜任物联网应用的发展。所以在嵌入式1.inUX系统中引入Zigbee(协议栈)将成为未来的主流技术,也就是说它不但能满足无线通信的功能而且还能够有1.inUX内核的存储、任务、中断管理等强大功能,即所谓的Zigbee嵌入式操作系统软件平台,就能满足物联网应用中的复杂需求。另外,还可以在这个软件平台上根据具体的应用开发出不同的Zigbee控制器,使节点的应用更加方便、直接。通过上述分析可知,嵌入式1.inux系统中引入Zig
18、bee将有绝对的必要性和市场竞争力,必将是未来发展的趋势。2. 4嵌入式操作系统嵌入式的发展经历了由简单到复杂的过程。嵌入式系统的硬件和软件资源也在不断的庞大,因此系统中引入管理系统资源的软件成为必要,即嵌入式操作系统。目前较为流行的主要嵌入式操作系统有VXWOrks,PalmOS,WindowsCE,QNX等。首先它们都是商业性的嵌入式操作系统,使用它们要承担昂贵的费用。其次,这些系统的内核源码并不公开,对开发者来说要去深入理解它、改动它就相当的困难。所以这些问题在一定程度上阻碍了嵌入式技术的发展。而1.ilWX的存在,使得其在嵌入式系统方面大放光芒HOJe1.imIX作为嵌入式操作系统实时
19、性能不足的主要原因有U比(1)实时调度:传统的1.inUX操作系统为使进程能公平的使用资源,采用的是分时策略,也因此系统的实时响应能力有所下降。虽然后来的1.inUX版本针对此问题做了一些实时改进,如2.6内核有了抢占式内核、有了O(I)调度算法等改进,但内核并没有实现动态优先级调度。物联网应用中嵌入式的应用环境是千差万别的,特别是调度算法应该满足动态优先级的要求,所以原来的静态优先级策略是不能满足嵌入式系统对实时性的要求的。(2)内存管理机制:1.inux用的是虚拟内存管理机制,包括有交换、请求分页等技术。即内核在创建进程时,不是一次性分配给进程内存,而是通过虚拟内存分配。且页表不是全部装入
20、内存,而只保留当前用的那部分页面,其它的要到实际运行的时候,通过产生缺页中断,才调入需要的页面。而物联网应用中,嵌入式系统将会有频繁的访问且响应时间要及时,所以1.inux的内存机制在嵌入式系统的实时应用中存在着不足。(3)中断机制:在1.inUX的系统调用中,中断处理后为了保护临界区资源,用的是关中断方法,也就是说系统在关中断这段时间内,是无法响应任务的,即使有实时任务进来,也要等到中断处理之后才能得到响应,所以从嵌入式实时系统的角度来看,就削减了系统的实时性。3. 5实时IinUX系统研究进展鉴于1.inux对嵌入式系统发展的重要性,许多机构或者个人都在为应用于嵌入式领域的1.inUX实时
21、性改进而努力,并做了大量的研究工作,但主要围绕双核技术和修改内核代码两种形式进行,下面是对改进后的实时1.inux系统成果的分析H2网(1)双核技术是指系统中的内核是用两个不同职责的内核来实现的,一个负责实时任务的处理,另一个负责非实时任务的处理,相互配合完成系统的功能。这种方法在保持了原有1.inUX内核的独立性,避免了对原内核的大幅度改动,同时也保持了RT-1.inux其他部分对传统1.inux系统的兼容性。由于RT-1.inux不但有标准1.inUX的强大功能,而且还支持硬实时,所以已经成功地应用于航天飞机等高科技领域。双核技术的RT-1.inux虽然已很好地满足了嵌入式系统的硬实时要求
22、,但还是有不足之处。一方面,针对RT-1.inux实时任务的开发只是基于实时内核的,而不是面向传统1.inUX的。因此,由此导致了传统1.inUX成熟的技术和资源没有被充分地利用。另一方面,RT-1.inUX的实时进程存在内存安全隐患。由于实时任务的处理位置,即系统的核心层,是没有内存保护功能的。所以如果实时任务出现了错误,及有可能引起系统问题。(2)进程调度是关系系统实时性能的主要因素。对调度策略的优化主要是引入新的调度策略,来提高系统的实时性能。有基于优先级的、基于时间驱动的或者基于比例共享的策略等。但从已经成功的案例看,主要体现在对单调速率(RM)算法以及最早期限优先(EDF)算法的引进
23、或者优化。第一种主要用于静态周期任务的调度;第二种主要用于动态优先的调度。另外也有一些是重新编写一个实时调度器,但这样做需要涉及的东西较多,改动较大,会破坏标准1.inux系统的某些特性。所以通常都是采用引入新的调度算法来提高系统的实时性。31.inUX调度算法实时性分析与改进本章将基于内核中与实时性能相关的源代码,首先讨论1.inux2.6调度策略的不足;其次介绍经典的RM算法和EDF算法,分析各个算法中的不足,并针对不足之处进行研究和改进;最后,将改进后的算法引入到内核的调度算法中,以提高内核的实时性能。4. 11.inux2.6进程调度分析与研究1.inUX内核作为1.inUX系统的核心
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 联网 驱动 Linux 系统 研究 改进
链接地址:https://www.desk33.com/p-1344779.html