Enix: a lightweight dynamic operating system for tightly constrained wireless sensor platforms

Enix is a lightweight dynamic operating system for tightly constrained platforms for wireless sensor networks (WSN). Enix provides a cooperative threading model, which is applicable to event-based WSN applications with little run-time overhead. Virtual memory is supported with the assistance of the compiler, so that the sensor platforms can execute code larger than the physical code memory they have. To enable firmware update for deployed sensor nodes, Enix supports remote reprogramming. The commonly used library and the main logical structure are separated; each sensor device has a copy of the dynamic loading library in the Micro-SD card, and therefore only the main function and user-defined subroutines should be updated through RF. A lightweight, efficient file system named EcoFS is also included in Enix. The code size and data size of Enix with full-function including EcoFS are 8 KB and 512 bytes, respectively, enabling Enix to run on many RF-enabled systems-on-chip that cannot run most other WSN OSs.

[1]  Jean J. Labrosse,et al.  MicroC/OS-II: The Real Time Kernel , 1998 .

[2]  Philip Levis,et al.  Maté: a tiny virtual machine for sensor networks , 2002, ASPLOS X.

[3]  Marvin Theimer,et al.  Cooperative Task Management Without Manual Stack Management , 2002, USENIX Annual Technical Conference, General Track.

[4]  Emin Gün Sirer,et al.  On the need for system-level support for ad hoc and sensor networks , 2002, OPSR.

[5]  David E. Culler,et al.  Mica: A Wireless Platform for Deeply Embedded Networks , 2002, IEEE Micro.

[6]  Eric A. Brewer,et al.  USENIX Association Proceedings of HotOS IX : The 9 th Workshop on Hot Topics in Operating Systems , 2003 .

[7]  David E. Culler,et al.  The nesC language: A holistic approach to networked embedded systems , 2003, PLDI.

[8]  Sang Lyul Min,et al.  Compiler-assisted demand paging for embedded systems with flash memory , 2004, EMSOFT '04.

[9]  Michael Neufeld,et al.  ELF: an efficient log-structured flash file system for micro sensor nodes , 2004, SenSys '04.

[10]  Adam Dunkels,et al.  Contiki - a lightweight and flexible operating system for tiny networked sensors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[11]  Tony Givargis,et al.  Software Virtual Memory Management for MMU-less Embedded Systems , 2005 .

[12]  Pai H. Chou,et al.  Eco: an ultra-compact low-power wireless sensor node for real-time motion monitoring , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[13]  Jeff Rose,et al.  MANTIS OS: An Embedded Multithreaded Operating System for Wireless Micro Sensor Platforms , 2005, Mob. Networks Appl..

[14]  Andreas Gustafsson,et al.  Threads without the Pain , 2005, ACM Queue.

[15]  Joel Koshy,et al.  VMSTAR: synthesizing scalable runtime environments for sensor networks , 2005, SenSys '05.

[16]  Mani B. Srivastava,et al.  A dynamic operating system for sensor nodes , 2005, MobiSys '05.

[17]  Wei Hong,et al.  TinyDB: an acquisitional query processing system for sensor networks , 2005, TODS.

[18]  Dimitrios Gunopulos,et al.  Microhash: an efficient index structure for fash-based sensor devices , 2005, FAST'05.

[19]  David E. Culler,et al.  TinyOS: An Operating System for Sensor Networks , 2005, Ambient Intelligence.

[20]  Anthony Rowe,et al.  Nano-RK: an energy-aware resource-centric RTOS for sensor networks , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[21]  Peter Desnoyers,et al.  Capsule: an energy-optimized object storage system for memory-constrained sensor devices , 2006, SenSys '06.

[22]  Kazuo Yano,et al.  A 15 - 15 mm, 1 µA, reliable sensor-net module: enabling application-specific nodes , 2006, IPSN.

[23]  Muneeb Ali,et al.  Protothreads: simplifying event-driven programming of memory-constrained embedded systems , 2006, SenSys '06.

[24]  Adam Dunkels,et al.  Run-time dynamic linking for reprogramming wireless sensor networks , 2006, SenSys '06.

[25]  T. Tanaka,et al.  A 15/spl times/15 mm, 1 /spl mu/A, reliable sensor-net module: enabling application-specific nodes , 2006, 2006 5th International Conference on Information Processing in Sensor Networks.

[26]  John A. Stankovic,et al.  t-kernel: providing reliable OS support to wireless sensor networks , 2006, SenSys '06.

[27]  Lei Yang,et al.  Automated compile-time and run-time techniques to increase usable memory in MMU-less embedded systems , 2006, CASES '06.

[28]  Jin Won Kim,et al.  A nano operating system for wireless sensor networks , 2006, 2006 8th International Conference Advanced Communication Technology.

[29]  Gustavo Alonso,et al.  A virtual machine for sensor networks , 2007, EuroSys '07.

[30]  Suman Nath,et al.  FlashDB: Dynamic Self-tuning Database for NAND Flash , 2007, 2007 6th International Symposium on Information Processing in Sensor Networks.

[31]  Suman Nath,et al.  FlashDB: Dynamic Self-tuning Database for NAND Flash , 2007, 2007 6th International Symposium on Information Processing in Sensor Networks.

[32]  Cormac J. Sreenan,et al.  Adding preemption to TinyOS , 2007, EmNets '07.

[33]  Hojung Cha,et al.  RETOS: Resilient, Expandable, and Threaded Operating System for Wireless Sensor Networks , 2007, 2007 6th International Symposium on Information Processing in Sensor Networks.

[34]  Tarek F. Abdelzaher,et al.  The LiteOS Operating System: Towards Unix-Like Abstractions for Wireless Sensor Networks , 2008, 2008 International Conference on Information Processing in Sensor Networks (ipsn 2008).

[35]  Ramesh Govindan,et al.  TOSThreads: thread-safe and non-invasive preemption in TinyOS , 2009, SenSys '09.

[36]  Lei Yang,et al.  MEMMU: Memory expansion for MMU-less embedded systems , 2009, TECS.

[37]  Adam Dunkels,et al.  Enabling large-scale storage in sensor networks with the Coffee file system , 2009, 2009 International Conference on Information Processing in Sensor Networks.

[38]  Yi-Hsuan Tu,et al.  EcoSpire: An Application Development Kit for an Ultra-Compact Wireless Sensing System , 2009, IEEE Embedded Systems Letters.

[39]  Yi-Hsuan Tu,et al.  EcoExec: An Interactive Execution Framework for Ultra Compact Wireless Sensor Nodes , 2010, 2010 7th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks (SECON).