skip to main content
10.1145/1067170.1067188acmconferencesArticle/Chapter ViewAbstractPublication PagesmobisysConference Proceedingsconference-collections
Article

A dynamic operating system for sensor nodes

Published:06 June 2005Publication History

ABSTRACT

Sensor network nodes exhibit characteristics of both embedded systems and general-purpose systems. They must use little energy and be robust to environmental conditions, while also providing common services that make it easy to write applications. In TinyOS, the current state of the art in sensor node operating systems, reusable components implement common services, but each node runs a single statically-linked system image, making it hard to run multiple applications or incrementally update applications. We present SOS, a new operating system for mote-class sensor nodes that takes a more dynamic point on the design spectrum. SOS consists of dynamically-loaded modules and a common kernel, which implements messaging, dynamic memory, and module loading and unloading, among other services. Modules are not processes: they are scheduled cooperatively and there is no memory protection. Nevertheless, the system protects against common module bugs using techniques such as typed entry points, watchdog timers, and primitive resource garbage collection. Individual modules can be added and removed with minimal system interruption. We describe SOS's design and implementation, discuss tradeoffs, and compare it with TinyOS and with the Maté virtual machine. Our evaluation shows that despite the dynamic nature of SOS and its higher-level kernel interface, its long term total usage nearly identical to that of systems such as Matè and TinyOS.

References

  1. Abrach, H., Bhatti, S., Carlson, J., Dai, H., Rose, J., Sheth, A., Shucker, B., Deng, J., and Han, R. Mantis: system support for multimodal networks of in-situ sensors. In Proceedings of the 2nd ACM international conference on Wireless sensor networks and applications (2003), ACM Press, pp. 50--59. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bershad, B. N., Savage, S., Pardyak, P., Sirer, E. G., Fiuczynski, M., Becker, D., Eggers, S., and Chambers, C. Extensibility, safety and performance in the SPIN operating system. In 15th Symposium on Operating Systems Principles (Copper Mountain, Colorado, 1995), pp. 267--284. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Boulis, A., Han, C.-C., and Srivastava, M. B. Design and implementation of a framework for efficient and programmable sensor networks. In Proceedings of the First International Conference on Mobile Systems, Applications, and Services (2003), ACM Press, pp. 187--200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Crossbow Technology, Inc. Mote In-Network Programming User Reference, 2003.Google ScholarGoogle Scholar
  5. Dunkels, A., Grönvall, B., and Voigt, T. Contiki - a lightweight and flexible operating system for tiny networked sensors. In Proceedings of the First IEEE Workshop on Embedded Networked Sensors (2004). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Engler, D. R., Kaashoek, M. F., and O'Toole, J. Exokernel: An operating system architecture for application-level resource management. In Symposium on Operating Systems Principles (1995), pp. 251--266. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Fok, C., Roman, G.-C., and Lu, C. Rapid development and flexible deployment of adaptive wireless sensor network applications. Tech. Rep. WUCSE-04-59, Washington University, Department of Computer Science and Engineering, St. Louis, 2004.Google ScholarGoogle Scholar
  8. Gay, D., Levis, P., Von Behren, R., Welsh, M., Brewer, E., and Culler, D. The nesc language: A holistic approach to networked embedded systems. In Proceedings of Programming Language Design and Implementation (2003). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Hill, J., Szewczyk, R., Woo, A., Hollar, S., Culler, D., and Pister, K. System architecture directions for networked sensors. In Proceedings of the ninth international conference on Architectural support for programming languages and operating systems (2000), ACM Press, pp. 93--104. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Hui, J. W., and Culler, D. The dynamic behavior of a data dissemination protocol for network programming at scale. In Proceedings of the second international conference on Embedded networked sensor systems (2004), ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Jeong, J., and Culler, D. Incremental network programming for wireless sensors. In Proceedings of the First IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks IEEE SECON (2004).Google ScholarGoogle ScholarCross RefCross Ref
  12. Juang, P., Oki, H., Wang, Y., Martonosi, M., Peh, L.-S., and Rubenstein, D. Energy-efficient computing for wildlife tracking: Design tradeoffs and early experiences with ZebraNet. In Proc. 10th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOSX) (San Jose, California, Oct. 2002). Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Kaiser, W., Pottie, G., Srivastava, M., Sukhatme, G. S., Villasenor, J., and Estrin, D. Networked Infomechanical Systems (NIMS) for ambient intelligence.Google ScholarGoogle Scholar
  14. Levis, P., and Culler, D. Mate: A tiny virtual machine for sensor networks. In International Conference on Architectural Support for Programming Languages and Operating Systems, San Jose, CA, USA (Oct. 2002). Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Levis, P., Madden, S., Gay, D., Polastre, J., Szewczyk, R., Woo, A., Brewer, E., and Culler, D. The emergence of networking abstractions and techniques in tinyos. In Proceedings of the First Symposium on Networked Systems Design and Implementation (2004), USENIX Association, pp. 1--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Levis, P., Patel, N., Culler, D., and Shenker, S. Trickle: A self-regulating algorithm for code propagation and maintenance in wireless sensor networks. In Proceedings of the First Symposium on Networked Systems Design and Implementation (2004), USENIX Association, pp. 15--28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Liu, T., and Martonosi, M. Impala: a middleware system for managing autonomic, parallel sensor systems. In Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming (2003), ACM Press, pp. 107--118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Polastre, J., Hill, J., and Culler, D. Versatile low power media access for wireless sensor networks. In Second ACM Conference on Embedded Networked Sensor Systems (2004). Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Rashid, R., Julin, D., Orr, D., Sanzi, R., Baron, R., Forin, A., Golub, D., and Jones, M. B. Mach: a system software kernel. In Proceedings of the 1989 IEEE International Conference, COMPCON (San Francisco, CA, USA, 1989), IEEE Comput. Soc. Press, pp. 176--178.Google ScholarGoogle ScholarCross RefCross Ref
  20. Reijers, N., and Langendoen, K. Efficient code distribution in wireless sensor networks. In Proceedings of the 2nd ACM international conference on Wireless sensor networks and applications (2003), ACM Press, pp. 60--67. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Shnayder, V., Hempstead, M., Rong Chen, B., and Matt Welsh, H. Powertossim: Efficient power simulation for tinyos applications. In Sensor Networks. In Proc. of ACM SenSys 2003. (2003).Google ScholarGoogle Scholar
  22. Stathopoulos, T., Heidemann, J., and Estrin, D. A remote code update mechanism for wireless sensor networks. Tech. Rep. CENS-TR-30, University of California, Los Angeles, Center for Embedded Networked Computing, November 2003.Google ScholarGoogle ScholarCross RefCross Ref
  23. Titzer, B. L., Palsberg, J., and Lee, D. K. Avrora: Scalable sensor network simulation with precise timing. In Fourth International Conference on Information Processing in Sensor Networks (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A dynamic operating system for sensor nodes

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            MobiSys '05: Proceedings of the 3rd international conference on Mobile systems, applications, and services
            June 2005
            278 pages
            ISBN:1931971315
            DOI:10.1145/1067170

            Copyright © 2005 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 6 June 2005

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • Article

            Acceptance Rates

            Overall Acceptance Rate274of1,679submissions,16%

            Upcoming Conference

            MOBISYS '24

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader