无线传感器网络操作系统

合集下载

无线传感器网络技术内容

无线传感器网络技术内容

第一章物联网:通过射频识别、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网连接起来,进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的一种网络。

无线传感器网络综合了计算技术、通信技术及传感器技术,其任务是利用传感器节点来监测节点周围的环境,收集相关数据,然后通过无线收发装置采用多跳路由的方式将数据发送给汇聚节点,再通过汇聚节点将数据传送到用户端,从而达到对目标区域的监测。

无线传感器网络通常包括传感器节点、汇聚节点和任务管理节点。

典型的无线传感器网络结构包括哪几部分?一般情况下由以下四个基本单元组成:数据采集单元、控制单元、无线通信单元以及能量供应单元。

无线传感器网络基本节点拓扑结构可分为基于簇的分层结构和基于平面的拓扑结构两种选择题:无线传感器网络可实现数据的采集量化,处理融合和传输应用,具有无线自组织网络的移动性、电源能力局限性,规模大、自组织性、动态性、可靠性、以数据为中心等等。

第2章无线传感器网络物理层的传输介质主要包括电磁波和声波。

无线电波、红外线、光波等负责使在两个网络主机之间透明传输二进制比特流数据成为可能,为在物理介质上传输比特流建立规则,以及在传输介质上收发数据时定义需要何种传送技术。

无线传感器网络物理层接口标准对物理接口具有的机械特性、电气特性、功能特性、规程特性进行了描述。

作为一种无线网络,无线传感器网络物理层协议涉及传输介质以及频段的选择、调制、扩频技术方式等,同时实现低能耗也是无线传感器网络物理层的一个主要研究目标。

IEEE 802.15.4 该标准把低能量消耗、低速率传输、低成本作为关键目标,旨在个人或者家庭范围内不同设备之间建立统一的低速互连标准。

有16个信道工作于2.4GHz ISM频段,2.4GHz频段提供的数据传输速率为250kb/s,对于高数据吞吐量、低延时或低作业周期的场合更加适用有1个信道工作于868MHz频段以及10个信道工作于915MHz频段。

基于无线传感器网络的环境监测系统设计和实现

基于无线传感器网络的环境监测系统设计和实现

基于无线传感器网络的环境监测系统设计和实现随着现代社会的高速发展和城市化的不断推进,环境污染逐渐成为人们关注的热点问题。

为了有效地预防和治理环境污染,需要对环境进行实时监控和管理。

基于无线传感器网络的环境监测系统应运而生,成为环境监测领域的重要工具。

本文将介绍基于无线传感器网络的环境监测系统的设计和实现。

一、无线传感器网络简介无线传感器网络(Wireless Sensor Network,WSN)是一种利用无线通信技术构建的分布式、自组织、多传感器节点协作的网络系统。

WSN由大量的传感器节点、数据处理节点和控制节点组成,通过无线通信技术形成一个协同工作的整体。

每个传感器节点都具有一定的自主处理能力和通信能力,并能够自我组织形成网络。

传感器节点通常由微处理器、传感器、存储器和无线模块等构成。

二、环境监测系统的设计原理基于无线传感器网络的环境监测系统通常需要设计以下几个部分:1. 传感器网络部分传感器网络部分是整个系统的核心,主要由传感器节点和基站组成。

传感器节点负责采集环境参数,如温度、湿度、风速、气压等。

基站则负责接收、处理和传输数据。

2. 数据处理部分数据处理部分主要负责对传感器节点采集到的数据进行处理、分析、存储等操作。

这个部分需要使用一些数据处理技术和算法,如数据压缩、数据挖掘和机器学习等。

3. 数据显示部分数据显示部分主要是将处理后的数据以可视化的形式呈现给用户。

这个部分需要使用一些可视化工具和技术,如Web技术、图表控件、地图等。

