This paper presents a survey on the current state-of-the-art in Wireless Sensor Network (WSN) Operating Systems (OSs). In recent years, WSNs have received tremendous attention in the research community, with applications in battlefields, industrial process monitoring, home automation, and environmental monitoring, to name but a few. A WSN is a highly dynamic network because nodes die due to severe environmental conditions and battery power depletion. Furthermore, a WSN is composed of miniaturized motes equipped with scarce resources e.g., limited memory and computational abilities. WSNs invariably operate in an unattended mode and in many scenarios it is impossible to replace sensor motes after deployment, therefore a fundamental objective is to optimize the sensor motes’ life time. These characteristics of WSNs impose additional challenges on OS design for WSN, and consequently, OS design for WSN deviates from traditional OS design. The purpose of this survey is to highlight major concerns pertaining to OS design in WSNs and to point out strengths and weaknesses of contemporary OSs for WSNs, keeping in mind the requirements of emerging WSN applications. The state-of-the-art in operating systems for WSNs has been examined in terms of the OS Architecture, Programming Model, Scheduling, Memory Management and Protection, Communication Protocols, Resource Sharing, Support for Real-Time Applications, and additional features. These features are surveyed for both real-time and non-real-time WSN operating systems.
References
[1]
Akyildiz, IF; Su, W; Sankarasubramaniam, Y; Cayirci, E. Wireless Sensor Networks: A Survey. Comput. Netw 2002, 38, 393–422, doi:10.1016/S1389-1286(01)00302-4.
[2]
Reddy, V; Kumar, P; Janakiram, D; Kumar, GA. Operating Systems for Wireless Sensor Networks: A Survey. Int. J. Sens. Netw 2009, 5, 236–255, doi:10.1504/IJSNET.2009.027631.
[3]
Levis, P; Madden, S; Polastre, J; Szewczyk, R; Whitehouse, K; Woo, A; Gay, D; Hill, J; Welsh, M; Brewer, E; Culler, D. Tinyos: An Operating System for Sensor Networks, Available online: http://dx.doi.org/10.1007/3-540-27139-2_7 (accessed on 17 April 2011).
[4]
Akyildiz, IF; Melodia, T; Chowdhury, KR. A Survey on Wireless Multimedia Sensor Networks. Comput. Netw 2007, 51, 921–960, doi:10.1016/j.comnet.2006.10.002.
[5]
Kim, H; Cha, H. Multithreading Optimization Techniques for Sensor Network Operating Systems. Proceedings of the 4th European Conference on Wireless Sensor Networks, Delft, The Netherlands, January 2007; pp. 293–308.
[6]
Klues, K; Liang, CJM; Paek, J; Musaloiu, R; Levis, P; Terzis, A; Govindan, R. TOSThread: Thread-Safe and Non-Invasive Preemption in TinyOS. Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems, Berkeley, CA, USA, 4–6 November 2009; pp. 127–140.
[7]
Cooprider, N; Archer, W; Eide, E; Gay, D; Regehr, J. Efficient Memory Safety for Tinyos. Proceedings of the 5th International Conference on Embedded Networked Sensor Systems (SenSys’07), New York, NY, USA, November 2007; pp. 205–218.
[8]
Gay, D; Levis, P; von Behren, R; Welsh, M; Brewer, E; Culler, D. The NesC Language: A Holistic Approach to Networked Embedded Systems. Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation, New York, NY, USA, May 2003.
[9]
TinyOS Network Working Group, Available online: http://docs.tinyos.net/index.php/TinyOS_Tutorials#Network_Protocols (accessed on 17 April 2011).
[10]
Network Protocols TinyOS documentation Wiki, Available online: http://docs.tinyos.net/index.php/Network_Protocols (accessed on 17 April 2011).
[11]
Lin, K; Levis, P. Data Discovery and Dissemination with DIP. Proceedings of the 7th International Conference on Information Processing in Sensor Networks, St Louis, MO, USA, 22–24 April 2008; pp. 433–444.
[12]
Montenegro, G; Kushalnagar, N; Hui, J; Culler, D. Transmission of Ipv6 Packets over IEEE 802.15.4 Networks, RFC 4944, Available online: http://tools.ietf.org/html/rfc4944 (accessed on 17 April 2011).
[13]
Madden, SR; Franklin, MJ; Hellerstein, JM; Hong, W. TinyDB: An Aquisitional Query Processing System for Sensor Networks. ACM Tans Database Syst 2005, doi:10.1145/1061318.1061322..
[14]
Karlof, C; Sastry, N; Wagner, D. TinySec: A Link Layer Security for Wireless Sensor Networks. Proceedings of the 2th ACM SenSys, Baltimore, MD, USA, 3–5 November 2004.
[15]
Levis, P; Lee, N; Welsh, M; Culler, D. ToSSIM: Accurate and Scaleable Simulation of Entire TinyOS Applications. Proceedings of the 1st ACM SenSys, Los Angeles, CA, USA, 5–7 November 2003.
[16]
Ptolemy Project, Available online: http://ptolemy.eecs.berkeley.edu/ (accessed on 17 April 2011).
[17]
MoteIV Cooperation, Available online: http://www.moteiv.com (accessed on 17 April 2011).
[18]
Dunkels, A; Gronvall, B; Voigt, T. Contiki a Lightweight and Flexible Operating System for Tiny Networked Sensors. Proceedings of the 9th Annual IEEE International Conference on Local Computer Networks, Washington, DC, USA, October 2004; pp. 455–462.
[19]
Dwivedi, AK; Tiwari, MK; Vyas, OP. Operating Systems for Tiny Networked Sensors: A Survey. IJRTE 2009, 1, 152–157.
[20]
Protothreads: Lightweight, Stackless Threads in C, Available online: http://www.sics.se/~adam/pt/ (accessed on 17 April 2011).
[21]
Contiki Documentation, Available online: http://www.sics.se/~adam/contiki/docs/ (accessed on accessed on 17 April 2011).
[22]
Winter, T; Thubert, P. RPL: Ipv6 Routing Protocol for Low Power and Lossy Networks, Draft-ietf-roll-rpl-11, Available online: http://tools.ietf.org/html/draft-ietf-roll-rpl-06 (accessed on 17 April 2011).
[23]
Tsiftes, N; Eriksson, J; Dunkels, A. Low-Power Wireless Ipv6 Routing with ContikiRPL. Proceedings of ACM/IEEE IPSN, Stockholm, Sweden, 12–16 April 2010.
[24]
Tisftes, N; Dunkels, A; He, Z; Voigt, T. Enabling Large Scale Storage in Sensor Networks with the Coffee File System. Proceedings of the 9th International Conference on Information Processing in Sensor Networks, Francisco, CA, USA, 13–16 April 2009.
[25]
Casado, L; Tsigas, P. ContikiSec: A Secure Network Layer for Wireless Sensor Networks under the Contiki Operating System. Lect. Note. Comput. Sci 2009, 5838, 133–147.
[26]
Osterlind, F; Dunkels, A; Eriksson, J; Finne, N; Voigt, T. Cross Level Sensor Network Simulation with Cooja. Proceedings of the 31st IEEE Conference on Local Computer Networks (LCN), Tampa, FL, USA, 14–16 November 2006.
[27]
Atmel AVR Devices, Available online: http://www.atmel.com/products/avr/ (accessed on 17 April 2011).
von Behren, R; Condit, J; Brewer, E. Why Events are a Bad Idea (for High Concurrency Servers). Proceedings of the 9th Workshop on Hot Topic in Operating Systems (HOTOS IX), Lihue, HI, USA, 18–21 May 2003.
[30]
Avrora the AVR Simulation and Analysis Framework, Available online: http://compilers.cs.ucla.edu/avrora/ (accessed on 17 April 2011).
[31]
Eswaran, A; Rowe, A; Rajkumar, R. Nano-RK: An Energy-Aware Resource-Centric RTOS for Sensor Networks. Proceedings of the 26th IEEE Real-Time Systems Symposium, Miami, FL, USA, 5–8 December 2005.
[32]
Rowe, A; Lakshmanan, K; Yhu, H; Rajkumar, R. Rate-Harmonized Scheduling for Saving Energy. Proceedings of the 29th IEEE Real-Time Systems Symposium, Barcelona, Spain, 30 November–3 December 2008.
[33]
Rowe, A; Mangharam, R; Rajkumar, R. FireFly: A Time Synchronized Real-Time Sensor Networking Platform. Proceedings of the 28th IEEE Real-Time Systems Symposium, Tucson, AZ, USA, 3–7 December 2007.
[34]
Rowe, A; Mangharam, R; Rajkumar, R. RT-Link: A Time-Synchronized Link Protocol for Energy Constraint Multi-Hop Wireless Networks. Proceedings of the 3th Annual IEEE Communications Society Conference on Sensors, Mesh and Ad Hoc Communications and Networks, Reston, VA, USA, 25–28 September 2006.
[35]
Cao, Q; Abdelzaher, T; Stankovic, J; He, T. The LiteOS Operating System: Towards Unix Like Abstraction for Wireless Sensor Networks. Proceedings of the 7th International Conference on Information Processing in Sensor Networks (IPSN 2008), St Louis, MO, USA, 22–24 April 2008.