论文部分内容阅读
传感器网络的实际应用需要相应的操作系统来支撑。但是,传感器网络与传统的嵌入式系统有很大的区别:组成传感器网络的节点具有比传统嵌入式系统严格得多的资源限制;传感器网络可以由多种硬件异构构成,可以应用于多个领域。这些区别使得传统的实时嵌入式操作系统不适合于传感器网络,另外,在传感器网络中,能量是极为宝贵的资源,而在传统的操作系统设计中,这一点往往被忽略。
一、传感器网络的特点
1.很长的生存周期
传感器网络在部署完成后要在无人值守的情况下运行很长一段时间,通常几个月甚至一年。
2.网络中存在多条并发数据流
传感器网络运行过程中,网络中同时存在着多条并发数据流,包括节点从周围环境中收集的数据、节点从其他节点接收到的数据、为其他节点转发的数据等。
3.要求有快速的响应时间
在一些对时间要求比较高的应用(如森林火灾监测,灾后救援等),要求网络要有足够快的响应时间。
4.对网络重编程
传感器网络部署完成后,用户往往要改变网络中运行的程序,这要求将所有的节点收回并重新编程后重新部署是不现实的,操作系统要提供灵活高效的通过无线通信对网络进行在线重编程的机制。
5.要求有很好的健壮性
传感器网络部署完成后一般在无人值守的情况下运行很长一段时间,因此要求网络有很好的健壮性。
二、传感器网络对操作系统的要求
对于运行于传感器网络之上的应用程序来说,传感器网络是作为一个整体的运行平台,只考虑单个的节点是没有意义的。这就要求支持传感器网络的操作系统要能够很好的支持节点间的相互协作。此外,传感器网络通常用于在无人值守的情况下长时间执行某些任务,因此,要求支持传感器网络的操作系统具有较低的功耗,能够满足网络长时间运行的要求。
传感器网络的这些特点,要求支持传感器网络的操作系统必须满足以下要求。
1.代码要足够小,以满足传感器节点存储资源的限制
传感器节点的存储空间都很小,一般具有128kB程序存储器,4kB随机存储器。这要求编译后的操作系统代码要小于128kB。实际上,现存的几个操作系统的代码要比这个限制小得多,一般只有几千到十几千字节。
2.系统的功耗要小
系统任务没有就绪时,要能够将CPU以调节到低能耗状态,并提供相应的机制,使得应用程序可以调节外部设备,如通信设备的能耗状态。
3.要高效的支持并发
同一个传感器节点上也存在着许多并发数据流,要在严格的存储资源限制条件下提供对并发的高效支持。
4.灵活地支持各个节点间的协同工作
传感器网络是作为一个整体来运行应用程序的,传感器网络要能够灵活高效的支持各个节点间的协同工作。
5.对硬件和应用多样性的支持
传感器网络可以由多种应用,不同的应用中的硬件可以不同,如不同的传感器板,不同的通信设备等。操作系统要能够提供对多种硬件的灵活地支持。要能够有力地支持代码复用,减少开发新应用程序的难度。
6.扩展良好的通信机制
传感器网络可能由成千上万个节点构成,这要求操作系统提供具有良好扩展性的通信机制来支持网络中节点之间的通信。
7.健壮性
传感器网络一般要在无人值守的情况下运行很长时间,要求操作系统具有很好的健壮性。
8.方便的网络重编程机制
传感器网络常常会改变运行于其上的应用程序,操作系统应该提供灵活的机制支持网络重编程的高效完成。
三、传感器网络操作系统
1.TinyOS
TinyOS是第一个专为无线嵌入式传感器网络设计的操作系统。TinyOS是当前无线传感器网络中使用最广泛的操作系统,也是事实上的标准操作系统,已经被移植到超过10种以上的硬件平台上。TinyOS是一个基于模块的事件驱动的操作系统。考虑到存储器的容量限制,TinyOS采用事件驱动而不是多线程来支持并发。通过采用模块化的设计,TinyOS很好得支持了硬件和应用的多样性,提高了代码复用的程度。TinyOS是一个静态的系统,这种静态特性使得程序开发者可以通过编译器对整个系统进行优化,可以有效的减小代码规模,对潜在的数据冲突进行检测。
2.SOS
SOS应用程序由一个内核和若干个可以动态加载的模块组成,模块间可以通过消息传递机制进行异步通信,也可以通过直接函数调用进行同步通信。SOS的模块性使得可以更方便地对网络进行重编程。并且,SOS使用传统的C语言进行编程,更符合程序员的习惯。
(作者单位:山东省枣庄科技职业学院)
一、传感器网络的特点
1.很长的生存周期
传感器网络在部署完成后要在无人值守的情况下运行很长一段时间,通常几个月甚至一年。
2.网络中存在多条并发数据流
传感器网络运行过程中,网络中同时存在着多条并发数据流,包括节点从周围环境中收集的数据、节点从其他节点接收到的数据、为其他节点转发的数据等。
3.要求有快速的响应时间
在一些对时间要求比较高的应用(如森林火灾监测,灾后救援等),要求网络要有足够快的响应时间。
4.对网络重编程
传感器网络部署完成后,用户往往要改变网络中运行的程序,这要求将所有的节点收回并重新编程后重新部署是不现实的,操作系统要提供灵活高效的通过无线通信对网络进行在线重编程的机制。
5.要求有很好的健壮性
传感器网络部署完成后一般在无人值守的情况下运行很长一段时间,因此要求网络有很好的健壮性。
二、传感器网络对操作系统的要求
对于运行于传感器网络之上的应用程序来说,传感器网络是作为一个整体的运行平台,只考虑单个的节点是没有意义的。这就要求支持传感器网络的操作系统要能够很好的支持节点间的相互协作。此外,传感器网络通常用于在无人值守的情况下长时间执行某些任务,因此,要求支持传感器网络的操作系统具有较低的功耗,能够满足网络长时间运行的要求。
传感器网络的这些特点,要求支持传感器网络的操作系统必须满足以下要求。
1.代码要足够小,以满足传感器节点存储资源的限制
传感器节点的存储空间都很小,一般具有128kB程序存储器,4kB随机存储器。这要求编译后的操作系统代码要小于128kB。实际上,现存的几个操作系统的代码要比这个限制小得多,一般只有几千到十几千字节。
2.系统的功耗要小
系统任务没有就绪时,要能够将CPU以调节到低能耗状态,并提供相应的机制,使得应用程序可以调节外部设备,如通信设备的能耗状态。
3.要高效的支持并发
同一个传感器节点上也存在着许多并发数据流,要在严格的存储资源限制条件下提供对并发的高效支持。
4.灵活地支持各个节点间的协同工作
传感器网络是作为一个整体来运行应用程序的,传感器网络要能够灵活高效的支持各个节点间的协同工作。
5.对硬件和应用多样性的支持
传感器网络可以由多种应用,不同的应用中的硬件可以不同,如不同的传感器板,不同的通信设备等。操作系统要能够提供对多种硬件的灵活地支持。要能够有力地支持代码复用,减少开发新应用程序的难度。
6.扩展良好的通信机制
传感器网络可能由成千上万个节点构成,这要求操作系统提供具有良好扩展性的通信机制来支持网络中节点之间的通信。
7.健壮性
传感器网络一般要在无人值守的情况下运行很长时间,要求操作系统具有很好的健壮性。
8.方便的网络重编程机制
传感器网络常常会改变运行于其上的应用程序,操作系统应该提供灵活的机制支持网络重编程的高效完成。
三、传感器网络操作系统
1.TinyOS
TinyOS是第一个专为无线嵌入式传感器网络设计的操作系统。TinyOS是当前无线传感器网络中使用最广泛的操作系统,也是事实上的标准操作系统,已经被移植到超过10种以上的硬件平台上。TinyOS是一个基于模块的事件驱动的操作系统。考虑到存储器的容量限制,TinyOS采用事件驱动而不是多线程来支持并发。通过采用模块化的设计,TinyOS很好得支持了硬件和应用的多样性,提高了代码复用的程度。TinyOS是一个静态的系统,这种静态特性使得程序开发者可以通过编译器对整个系统进行优化,可以有效的减小代码规模,对潜在的数据冲突进行检测。
2.SOS
SOS应用程序由一个内核和若干个可以动态加载的模块组成,模块间可以通过消息传递机制进行异步通信,也可以通过直接函数调用进行同步通信。SOS的模块性使得可以更方便地对网络进行重编程。并且,SOS使用传统的C语言进行编程,更符合程序员的习惯。
(作者单位:山东省枣庄科技职业学院)