三、基于无线传感器网络的环境监测系统的实现方法在实现基于无线传感器网络的环境监测系统时,需要考虑以下几个方面:1. 传感器节点的选择和部署选择合适的传感器节点对于提高系统的性能和精度至关重要。

传感器节点的部署也需要经过仔细的规划和布局。

2. 通信协议的选择需要选择合适的通信协议,如ZigBee、WiFi、LoRa等。

通信协议的选择将直接影响到系统的能耗、通信效率和可靠性。

基于TinyOS的无线传感器网络体系结构

基于TinyOS的无线传感器网络体系结构

信 量 , 本 地 完 成 必 要 计 算 进 行 数 据 融 合 , 而 协 作 完 成 在 从 部署 空 问数 据 的采 集 。在 应 用 上 体 现 以 网络 为 中心 , 点 节 的功 能 通 过 网络 来 体 现 。因 而 传 统 的 嵌 入 式 设 计 思 想 在 无 线 传 感 器 网络 中遇 到许 多 挑 战 : 点 中运 行 程 序 存 在 大 节 量 并 行 和节 点 协 同计 算 。
体 实 现 , 而提 高 编程 效 率 。 从
2 3 Tn OS操 作 系统 的 实 现 . i y
Tiy n OS操 作 系 统 最 初 是 用 C 语 言 实 现 的 , 生 的 目 产 标 代 码 比较 长 。后 来 研 究 设 计 出 基 于 组 件 化 和 并 行 模 型 的 ns e C语 言 , 生 的 目标 代码 相 对较 小 。用 n s 产 eC语 言可 开 发 Tiy n OS操 作 系 统 和 其 上 运 行 的应 用 程 序 。
2 1 操 作 系统 需 求 .
从 对 节 点 结 构 分 析 不 难 看 出 , 线 传 感 器 节 点 硬 件 简 无 单 , 以直 接 在 硬 件 上 进 行 编 程 。但 这 在 工 程 实 践 中产 生 可
2 3 道 , 明 接 口具 有 的 功 表
信 , 作 完 成 指 定任 务 ; 协 节点 自身 通 过 AD 通道 来感 知 外 C 界数据 。
嘲 1 无 线 传 慰 器 节 点 构 成 框 图
本 质 上 。 线 传 感 器 节 点 就 是 一 个 网络 化 的 分 布 式 嵌 无 入式 系统 , 过 无 线 信 道 实 现 网络 间 的通 信 。为 了减 少 通 通
通 信 模 块 和 能 量 供 应 模 块 4部 分 组 成 , 个 结 构 如 图 l 整

无线传感器网络国内外研究现状

无线传感器网络国内外研究现状

无线传感器网络国内外研究现状1 无线传感器网络简介 (1)2 无线传感器网络的国外研究现状 (2)3 无线传感器网络的国内研究现状 (3)1 无线传感器网络简介随着传感器技术、嵌入式计算技术、通信技术和半导体与微机电系统制造技术的飞速发展,具有感知、计算存储和通信能力的微型传感器应用于军事、工业、农业和宇航各领域。

无线网络传感器是集传感器执行器、控制器和通信装置于一体, 集传感与驱动控制能力、计算能力、通信能力于一身的资源(计算、存储和能源)受限的嵌入式设备。

由这些微型传感器构成的无线传感器网络能够实时监测、感知和采集网络分布区域内的各种监测对象信息, 并对这些信息进行处理, 传送给需要这些信息的用户。

无线传感器网络(WSN)是由大量的具有通信和计算能力的微小传感器节点,以无线的方式连接构成的自治测控网络。

一种普遍被接受的无线传感器网络的定义为:大规模、无线、自组织、多跳、无分区、无基础设施支持的网络,其中节点是同构的,成本较低、体积较小,大部分节点不移动,被随意散布在工作区域,要求网络系统有尽可能长的工作时间。

一个典型的无线传感器网络的系统架构包括分布式无线传感器节点(群) 、接收发送器汇聚节点、互联网或通信卫星和任务管理节点等。

