TinyOS任务调度机制与实时调度构件设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2007-05-09;修回日期:2007-07-18。 基金项目:国家863计划项目(2005AA1Z2120)。 作者简介:刘奎安(1982-),男,四川自贡人,硕士研究生,主要研究方向:无线传感器网络; 郭文生(1976-),男,辽宁铁岭人,讲师,博士研究生,主要研究方向:无线传感器网络、实时网络技术; 桑楠(1964-),男,四川营山人,教授,主要研究方向:嵌入式实时系统。
文章编号:1001-9081(2007)11-2740-03
Tiny OS 任务调度机制与实时调度构件设计
刘奎安,郭文生,桑 楠
(电子科技大学计算机科学与工程学院,成都610054)
(lka10271982@sina .com )
摘 要:Tiny OS 是一个开源的构件化操作系统,它采用构件化描述语言nes C 进行开发,主要针对资源非常有限的无线传感器网络节点而设计。分析了Tiny OS 22.x 的任务调度机制,针对其在实时应用领域的调度缺陷,设计并实现了一种软实时任务调度构件。根据构件在T OSSI M 仿真器中的验证分析,能有效增强Tiny OS 的实时性能。
关键词:无线传感器;Tiny OS;实时;构件设计;T OSSI M 中图分类号:TP316;TP311 文献标识码:A
Schedule m echan is m of T i n yO S and its rea l 2ti m e schedule co m ponen t desi gn
L I U Kui 2an,G UO W en 2sheng,S ANG Nan
(School of Co m puter Science and Engineering,U niversity of Electronic Science and Technology of China,
Chengdu S ichuan 610054,China )
Abstract:Tiny OS is an open 2s ource component operating syste m for sens or net w orks nodes that has very li m ited res ources .Tiny OS was i m p le mented in component 2devel op ing language nes C .Thr ough analyzing the schedule mechanis m of Tiny OS 22.x,a s oft real 2ti m e scheduler componentwas designed and i m p le mented for real 2ti m e app licati ons .Si m ulati on results in T OSSI M demonstrate that the s oft real 2ti m e component i m p r oves the real 2ti m e perfor mance of Tiny OS .
Key words:wireless sens or net w orks;Tiny OS;real 2ti m e;component design;T OSSI M
0 引言
无线传感器网络(W ireless Sens or Net w orks,W S N )是由大量体积较小、能源受限,具有一定计算、存储和无线通信能力的传感器节点组成的无结构网络[1,2]。它综合了传感器、嵌入式、无线网络、分布式信息处理等技术。由于W S N 自身具备的特征,已广泛应用于国防军事、环境监测、交通管理、医疗卫生等领域。无线传感器网络作为一个新兴的研究领域,其中存在大量挑战性的研究课题,节点上的操作系统(W ireless
Sens or Net w orks Operati on Syste m,W S NOS )设计与实现就是其
中之一。
目前,国外许多大学、研究机构着手于W S NOS 的研究,开发出了Tiny OS [3]、Magnet 、MANTI S 、Sen OS 等具有典型特征的W S NOS 。其中,由UC Berkeley 依靠S martdust (智能尘埃)项目开发出的Tiny OS 得到了广泛关注和应用。
Tiny OS 是全新面向W S N 的源码级构件化操作系统,由
构件开发语言nes C [4]开发,其内核只需要400字节的内存空间即可运行起来,是一个轻量级操作系统。但在实时应用中,
Tiny OS 简单的F I F O 调度算法就显得不再适用,在任务数较
多时重要任务的响应时间无法得到保证。因此,针对实时应用的实时性需求,本文深入分析了Tiny OS 22.x 调度机制和调度相关的构件,提出了具有软实时性能的任务调度机制,开发
了相应的系统调度构件,通过在T OSSI M [5]仿真器中进行仿
真分析,此实时系统调度构件能提高Tiny OS 的实时性能。
1 Tiny OS 22.x 的调度机制
1.1 Tiny OS 的任务事件驱动的并发模型
Tiny OS 采用任务和事件驱动[6]
相结合的两级并发模型
(如图1)
。
图1 Tiny OS 任务事件驱动并发模型示意图
任务机制 任务由用户应用程序定义,可以由应用程序或事件处理程序创建。任务由task 关键字定义,具体定义语
法为:task void myTask (){…}。任务由post 关键字创建,具体语法为:post myTask ()。创建任务时,Tiny OS 的调度器将任务加入任务队列的队尾。核心调度策略中的任务调度器把此任务加入任务队列后就立即返回,任务则延迟执行。在等待执行的任务队列中,各个任务之间采用F I F O 原则进行调
第27卷第11期
2007年11月
计算机应用
Computer App licati ons
Vol .27No .11
Nov .2007