论文部分内容阅读
无线传感器网络(WSN)已经被广泛的应用于军事、医疗、交通和环境监测领域。无线传感器网络操作系统作为对传感器节点的抽象,影响着传感器节点提供服务的方式。与传统嵌入式操作系统相比,传感器节点操作系统存在能源、内存资源等限制。目前主流的WSN OS大多只支持事件驱动模型,而不支持多线程模型,限制了WSN应用的范围。同时,这些OS大多采用完整镜像替换的在线升级方式,造成了较大的传输开销和存储开销。因此,本文设计了一个支持事件和多线程两种运行模式,具有多样化的在线升级能力,面向任务的具有资源自适应特性的WSN OS,从而提高了WSN OS处理多任务的能力、动态可配置的能力以及适应环境变化的能力。本文根据WSN应用的特点和传感器节点平台的异构性,提出了分层与模块化的操作系统体系架构。本文的重点在于提出了事件驱动/多线程驱动混合编程模型,并根据混合编程提出了事件/线程两级调度策略,使系统不仅能够支持周期性的任务,而且能够处理实时性任务,系统可以根据资源情况在两种模型中进行切换,具有资源自适应性。本文根据tuple空间和In/Out原语设计并实现了系统内部通信机制,以支持协同的分布式的任务。本文还设计了改进的首次适应法动态内存分配机制,使系统在不影响实时性的前提下,有效的对系统内存进行分配和销毁。本文根据更新代码尺寸的粒度,创新的提出了三个层次的在线升级方式:变量更新、模块加载和全镜像替换。用户可根据需求以及实际情况选择不同的升级方式,有效的减少了传输和存储消耗的同时,使系统具有动态可配置的能力。最后,本文将系统移植到了以AT91SAM7S为MCU,Xbee-PRO为RF模块的传感器节点平台上,并对整个节点的能耗和操作系统的存储消耗做出了评测并与其它系统做出了对比。本文通过中断响应时间和线程切换验证系统的实时性,并与其它系统进行了对比。以上评测表明本系统虽然占用较多存储资源,但实现了真正的多线程模型,保证了系统实时性的同时支持多任务,同时多样化的在线升级方式相比其它系统具有资源自适应的特点。