无线传感器网络具有价格低廉、体积小、组网方便、灵活等特点。

从21世纪开始,无线传感器网络成为多学科交叉前沿研究热点,引起了世界各国的极大关注。

WSN由具有传感器模块、数据处理模块、交换路由模块和无线通信模块等大量传感器节点,通过交换传输组成多跳的自组织、自学习无线通信网络系统,把感知对象的信息发送给控制者。

WSN已成为一种全新的信息获取、处理、传输和控制系统,并在军事、工业、商业、医疗、灾害预报等领域有着广阔应用前景。

WSN经历了从智能传感器、无线智能传感器到无线传感器网络的3个发展阶段。

智能传感器将计算能力嵌入到传感器中,使传感器节点不仅具有据采集能力,而且具有信息处理能力。

无线传感器网络技术的应用

无线传感器网络技术的应用

无线传感器网络技术的应用一、无线传感器网络概述无线传感器网络(Wireless Sensor Network, WSN)是由无线传感器节点组成的自组织且具有大规模分布性的网络系统。

其节点可以用于感知环境或者采集数据,通过网络将数据传回中心节点,实现环境监测、数据采集、控制等功能。

二、无线传感器网络技术的应用1. 环境监测随着城市化进程的加快以及空气、水质污染的严重性日益加剧,无线传感器网络技术可以用于环境监测。

比如,在城市的公园、广场等场所布置一些传感器节点,实时监测空气中的PM2.5、CO2等污染物,通过网络将数据传回中心节点,及时预警、保护市民健康。

2. 智能家居无线传感器网络技术可以应用于智能家居领域。

我们可以通过人体传感器节点将家中人员的行动轨迹、起居习惯等数据采集下来,作为智能设备的参考,从而实现智能应用的更加个性化和高效化。

3. 工业自动化无线传感器网络技术可以用于工业自动化控制中,通过感知原材料供应、生产设备状态等信息,及时处理数据,调整生产流程,提高生产效能,降低生产成本。

4. 农业领域无线传感器网络技术可以应用于农业领域,实现精准农业。

如在田地中布置传感器节点,感知土地植被的生长情况、温湿度等信息,通过数据分析,实现精准灌溉、肥料施用,提高农业生产效益。

5. 物联网无线传感器网络技术是物联网的核心技术之一,可以用于个人消费设备、智能家居、工业控制、领域监测等。

各种设备通过传感器节点实现信息的采集与传输,实现设备之间的互联互通,提高人们的生活品质和工业生产效能。

三、无线传感器网络技术的优势1. 低成本无线传感器节点的成本较低,可以降低网络整体成本,提高应用范围和普及度。

2. 系统灵活由于无线传感器节点的低成本和小规模,可以很容易地增加或减少节点的数量,实现对系统的灵活控制与管理。

3. 能源自主由于传感器节点体积小,通常适用的电池也比较小,可以通过能量自主技术和能源高效利用技术,实现长时间运行,避免了频繁更换电池的繁琐操作。

Lesson1---TinyOS入门1

