用户登录  |  用户注册
首 页毕业论文毕业设计下载定做交易过程截图支付宝在线支付
当前位置:完美毕业网毕业设计下载电子信息自动化通信毕业设计

面向有限资源的物联网终端操作系统设计与实现

联系方式:点击这里给我发消息QQ212181988
官方主页:www.biye114.com
图片预览: 没有预览图片;论坛转帖
插件情况:
售后服务:请联系客服QQ:212181988
一键分享拿折扣:
  • 好的评价 如果您觉得此软件好,就请您
      0%(0)
  • 差的评价 如果您觉得此软件差,就请您
      0%(0)

软件简介

 近年来,随着物联网技术的不断进步,我国的物联网产业得到了长足的发展与普及。各种各样的物联网终端被应用在越来越多的领域中,如工业、环保、日常生活等,发挥着越来越重要的作用。物联网终端操作系统作为物联网终端的核心,起着调度终端资源、管理终端能量、提升终端稳定性等作用。
目前市面上投入使用的物联网终端操作系统大多存在片上资源受限、稳定性缺乏保障、终端能耗较高等问题。本文针对物联网终端操作系统存在的问题,设计了面向有限资源的物联网终端操作系统,并对操作系统部分重要模块的实现进行了描述。本文主要工作如下:
1、资源有限性方面,通过对操作系统资源管理机制中任务调度算法的改进来应对资源有限性问题,任务调度是操作系统管理资源的重要举措。本文结合事件驱动调度模型与多线程调度模型的优点设计了混合调度模型,通过对调度器中调度算法的改进,优化了系统的资源利用情况,提高了系统应对任务时的灵活性。同时本文还对改进后的算法进行了可行性分析,并依据混合调度模型实现了操作系统的任务调度模块。
2、稳定性方面,由于本文在应对实时性任务时采用的任务调度算法为基于优先级的算法,可能会出现任务的优先级反转问题,因此本文在系统稳定性改进方面向系统加入任务优先级问题处理策略,该策略参考优先级继承协议,可在一定程度上抑制优先级反转问题的发生。同样的,本文也依据此策略在操作系统中实现了相关模块,同时测试了策略的有效性。
3、能耗性方面,本文通过对系统的工作模式、无线通信模块以及对物联网终端接口的改进,使整个物联网终端的能耗降低,在能耗性测试中体现出了低功耗性。
最后,本文对整个系统进行了详细的测试,根据具体的应用场景搭建了测试环境,并保证了硬件平台的性能要求,最终测试结果满足预期,操作系统能够在有限的资源条件下灵活的调度任务,并能抑制优先级反转问题,能耗较低。

关键词:物联网终端;操作系统;任务调度;优先级反转
目录
图录 VIII
表录 X
注释表 XII
第1章 绪论 1
1.1 课题背景 1
1.2 国内外研究现状 3
1.2.1 物联网终端操作系统国内外研究现状 3
1.2.2 当前存在的问题 4
1.3 研究内容 5
1.4 论文组织结构 6
第2章 物联网终端操作系统总体分析 9
2.1 应用场景分析与平台选型 9
2.1.1 应用场景分析 9
2.1.2 平台选型 10
2.2 拟解决问题与评估指标分析 13
2.2.1 智能家居环境下操作系统存在的问题 13
2.2.2 评估指标分析 14
2.3 物联网终端操作系统改进方案分析 15
2.3.1 系统资源管理机制改进 15
2.3.2 系统稳定性策略设计 15
2.3.3 系统能量管理策略设计 16
2.4 本章小结 16
第3章 资源管理机制与稳定性策略研究 17
3.1 资源管理机制的研究与分析 17
3.1.1 任务调度算法介绍 17
3.1.2 任务调度算法可调度性分析 21
3.2 资源管理机制的改进 23
3.2.1 传统调度算法存在的问题 23
3.2.2 基于混合调度模型的算法改进 24
3.2.3 改进算法可行性分析 28
3.2.4 与传统算法的比较 30
3.3 稳定性策略的研究 32
3.3.1 任务优先级问题介绍 32
3.3.2 传统优先级问题处理策略 34
3.3.3 改进的优先级问题处理策略 35
3.4 本章小结 37
第4章 物联网终端操作系统的实现 39
4.1 系统总体架构设计 39
4.2 任务调度模块设计 41
4.2.1 任务的定义 41
4.2.2 任务的提交与抢占 43
4.2.3 任务的调度 46
4.3 优先级问题解决策略设计 48
4.4 能量管理策略设计 50
4.4.1 低功耗工作模式 50
4.4.2 低功耗无线通信 52
4.4.3 I/O接口节能机制 53
4.5 本章小结 54
第5章 物联网终端操作系统的测试与验证 55
5.1 环境搭建及平台测试 55
5.1.1 测试环境搭建 55
5.1.2 硬件平台测试 57
5.2 系统性能测试 58
5.2.1 实时性测试 58
5.2.2 资源开销测试 59
5.2.3 能耗测试 61
5.3 系统功能验证 62
5.3.1 任务处理能力验证 62
5.3.2 稳定性策略验证 64
5.4 本章小结 65
第6章 总结与展望 67
参考文献 69
致谢 75
攻读硕士学位期间从事的科研工作及取得的成果 77


