论文部分内容阅读
无线传感器网络(Wireless Sensor Network,WSN)是由大量传感器节点通过无线自组织的方式构成的网络。它结合了计算,通信,传感器三项技术,在森林防火,环境检测,以及军工等各个领域都有广泛的应用,是当前的研究热点之一。无线传感器节点是构成无线传感器网络基本单元,节点一般成本低廉,易于在复杂的环境中大规模地进行部署。但是,低廉的成本同时意味着节点的资源十分有限,包括节点处理器的计算能力,内存大小以及能量,如何在节点操作系统中有效地管理和使用这些资源是节点操作系统研究中非常有挑战性的研究方向。与此同时传感器节点上运行的应用程序复杂多样,传感器节点操作系统需要满足不同的应用程序对节点资源的不同需求,既要提供一定的抽象封装性,又需要提供一定的灵活性适应多种应用程序的需求,例如TinyOS的多层抽象体系就能满足不同应用程序的不同需求。另外,由于节点内存十分有限,需要低开销而且相对高效的内存管理方法来充分使用有限的内存。最后考虑到节点的供能系统往往为普通电池,需要有效利用有限的能量尽可能地延长节点的工作寿命。针对以上传感器节点的特点,论文对外设资源管理,内存分配管理,能量管理三个方面提出了有效的资源管理方案。论文提出的资源管理基于事件驱动的编程模型而不是传统的多线程编程模型,因为事件驱动是被大多节点所广泛使用的编程模型。论文提出了用统一的抽象模型来对所有的外设资源进行抽象,这样既方便了操作系统的移植又为应用程序提供了统一的服务接口,同时为外设资源维护一个服务队列来减少频繁申请释放外设所带来的开销。在内存的管理上,在静态内存管理的基础上,提出使用应用程序自定义内存池和系统内存池相结合的内存管理方法并取得了良好的实验效果。最后论文提出根据不同的外设提出不同的能量管理,并且由系统维护外设引用位图作为处理器能量模式切换的判断依据,以减少能量决策时的时间开销。