Lesson1---TinyOS入门1
• 运行环境:TinyOS 2.1 + Cygwin (Windows XP) • Cygwin在Windows下提供一个类似Linux的环境
11
一、编译和安装
• 作为一开始的学习,先来编译一个非常简 单的程序 Blink。若没有硬件节点,可以用 TinyOS的TOSSIM仿真平台进行编译运行。 • 编译TinyOS程序使用make命令,TinyOS系 统有一个强大的扩展性很强的make 系统, 位于 tinyos-2.x/support/make目录中。 • 先运行如下命令检查环境是否正确配置。 • $ tos-check-env
8
• 总的来说,TinyOS 调度模型有以下特点:
(1)任务单线程运行到结束,仅分配单个任务栈, 这对内存受限系统很有利。 (2)任务调度算法采用非抢占式的FIFO 算法,任 务之间相互平等,没有优先级之分。 (3)TinyOS 的调度策略具有能量意识,当任务队 列为空时,处理器进入休眠模式,直到外部事件 将它唤醒,能有效的降低系统能耗。 (4)这种基于事件的调度策略,允许独立的组件共 享单个执行的上下文, 只需少量运行空间就能获 得高度的并发性。
• 规范
– nesC应用程序由一个或多个组件连接而成。 – 一个组件可以提供或使用接口:
» 组件中command接口由组件本身实现; » 组件中event接口由调用者实现; » 接口是双向的,调用command接口必须实现其event接口。
26
2.1 配件和模块
• 组件有两种:配件和模块。 • 模块(module):提供一个或多个接口的实现。 • 配件(configuration):把其他的组件装配起来, 连接组件使用的接口到其提供者。 • 每个nesC应用程序都必须有且只有一个顶层配件 (top-level configuration)连接内部组件。 • 之所以区别设计模块与配件,是为了让系统设计 者在构建应用程序的时候可以脱离现有的实现。 例如:设计者可以提供配件,只是简单地把一个 或多个模块连接起来,而不涉及其中具体的工作。 同样地,另一个开发者负责提供一组模块库,这 些模块可以普遍使用到众多应用中。

无线传感器网络概述

无线传感器网络概述

无线传感器网络概述信息的生成、获取、存储、传输、处理及其应用是现代信息科学的六大组成部分,其中信息的获取是信息技术产业链上重要的环节之一,没有它就没有信息的传输、处理和应用,信息化也就成了无水之源、无本之木。

随着现代微电子技术、微机电系(MEMS.Micro-Electro-Mechanism System)、片上系统SoC(System-on-Chip)、纳米材料、无线通信技术、信号处理技术、计算机网络技术等的进步以及互联网的迅猛发展,传统的传感器信息获取技术从独立的单一化模式向集成化、微型化,进而向智能化、网络化方向发展,成为信息获取最重要和最基本的技术之一。

随机分布的集成有传感器、数据处理单元和通信模块的微小节点通过自组织的方式构成网络,借助节点中内置的形式多样的传感器测量所在周边环境中的热、红外、声纳、雷达和地震波信号,从而探测包括温度、湿度、噪声、光强度、压力、土壤成分、移动物体的大小、速度和方向等众多我们感兴趣的物质现象.在通信方式上,虽然可以采用有线、无线、红外和光等多种形式,但一般认为短距离的无线低功率通信技术最适合传感器网络使用,为明确起见,一般称做无线传感器网络(WSN.Wireless Sensor Network)。

本书所讨论的主要内容也仅限于此范畴.也就是说我们继承目前大多教研究者普遍接受的既成事实的WSN的定义:大规模,无线、自组织、多跳、无分区、无基础设施支持的网络.其中的节点是同构的、成本较低、体积较小,大部分节点不移动,被随意撒布在工作区域,要求网络系统有尽可能长的工作时间。

1.1 传感器网络体系结构1.1.1 传感器网络结构传感器网络系统通常包括传感器节点(sensor node)、汇聚节点(sink node)和管理节点。

大量传感器节点随机部署在监测区域(sensor field)内部或附近,能够通过自组织方式构成网络。

传感器节点监测的数据沿着其他传感器节点逐跳地进行传输,在传输过程中监测数据可能被多个节点处理,经过多跳后路由到汇聚节点,最后通过互联网或卫星到达管理节点。

基于TinyOS操作系统的无线传感器网络自组网研究

基于TinyOS操作系统的无线传感器网络自组网研究