第1章 绪论
1.1 课题背景
物联网终端(Internet of Things Terminal,IOTT)是指安装部署在特定区域内的,可对某种信息进行采集、处理、传输的信息采集节点[1]。这种信息可以是环境参数,如温度、湿度、烟雾浓度、光照强度等,也可以是行为参数,如人的动作、表情等。终端通过无线通信模块对这些信息进行传输与交换,使多个物联网终端能够在区域内进行协同工作,从而构成了一个基于物联网终端的无线通信网络,即无线传感器网络(Wireless Sensor Network,WSN)[2,3]。随着越来越多种类的物联网终端被应用于军事追踪[4,5]、工业控制[6,7]、环境监测[8,9]、智能家居[10~12]、医疗观察[13,14]等领域,物联网终端执行的任务向多样化、复杂化的方向发展。
物联网终端在结构上可分为3层,分别为应用层、物联网终端操作系统层以及硬件层[15],如图1.1所示。物联网终端操作系统是指运行在物联网终端上的嵌入式实时操作系统,从图中可以看出它在整个物联网终端的组成上处于核心的位置,这是由以下几个原因[16]决定的:
1)操作系统能为物联网终端提供更好的系统化服务。操作系统不仅能够适应不同配置的硬件平台,同时还能对应用层提供统一的调用接口,屏蔽了系统的软硬件细节,降低了物联网中开发应用程序的难度。
2)操作系统可以通过资源管理、内存分配等机制对物联网终端上有限的资源进行高效的管理调度,同时促进资源的合理利用,使物联网终端能够在资源受限的情况下尽可能的满足多样化的任务需求。这对于有限资源的物联网终端发展具有重要意义。
综上所述,为了更好的发挥物联网终端的性能,使其能更加高效便捷的工作,对于物联网终端操作系统的研究是必不可少的。

图1.1 物联网终端分层结构

