A Survey Report on Operating Systems for Tiny Networked Sensors <s> D. LiteOS <s> This paper presents LiteOS, a multi-threaded operating system that provides Unix-like abstractions for wireless sensor networks. Aiming to be an easy-to-use platform, LiteOS offers a number of novel features, including: (1) a hierarchical file system and a wireless shell interface for user interaction using UNIX-like commands; (2) kernel support for dynamic loading and native execution of multithreaded applications; and (3) online debugging, dynamic memory, and file system assisted communication stacks. LiteOS also supports software updates through a separation between the kernel and user applications, which are bridged through a suite of system calls. Besides the features that have been implemented, we also describe our perspective on LiteOS as an enabling platform. We evaluate the platform experimentally by measuring the performance of common tasks, and demonstrate its programmability through twenty-one example applications. <s> BIB001 </s> A Survey Report on Operating Systems for Tiny Networked Sensors <s> D. LiteOS <s> 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. <s> BIB002
LiteOS BIB001 , is developed at the university of Illinois at Urbana-Champaign. It is a Unix-like operating system used for WSNs. The objective of designing this OS is to provide an ease to system level programmers and experience Unix-like environment and support for object oriented programming. It uses Lite C++ as a programming language and a Unix like shell. The LiteOS is used to run MicaZ motes having 128 bytes of flash memory, 4kbytes of RAM and 8 MHz CPU. LiteOS is designed by following modular architecture. It supports communication protocols in terms of file based communication. It has mainly three components: Lite Shell, Lite FS and kernel. Lite Shell deals with the different command support for shell, including debugging, devices, file management and process management. This Lite Shell resides on a PC or at the base station. The only concern with Lite Shell is that it can be used only when a user is present at the base station. Lite FS is responsible for integrating all neighboring sensor nodes and treat them as a file. This further Fig. 6 : comparative study of different OS mounts the sensor nodes as a directory and then lists all those nodes which are one hop sensor nodes as a file. This design allows the user at the base station to use this directory as like UNIX directory. A Lite OS kernel resides on the sensor node. A kernel supports multithreading, dynamic loading and uses a round robin scheduling algorithm. A programmer can use callback functions to register event handlers and this further supports synchronization. The LiteOS treats every application as a single thread. This reduces the semantic errors that may occur during write and read operation in the shared memory address. Furthermore, LiteOS provides a mechanism to avoid the race conditions using functions atomic start() and atomic end() and supports dynamic memory allocation through the use of C-like malloc() and free() functions BIB002 .