Th s a c n S l- g ni e t r o iee sS ns rNe wo k e Re e r h o efOr a a d Ne wo k f rW r ls e o t r
Ba e n Ti y e a i g S se s d o n OS Op r t y tm n
2El t a E gneig Dea t n ,Xig in nvri Xig in 3 0 ,hn . e i l n iern cc p rmet n ja gU iest y, n ja g8 0 8 C ia/
Ab ta t Thsa t l r s n sap a tc l e i no efo g nz d n t r o iee sS n o t r .I sr c : i ri ep e e t r cia sg fs l r a i e wo k frW rls e s rNewo k t c d - e
\. 2新疆大学 电气工程学院 , 乌鲁木 齐 800 / 308
摘 要 : 介绍了一种实用的无线传感器网络自组网的实现方法. 以无线传感器的研究背景和应用方向为出发点, 为实现随机
分布的节点之 间可以 自由通信并发送数据到基栈的功能 , 通过对 TnOS iy 操作 系统 , 编程语言特点以及软件 系统 结构的研究 ,
g tt e s r c u e a d d v l p f w f o t r o r l s e s rn t r e h t u t r n e e o l o fwa ef r wie e s s n o e wo k,wh c r v d a u b e r f r o s ih p o i ea v l a l e e —
e c o e wo k t p lg o to n t e l a in Th x e i e tm a e h rt me i e sbe n ef rn t r o oo y c n r la d israi t . z o ee p r m n k st ea ih tcf a il. Ke r s y wod :wi ls e s rn t r s l o g nz d A d h c Tiy r e ss n o ewo k;ef r a ie ; o ; n OS; lse e d e - cu trh a
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

无线传感器网络操作系统 黄光燕 李晓维 摘要:本文从软件的角度介绍无线传感器网络(WSN1)系统。首先总括WSN系统的概念和应用;然后分别介绍WSN操作系统(WSNOS)的总体框架以及WSNOS的任务管理和内存管理等OS2内核;考虑到WSN以数据通讯为中心和低功耗的两大特点,介绍通讯的基本原理,低功耗通讯协议和一些低功耗实现技术:电源管理服务,编译器技术,分布式处理,数据压缩等;以及简单介绍WSN在PC机上的模拟器技术。同时,低功耗和高可靠性的实现技术贯穿全文。最后讲述我们在WSNOS领域开展的工作。 关键词:无线传感器网络(WSN) 无线传感器网络操作系统(WSNOS) 低功耗 高可靠性

1前言 1.1 无线传感器网络(WSN)简介 近几年来,无线传感器网络(WSN)掀起了一场后PC时代的革命。WSN作为综合了传感器、嵌入式计算、及无线通信等3大技术的新兴领域,可以实现人与自然物以及物与物对话的无处不在的通讯和计算。从火星探测[1]到野生候鸟的监测[2],从智能房屋[3]到车辆监测和跟踪[4],从军事“智能尘埃”(Smart Dust)[5]到辅助足球裁判[6],从胶囊肠镜到住院病人病情监控[7],从森林防火到预测山洪暴发[8][9],从人体内药物