目前针对物联网终端设计操作系统时主要存在几个方面的问题:一是终端上有限的片上资源以及复杂的工作环境限制了传统嵌入式操作系统的移植与应用;二是终端需要应对不同类型的任务种类,其中包括周期性任务与非周期性任务,实时任务与非实时任务等,而符合物联网终端资源要求的专用操作系统在合理处理任务的问题上还存在不足之处;三是随着物联网网络规模的不断增大,终端的应用场景变得更加的复杂和多变,物联网终端的回收和维护会耗费大量的人力物力,操作系统需要在保证稳定性的情况下减少能量的消耗,使物联网终端能工作足够长的时间。因此,实现一个能适应有限的资源和多变的应用场景,且实时性好,具有较好稳定性的物联网终端操作系统,是物联网终端操作系统领域一直以来的研究主题。
本文通过分析物联网终端的国内外研究现状,总结了传统物联网终端操作系统中的一些问题和挑战,并对物联网终端操作系统设计中的研究热点进行了分析和对比。同时结合以上分析,遵循物联网终端操作系统资源有限,应用场景多变的特点,以保证任务的实时性和调度合理性为目标,采用灵活性较好的微内核架构作为操作系统的总体架构,设计了面向有限资源的物联网终端操作系统。系统在整体上参考当前流行的物联网终端操作系统,针对当前系统中存在的资源管理问题,对任务调度算法实行了改进,使系统能够更加合理的利用有限的资源应对不同类型的任务,提高资源利用率。同时在系统中添加了稳定性策略,保证系统能更稳定的运行。最后通过对系统中能量管理策略的设计,使系统在有限的能量条件下能够运行更长的时间。
1.2 国内外研究现状
1.2.1 物联网终端操作系统国内外研究现状
当前国内外对于物联网终端操作系统的研究主要分为两个方向。一是对当前流行的嵌入式实时操作系统做结构上的裁减,使其满足物联网终端在资源有限性方面的需求,如μCOS-II[17],RTLinux[18]等系统;二是根据物联网终端特有的应用场景和功能需求,设计符合资源性要求的专用操作系统,如TinyOS[19],Contiki[20],BrilloOS[21],MantisOS[22]等系统。
TinyOS是由美国加州伯克利分校所研究发表的一个以组件为基础,面向资源有限的物联网终端的嵌入式操作系统[23]。它的特点是结构简洁,运行效率很高且易于移植,主要采用nesC语言来编写,nesC[24]是C语言的一个分支,便于理解。TinyOS采用事件驱动调度机制,具有较低的内存消耗,适用于内存资源高度受限的物联网终端,不过事件调度机制无法保证操作系统的实时性,也不支持多任务。同时,TinyOS尚未实施明确的可靠性保障机制,必须按照最坏的情况来分配内存,灵活性较差。
Contiki是由瑞典计算机科学院研制开发的一个面向多任务的嵌入式操作系统, Contiki同样也是基于事件驱动的操作系统,内存资源占用较少, 适合于应用在物联网终端中。且由于Contiki是采用C语言开发,基于动态内存分配机制的操作系统,因此在移植性和灵活性方面会比TinyOS更好。Contiki内部存在一个模仿多线程功能的线程模型protothread[25],通过这个模型来应对多任务执行的情况,起到一个类似于多线程调度的效果。但是Contiki本质上还是一个基于事件驱动模型的操作系统,因此protothread中的任务依然是共享一个堆栈空间。这样一来的好处在于共享堆栈减少了系统资源占用率,但坏处在于任务间共享一个堆栈导致无法切换,无法保证任务的实时性。
μCOS-II 是美国Micrium公司发布的一款专门为嵌入式设备所设计的操作系统,它最早是由美国专家Jean J. Labrosse所提出的,同时还将源码进行了公开[26]。自μCOS-II问世以来,已经被广泛的应用在物联网领域的各个角落,包括航天飞行、工业控制等实时性要求极高的行业。μCOS-II是一个基于多线程调度模型的实时操作系统,每个任务都享有自己的独立任务堆栈,支持任务之间的抢占,因此相比于TinyOS和Contiki,μCOS-II具有更好的实时性。μCOS-II的源码简单易懂,系统内核精简,纯净的内核体积可达1KB左右,符合物联网终端对于资源性上的要求,是目前物联网终端上使用最广的几种操作系统之一。
BrilloOS是谷歌公司开发的一个轻量级的,开放的,可扩展的,基于安卓系统的,为适应物联网设备低功耗、低资源占用的特性而定制的操作系统。BrilloOS可以与谷歌公司为物联网设备推出的通信协议Weave(一个开放的,支持各种搜索、配置和认证功能的标准化通信协议)进行协同工作,以此来使物联网中的设备能够相互联接,形成物联网生态圈。但是由于BrilloOS作为安卓系统的一个分支依然需要占据较大的内存资源,因此并不适用于资源过于紧张的物联网终端,只能在资源较为充裕的终端上进行运行。
1.2.2 当前存在的问题
上文所述的4种物联网终端操作系统都被广泛的应用于各个领域中,然而,由于物联网终端操作系统运行于越来越复杂的环境下,要在保证实时性的同时考虑到节点资源的紧张化问题,因此对于物联网终端操作系统的任务调度和资源分配方式上有着越来越高的要求。
TinyOS采用事件驱动调度机制,无法支持实时物联网终端应用,虽然内存资源占用少,但内存的利用率较低,采用了“休眠/唤醒”机制管理能量,但只有这一项举措显然无法适应物联网终端能量高度受限的情况。Contiki虽然在应对多任务时体现出了类似于多线程调度的效果,但是其本质上还是基于事件驱动调度的共享任务堆栈机制,无法真正的保证任务的实时性。μCOS-II是基于多线程调度的硬实时操作系统,每个任务都有自己的独立堆栈,能够进行任务抢占,这虽然保证了μCOS-II运行任务的实时性,但也导致μC/OS-II需要消耗更多的资源来运行,且由于其设置的任务总数有限,而大量的非实时任务同样可以占用任务堆栈,使得μC/OS-II在资源利用率方面存在着问题。BrilloOS是基于Linux内核的操作系统,在一些内核资源较少的平台上无法完全发挥操作系统本身的功能,限制了它在资源有限的物联网终端上的发挥空间。
由上述分析可知目前物联网终端操作系统中存在的一些问题:首先,部分操作系统的实时性不高,如TinyOS和Contiki由于不支持任务间的抢占功能,系统的实时性无法得到保障。其次,当前操作系统的资源利用率问题仍需改进,如BrilloOS在物联网终端中发挥着很好的作用,然而内核占用太大;μC/OS-II虽然资源占用符合要求且实时性能较好,但资源利用率以及灵活性也需要提升。最后,物联网终端复杂的应用环境也对操作系统的开发提出了一些不同于传统操作系统的难点问题,如系统的能量节省问题、系统的运行稳定性问题等。
1.3 研究内容
针对上文指出的物联网终端操作系统存在的问题,本文在参考当前已有的物联网终端操作系统的基础上,从以下几个方面对物联网终端操作系统进行了研究与改进,设计并实现了适应特定物联网环境需求的面向有限资源的物联网终端操作系统。
(1)面向有限资源的资源管理机制改进
本文针对物联网环境中,终端面临的资源有限性问题以及实时性问题,从系统中资源管理机制的任务调度算法着手,设计了一种基于混合调度的改进式调度模型。该模型不仅能像多线程调度模型一样保证系统任务的实时性,而且通过对部分任务采取事件驱动模型调度,还能在一定程度上节省系统消耗的资源。同时该模型通过对动态优先级任务调度算法和静态优先级任务调度算法的组合使用,扩展了系统任务处理功能,使系统能够在有限的资源条件下处理任务的能力更强,提升了系统的灵活性和资源利用率。
(2)系统稳定性策略设计
本文针对物联网终端操作系统的任务在调度过程中可能会出现的优先级问题,为系统设计了用于应对任务优先级问题的策略,该策略与混合任务调度模型一起工作,避免系统出现不同优先级任务切换过程中发生的阻塞与反转问题,保证了操作系统在运行过程中的稳定性。
(3)系统能量管理策略的设计
本文针对物联网终端操作系统面临的能量节省问题,从工作模式、接口设计、无线通信等方面着手进行了节能设计,同时在平台选型上也遵循特定的应用场景进行低功耗器件的选型。
最后,通过对上述几点研究方向的改进,使本文所述操作系统能够在特定的物联网应用场景下能更加灵活高效的调度资源来处理任务,并能稳定的运行较长时间。
1.4 论文组织结构
本文主要工作是完成物联网终端操作系统的设计与实现,论文具体章节安排如下:
第 1章,绪论。介绍本文课题背景,阐述国内外物联网终端操作系统发展现状以及存在的问题,描述本文的主要研究内容。
第2章,物联网终端操作系统总体分析。首先给出本文所述物联网终端操作系统的具体应用场景和相应平台选型。然后根据应用场景的具体要求来对目前主流操作系统遇到的问题进行进一步分析,总结出能用于评估操作系统性能的部分指标。最后针对当前存在的问题,提出本文的改进方案。
第3章,资源管理机制与稳定性策略研究。介绍系统中资源管理机制的任务调度算法。对目前主流的任务调度算法的模型和可调度性进行分析与讨论。针对传统任务调度算法在物联网终端上存在的问题,提出算法改进方案,并进行可行性分析和对比分析。对系统的中稳定性策略进行研究,主要是针对任务调度算法可能导致的优先级问题进行分析,并设计相应的优先级问题处理策略以保证系统运行的稳定性。
第4章,物联网终端操作系统的实现。对物联网终端操作系统进行具体的设计,包括系统整体架构的设计、资源管理机制中的任务调度模块设计、稳定性策略中的优先级问题处理策略设计以及能量管理策略的设计。通过这些方面的设计,体现本文所述物联网终端操作系统的独创性特点。
第5章,物联网终端操作系统的测试与验证。主要完成对本文所述物联网终端操作系统的测试平台搭建、性能测试以及功能验证。首先对物联网终端操作系统的实地应用场景和实物硬件平台做介绍与测试,然后对操作系统的主要评估指标做测试与对比,最后对系统的任务处理能力以及稳定性策略的功能做具体验证。
第 6 章,总结与展望。对本文研究内容进行总结,并对后续工作进行展望。

