资源描述:
《tinyos任务调度机制与实时调度构件设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、TinyOS任务调度机制与实时调度构件设计第27卷第11期2007年11月计算机应用ComputerApplicationsVo1.27No.11Nov.20o7文章编号:1001—9081(2007)11—2740—03TinyOS任务调度机制与实时调度构件设计刘奎安,郭文生,桑楠(电子科技大学计算机科学与工程学院,成都610054)(1ka10271982@sina.eom)摘要:TinyOS是一个开源的构件化操作系统,它采用构件化描述语言nesC进行开发,主要针对资源非常有限的无线传感器网络节点而设计.分析了TinyOS一2.x的任务调度机制,针对其在实时应用领域的调度缺陷,设计并实现
2、了一种软实时任务调度构件.根据构件在TOSSIM仿真器中的验证分析,能有效增强TinyOS的实时性能.关键词:无线传感器;TinyOS;实时;构件设计;TOSSIM中图分类号:TP316;TP311文献标识码:ASchedulemechanismofTinyOSanditsreal-timeschedulecomponentdesignLIUKui—an,GUOWen—sheng,SANGNan(SchoolofCompu~rScienceandEngineering,UnivemityofElectronicScienceandTechnologyofChina,ChengduSichua
3、n610054,China)Abstract:TinyOSisanopen—sourcecomponentoperatingsystemforsensornetworksnodesthathasverylimitedresoui~e8.TinyOSWaSimplementedincomponent—developinglanguagenesC.ThroughanalyzingtheschedulemechanismofTinyOS-2.x,asoftreal—timeschedulercomponentwasdesignedandimplementedforreal—time印plicatl
4、ons.SimulationresultsinTOSSIMdemonstratethatthesoftreal?timecomponentimprovesthereal—timeperformanceofTinyOS.Keywords:wirelesssensornetworks;TinyOS;real?time;componentdesign;TOSSIM0引言1TinyOS-2.x的调度机制无线传感器网络(WirelessSensorNetworks,wsN)是由大量体积较小,能源受限,具有一定计算,存储和无线通信能力的传感器节点组成的无结构网络.2J.它综合了传感器,嵌入式,无线网络,
5、分布式信息处理等技术.由于WSN自身具备的特征,已广泛应用于国防军事,环境监测,交通管理,医疗卫生等领域.无线传感器网络作为一个新兴的研究领域,其中存在大量挑战性的研究课题,节点上的操作系统(WirelessSensorNetworksOperationSystem,WSNOS)设计与实现就是其中之一.目前,国外许多大学,研究机构着手于WSNOS的研究,开发出了TinyOSl,Magnet,MANTIS,SenOS等具有典型特征的WSNOS.其中,由UCBerkeley依靠Smartdust(智能尘埃)项目开发出的TinyOS得到了广泛关注和应用.TinyOS是全新面向WSN的源码级构件化操
6、作系统,由构件开发语言nesC¨开发,其内核只需要400字节的内存空间即可运行起来,是一个轻量级操作系统.但在实时应用中,TinyOS简单的FIFO调度算法就显得不再适用,在任务数较多时重要任务的响应时间无法得到保证.因此,针对实时应用的实时性需求,本文深入分析了TinyOS-2.x调度机制和调度相关的构件,提出了具有软实时性能的任务调度机制,开发了相应的系统调度构件,通过在TOSSIM仿真器中进行仿真分析,此实时系统调度构件能提高TinyOS的实时性能.1.1TinyOS的任务事件驱动的并发模型TinyOS采用任务和事件驱动相结合的两级并发模型(如图1).图1TinyOS任务事件驱动并发模
7、型示意图任务机制任务由用户应用程序定义,可以由应用程序或事件处理程序创建.任务由task关键字定义,具体定义语法为:taskvoidmyTask(){..-}.任务由post关键字创建,具体语法为:postmyTask().创建任务时,TinyOS的调度器将任务加入任务队列的队尾.核心调度策略中的任务调度器把此任务加入任务队列后就立即返回,任务则延迟执行.在等待执行的任务队列中,各个任务之间采用FIFO原则进