剂量控制到精细农业„„,广阔的应用前景掀起了国内外对WSN的研究热潮。 综合各种应用,WSN有自己的许多特点。首先,WSN是一种嵌入式系统,提供分布处理,动态和适应性;其次,它由以通讯为中心的大数量的小型和微型数据采集设备构成,其主要特征为灵活、自组织、严格资源限制,并且需要实时处理同长时间的单任务串行处理并存,同时大部分时间保持低功耗状态[10]。 1.2 WSN操作系统(WSNOS) 俗话说:“万丈高楼平地起,一力承担靠地基”,WSN的操作系统(WSNOS)是WSN系统的基本软件环境,是许许多多的WSN应用软件开发的基础。WSNOS不是特定的系统/用户界面,也不是特定的一系列系统服务,而是定义了一套通用的界面框架,允许应用程序选择服务和实现;它提供框架的模块化,以便适应硬件的多样性,同时允许应用程序重用通用的软件服务和抽象[11]。同其他操作系统一样,WSNOS是为了方便开发应用,提供物理设备的抽象和高协调性的通用函数实现。它的独特性在于,资源极端受限(处理器速度、存储器大小、内存大小、通讯带宽、资源数量以及电源受限),设备特殊性和缺乏一致的抽象层次。因此,WSNOS的设计策略必须是一个资源库,从中抽取一部分组成应用。它致力于提供有限资源的并发,而不是提供接口或形式[10]。伯克利开发的TinyOS[12]正是这样一套WSNOS系统。 1.3 我们的研究调查 我们对该领域的前景进行了大量的研究调查,重要的需求和趋势可以归结如下: 1. 工厂真正实现电子信息化需要WSN实地采集数据和监控。文献[13]中谈到了WSN应用于工厂自动化生产线的问题。传统的有线传感只能用在布线容易的短距离空间,而对很多长距离的监控则无能为力。例如,输油管道的监控,需要在输油管道上散布很多传感器,并且互相之间要互通信息。而以往的传感器需要布线,同时传感器之间不能互相通信,阻碍了这种应用。但是,这种无线监控最大的困难是它不如有线传感器可靠。 2. WSN为城市监控,野外监控提供了技术手段。用于监控生态环境、农作物生长环境、城市交通监控、大楼监控等。大量的WSN节点的冗余可提高可靠性,但是它们需要长时间处于不维护状态,因此电池的寿命就成了这种应用的瓶颈。 3. WSN也可用于特殊物品监测,例如:胎压监测、灭火器监测、危险物品监测等。这些对物品

1 Wireless Sensor Networks

2 Operating System 的监测也必须要求很高的可靠性,而且要求低功耗以使其可以维持工作到所需的时间。 4. 在军事上,WSN也为现代化的先进武器系统提供了新的技术基础。例如:地雷上装上WSN节点,可以与士兵身上的WSN节点通讯,识别敌我,而有选择性地爆炸。这种节点涉及到人的生命安全,其可靠性的要求极高,同时也必须在足够时间内维持工作。 总之,这种应用前景关注去掉“两线”数据线和电源线的无线技术,前者随着RF射频硬件技术的发展而出现,后者随着低功耗的处理器,低功耗的收发器以及低功耗的传感器等低功耗硬件的发展以及电池技术的发展而得以实现。然而,去掉数据线使得通讯变得不那么可靠;去掉电源线使得供电时间的维持成为一个挑战。因此,可靠性和低功耗已经成为了这种技术推广的瓶颈。 我们将主要研究从WSN操作系统软件的角度着手解决可靠性和低功耗的问题。首先,与一般的嵌入式系统(如PDA,手机等)不同,WSN的资源更加受限,迫切需要系统软件的精心设计,才能满足可靠性的需求;其次,电池技术的发展并不足以满足很长时间不维护的需求,而硬件也需要系统软件的管理才能充分发挥其低功耗特性。这就需要系统软件采用最大限度降低运算功耗和通讯功耗的策略。 以下章节,首先介绍WSNOS的总体框架内容;然后从操作系统的角度来介绍WSNOS的任务管理和内存管理等OS内核;考虑到WSN以数据通讯为中心和低功耗的两大特点,介绍通讯的基本原理、低功耗通讯协议和一些低功耗实现技术,如:电源管理服务、编译器技术、分布式处理、数据压缩等;以及简单介绍WSN在PC机上的模拟器技术。同时,低功耗和高可靠性的实现技术贯穿全文。最后讲述我们在WSNOS领域开展的工作。

2 WSNOS框架 文献[14]中,介绍了TinyOS的主要框架和内容,如图1,图2所示,代表了WSNOS的体系结构。

图1是WSNOS的总体框架。物理层硬件为框架的最底层,传感器、收发器以及时钟等硬件能触发事件的发生,交由上层处理。相对下层的组件也能触发事件交由上层处理。而上层会发出命令给下层处理。为了协调各个组件任务的有序处理,需要操作系统采取一定的调度机制。