第2章 物联网终端操作系统总体分析
随着物联网行业的不断发展以及相关科技领域的不断进步,物联网终端的应用范围变得越来越广,所需要适应的场景也越来越多。与传统的通用操作系统不同,物联网终端操作系统不存在一个可以适用于所有应用场景的解决方案,而是需要根据不同的场景来设计一个该类场景专用的操作系统来解决问题。因此本章将首先介绍所述操作系统所适用的应用场景及平台选型,在此基础上对当前该场景下存在的问题和评估指标做简要的分析,最后提出本文针对存在问题所做的改进方案。
2.1 应用场景分析与平台选型
物联网终端操作系统设计的根本目的是使物联网终端能够更加高效的在所在应用场景中工作,满足用户的使用需求。为保证设计出的物联网终端操作系统具有使用价值,本节先明确物联网终端的应用场景,并在此基础上完成对物联网终端使用硬件平台的选型。
2.1.1 应用场景分析
物联网终端广泛应用于各个物联网场景中,包括环境卫生监测、人体健康监护、家居智能监控以及工业智能控制等。本文结合校企合作项目:“智能家居系统开发”,选取家居智能监控作为物联网终端的应用场景,智能家居系统主要由网关节点和信息采集终端组成,其中信息采集终端主要负责对室内环境信息进行采集处理、对家居用电设备进行控制、与上层应用进行无线通信,与物联网终端的特性所吻合。因此本文所设计的物联网终端操作系统选取项目“智能家居系统开发”中的信息采集终端作为实现操作系统的终端设备。信息采集终端作为物联网终端具体的应用场景如下:
1)环境监测:能够对家居中的环境参数进行监测,如:空气质量参数、温湿度参数、有毒气体浓度参数等,定期向上层应用上报,若发生参数异常可直接上报并报警。
2)智能控制:能够接收上层应用的指令,对家居中的某些设备进行控制,也可按照家居中的环境参数自动对设备进行控制,如根据室内亮度调整灯光、根据温度调整空调等。
物联网终端操作系统在其中主要充当终端资源的管理调控者以及信息传输控制者的角色,结合应用场景和物联网终端操作系统在终端中的作用,对操作系统提出以下的功能需求:
1)资源管理:对物联网终端上有限的资源进行管理,主要是针对系统中各类任务运行时所需的系统资源进行合理分配和调度,提高系统的资源利用率和任务处理的灵活性。
2)稳定运行:操作系统在运行过程中需要尽可能的保证稳定运行,主要是避免系统中的任务在运行过程中可能出现的各种阻塞、反转以及死锁问题,防止系统的崩溃现象发生。
3)能量节省:对物联网终端上的能量使用进行管理,使操作系统能够在保证物联网终端正常稳定运行的同时,减少能量消耗,运行较长时间。
2.1.2 平台选型
物联网终端的硬件结构由4部分组成:①传感单元,由传感器和AD转换模块等组成,负责环境参数的采集。②处理单元,即微处理器MCU、各类存储器以及相应的外设接口,负责数据的处理和存储。③通信单元,由无线通信模块组成,负责数据的上传与指令的接收。④能量供应单元,负责物联网终端能量的供给[27]。物联网终端的硬件结构图如图2.1所示。


