论文部分内容阅读
无线传感器网络(Wireless Sensor Networks,WSNs)以低成本、低功耗、分布式和自组织特点带来一场信息感知的变革。随着传感器节点上应用程序复杂性的提升,节点迫切需要操作系统管理多个任务,电子信息技术飞速发展使传感器节点搭建操作系统成为可能。即便如此,相对于PC甚至嵌入式系统,传感器节点仍然是资源受限,这就要求操作系统每一部分都需要精心设计。文件系统和重编程作为WSNs操作系统重要组成部分,其设计优劣直接影响整个系统的性能。鉴于文件系统与重编程技术有着紧密联系,本文将两者结合起来考虑,整体设计,以获得全局最优。本研究主要内容:1.剖析Contiki操作系统。本文选取Contiki作为研究对象,鉴于Contiki可参考资料甚少,研究开展之前,先深入分析Contiki源码重现整个系统技术细节,包括Contiki内核、文件系统、动态加载、Rime协议栈,为后续研究打下夯实的基础。2.改进Coffee文件系统。深入源码分析Coffee技术细节,修复多处BUG并改进代码增强系统健壮性。除此之外,结合重编程技术特点,从格式化、适应FLASH类型、采集数据特点、文件元数据组织等方面对Coffee进行改进。3.改进重编程技术。通过分析WSNs操作系统TinyOS、SOS、MantisOS理解典型重编程实现方式。在此基础上,分析Contiki重编程技术并对其进行改进,即重新设计ELF文件结构和文件裁剪。4.建立开发环境并测试。为了便于调试,将Contiki从GCC平台转移到IAR+J-Link,包括开发环境搭建、Contiki系统移植。在此平台基础上,对文件系统和重编程进行功能性测试。并介绍网络仿真器COOJA在测试Contiki重编程中的应用。本文深入源码详细分析了Contiki内核、Coffee文件系统、重编程技术、Rime协议栈,并对Coffee和重编程进行改进,具有现实意义。