图2提供了WSNOS组件的具体内容,包括一组命令处理函数,一组事件处理函数,一组任务集合和一个描述状态信息和固定数据结构的框架。除了WSNOS提供的处理器初始化、系统调度和C运行时库(C Run-Time)3个组件是必需的以外,每个应用程序可以非常灵活地使用任何WSNOS组件。 这种面向组件的系统框架的优点是:首先,“事件-命令-任务”的组件模型可以屏蔽低层细节,有利于程序员更方便地编写应用程序;其次,“命令-事件”的双向信息控制机制,使得系统的实现更加灵活;再次,调度机制独立成单独的一块,有利于为了满足不同调度需求进行的修改和升级。

调度机制 组件 命令 事件 事件

硬件 图1 WSNOS总体框架 3 WSNOS内核 3.1 WSNOS调度机制 由于WSNOS的特殊性,它的调度机制需要简单而实用。下面以TinyOS为例,介绍WSNOS的调度机制。 3.1.1 调度 TinyOS的调度模型为任务加事件的两级调度,调度的方式是任务不抢占事件要抢占,调度的算法是简单的FIFO,任务队列是功耗敏感的[12]。调度模型有以下的特点: (1) 基本的任务单线程运行到结束,只分配单个任务栈,这对内存受限的系统很重要。 (2) FIFO的任务调度策略是电源敏感的。当任务队列为空,处理器休眠,等待事件发生来触发调度。 (3) 两级的调度结构可以实现优先执行少量同事件相关的处理,同时打断长时间运行的任务。 (4) 基于事件的调度策略,只需少量空间就可获得并发性,并允许独立的组件共享单个执行上下文。同事件相关的任务集合可以很快被处理,不允许阻塞,具有高度并发性。 TinyOS只是搭建好了最基本的调度框架,只实现了软实时[15],而无法满足硬实时[16],这对嵌入式系统的可靠性会产生影响[17]。同时,由于是单任务的内核,吞吐量和处理器利用率不高,因此有可能需要设计多任务系统。为保证系统的实时性,多采用基于优先级的可抢占式的任务调度策略。依赖于应用需求,出现了许多基于优先级多任务的调度算法的研究。[18]把TinyOS扩展成多任务的调度,给TinyOS加入了多任务的调度功能,提高了系统的响应速度。[19]提出在TinyOS中实现基于时限(deadline)的优先级调度,有利于提高WSN系统的实时性。[20]提出了一种任务优先级调度算法来相对提高过载节点的吞吐量以解决本地节点包过载的问题。 总之,调度决定了处理器的功耗,如TinyDB[11]就是使用好的调度策略来降低功耗的。更为重要的是,各种调度算法也能更好地提高处理器的响应速度,从而提高系统的可靠性。各种基于TinyOS调度算法的扩展研究,各自独立地使得高可靠性和低功耗分别得到满足。 3.1.2 中断 在TinyOS中,代码运行方式为响应中断的异步处理或同步地调度任务。TinyOS的每一个应用代码里,约有41%-64%的中断代码[21],可见中断的优化处理非常重要。对于低功耗的处理而言,需要长时间休眠,可以通过减少中断的开销来降低唤醒处理器的功耗。目前通过禁用和打开中断来实现原子操作,这个操作非常的短暂(几个时钟周期--cycles)。然而,让中断关掉很长时间会延迟中断的处理,造成系统反应迟钝。

图2 WSNOS组件 命令处理函数 事件处理函数 任务集合 框架(包括状态信息) TinyOS的原子操作能工作得很好是因为它阻止了阻塞的使用也限制了原子操作代码段的长度,而这一些条件的满足是通过nesC[21]编译器来协助处理的。由于nesC编译器对TinyOS做静态的资源分析以及其调度模式决定了中断不允许嵌套。在多任务模式下,中断嵌套可以提高实时响应速度。 3.1.3 时钟同步 TinyOS提供获取和设置当前系统时间的机制,同时,在WSN网络中提供分布式的时间同步。TinyOS是以通讯为中心的操作系统,因此更加注重各个节点的时间同步。如:传感器融合应用程序收集一组从不同地方读来的信息(如:较短距离位置需要建立暂时一致的数据);TDMA风格的介质访问协议需要精确的时间同步;电源敏感的通讯调度需要发送者和接收者在他们的无线信号开始时达成一致等[11]。 加州大学洛杉矶分校(UCLA) [22] 、Vanderbilt[23]和加州大学伯克利分校(UC Berkeley) [24]分别用不同方法实现了时间同步。这3个实现都精确到子毫秒级,最初打算开发一个通用的、底层的时间同步组件,结果失败了。应用程序需要一套多样的时间同步,因此只能把时钟作为一种服务来灵活地提供给用户取舍使用。 某些情况允许逐渐的时间改变,但另一些则需要立即转换成正确的时间。当时间同步改变下层时钟时,会导致应用失败。某些系统,例如NTP(network time protocol)通过缓慢调整时钟率同邻节点同步来规避这个问题。NTP方案很容易在像TinyOS那样对时间敏感的环境中出错,因为时间即使早触发几毫秒都会引起无线信号或传感器数据丢失。 目前TinyOS采用的方案是提供获取和设置当前系统时间的机制(TinyOS的通讯组件GenericComm使用hook函数为底层的通讯包打上时间戳,以实现精确的时间同步[25]),同时靠应用来选择何时激活同步。例如:在TinyDB应用中,当一个节点监听到来自于路由树中父节点的时间戳消息后会调整自己的时钟以使下一个通讯周期的开始时间跟父节点一样。它改变通讯间隔的睡眠周期持续时间而不是改变传感器的工作时间长度,因为减少工作周期会引起严重的服务问题,如数据获取失败。 在文献[26]中,J. Elson和D. Estrin给出了一种简单实用的同步策略。其基本思想是,节点以自己的时钟记录事件,随后用第三方广播的基准时间加以校正,精度依赖于对这段间隔时间的测量。这种同步机制应用在确定来自不同节点的监测事件的先后关系时有足够的精度。设计高精度的时钟同步机制是传感网络设计和应用中的一个技术难点。 也有一些应用更重视健壮性而不是最精确的时间同步。例如:TinyDB只要求时间同步到毫秒级,但需要快速设置时间。在TinyDB中,简单的,专用的抽象是种很自然的提供这种时间同步服务的方式,但是这种同步机制并不满足所有需要的通用的时间同步。另外,还可以采取Lamport分布式同步算法[27],并不全部靠时钟来同步。 3.1.4 任务通讯和同步 任务同步是在多任务的环境下存在的。因为多个任务彼此无关,并不知道有其它任务的存在,如果共享同一种资源就会存在资源竞争的问题。它主要解决原子操作和任务间相互合作的同步机制。 TinyOS中用nesC编译器检测共享变量有无冲突,并把检测到的冲突语句放入原子操作或任务中来避免冲突[21] (因为TinyOS的任务是串行执行的,任务之间不能互相抢占)。TinyOS单任务的模型避免了其他任务同步的问题。如果需要,可以参照传统操作系统(例如μc/os)的方法,利用信号量来给多任务系统加上任务同步机制,使得提供的原子操作不是关掉所有的中断,从而使得系统的响应不会延迟。 在TinyOS中,由于是单任务的系统,不同的任务来自不同的网络节点,因此采用管道的任务通信方式,也就是网络系统的通信方式。管道是无结构的固定大小数据流,但可以建立消息邮箱和消息队列来满足结构数据的通信。 3.2 WSNOS内存管理 TinyOS的原始通讯使用缓冲区交换策略来进行内存管理。当网络包被收到,无线组件传送一个缓冲区给应用;应用返回一个独立的缓冲区给组件以备下一次接收。通讯栈中,管理缓冲区是很困难的。传统的

相关文档
最新文档