已阅读5页,还剩73页未读, 继续免费阅读
(计算机应用技术专业论文)无线传感网络节点资源管理的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硬七学位论文 摘要 摘要 无线传感器网络 w i r e l e s ss e n s o r n e t w o r k w s n 是由大量传感器节点通过 无线自组织的方式构成的网络 它结合了计算 通信 传感器三项技术 在森林 防火 环境检测 以及军工等各个领域都有广泛的应用 是当前的研究热点之一 无线传感器节点是构成无线传感器网络基本单元 节点一股成本低廉 易于 在复杂的环境中大规模地进行部署 但是 低廉的成本同时意味着节点的资源十 分有限 包括节点处理器的计算能力 内存大小以及能量 如何在节点操作系统 中有效地管理和使用这些资源是节点操作系统研究中非常有挑战性的研究方向 与此同时传感器节点上运行的应用程序复杂多样 传感器节点操作系统需要 满足不同的应用程序对节点资源的不同需求 既要提供一定的抽象封装性 又需 要提供一定的灵活性适应多种应用程序的需求 例如t i n y o s 的多层抽象体系就 能满足不同应用程序的不同需求 另外 由于节点内存十分有限 需要低开销而 且相对高效的内存管理方法来充分使用有限的内存 最后考虑到节点的供能系统 往往为普通电池 需要有效利用有限的能量尽可能地延长节点的工作寿命 针对以上传感器节点的特点 论文对外设资源管理 内存分配管理 能量管 理三个方面提出了有效的资源管理方案 论文提出的资源管理基于事件驱动的编 程模型而不是传统的多线程编程模型 因为事件驱动是被大多节点所广泛使用的 编程模型 论文提出了用统一的抽象模型来对所有的外设资源进行抽象 这样既 方便了操作系统的移植又为应用程序提供了统一的服务接口 同时为外设资源维 护一个服务队列来减少频繁申请释放外设所带来的开销 在内存的管理上 在静 态内存管理的基础上 提出使用应用程序自定义内存池和系统内存池相结合的内 存管理方法并取得了良好的实验效果 最后论文提出根据不同的外设提出不同的 能量管理 并且由系统维护外设引用位图作为处理器能量模式切换的判断依据 以减少能量决策时的时间开销 关键词事件驱动 硬件抽象 位图 服务队列 访问接口 能量管理 浙江大学硕士学位论文 a b s t r a c t w i r e l e s ss e n s o rn e t w o r ki sc o m p r i s e do f al a r g en u m b e ro f s e n s o rn o d e sa n dt h e w i r e l e s sn e t w o r ki so r g a n i z e db yw i r e l e s sc o m m u n i c a t i o na n ds e l f o r g a n i z a t i o n i t c o m b i n e st h cc o m p u t e rt e c h n o l o g y w i r e l e s sc o m m u n i c a t i o nt e c h n o l o g ya n ds e n s o r t e c h n o l o g yt o g e t h e ra n db e c o m ev e r yp o p u l a ri nr e c e n ts t u d i e s n o ww s n i sw i l d l y u s e di nm a n ya 瑚 i n c l u d i n gm i l i t a r y e n v i r o n m e n t a lm o n i t o r i n g f o r e s tf i r e s p r e v e n t i o na n ds oo n s e n s o rn o d ei st h eb a s i cu n i to f w s n a n di ti sv e r yc h e a pa n ds i m p l ec o m p a r e d t oo t h e re m b e d d e ds y s t e m s oi tc a nb ed e p l o y e di nv a r i o u se n v i r o n m e n t b u tt h e s i m p l i c i t yo fs e n s o rn o d e s a l s om c a l l st h eh a r d w a r ei e s o u r c i ei sv e r yl i m i t e di ns e n s o r n o d e t h ec a p a b i l i t yo fc a l c u l a t i o no ft h ep r o c e s s o ri sl i m i t e da n da l s ot h em e m o r y a n dt h ep o w e r t oe f f e c t i v e l yu s et h e1 i m i t e dr e s o u l i ns e n s o rn o d e sh a sb e c o m ea c h a l l e n g i n gp r o b l e mi nt h es t u d yo f s e n s o ro s t h ea p p l i c a t i o n sr u n n i n go na 明i i l s o l n o d ea r cc o m p l e xa n dt h e yh a v ed i f f e r e n t r e q u i r e m e n t so nu s i n gt h eh a r d w a r er c o u l r c 2 o fas e n s o rn o d e s os c n s o l ro sn e e d p r o v i d es o m l ow a y so fa b s t r a c t i o no fh a r d w a r et oe a s et h eu s eo ft h eh a r d w a r e i c s o l t l i c c a n ds e n s o ro ss h o u l da l s ok e e pf l e x i b i l i t yt oac e r t a i nd e g r e et oc a t e rf o r t h o d i f f e r e n tr e q u i r e m e n t so ft h ea p p l i c a t i o n s m o r e o v e r t h em e m o r yi nas e n s o rn o d ei s v e r yl i m i t e ds oi tn e c d se f f e c t i v em a n a g e m e n tw i t hs m a l lm e m o r yo v e r h e a d t h el a s t c o n s i d e r a t i o ni sa b o u tt h ee n e r g yo fas s o rn o d e as e n s o i n o d ei sa l w a y sp o w e r e d b yab a t t e r y o sn e e dt oe f f e c t i v e l yu s e t h ep o w e rt ol e n g t h e nt h ew o r kd u r a t i o no f as c l i s o rn o d e t h ed i s s e r t a t i o np r o v i d e sm e t h o d st om a n a g et h el r c t l u r c eo fs e n s o l n o d e s t h e s o l u t i o np r o p o s e db yt h i sd i s s e r t a t i o ni sb a s e do ne v e n t d r i v e np r o g r a m m i n gm o d l w h i c hi se x t e n s i v e l yu s e di nc u r r e n tf l c n s o ro s w ep r o v i d ei tu n i f i e da b s t r a c t i o n m o d e if o rh a r d w a r ew i t hu n i f i e di n t e r f a c e a n da l s om a i n t a i nt h es e r v i c eq u e u ef o rt h e a c c e s st ot h es p e c i f i e dp e r i p h e r a ld e v i c e t h i sd i s s e r t a t i o np r o v i d e saw a yt oe o m b i n e u s e r d e f i n e dm c r a o r yp o o la n dt h es y s t e mm e m o r yp o o lt o g e t h e rt om a n a g et h e m e m o r ya n ds h o w sg o o dr e s u l t s a tl a s tt h i sd i s s e r t a t i o np r o v i d e saw a y t om a n a g e t h ep o w e rs t a r co ft h ep e r i p h e r a ld e v i c ea n dt h op r o c e s s o r w h i c hc a nr e d u c et h e o v e r h e a do f d e c i d i n gt h ee o r r e c tp o w e rs t a t ef o rs p e c i f i e dh a r d w a r e k e y w o r d s 翻 饥t d f i v h 缸d w 孵a b s t r a c t i o n b i u n a p 卵n 五 q u 栅晦孤 渊i n t e r f a c e 昭m a n a g e m e n t 浙江大学硕 学位论文 图目录 图目录 图2 1t i n y o s 硬件抽象体系结构 一8 图2 2s o s 硬件抽象体系 1 2 图2 3s o s 内存块结构 1 2 图2 4m a n t i so s 的硬件抽象体系 图2 5m a n t i s o s 的处理器能量管理 1 4 1 7 图3 1 访问接口示意图 2 0 图3 2 硬件抽象体系结构 2 4 图3 3 外设资源抽象结构查找及维护 2 5 图3 4 读写接口执行流程图 2 8 图3 5t i n y o s 等待队列执行开销 3 2 图3 巧服务队歹u 执行开销 图3 7 独占访问执行过程 3 4 图3 8 二种不同类型访问的执行过程 3 5 图3 9 服务队列相关执行流程 3 6 图4 ls o s 多缴内存池示意图 3 9 图4 2 统一内存池多级信息维护示意图 4 0 图4 3 分配释放内存时信息的维护 图4 4 利用表格加速查找空闲内存块示意图 4 3 图4 5 分段表格查找示意图 4 3 图4 6 与s o s 能够分配的最大内存块数目对比 4 4 图4 7 最坏情况下内存碎片与s o s 的对比 4 5 图4 8c o n t i k i 自定义内存池分配示意图 4 7 图4 9 本文的自定义内存池分配示意图 4 8 图4 1 0 与c o n t i k i 分配一块内存所需执行开销对比 4 9 图4 1 1 与c o n t i k i 释放一块内存所需执行开销对比 5 0 图4 1 2 与c o n t i k i 需要额外内存开销对比 5 0 图5 1t i n y o s 的外设能量管理 5 3 图5 2 隐式外设能量管理执行过程 5 5 图5 3 隐式外设能量管理执行流程图 5 6 图5 4a v r 处理器睡眠模式 5 7 图5 5 全局外设引用位图 5 8 图5 6 与t i n y o s 睡眠模式决断执行开销对比 6 0 图6 1 资源管理整体框架 6 2 图6 2m i c a z 平台上硬件的抽象 图6 3 数据内存布局 图6 4m i c a z 平台上的外设隐式能量管理 6 6 图6 5a v r 处理器能量切换状态图 i i i 浙江大学硕士学位论文 表目录 表目录 表3 1 资源i d 表格 2 5 表4 1 与s o s 内存分配释放执行开销对比 4 5 表4 2 与s o s 所需额外内存开销对比 4 5 i v 浙江大学硕e 学位论文第1 章绪论 第1 章绪论 无线传感网络 w i r e l e s ss e n s o rn e t w o r k w s n 是当前的研究热点之一 它结合了计算 通信 传感器三项技术 在森林防火 环境监测 以及军工等各 领域都有广泛的应用 l 作为一项热点的技术 在诸多方面都有全新的研究价 值 其中 传感器节点上的操作系统的研究就是一项具有挑战性的课题 而在此 中 如何有效的管理 利用好传感器节点有限的资源 外设 内存 能量等 又是传感器操作系统研究中的一个很重要的方面 1 1 研究背景 无线传感网络 2 作为一种全新的信息获取和处理技术 它成本低廉 易于 在复杂的环境中大规模地进行部署 在大气污染程度 温度湿度监测和预报等方 面正发挥着越来越大的作用 与此同时 低廉的成本决定由于传感器节点资源极 度受限 主要表现在以下四个方面 1 计算能力有限 大部分传感器节点选择计 算能力十分有限的m c u 作为他们的主处理器 如a v r m s p 等等 它们的主 频在几到几十m h z 不等 计算能力十分有限 2 内存有限 传感器的内存结构 一般分为好几块 比如f l a s h e e p r o m s d r a m 等 每一块存储区域存放 不同的内容 如一般f l a s h 存放操作系统映象 s d r a m 存放临时数据等等 但是即使这样 这三部份存储容量加起来也只有几十k b 相比个人p c 它的存 储能力相当有限 3 能量有限 现有的传感器节点一般是通过标准的a 从或从 电池进行供电 通常不能充电 这样就使得节点的能量受制于电池的电量 4 安全保护能力有限 传感器节点的硬件相对简单 用户程序和内核程序运行在同 一地址空间 内核的数据结构很容易遭到破坏 节点上所存储的信息也有可能被 恶意窃取 与传感器节点有限的资源相反 传感器节点上运行的应用程序却比较复杂 一个典型的传感器程序要负责接受 处理 发送 以及发送数据包 或者采样 过滤数据等 所有的应用程序都有它们自己的计时 带宽和缓存需求 而所有的 这些应用程序必须在传感器节点有限的资源上正确运行 与此同时 有限的能量 又要求节点在大部分时间处于节能睡眠模式 尽可能多地减少能量消耗 但是如 果有应用程序需要某个资源 又必须及时快速地响应要求 在这种情况下 传感 器节点的资源管理就显得非常有挑战性 因此 由于应用程序的要求和传感器节点的资源有限 对传感器节点上的资 源管理提出了很高的要求 传感器上的资源管理需要快速响应应用程序对外设的 浙江大学硕l 学位论文 第1 章绪论 需求 又要防止外设被错误使用 同时又要有一套能量管理策略在节点空闲时能 够尽快的进入最适合的节电模式 同时 有限的内存资源又要求传感器节点要有 效管理内存 尽可能减少内存开销 这些都是在传感器节点上的操作系统在管理 资源时所必须考虑到的方面 除了这些传感器节点资源管理的特殊要求之外 它与传统的桌面操作系统还 有一个重要的不同之处 那就是大部分传感器节点的应用程序往往是基于事件驱 动的编程模型 e v e n t d r i v e n 它们的执行是被某个消息而引发 这和桌面系统 的分时多线程执行模型有很大的区别 而之所以采取这种编程模型也是因为节点 的资源受限所决定的 这就导致了整个资源管理策略的不同 由于这些特殊性和普通桌面系统资源管理的不同 传感器节点的资源管理必 须有一套自己独特的资源管理系统 第一个广泛使用的传感器网络操作系统 t i n y o s 仅提供外设管理和能源管理的基本机制 让应用程序来自主管理资源 每个应用程序必须自己解决资源分配和资源冲突的问题 而后来的t i n y o s2 x 对共享设备采取资源仲裁的方式来管理对共享资源的访问 这一定程度上缓解应 用程序的工作 更迟一点的传感器网络操作系统采用广被接受的体系结构 m a n t i s o s m o s 采取轻量级线程的概念设计操作系统 同时用阻塞和未决的 方法来解决资源请求问题 s o s 采取传统的事件驱动模型 依赖动态分配以及 动态注册来解决资源管理相关问题 c o n t i k io s 对这二种模型进行综合 把一 个纯事件驱动执行模型用包装为一个线程抽象模型 3 4 在此之上再进行资源 管理 每个操作系统在它们各自的抽象模型下有不同的哲学和执行模型 然而当 操作系统在特定的情况下无法解决管理资源所遇到的问题时 答案往往一样 让 申请该资源的应用程序自行解决 1 2 研究目的和意义 随着计算机技术 传感器技术 通信技术的飞速发展 在上个世纪末在美国 发端了无线传感器网络技术 自此以后 相关的研究工作在各国相继开展起来 现在 无线传感器网络得益于自身的优点 在越来越多的领域得到了应用 在军 事国防 环境监测 抢险救灾等等方面都有广泛的应用前景 相信在不远的未来 无限传感器网络将深入到人们的生活之中 像互联网一样改变人类的生活 传感器节点操作系统作为当前的研究热点 也是无线传感器网络中很重要的 一环 某种意义上来说 传感器网络也是一种分布式计算机系统 但是由于传感 器节点有自己的特殊性 节点对操作系统的要求也与普通的桌面操作系统有比较 大的差异 特别是由于传感器节点的硬件功能非常有限 需要操作系统能够有效 地利用有限的内存 有限的能源和有限的计算能力最大程度地支持各种特定的应 2 浙江大学硕士学位论文第1 章绪论 用程序 现有的传感器操作系统为了有效地利用传感器节点有限的资源 在资源 管理上都做了很多工作 基于事件驱动模型的传感器节点操作系统 像t i n y o s s o s 采取了与传统桌面操作系统截然不同的资源管理方案 而且在这二者之中 对于资源的管理也有很大不同 t i n y o s 采取静态的方法来管理资源 而s o s 却 非常倚重动态管理 基于多线程执行模型的传感器节点操作系统 像m a n t i so s 则采取与桌面操作系统相类似的管理系统 依靠阻塞 b l o c k 和未决 p e n d i n g 来保证资源的互斥和管理 本文基于事件驱动的编程模型 为外设资源设计了一个统一的访问接口和资 源抽象模型 在内存管理方面采取一种静态的内存管理方法 但与此同时又兼顾 到应用程序动态的需要 在静态的基础上提供部分的动态分配功能 最后考虑到 传感器节点能源的有限 提出了一种代价较小的能源管理方案 总之 本文的目的在于使得传感器操作系统有一个比较通用 易用的硬件抽 象层 方便应用程序的移植 同时又考虑到传感器网络的特殊需要 提供相应的 能源管理以及安全保护策略 使得传感器操作系统能够更加有效地管理有限的各 类资源 1 3 论文组织结构 论文主要为分级调度执行模型的传感器节点操作系统提供外设访问的管理 策略 其中包括硬件的抽象 接口的设计 以及资源服务队列的管理等 同时又 提出了一种开销较小的能源管理方案 最后考虑到传感器节点应用程序对内存的 需求及的内存的安全性 提出了两种内存池相结合的内存管理方案 下面是论文 的组织结构 大致上可分为三个部分 第一 二章为论文的第一部分 主要介绍传感器节点资源管理的难点所在 接下来介绍当前各个传感器节点操作系统以及它们的资源管理方法 让读者对传 感器节点的硬件特征和传感器操作系统以及它的资源管理有个大致的印象 同时 也说明当前各个资源管理方案存在的一些不足之处 为下文所论述的工作做铺 垫 第三 四 五 六章为论文的第二部分 也是本文的主要工作所在 第三章 主要介绍了对传感器节点硬件的所作的硬件抽象以及在此之上的 个访问接口 以及资源服务列表管理方法 第四章主要介绍为应用程序提供的内存管理策略 第五章主要介绍了一张基于设备引用计数的能量管理方寨 这种方法具有更小的 开销和更好的移植性和通用性 第六章介绍了在m i c a z 平台上的原型实现 最后一章讲述概述全文 指出不完善之处和下一步应该做的工作 浙江大学硕士学位论文第2 章现有传廖器节点操作系统简介 第2 章现有传感器节点操作系统简介 2 1 概述 2 1 1 无线传感器网络简介 无线传感器网络 w i r e l e s ss e n s o r n e t w o r k w s n 5 7 是6 1 大量传感器节点 通过无线通信 自组织的组织方法所构成的无线网络 它的目的是网络中的多个 节点协同地感知 采集和处理网络覆盖区域中目标感知对象的信息 并最终传输 到观察者 无线传感器网络综合了传感器技术 计算技术和无线网络通信技术 在军事监控 工业过程控制 环境检测 医疗监控等方面具有广泛的应用前景 8 9 是当前的研究热点之一 在不远的将来 传感器网络可能会像互联网计数一 样改变人们的生活 w s n 的研究方向可以分为构件级 节点级和网络级 传感器节点 s e n s o r n o d e 可由微控制器 m c u 无线通信装置 供能装置 传感器等硬件构件组 成 节点体系结构是w s n 研究方向中重要基础 节点级和网络级的研究方向被 这些节点构件的硬件特征和技术发展趋势所决定 现在节点级的研究方向包括硬 件体系和软件体系 随着节点硬件性能的提升 以及基于w s n 应用软件复杂性 的增加 节点级操作系统的研究越来越收到重视 网络级的研究主要侧重与无线 通信网络的研究 包括组网方式 拓扑控制 路由协议与传输协议等 也是目前 研究最多的方向之一 2 1 2 传感器节点操作系统简介 和传统操作系统一样 传感器节点操作系统1 1 0 1 的目的在于方便节点平台上 应用程序编写 为应用程序开发人员提供公共服务 降低应用程序的开发难度 在早期的传感网络应用程序开发过程中 为每一个特定的应用来定制软硬件的代 价过于高昂 这也促使了传感器节点操作系统的研究 单片机程序一般不需要o s 支持 因为单片机硬件设备一般都是为单一应用 所定制的 即是说一个应用程序只能运行在某一个特定的硬件环境之中 完全不 具有移植性 而传统的嵌入式硬件设备功能相对而讲比较强大 可以为多种不同 的应用提供运行的硬件平台 所以自然地需要一个o s 来抽象硬件资源的各个部 分以及为应用程序提供服务 4 浙江大学硕t 学位论文第2 章现有传感器节点操作系统简介 w s no s 介于上述二者两者之间 它为应用程序开发者提供有限的服务 在 某些情况下 应用程序需要自己管理自己需要的硬件资源 但是随着w s n 节点 硬件的性能不断提升 特定的应用程序开发代价的不断增加 每两年翻一倍 现在w s n 硬件平台也迫切需要有一个高效 灵活 可靠 易用的操作系统来方 便应用程序的编写 错误的隔离与恢复等 由于节点的硬件资源非常受限 且长时间运行在人迹罕至的环境中 因此节 点操作系统的设计与普通桌面操作系统的设计存在很大的不同 例如 普通操作 系统有一个重要方面是与用户的交互 像用户界面的响应时问等都是设计要素之 一 而传感器节点操作系统一般不考虑用户交互的问题 更重要的是与其他节点 的协同 系统的自适性等 w s no s 的首要功能是管理硬件 包括板载外设管理 无线通信设备管理 存储器管理等 并为上层应用程序提供服务接口 比如读取传感器接受的数据 传输和接收数据包 使用定时器计时等等 w s no s 的另一个重要功能是能量管理 m o o r e 定律适用于c p u 速度和内存 大小 但对电池容量不适用 在传感器操作系统中的一个重要方面是如何减少能 量消耗 d p m d y n a m i c p o w e r m a n a g e m e n t 的主要技术是减少功能部件的占空 比 即在不需要某个功能部件的时候将其关闭以减少能量消耗 w s no s 的能量 管理模式分为隐式和显式二种模式 前者为o s 自动进行的 不需要应用程序编 写者干涉 对应用程序开发者来说是透明的 后者需要应用程序编写者直接参与 能量的管理 通过明确的系统调用给o s 指示来开关硬件设备 w s no s 也需要提供扩展性 灵活性 需提供模块管理机制 这种模块性可 以在编译期静态决定 也可以在运行期动态决定 t i n y o s 通过提供n e c c 语言提 供模块编程机制 而c o n t i k i s o s 等通过运行时动态模块加载机制 提供了网 络可重编程机制 另外由于w s n 应用的日趋复杂和多样化 w s no s 一般也需要具备任务协 同和网络协议栈等功能部件 当前的传感器节点操作系统主要有t i n y o s s o s m a n t i so s c o n t i k i 以及 其它的一些处于研究中的操作系统 比如t k e m e l 1 l 2 1 3 传感器节点硬件特征 目前 传感节点的硬件构成一般包括微控制器 无线通信板 传感器和供能 装置 一般来讲 节点上的微控制器 供能装置和无线通信板都往往都是共同的 属于核心构件 而传感器种类繁多 功能各不相同 不同用途的节点可能有不同 的传感器 故传感器属扩展构件 一个设计优良的传感器硬件体系应该在核心构 浙江人学碗 学位论文第2 章现有传感器节点探作系统简介 件的基础上尽可能多地支持多种不同的扩展构件 此外构件的设计和选用通常遵 循微型化 低价格与低功耗的原则 微控制器作为节点的处理器与普通嵌入式设备的处理器相比 数据带宽更小 8 位 处理能力更弱 4 8m h z 一般没有浮点运算能力 计算能力十分有 限 并不适合傲十分复杂的计算 另外 与传统c p u 一个很大的不同之处是 芯片不提供保护模式和内存管理单元 m m u 就是说o s 的内核代码和所有应 用程序代码在同一地址空间上运行 且相互之间并没有类似于虚拟内存的保护机 制 这对w s no s 的可靠性和安全性设计提出难题 供能装置也是影响传感器技术发展的一大要素 一般节点通常依靠电池供 电 电池技术的发展制约着传感器技术的发展 现在节点上比较常用的有碱性电 池 锂电池和镶电池 电池容量在几百m a h 左右 由于电池技术并不按照m o o r e 定律发展 其年增长率仅为3 0 因此节点的软件节能技术能相当程度决定电池 的使用寿命f 1 5 1 传感器技术是w s n 中发展最不成熟 最不稳定的技术之一 由于传感器种 类繁多 无论从功能还是能耗方面看均存在很大差异 节点o s 只有具备足够的 灵活性和模块性 才能支持多种传感器 而无线通讯板相对来讲已经是比较成熟 的技术 由于技术比较成熟 发展也比较迅速 这方面大大减少了o s 的工作 2 1 4 研究现状及趋势 最早的无线传感网络的概念出现于上世纪7 0 年代的美国军方 那时的传感 网络是由各个节点是有线连接而成 且规模很小 只具有点对点传输数据和简单 的信息获取能力 9 0 年后 由于无线技术逐步成熟加上低功耗v l s i 技术应用 大规模的嵌入式无线传感网络开始被研究 从1 9 9 9 2 0 0 0 开始 美国的几所著名 大学都开始了该方向的研究 1 2 包括m i t b e r k e l e y 和u s c 等 美国国防部高级研究规划署 d a r p a 资助u c l a 进行了l w i m l o w p o w e r w h e l e s si n t e g r a t e dm i c r o s e n s o r s 项目的研究 并在这个项目之后开始了w i n s w i r e l e s si n t e g r a t e dn e t w o r k e ds e n s o r s 项目的研究 u s c 的s c a d d s s e a l a b l e c o o r d i n a t i o n a r c h i t e c t u r e sf o rd e e p l yd i s t r i b u t e ds y s t e m s 项目主要研究传感网络 的通信协议 b e r k e l e y 的s m a r td u s t 项目 目的是建立一个分布式 可扩展的传 感器网络 研制的传感器节点 m o t e 系列 现在m o t e 系列已经被5 0 0 多个研 究机构用作试验平台 此外b e r k e l e y 研制的无线传感节点操作系统t i n y o s 是目 前该领域最主要的操作系统 m r r 所研究的u a m p s 项目 为自适应能量感知的 分布式微传感器开发了一种框架 此项研究的重点在信号和能量调节 通信以及 协作等 甚至连一些大公司也加入到了传感器网络的研究中来 微软研究院进行 6 浙江人学硕t 学位论文第2 章现有传赙器节点撵作系统简介 了停车场管理 s e n s e w e b 等w s n 应用方面的研究 i n t e l 和n o k i a 等也积极进 行了无线传感设备的研制和相关应用的研究 所有的这些都对无线传感网络的研 究起了很大的推动作用 不仅在国外无线传感的网络十分收到重视 近年来国内也越来越重视无线传 感网络的研究 由中科院软件所 浙江大学 上海交通大学等著名大学也积极开 展相关方面的研究工作 在自组网络技术 数据库管理等方面也取得了一定的成 果 w s n 作为集成了传感技术 计算机技术和无线通信技术的新兴技术 是新 一代网络的重要组成部分 1 3 其应用领域十分广泛 1 4 将对人们的日常生活 和工作产生巨大而深远的影响 目前 虽然国内外对此已开展了广泛的研究 但 离实际应用还有一定的差距 因此还需要在该领域进行更加深入和广泛的研究和 应用 2 2 t i n y o s 简介 2 2 1 t i n y o s 概述 t i n y o s 1 6 2 0 t i n ym i c r o t h r e a d i n go p e r a t i n gs y s t e m 是e hu cb e r k e l e y 开发 的 为无线传感网络设计的开源操作系统 它的基本特点是使用基予构件的编程 模型来进行o s 架构 第一版本的t i n y o s1 0 发布于2 0 0 3 年 在近5 年的应用 实践之后 其开发团队根据t i n y o s1 x 中的不足 重新架构了t m y o s 体系结构 几乎重写了所有的底层代码 最近发布了 n n y 0 s2 x 2 2 2 t i n y o s 的硬件抽象体系 t i n y o s2 x 为了多平台移植性 重新设计了硬件架构层次 2 1 2 2 对应硬件 部件自底向上分为硬件表述层 h p l 应用抽象层 h a l 和硬件独立层 h i l 如下图所示 7 浙江人学硕t 学位论文第2 章现有传感器节点操作系统简介 广而i 丽1 fi n d e p e n d e n tl l 业e j 塾 i l p l a t f o r m i p l a t f o r m i h i l l i h i l 2 i h i l 3h l l 4 d e p e n d e n t f d e p e n d e n t i a p p h c a t i o n 靶e 曼璺 堕 h a l lh a l 2h a l 3h a l 4 一 h p l lh p l 2h p l 3h p l a h wh wh wh w p l a t f o r m ip l a t f o r m 2p l a t f o r m 3i f l a t f o r m 4 田2 13 3 n y o s 硬件抽象体系结构 h p l 和硬件紧密相连 用软件方式表述硬件的特性 h a l 层在h p l 的基础 上做进一步的抽象 但仍然保留硬件的特殊功能 和h p l 另一个不同是 它可 以保留状态 h i l 构建在h a l 上 提供了硬件无关的编程接口 如果硬件功能 强大 则可删减h a l 部分功能到h i l 反之 则需要软件模拟这些功能 它为 跨平台应用程序提供了公共的服务抽象 这种看似非常复杂的体系结构也有它的好处 如果应用程序不需要跨平台 则可绕过h i l 运行更高效率的h a l 如果应用程序要跨平台 h i l 也可以提 供了平台无关的编程方案 这种垂直方向的多样性为应用程序提供了比较大的灵 活性 目前t i n y o s2 x 支持以下硬件平台 e y e s l f x v 2 i n t e l m o t e 2 m i c a 2 m i c a z t e l o s b t i n y n o d e b t n o d e 3 下面详细说明一下各个层次的作用 h p l 层次的组件直接架构在软硬件接口之上 像它的名字所表示的那样 这 一层次的主要工作是描述相关硬件设备所具有的功能 对于来自上层的请求 这 层次通过i o 端口或者内存来访问相应的硬件设备 相对的 h p l 也能给上层 提供各类信息 如请求是否响应 服务是否完成等等 h p l 层隐藏了硬件的细 节同时又为上层提供了更为有用的接口 属于h p l 的组件不保存组件状态 并且所提供的接口必须与硬件设备的功 能相一致 这种紧密的耦合使得h p l 层中组件的设计的自由度很小 所有的组 件都有一个类似的结构 h p l 层的存在极大地简化了应用程序的编写和对硬件 的管理 应用程序不用关注隐藏在头文件里定义的奇奇怪怪的寄存器名字 只需 通过熟悉的接口来对硬件进行操作 除了操作硬件经常用到的指令序列之外 h p l 层不提供实质性的硬件抽象 尽管如此 它还是隐藏了硬件相关的代码并为进行更高层次的抽象提供了基础 浙江大学硕士学位论文第2 章现有传感器节点操作系统简介 h a l 层是三成体系结构中的核心层次 它利用h p l 层次所提供的接口来组 建有用的且更高 层的功能接口 和h p l 层不同的是 h a l 层维护该层组件的 状态 用来作为资源仲裁和资源控制 由于w s n 对效率的要求 h a l 所作的抽 象只针对于某个具体的设备类型以及平台 和通用模块不同 h a l 上有特定平 台的信息 为高效利用资源提供了一种途径 h i l 层是三层体系结构中最上面一层 它基于平台相关的h a l 层为上层应 用程序提供一个平台无关的接口 这些接口隐藏了不同平台的硬件区别 极大地 便利了应用程序地编写 当然 接口也必须是比较通用 典型的a p i 接口 h i l 层的复杂度取决于底层硬件对接口的支持 当底层硬件提供的功能包含超过了 h i l 的接口集合时 应用程序可能更会倾向于直接调用h a l 层所提供的接口 反之 当底层硬件功能比较单一 无法实现h i l 层所的接口所提供的功能时 h i l 层可能需要做一些软件模拟来弥补硬件功能上的缺失 所以在一个更新的 功能更加强大的平台上做移植时 h i l 层的接口实现很可能无法适应新平台的要 求而做一些修改 这些改变带来的影响可能导致旧平台上运行代价的增加 t i n y o s 对此采取的措施是对不同平台上的h i l 进行版本控制 t i n y o s 提供的三层抽象结构的优点是显而易见的 在移植性方面 h a l 层 只需增加相应的功能接口即可 同时这种体系结构很好地隐藏硬件细节 极大地 便利了应用程序编程 同时应用程序也可以直接使用h a l 的接口 对于效率要 求高的应用程序提供了额外的灵活性 但是它的缺点同样显而易见 h i l 的接口 可能会随着新平台的加入而更改 从而影响到以前的应用程序的执行效率 同时 应用程序可同时访问h i l 层和h a l 层 在某种情况下可能存在安全问题 还有 可能出现二个层次之间接口的冗余 最后由于体系结构比较复杂 三层的接口访 问可能带来性能上的损失 2 2 3 t i n y o s 的内存管理 t i n y o s 采取静态内存管理方法 即是意味着所有的内存请求在编译期就已经 决定 所有 l i n y o s 的模块在在编译期就分配好了它们所需要的内存 这种内存 管理方法也是和 l i n y o s 的组件模型密不可分 t i n y o s 借助n e s c 2 3 2 4 来实现 组件的静态内存分配 n e s c 是对传统c 语言的一种扩展 支持组件化编程 并且把事件驱动执行 模型和组件化编程结合起来 提高了应用开发的可靠性和方便性 n e s c 在传统 的c 语言上增加了一些限制来增加代码的效率和可靠性 首先 这种语言禁止 函数指针的使用 使得在编译期间能够精确地知道程序所调用的函数 从而消除 了由于指针错误或被恶意赋值使得程序跳转到内核代码的可能 第二 n e s c 语 9 浙江大学硕上学位论文第2 章现自 传癣器节点操作系统简介 言不支持动态内存分配 n e s c 所编译的的组件模块都必须静态地声明它们所需 的内存 这样做的好处是防止了内存碎片的产生和运行时分配失败所导致的错 误 提高了程序的健壮性 由于n e s c 这些语言特性的支持 t m y o s 可以在编译期就能够决定全部组件 及应用程序所需要的内存大小 一个组件得到的存储帧只能被它自己所访问丽其 他模块无法访闯 t i n y o s 不提供动态的存储保护 应用程序以及组件的非法访 问都在编译期间检查 同时 静态内存分配还可以节省执行时开销 并且可以避 免与指针相关的错误 由于这种内存分配机制 t i n y o s 不鼓励在函数调用时传 递指针 t i n y o s 这种内存分配机制优点是能够适应绝大部分应用的需要 并且十分的 可靠安全 但是在某些应用场合 动态的内存分配仍然需要 由于t i n y o s 不支 持动态内存分配 应用程序唯一可用的方法只能申请一大块内存空间然后自己管 理 增加了编程的复杂度 另外 因为t m y o s 不提供运行时内存检查 强烈不 鼓励在函数调用中传递指针 但是在某些场合 指针传递是修改大数据结构非常 便捷的方法 所以在大数掘结构的修改上会有效率的损失 2 2 4 t i n y o s 的能量管理 由于传感器节点能量有限性 t i n y o s 的能量管理机制保证了没有不必要的能 量消耗 但是它的能量管理并不是独立完成的 它需要其它组件的支持及硬件的 支持 下面介绍t i n y o s 能量管理中的二个方面 对应用程序透明的c p u 能量管 理f 2 5 外设能量管理接h i 2 6 c p u 能量管理 t i n y o s 事件驱动的执行模型避免了使用自旋锁和进程的并 行性处理 这些都减少了c p u 的能量消耗 为了最大限度地减少c p u 的利用率 当任务队列为空时 t i n y o s 的调度器让c p u 切换到低能耗模式 由于事件驱动 模型的特性 调度器能够非常迅速地完成能量模式的切换 并且最大化了c p u 处于睡眠模式的时间 在选择c p u 睡眠模式时 t i n y o s 必须通过一个c p u 相 关的函数来检查它的内部寄存器来判断应该进入的睡眠模式 这种c p u 能量管 理方法在现实中被证明是比较有效的 外设能量管理接口 t m y o s 提供2 种不同的模型来管理外设的能量状态 显 式能量管理和隐式能量管理 显式能量管理方法提供能量管理的接口 单一用户 程序可以通过这个接口来直接控露4 设备的能量状态 当用户程序通过这个接口来 启动或者关闭某个外设时 这种操作能够立即生效 当设备的能量状态被更高层 组件的外部逻辑所决定时 这种能量管理模型相当有用 t i n y o s 提供3 种不同 的接口来实现显式能量管理 s t d c o n t r o l s p l i t c o n t r o l 和a s y n c s t d c o n t r o l 另 l o 濒江人学硕士学位论文第2 章现有传癌器节点操作系统简介 一方面 在隐式能量管理模型中 设备驱动来自己管理设备的能量状态 采取隐 式能量管理模型的设备驱动并不提供显式的能量控制接口 隐式能量管理依赖自 身的策略来实现能量状态的转化 这些策略往往是硬件所决定 或者在一些更底 层的硬件抽象层上实现 在当今的无线传感器操作系统中 t i n y o s 的能量管理相对而言是比较完备 的 但是 它仍然有一些不足 首先 币n y o s 的能量管理需要n e s c 组件化编程 模型的支持 对于驱动开发来说 无疑增加了难度 其次 在任务队列为空时 t i n v o s 通过查询c p u 的状态寄存器来决定应该进入的睡眠状态 这在大多数情 况下已经足够 但是随着外设的增多 所需查询的状态寄存器也要相应的增加 决定睡眠状态的所需的开销以及复杂度也会相应的增加 再者 在某些特定情况 下 c p u 的状态寄存器不能精确地反应出某个设备是否被上层应用程序所需要 从而可能导致c p u 可能选择错误的睡眠状态 这也是本文下面要提出改进的地 方之一 2 3 s o s 简介 2 3 1 s o s 概述 s o s 2 7 诞生于2 0 0 4 年 是由加里福利亚大学开发的无线传感器网络节点操 作系统 它以c 语言编写 发布于2 0 0 6 年6 月 s o s 目前支持的硬件平台包括 m i c a 2 m i c a z x y zm o t e c r i c k e t t m o t es k y 以及i n t e l m o t e 2 它的主要贡 献是对模块动态加载的支持 2 3 2 s o s 的硬件抽象体系 在硬件抽象上 s o s 做的比较简单 使用分层的抽象体系结构 由下至上分 别为硬件抽象层 h a l 底层燃 l o w l a y e r d e v i c e d r i v e r s 内核服务层 k 斌 s e r v i c e s 以及应用程序层 s o s 将硬件抽象和内核服务部分定义为静态内核 静态内核一经部署不允许修改
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年地图行业分析报告及未来发展趋势报告
- 2026年机械制造用钢行业分析报告及未来发展趋势报告
- 2026年涂料制造行业分析报告及未来发展趋势报告
- 2026年牙科综合治疗仪行业分析报告及未来发展趋势报告
- 2026年缝纫线行业分析报告及未来发展趋势报告
- 2026年高尔夫球服行业分析报告及未来发展趋势报告
- 2026年户外床行业分析报告及未来发展趋势报告
- 养老护理员沟通技巧提升
- 偏瘫患者康复护理效果评价
- PDCA模式在手术室护理信息管理中的应用
- 军事科技:量子点材料在特殊装备中的应用案例
- 医学超级全医学影像学第版泌尿系统教案
- 基于子空间动态模式分解的电力系统机电振荡模态精准提取方法研究
- (正式版)DB44∕T 2720-2025 《高速公路养护作业交通组织管理技术规范》
- 房顶生命线安装施工方案
- 2025年航空安全员理论考试题库及答案
- 文物建筑勘查设计取费标准(2020年版)
- 透水水泥混凝土路面技术规程2023年版
- 2025年微生物实验室人员健康监测的制度
- 贵州省地名文化遗产鉴定指标体系
- 《路基排水设计》课件
评论
0/150
提交评论