Contiki - a lightweight and flexible operating system for tiny networked sensors

Wireless sensor networks are composed of large numbers of tiny networked devices that communicate untethered. For large scale networks, it is important to be able to download code into the network dynamically. We present Contiki, a lightweight operating system with support for dynamic loading and replacement of individual programs and services. Contiki is built around an event-driven kernel but provides optional preemptive multithreading that can be applied to individual processes. We show that dynamic loading and unloading is feasible in a resource constrained environment, while keeping the base system lightweight and compact.

[1]  Matt Welsh,et al.  Programming Sensor Networks Using Abstract Regions , 2004, NSDI.

[2]  Mani B. Srivastava,et al.  Design and implementation of a framework for efficient and programmable sensor networks , 2003, MobiSys '03.

[3]  Robert Szewczyk,et al.  System architecture directions for networked sensors , 2000, ASPLOS IX.

[4]  Frank Stajano,et al.  Security for Ubiquitous Computing , 2002, ICISC.

[5]  Robin Fairbairns,et al.  The Design and Implementation of an Operating System to Support Distributed Multimedia Applications , 1996, IEEE J. Sel. Areas Commun..

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

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

[8]  David E. Culler,et al.  The Emergence of Networking Abstractions and Techniques in TinyOS , 2004, NSDI.

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

[10]  Graham Hamilton,et al.  The Spring Nucleus: A Microkernel for Objects , 1993 .

[11]  Deborah Estrin,et al.  Embedded Every-where: A Research Agenda for Networked Systems of Embedded Computers , 2001 .

[12]  Dawson R. Engler,et al.  Exokernel: an operating system architecture for application-level resource management , 1995, SOSP.

[13]  Deborah Estrin,et al.  EmStar: A Software Environment for Developing and Deploying Wireless Sensor Networks , 2004, USENIX ATC, General Track.

[14]  Koen Langendoen,et al.  Efficient code distribution in wireless sensor networks , 2003, WSNA '03.

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

[16]  Jeff Rose,et al.  MANTIS: system support for multimodAl NeTworks of in-situ sensors , 2003, WSNA '03.

[17]  Mani Srivastava,et al.  Energy-aware wireless microsensor networks , 2002, IEEE Signal Process. Mag..

[18]  Dawson R. Engler,et al.  Exterminate all operating system abstractions , 1995, Proceedings 5th Workshop on Hot Topics in Operating Systems (HotOS-V).