| Literature DB >> 22163934 |
Muhammad Omer Farooq1, Thomas Kunz.
Abstract
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.Entities:
Keywords: Operating Systems (OS); Real-Time Operating System (RTOS); Wireless Sensor Network (WSN); embedded operating system
Mesh:
Year: 2011 PMID: 22163934 PMCID: PMC3231431 DOI: 10.3390/s110605900
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1.Sensor Node Architecture.
Figure 2.TinyOS Architecture.
Figure 3.Contiki Architecture.
Figure 4.MANTIS OS Architecture. Kernel Scheduler, COMM, DEV, MANTIS System API, Network Stack, and Command Server comprises MOS.
Figure 5.Nano-RK Architecture.
Figure 6.LiteOS Architecture.
Operating Systems Summary.
| Monolithic | Primarily event Driven, support for TOS threads has been added | FIFO | Static Memory Management with memory protection | Active Message | Virtualization and Completion Events | No | |
| Modular | Protothreads and events | Events are fired as they occur. Interrupts execute w.r.t. priority | Dynamic memory management and linking. No process address space protection. | Serialized Access | No | ||
| Layered | Threads | Five priority classes and further priorities in each priority class. | Dynamic memory management supported but use is discouraged, no memory protection. | At Kernel Level COMM layer. Networking Layer isat user level. Application is free to use custom routing protocols. | Through Semaphores. | To some extent at process scheduling level (Implementatio n of priority scheduling within different processes types) | |
| Monolithic | Threads | Rate Monotonic and rate harmonized scheduling | Static Memory Management and No memory protection | Socket like abstraction for networking | Serialized access through mutexes and semaphores. Provide an implementation of Priority Ceiling Algorithm for priority inversion. | Yes | |
| Modular | Threads and Events | Priority based Round Robin Scheduling | Dynamic memory management and it provides memory protection to processes. | File based communication | Through synchronization primitives | No |
Miscellaneous Features Summary.
| TinySec | Single level file system | TOSSIM | NesC | Not available | |
| ContikiSec | Coffee file system | Cooja | C | Unix-like shell runs on sensor mote | |
| Not available | Not available | Through AVRORA | C | Unix-like shell runs on sensor mote | |
| Not available | Not available | Not available | C | Not available | |
| Not available | LiteFS | Through AVRORA | LiteC++ | Shell that runs on base station |