图2.1 物联网终端硬件结构图

本文所述物联网终端的传感单元和能量供应单元的选型与目前市面上多数终端差异性不大,如传感单元中选择DHT11、MS1100、BISS0001等模块作为环境感应传感器,能量供应单元采用锂电池作为主要能量供应源。因此主要的硬件选型集中在处理单元以及通信单元。
1)处理单元选型
处理单元是物联网终端的核心单元,负责对传感单元采集的数据进行处理,对能量供应单元进行指令管理以及运行通信协议来驱动通信单元的使用。处理单元的选型主要是指对于CPU处理器的选型,所选的处理器需要具备低功耗睡眠模式,并且片上资源能够满足操作系统的运行需求[28]。
目前应用于物联网终端的处理器很多,主要有ATMEL公司的AVR系列处理器,TI公司的MSP系列处理器。这两种处理器各有特点,如表2.1为微处理器MSP430F149与ATMEGA128L的对比。

下载地址

点击此处→注册会员上传设计赚钱
以上是大纲和介绍,如需要完整的资料请在线购买.

软件评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

下载说明

* 本站所有资料均已审核通过,内容原创保密,标准格式,质量保证
* 无需注册,点击在线购买后即可获取该套毕业设计(论文)完整
* 支付后请联系在线客服QQ:212181988发送资料
  • 官方微信