12
1 A Survey Report on Operating Systems for Tiny Networked Sensors Alok Ranjan, H.B. Sahu and Prasant. Misra Abstract—Wireless sensor network (WSN) has attracted researchers worldwide to explore the research oppor- tunities, with application mainly in health monitoring, industry automation, battlefields, home automation and environmental monitoring. A WSN is highly resource constrained in terms of energy, computation and mem- ory. WSNs deployment ranges from the normal working environment up to hostile and hazardous environment such as in volcano monitoring and underground mines. These characteristics of WSNs hold additional set of challenges in front of the operating system designer. The objective of this survey is to highlight the features and weakness of the opearting system available for WSNs, with the focus on the current application demands. The paper also discusses the operating system design issues in terms of architecture, programming model, scheduling and memory management and support for real time applications. Index Terms—Wireless sensor networks, operating sys- tem, communication protocol, design, sensor, program. I. I NTRODUCTION W Ith the distinguished communication fea- tures, WSNs are becoming a critical infras- tructure support in health monitoring, environmental monitoring, tracking, industrial automation, volcano monitoring, indoor application, and etc. [1], [2], [3], [4], [5]. Recent innovations in the field of wireless sensor network technology are significantly enhanc- ing the capabilities for distributed sensing of the physical world. A wireless sensor network consists of a number of sensor nodes deployed densely that are equipped with own data processing, communi- cation and sensing capabilities. The advantage of having a WSN is low cost, increased coverage and importantly the operating capabilities in a normal environment up to hostile environments like in un- derground mines, underwater, under soil and also A.Ranjan and H.B.Sahu are with the Department of Mining Engi- neering, Natioanl Institute of Technology, Rourkela,Odisha 769008, India. E-mail: [email protected] P. Misra is with Robert Bosch Center for Cyber Physical Systems, Indian Institute of Science, Bangalore, Karnataka, India. those unattended areas where manual monitoring is tough such as volcano monitoring [3], [4], [5], [6]. An operating system is there in every node to exe- cute the network protocols for communication with other nodes in the network. The OS is responsible for managing resources on every sensor node and provides a programming interface to the system de- veloper. It’s an OS only which makes an application program portable and simple by providing a level of abstraction to the hardware. The OS for sensor node is different than the general purpose computers in terms of the processor architecture, sensor devices and hardware for communication [7]. An operating system mainly manages system resources with the multiplexing concept in two ways, i.e. space (mem- ory) and time. A space multiplexing incorporates various programs accessing parts of the the available resource, whereas the time multiplexing involves programs turn in using the system resources [8]. In this paper, we have examined the core features of the operating systems for WSNs in terms of pro- graming model, memory management, architecture and protocols for communication. We also discuss the future research issues related to communication protocols at each layer. This survey paper focuses on those OSs which are widely used in the recent scenario in both academic and industrial research. The remainder of this paper is organized as follows. In section 2, we briefly discuss the sensor node architecture followed by the open research issues of the communication protocols. Different sensor nodes widely used in academic research community and commercial purposes are also discussed in brief with a comparative study on those motes. Section 3, discuss the popular OSs for WSN. Open research issues with the OS design consideration is discussed in section 4. Section 5 covers the future remarks based on our studies. We then conclude our work in section 6. arXiv:1505.05269v1 [cs.OS] 20 May 2015

A Survey Report on Operating Systems for Tiny Networked ... · A Survey Report on Operating Systems for Tiny Networked Sensors Alok Ranjan, H.B. Sahu and Prasant. Misra Abstract—Wireless

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

1

A Survey Report on Operating Systems for TinyNetworked Sensors

Alok Ranjan, H.B. Sahu and Prasant. Misra

Abstract—Wireless sensor network (WSN) has attractedresearchers worldwide to explore the research oppor-tunities, with application mainly in health monitoring,industry automation, battlefields, home automation andenvironmental monitoring. A WSN is highly resourceconstrained in terms of energy, computation and mem-ory. WSNs deployment ranges from the normal workingenvironment up to hostile and hazardous environment suchas in volcano monitoring and underground mines. Thesecharacteristics of WSNs hold additional set of challengesin front of the operating system designer. The objectiveof this survey is to highlight the features and weakness ofthe opearting system available for WSNs, with the focus onthe current application demands. The paper also discussesthe operating system design issues in terms of architecture,programming model, scheduling and memory managementand support for real time applications.

Index Terms—Wireless sensor networks, operating sys-tem, communication protocol, design, sensor, program.

I. INTRODUCTION

W Ith the distinguished communication fea-tures, WSNs are becoming a critical infras-

tructure support in health monitoring, environmentalmonitoring, tracking, industrial automation, volcanomonitoring, indoor application, and etc. [1], [2], [3],[4], [5]. Recent innovations in the field of wirelesssensor network technology are significantly enhanc-ing the capabilities for distributed sensing of thephysical world. A wireless sensor network consistsof a number of sensor nodes deployed densely thatare equipped with own data processing, communi-cation and sensing capabilities. The advantage ofhaving a WSN is low cost, increased coverage andimportantly the operating capabilities in a normalenvironment up to hostile environments like in un-derground mines, underwater, under soil and also

A.Ranjan and H.B.Sahu are with the Department of Mining Engi-neering, Natioanl Institute of Technology, Rourkela,Odisha 769008,India. E-mail: [email protected]

P. Misra is with Robert Bosch Center for Cyber Physical Systems,Indian Institute of Science, Bangalore, Karnataka, India.

those unattended areas where manual monitoring istough such as volcano monitoring [3], [4], [5], [6].An operating system is there in every node to exe-cute the network protocols for communication withother nodes in the network. The OS is responsiblefor managing resources on every sensor node andprovides a programming interface to the system de-veloper. It’s an OS only which makes an applicationprogram portable and simple by providing a level ofabstraction to the hardware. The OS for sensor nodeis different than the general purpose computers interms of the processor architecture, sensor devicesand hardware for communication [7]. An operatingsystem mainly manages system resources with themultiplexing concept in two ways, i.e. space (mem-ory) and time. A space multiplexing incorporatesvarious programs accessing parts of the the availableresource, whereas the time multiplexing involvesprograms turn in using the system resources [8].In this paper, we have examined the core featuresof the operating systems for WSNs in terms of pro-graming model, memory management, architectureand protocols for communication. We also discussthe future research issues related to communicationprotocols at each layer. This survey paper focuseson those OSs which are widely used in the recentscenario in both academic and industrial research.The remainder of this paper is organized as follows.In section 2, we briefly discuss the sensor nodearchitecture followed by the open research issuesof the communication protocols. Different sensornodes widely used in academic research communityand commercial purposes are also discussed in briefwith a comparative study on those motes. Section3, discuss the popular OSs for WSN. Open researchissues with the OS design consideration is discussedin section 4. Section 5 covers the future remarksbased on our studies. We then conclude our workin section 6.

arX

iv:1

505.

0526

9v1

[cs

.OS]

20

May

201

5

2

II. SENSOR NODE ARCHITECTURE

Typically, a sensor has two parts: a sensingelement which senses the physical environmentand a transducer that converts the sensed data toa representative signal. Nodes typically have onboard memory, sensors, wireless connectivity, powersource and on board processing capabilities [9]. Ma-jor components of a sensor node include controller,memory, sensors/actuators, communication moduleand power and shown in figure 1. A controlleris responsible for processing all the relevant dataand is also capable of execution of arbitrary code.Memory is used mainly to store some programsand intermediate data. Sensors and actuators are theelementary part of the node and is the interfaceto the physical world for sensing physical envi-ronment and control physical parameters. Sendingand receiving is done through the communicationpart. Power is most significant and critical part ofthe node and is very constrained for WSN node.The beauty of the sensor node fitted with an onboard is, the node transmits only the required andnecessary data instead of sending raw data to anode which is responsible for data fusion. Theyuse their own computation and processing capabil-ities [1]. The overall energy consumption of eachsensor node consists of three components, viz. theenergy consumed in sensing, i.e. sensing energy,the amount of energy consumed in data processingand energy required for communication betweennodes [10]. Where sensing energy solely relatedto the sensitivity of the sensors, data processingenergy related to the circuit design and the energyconsumed in communication is almost half of theenergy consumed by each node. In addition tocommunication process, it has also been found thatthe energy consumptions in communication processhave also three components: radio energy, trans-mitter device electronic energy and receiver nodeelectronics energy [11]. For any kind of network,connectivity is one of the fundamental issues forreliable network functionalities.

A. Communication Protocols and issues

A sensor network consists of different layers in aprotocol stack. Physical layer deals with transmis-sion media, modulation technique, receiving of bitsand connectivity among nodes. Due to the dynamictopology of a sensor node Medium access control

Fig. 1: Simplified architecture of sensor node

(MAC) applied to a sensor network must be awareof power consumption and should be able to min-imize the collision of data packets [5]. Routing ofdata is taken care by the network layer and it furthergives services to the transport layer. End to end dataflow into a sensor network is with transport layerfunctionalities. Various power efficient algorithmshave been proposed which is smart enough so thatafter receiving a message the node may turn offits receiver, which prevents the further receipt ofduplicate messages. Additionally, a node can gointo sleep mode for a specified amount of time andcan pass a broadcast message in the network aboutshorting in power so cant participate in routing[5], [12]. This gives an obvious power saving andthis can further utilize in sensing. Although thereare a number of literatures available describing thedifferent layer functionalities of WSN. The mainobjective of this section is to address some openresearch issues. This section highlights only somecritical research issues at every layer so that thereliability and efficiency of communication devicescan be addressed in the future research.

1) Physical layer: Physical layer deals with thetransmission of data, connectivity, modulation tech-niques and synchronizations. This faces differentchallenges for wireless communication to be possi-ble. This layer interacts with the MAC layer of datalink layer performing reception and bit synchroniza-tion. In [13], the authors found that the error rateat the physical layer is high when the distance be-

3

tween transmitter and receiver is increased. Energyconsumption is one of the critical point for WSN.As the WSN has limited power source, hence tominimize the energy consumption and maximizingthe life of a sensor node is vital. Physical layer usespower for bit stream transmission and radio opera-tion. The amount of energy consumes to transmita data stream can be adversely affected and variesdue to the interference, multipath effects, fadingand distance between the transmitter and receiver[13]. Whereas the energy consumption is fixed tooperate circuitry. The energy consumption of thedifferent radio chip used in WSN nodes is listed insubsection ”Sensor Nodes”. An efficient modulationtechnique for channel is another issue which isimportant for minimizing energy consumption bythe network. [14], [15] have carried out comparativeanalysis between binary modulation and multi-level(M-ary) modulation scheme and noticed that theenergy consumed by the M-ary modulation is lessand energy efficient than binary modulation. Thisoccurs when the output power of RF is small andthe time interval for start-up is less. On furthercomparison they found that when M is greater thaneight, the M- ary phase shift keying and M-aryquadrature amplitude modulation scheme consumesmore energy than the M-ary frequency shift keying.In addition to energy consumption, a comparativeanalysis of Binary and M-ary has been done andit was found that M-ary is capable to reduce thetransmit time by transmitting multiple bits per sym-bol but it leads to a complex circuitry which inresults consumes more power [16]. Further in their

Fig. 2: WSN Communication Protocol Architecture

studies they suggested that binary modulation isgood because it takes less power hence, is energyefficient. Choices for bandwidth also needs researchefforts, as in WSN there are three major choicesavailable at physical layer: spread spectrum, narrowband and ultra wideband (UWB). It may be notedthat research efforts are there by the researchers oncommunication possibilities based on spread spec-trum and narrow band, however, there are only lim-ited literatures available which have the informationon UWB based sensor communications. Therefore,the scope of UWB based sensor communicationsrequired more research efforts and implementationsin real world scenarios.

2) Data Link Layer: The Data link layer isresponsible for data transfer between the two; notsharing the same link. For better functionalities theMAC layer protocol design should have the fol-lowing features [17], [5]: support scalability, max-imize bandwidth utilization, data frame synchro-nization and energy efficient. Transport layer anddata link layer both deals with the error detectionand correction mechanisms. There are issues fordesigning MAC protocols which include mainly net-work topology, energy consumption and throughputof the overall network. A number of researchershave proposed solutions to address energy consump-tions in sensor nodes. The various power savingmodes and mechanism for listening network tominimize energy consumption by the nodes havebeen reported by different researchers which helpsto enhance the lifetime of the network [18], [19],[20]. Cross layer optimization and overall systemperformance are one of the future issues which cansignificantly improve the performance of the WSN.Dynamic change in topology and mobile networkhas forced researchers to explore the optimal de-sign considerations for future needs of industries.The number of transmission must be minimizedfor maximizing the life of sensor nodes. In WSNthere are various techniques used for recovery ofdata includes simple packet combining (SPAC)[21],automatic repeat request (ARQ) [22], forward er-ror correction (FEC)[23], hybrid ARQ (HARQ)[24] and multi radio diversity (MRD) [25]. Amongthese all FEC, significantly decreases the numberof data transmission. This gives the advantage ofreduced acknowledgement wait time and also theretransmission of data is avoided. Efficient researchon trade-offs between the contention based MAC

4

protocol and time divison multiple access (TDMA)/carrier sense multiple access (CSMA) is required[5]. To target WSN communication applications inindustries, Forward Error Check (FEC) techniqueis required to be researched extensively so that theretransmission of data can be minimized.

3) Network Layer: A network layer protocoldesign for WSN should address the critical issues offault tolerance, scalability, and efficiency [1]. Net-work protocol is needed for sensor nodes to builda communication network. The network protocolplays an important role to define the sequentialinstructions for the sensor nodes to take in orderto communicate with other nodes and also for dataformats. A sensor network is further challenged bythe physical communication environment followedby the parameters like bit error rate, dynamic topol-ogy and also the resources available to individualnodes. Routing protocols used in an ad-hoc networkis categorized into three: reactive, proactive and ge-ographical. Reactive protocols establish a route dis-covery whenever required in the network. While theproactive routing protocols are responsible for mon-itoring paths between the devices in the network.Routes are setup based on the physical location ofthe devices by the geographical routing protocols[13]. Research on low duty cycles of the networkshould be examined. Routing protocols satisfyingQuality of Service (QOS) can surely minimize endto end delay and energy efficiency. Research effortsare needed for QOS routing protocols in wirelesssensor network. Design of routing protocol shouldwithstand with the continuous changing topologyof the network and must support scalability forfuture needs [5]. It should be such that the networkperformance may not get affected.

4) Transport Layer: Reliability and data accu-racy at the receiver and sender ends are takencare by the transport layer protocols. The designof transport layer protocol should be such that itsupports the concept generic i.e. for all applications[5]. As the different communication devices aredeveloped by different manufacturers, the transportlayer protocols should support heterogeneous net-work. Therefore, the developed protocols shouldhave the vision of universal acceptance and can beapplied to any kind of communication devices. Anyloss in data packets directly affects the quality ofservice and wasted energy. Therefore, the protocolshould be smart enough which can minimize this

issue and able to detect and recover the lost data. Itsurely helps for better throughput and low energyconsumptions. Reliability of network is directlyconnected to the throughput. Optimization of senseddata at nodes is another issue to reduce the conges-tion in the network. Trade-off between the loss ofinformation and delay is further research issue forWSN.

5) Cross Layer Interaction: MAC layer capa-bilities of cross layer communications can saveenergy with the routing knowledge of neighbors.The variations in power level for transmission canbe utilized further by the routing protocols. It isdone with the knowledge that which link is tak-ing the least amount of power to transmit. Thiseffort reduces the energy consumption and hence,increases the lifetime of the network. Cross layerdesigns for WSN enhance the performance of thenetwork. Changing topology due to the mobility canbe useful for other nodes to transmit and updatethe route information. A cross layer MAC designshares this topology information in the network tosupport reliable routing and maximizing coveragefor communication [13], [26].

B. SENSOR NODES

Practically WSN nodes or motes vary in sizeranging from a diameter of less than 1 cm discshaped boards to enclosed systems having dimen-sions of 5 cm square [27]. A node in the WSNhas mainly two objectives: (a) it is used both fordata processing i.e. sensed data from the physicalenvironment and forward it to sink or other nodes;sometimes it also works as a gateway node and(b) Data logging. There are different sensor nodesavailable in the market for commercial purpose andacademic research works. We list the comparativeanalysis on the basis of specifications and featuresof different sensor nodes studied in [27] in table 1and figure 3.

a) TeleosB/ Tmote Sky: This mote is devel-oped by UC Berkeley and widely used in academicresearchers and also in some industry specific ap-plications. It is currently available from CrossBowand Sentilla technology.

b) Mica2/MicaZ: This is another sensor nodepopularly used. This is the product of CrossBowTechnology and belongs to the second and thirdgeneration wireless sensor networking mote. It is

5

TABLE I: Comparative analysis of different sensornodes

possible to connect additional sensor boards likehumidity sensors, temperature sensors and so onto the node. Connections between the sensor andthe controller are depending upon the version of thenodes (Mica2, MicaZ, Mica). SPI and 12C bus arefrequently used for connections.

c) EYES: Energy Efficient Sensor Networkswere the sponsored project of European Union.Infineon designed the nodes and it is equippedwith the MSP430 microcontroller proprietary ofTexas Instrument. The node has a USB interface tocommunicate with PC and can attach with additionalsensor boards.

d) SHIMMER: This mote is famous for thewearable kind of applications like in smart jackets,health monitoring applications. SHIMMER standsfor Sensing Health with Intelligence, Modularity,Mobility and Experimental Reusability. It is cur-rently available from Real Time Ltd.

e) SUN SPOT: SUN SPOT is a WSN motemanufactured by Sun Microsystems and stands forSmall Programmable Object Technology. For thisboth software and hardware are open source andeasily available.

f) EZ430-RF2480/2500: This is from TexasInstruments incorporated with the MSP430microprocessor and having CC2480/2500 radiotransceiver on board. These motes are veryeconomical in use.

III. OPERATING SYSTEMS FOR WSNThe nature of wireless sensor networks is highly

dynamic because the nodes in the network areseriously affected by either due to different envi-ronmental conditions or power consumptions by the

network. A WSN is composed of sensor nodes,which is very resource constrained in terms ofenergy, memory and processing. Optimization oflife of a sensor node is a fundamental challengebecause in most of the scenario WSN is deployedwhere it is not possible to attend the nodes andalso to replace a sensor node after deployment iscomplex [28]. Compared to traditional, contempo-rary processing units a microcontroller used in WSNnode operates at very low frequency and havinglimited processing capabilities. To address thesekind of above said issues, the need for a smartoperating system is desired [5]. The OS always actsas a resource manager and its main objective is tomaximize resource utilizations. An OS is respon-sible for resource allocation among users and it isfurther achieved by managing users in a controlledand orderly manner. An OS provides the interfaceto the physical world by providing an abstraction tothe sensor node. Characteristics of WSNs impose aset of additional challenges to the OS designer. Thedesign of OS should be such that it supports themaximum resource utilization in an optimized way.The following coming section covers widely usedOS for embedded devices and WSNs in academicresearches and commercial applications as well. Wefurther summarize a comparative study based onfeatures of different OSs in figure 6, which arepopularly known and is based on the studies [28],[29].

A. TinyOS

TinyOS [30], it is an open source and flexibleOS and perhaps the first operating system designedmainly for resource constrained devices such asWSN. It follows the monolithic architecture design.This OS is based on component based approach anduses NesC , a C dialect programming language.Figure 4, shows a simplified TinyOS architecture.The footprint of TinyOS is 400 bytes therefore it issuitable for low memory requirements. Early releaseof TinyOS had no support for multithreading, butwith the later version 2.1 of TinyOS it supportsmultithreading. These threads supported by the OSare called TOS threads. TinyOS has active messagecommunication protocol support. It does not supportdynamic memory management; it has only staticmemory management support. TinyOS manages re-source sharing using two mechanisms: Virtualiza-

6

Fig. 3: Specifications of different radio chips used by sensor motes platform

Fig. 4: Simplified architecture of TinyOS

tion and Events completion. A virtualization mech-anism deals resources as an independent instanceand the application which uses resource is indepen-dently operated. An event completion mechanismfor resource sharing is used when the resources arenot managed by virtualization mechanism. The sizeof the foot print of TinyOS is small as comparedto the other well-known OS for embedded systemsand WSNs such as Contiki.

B. MANTIS

It is a multithreaded operating system used forWSNs. MultimodAl System for NeTworks of In-Situ (MANTIS), is a light weight and energy effi-cient operating system. The key feature of MANTISOS is that we can port it across multiple platforms .It is written in C and supports application developedin C. It follows a layered architecture design whichis shown in figure 5. The layered architecture ofMANTIS OS provides service to the layers above.MANTIS OS supports a multitasking programmingmodel which is pre-emptive [32]. To achieve a bettermemory management the designer of MANTIS OSlogically divided the RAM in two sections [28],memory for global variables which is allocated atcompile time and the rest of the RAM is controlledas a heap. A stack space is allocated when a threadis created from the heap and this stack memoryis free when the thread exits. MANTIS keeps theinformation of threads in a table managed by thekernel. The memory allocation is static for threadsso it only supports a limited no of threads. Thetable contains the information regarding the stackboundary, the current stack pointer, size, prioritylevel of threads, pointer to thread starting func-tion and address of the current point to the next

7

Fig. 5: MANTIS OS architecture

thread address. A MANTIS OS uses a Unix likescheduler, which further supports the functionalityof pre-emptive priority based scheduling algorithm.The scheduler in MANTIS uses a Round-Robinscheduling algorithm. The default time slice isset to 10 milliseconds however, it is configurable.Timer interrupts are used by the scheduler forcontext switching mechanism. The scheduler usedin MANTIS is also manages energy efficiency byswitching the microcontroller into sleep mode whenthe threads are idle and not in running state. Inthis OS, dynamic memory management schemeis followed at the cost of overheads. However,it does not have any memory protection mecha-nism. The communication protocols supported bythe MANTIS OS make it flexible and provide thefacility to implement customized routing protocoland transport layer protocols above the MAC layer.Hence, it allows implementing real time transportand routing protocols for WSN which can also beused in multimedia wireless sensor networks [28].

C. NANO-RKNano-RK [33], is a real time pre-emptive multi-

tasking and fixed OS for WSNs. The main designobjective of this OS is to achieve support for multi-hop networking, priority based scheduling, timeli-ness, small foot print and limited use of resources.It has 2kb of RAM and 18kb of ROM. Nano-RK OS follows a monolithic kernel architecturemodel. It has as Task Control Block (TCB) and this

TCB is initialized during the system image creationand initialization. TCB deals with the information,including priority list, reservation sizes for sensors,CPU, network, resources period and port identifiersof the process. To have a better control, Nano-RKfurther maintains two linked lists of TCB pointersto order the set of suspended and active tasks.Resource sharing is achieved using reservations ofCPU, sensors and network bandwidth. Nano-Rkallows implementing the priority ceiling algorithm.It has a static memory management scheme andthere is no dynamic memory management support.The Nano- RK OS has a lightweight protocolstack which provides the communication abstractionsimilar with the sockets. In this OS, the memoryis managed by applications. The concept behindthis is that the developers assumed that if an OSreserves memory which is share for only receivingand transmitting data then it is wastage of memory.So, they designed the OS in such a way that theapplication itself manages its buffer which take careof memory for receiving and transmitting few databytes. The advantage of such design is that the newincoming data is not entertained unless until theprevious data is read by the application or it allowsreading the old data.

D. LiteOS

LiteOS [34], is developed at the university ofIllinois at Urbana-Champaign. It is a Unix-like op-erating system used for WSNs. The objective of de-signing this OS is to provide an ease to system levelprogrammers and experience Unix-like environmentand support for object oriented programming. It usesLite C++ as a programming language and a Unixlike shell. The LiteOS is used to run MicaZ moteshaving 128 bytes of flash memory, 4kbytes of RAMand 8 MHz CPU. LiteOS is designed by followingmodular architecture. It supports communicationprotocols in terms of file based communication.It has mainly three components: Lite Shell, LiteFS and kernel. Lite Shell deals with the differentcommand 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 beused only when a user is present at the base station.Lite FS is responsible for integrating all neighboringsensor nodes and treat them as a file. This further

8

Fig. 6: comparative study of different OS

mounts the sensor nodes as a directory and then listsall those nodes which are one hop sensor nodes as afile. This design allows the user at the base station touse this directory as like UNIX directory. A Lite OSkernel resides on the sensor node. A kernel supportsmultithreading, dynamic loading and uses a roundrobin scheduling algorithm. A programmer can usecallback functions to register event handlers and thisfurther supports synchronization. The LiteOS treatsevery application as a single thread. This reducesthe semantic errors that may occur during writeand read operation in the shared memory address.Furthermore, LiteOS provides a mechanism to avoidthe race conditions using functions atomic start()and atomic end() and supports dynamic memoryallocation through the use of C-like malloc() andfree() functions [28].

E. ContikiContiki OS [35], is a lightweight and flexible

operating system which was developed at SwedishInstitute of Computer Science (SICS), Sweden. Itis developed to target resource constrained devicessuch as wireless sensor networks. Contiki is imple-mented in C and is event driven. Although the kernelin Contiki is event driven, but the system supports

Fig. 7: Lite OS architecture

preemptive multithreading programming module.Preemptive multithreading programming module isimplemented as a library in the system and is linkedto that program only which need multithreading. InContiki OS the communication mechanism betweenprocesses always goes through the kernel of the OSonly. The kernel allows device drivers and appli-cations to communicate directly with the hardwareof the system. There are two partitions in Contikisystem: the core and loaded program as shown in

9

figure 8. A core in Contiki consists of a kernel,program loader, language run time, communicationstacks and support libraries. The core of the systemis compiled into a single binary image and generallyit is not modified after deployment. The programloader is responsible for loading programs into thesystems. The Program loader uses communicationstacks for obtaining program binaries. A ContikiOS provides dynamic memory management, but itdoes not support memory protection mechanisms.Contiki OS implemented communication as a ser-vice to provide run time replacement .This givesthe advantage of simultaneously loading of multiplecommunication stacks. Contiki OS has a footprintgreater than TinyOS but lesser than MANTIS.

Fig. 8: Partioning of programs in Contiki OS

IV. ISSUES WITH OS FOR WSNWith the application needs the design of plat-

forms used in WSN must address parameters likeenergy efficiency, delay, reliability, cost and scala-bility [7]. In paper [36], the authors have classifiedthe operation of WSN at two levels, which are at thenode level and network level. A network level dealswith the routing, communication channel, protocols,connectivity, and etc. Whereas, hardware, sensors,energy consumption, radio and central processingunit (CPU) is taken care at the node level. Theconcern here is efficient resource management andsupport for hetrogeneity and scalability. To theabove said issues, research efforts in both hardwareand software are required. Hardware typically in-cludes lower cost while the software part includesnetwork lifetime, middleware, robustness, scalabil-ity, reliability and security. To the best knowledge

of the authors, there is no any single platform avail-able which can address the variety of applicationrequirements. In the following section, we presentopen design issues for OS, which are requiredfor reliable performance of WSN based systems.We present issues, including parameter architec-ture, programming model, scheduling of process,memory protection and support for communicationprotocols.

1) Architecture : In [8], the authors reported thatthe services provided by the OS can be influencedby the kernel’s architecture which are (a) size ofthe core kernel and (b) runtime reconfigurability. Inaddition to this, an architecture is also responsiblefor adding services and updating the services tothe kernel. Major architectures which are knownand used in OSs are layered architecture, virtualmachine architecture, monolithic architecture andthe micro- kernel architecture [30], [33], [34], [35].A monolithic architecture does not have any specificstructure therefore the services provided by the OSare taken separately or individually. This providesto integrate all services together into a single systemimage, thus this architecture has very small OSmemory footprint. In microkernel architecture thesize of the kernel is reduced because the function-ality is provided in the kernel. This architecturehas better reliability and ease of customizations.The major demerit of this architecture is the poorperformance due to frequent user to kernel boundaryswitching. With the purpose of exporting OS tothe user programs, virtual machine architecture isanother choice for OS design. The advantage of thissystem is the portability facilities. Layered architec-ture has advantages like easy to manage, simple andreliable in performance but has the major drawbackthat this architecture is not so flexible. The designconsiderations for OS should include flexibility, lesskernel size and future extension supports. Merits anddemerits of different architecture used in OS designare listed in table II.

2) Programming Model: A better applicationprogramming interface (API) provides a way tohave a clear understanding of separation betweenthe application program and the low level nodefunctionalities. An OS should have a clear set ofAPIs to interact with the developers. In addition tothis, the OS API may include sensor data readingAPIs, networking APIs, manupulation of memoryAPIs, management of power APIs and task manage-

10

TABLE II: Merits and Demerits of different archi-tecture design

ment APIs [33]. This helps in a optimized resourcemanagement. The role of a programming modelsupported by an OS has significant importance forapplications. Mainly there are two programmingmodels which are current state of arts for WSNOSs, multithreaded programming model and eventdriven programming model [28]. A programmeris comfortable with the multithreaded programmeand is also used for many application develop-ment. But, this is not a good choice for resourceconstrained devices or networks. Whereas an eventdriven programming model is useful for computingdevices where the role of a resource is critical.But, for traditional applications this has also limitedchoices. To overcome this researchers have workedand developed a light weight multithreading pro-gramming model for WSNs. Reprogramming of anOS is a kind of mandatory feature which can notbe avoided. Dynamically updating the software isachieved using this feature only. As, the WSN in-volves inaccessible deployment, reprogramming ofthe platform is critical and to do this disseminationprotocol is used to distribute the code [36], [37].For a successful reprogramming the code should berelocatable and can be run in any memory location.

3) Process Scheduling: To avoid race conditions,an efficient synchronization mechanism is neededin the OS. A flexible computational support aids indesign of the flexible architecture of the OS. In thecase of a priority application, scheduling of compu-tational units is very much crucial. The sequence ororder in which a task should be executed is anotherimportant concern while designing OS. A CPU isresponsible for scheduling the tasks or processes.

As a WSN is widely used in various applicationsincluding real time applications and non-real, theimportance of an efficient scheduling is felt critical.Researchers are working on scheduling algorithmsso that the OS can accommodate the requirementsby application [31].

4) Memory Protection and Memory Manage-ment: Memory protection refers to protect one pro-cess address space from another, so that there shouldnot be any conflict in process execution. A WSNhas very limited memory for operation. A bettermemory management can significantly improve theperformance of the network. Therefore, the designfor OS should have a good memory managementscheme. Earlier OS designers for WSN assumedthat only one application executes on a sensornode therefore memory protection mechanism isnot required[28]. But in recent years’ applicationrequirement, it is desired to have the memory pro-tection scheme [7].

5) Support for Communication Protocol: Com-munication in the OS design context refers to theprocess in which a device can not only share datawithin the system itself but also with other nodes inthe network. A WSN is distributed in nature and thenodes communicate with each other in the network.With the future prospects application demand, tosupport heterogeneity and interoperability features acommunication protocol should be developed withthe considerations of one system to all. Researchefforts are needed to support the inter componentcommunication which further helps in dynamic link-ing of the components [37].

V. FUTURE REMARKS

The OS research community has done extensivework on the reliability of the OS for WSNs. How-ever, there are still open research issues availablewith the consideration of new application areas andassociated challenges to the WSNs. The architec-ture of an OS influences the size of the kerneland also has an influence on the mechanism toprovide the services to the application programs.Resource management is the elementary problemfor the operating system. The role of an OS is verycrucial in terms of the resource management. Thelimited resources of sensor nodes in terms of power,computation, reliability are some challenges whichneed to be considered while designing the operating

11

system. The interface provided by the OS shouldbe easy to use for the developer. This results inaddition set of challenges to the way the OS can bedeveloped by the designer. Recently, the applicationarea of the tiny networked devices is increasingrapidly such as multimedia data processing, videosurveillance in a hostile environment, industry au-tomation, underground mining communication andsensing and underwater communication. The realtime application support is available in few OS.In future research, smart algorithms which maysupport these application areas that can accomodatehard and soft real time requirements of applicationswill significantly help in the reliable communica-tion. As the future application of WSN is increasingday by day; it is worth to mention here, that infuture large memory space would be a criticalissue with the OS. Therefore, memory managementand protection and secondary storage support isanother research area to be explored. This mayfurther require efforts in the area of virtual memorymanagement. A WSN may have an application areawhere accessibility of the deployed sensor node isnot frequent and in some cases not possible likevolcano monitoring and nuclear reactor plant. Insuch cases, multi application support is needed.For example, a sensor node may have differentobjectives of deployment like capturing humidity,temperature and sensing the vibration. Therefore, anOS should accommodate multiple applications at thesame time. Due to the limited resources, unattendeddeployment, high dynamic behavior of topologyin WSNs, the design approach of OS for tinynetworked sensors deviates from the traditional OS[29]. With the vision of the future application de-mand of tiny network, an OS should be designed insuch a way that portability of the OS may possible atminimal changes in hardware. This is because, everyapplication designer is working on the customizedhardware platforms as per their application needs.It is also important that an OS should be capable ofnetwork dynamics because of the mobility issues inWSNs and failure of the nodes or communicationlinks in the network. Therefore, the OS should adaptthe dynamic changes in topology.

VI. CONCLUSIONS

In this paper, we have surveyed the popularknown OS widely used for WSNs. We also dis-cussed the open research issues of communication

protocols followed by comparative study on the dif-ferent OSs. Different design issues of an OS designare also discussed. We believe that, this survey papermay help the designer research community to designmore reliable and robust OS for tiny networks.

ACKNOWLEDGMENT

The authors would like to thank Director, NITRourkela for his motivations to carry such research.

REFERENCES

[1] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci,“A survey on sensor networks,” Communications magazine,IEEE, vol. 40, no. 8, pp. 102–114, 2002.

[2] A. Chehri, H. Mouftah, P. Fortier, and H. Aniss, “Experimentaltesting of ieee801. 15.4/zigbee sensor networks in confinedarea,” in Communication Networks and Services Research Con-ference (CNSR), 2010 Eighth Annual. IEEE, 2010, pp. 244–247.

[3] P. Misra, S. Kanhere, D. Ostry, and S. Jha, “Safety assuranceand rescue communication systems in high-stress environ-ments: a mining case study,” Communications Magazine, IEEE,vol. 48, no. 4, pp. 66–73, 2010.

[4] G. Werner-Allen, K. Lorincz, M. Ruiz, O. Marcillo, J. Johnson,J. Lees, and M. Welsh, “Deploying a wireless sensor networkon an active volcano,” Internet Computing, IEEE, vol. 10, no. 2,pp. 18–25, March 2006.

[5] J. Yick, B. Mukherjee, and D. Ghosal, “Wireless sensor networksurvey,” Computer networks, vol. 52, no. 12, pp. 2292–2330,2008.

[6] A. Ranjan and H. Sahu, “Advancements in communication andsafety systems in underground mines: present status and futureprospects,” 2014.

[7] P. Dutta and A. Dunkels, “Operating systems and networkprotocols for wireless sensor networks,” Philosophical Trans-actions of the Royal Society A: Mathematical, Physical andEngineering Sciences, vol. 370, no. 1958, pp. 68–84, 2012.

[8] A. M. R. V. A. Phani, D. J. Kumar, and G. A. Kumar,“Operating systems for wireless sensor networks: A surveytechnical report,” 2007.

[9] J. J. Sammarco, R. Paddock, E. F. Fries, and V. K. Karra, ATechnology Review of Smart Sensors With Wireless Networks forApplications in Hazardous Work Environments. Departmentof Health and Human Services, Centers for Disease Controland Prevention, National Institute for Occupational Safety andHealth, Pittsburgh Research Laboratory, 2007.

[10] C. W. Chen, Y. Wang, and I. Kostanic, “A chain-type wirelesssensor network for monitoring long range infrastructures,” inDefense and Security. International Society for Optics andPhotonics, 2005, pp. 444–455.

[11] Z. Zhou, P. Hu, and F. Li, “Reliable scheme for the clusytery-based communication protocol in wireless sensor networks,”Journal on Communications, vol. 29, no. 5, pp. 114–121, 2008.

[12] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci,“Wireless sensor networks: a survey,” Computer networks,vol. 38, no. 4, pp. 393–422, 2002.

[13] I. F. Akyildiz and E. P. Stuntebeck, “Wireless underground sen-sor networks: Research challenges,” Ad Hoc Networks, vol. 4,no. 6, pp. 669–686, 2006.

12

[14] E. Shih, S.-H. Cho, N. Ickes, R. Min, A. Sinha, A. Wang,and A. Chandrakasan, “Physical layer driven protocol andalgorithm design for energy-efficient wireless sensor networks,”in Proceedings of the 7th annual international conference onMobile computing and networking. ACM, 2001, pp. 272–287.

[15] A. Wang, S. Cho, C. Sodini, and A. Chandrakasan, “Energyefficient modulation and mac for asymmetric rf microsensorsystems,” in Proceedings of the 2001 international symposiumon Low power electronics and design. ACM, 2001, pp. 106–111.

[16] D. J. Daniels, “Surface-penetrating radar,” Electronics & Com-munication Engineering Journal, vol. 8, no. 4, pp. 165–182,1996.

[17] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci,“A survey on sensor networks,” Communications magazine,IEEE, vol. 40, no. 8, pp. 102–114, 2002.

[18] C. Guo, L. C. Zhong, and J. M. Rabaey, “Low power distributedmac for ad hoc sensor radio networks,” in Global Telecom-munications Conference, 2001. GLOBECOM’01. IEEE, vol. 5.IEEE, 2001, pp. 2944–2948.

[19] S. Mishra and A. Nasipuri, “An adaptive low power reser-vation based mac protocol for wireless sensor networks,” inPerformance, Computing, and Communications, 2004 IEEEInternational Conference on. IEEE, 2004, pp. 731–736.

[20] V. Rajendran, K. Obraczka, and J. J. Garcia-Luna-Aceves,“Energy-efficient, collision-free medium access control forwireless sensor networks,” Wireless Networks, vol. 12, no. 1,pp. 63–78, 2006.

[21] H. Dubois-Ferriere, D. Estrin, and M. Vetterli, “Packet combin-ing in sensor networks,” in Proceedings of the 3rd internationalconference on Embedded networked sensor systems. ACM,2005, pp. 102–115.

[22] R. K. Ganti, P. Jayachandran, H. Luo, and T. F. Abdelzaher,“Datalink streaming in wireless sensor networks,” in Pro-ceedings of the 4th international conference on Embeddednetworked sensor systems. ACM, 2006, pp. 209–222.

[23] R. E. Blahut, Theory and practice of error control codes.Addison-Wesley Reading (Ma) etc., 1983, vol. 126.

[24] H. Liu, H. Ma, M. El Zarki, and S. Gupta, “Error controlschemes for networks: An overview,” Mobile Networks andApplications, vol. 2, no. 2, pp. 167–182, 1997.

[25] A. Miu, H. Balakrishnan, and C. E. Koksal, “Improving lossresilience with multi-radio diversity in wireless networks,” inProceedings of the 11th annual international conference onMobile computing and networking. ACM, 2005, pp. 16–30.

[26] A. Chehri and H. Mouftah, “An empirical link-quality analysisfor wireless sensor networks,” in Computing, Networking andCommunications (ICNC), 2012 International Conference on.IEEE, 2012, pp. 164–169.

[27] M. Johnson, M. Healy, P. van de Ven, M. J. Hayes, J. Nelson,T. Newe, and E. Lewis, “A comparative review of wirelesssensor network mote technologies,” in Sensors, 2009 IEEE.IEEE, 2009, pp. 1439–1442.

[28] M. O. Farooq and T. Kunz, “Operating systems for wirelesssensor networks: A survey,” Sensors, vol. 11, no. 6, pp. 5900–5930, 2011.

[29] A. M. R. V. A. Phani, D. J. Kumar, and G. A. Kumar,“Operating systems for wireless sensor networks: a surveytechnical report,” International Journal of Sensor Networks(IJSNet), vol. 5, no. 4, pp. 236–255, 2009.

[30] P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. Whitehouse,A. Woo, D. Gay, J. Hill, M. Welsh, E. Brewer et al., “Tinyos: Anoperating system for sensor networks,” in Ambient intelligence.Springer, 2005, pp. 115–148.

[31] P. Levis, “Experiences from a decade of tinyos development,”

in Proceedings of the 10th USENIX conference on OperatingSystems Design and Implementation, OSDI, vol. 12, 2012, pp.207–220.

[32] J. R. von Behren, J. Condit, and E. A. Brewer, “Why eventsare a bad idea (for high-concurrency servers).” in HotOS, 2003,pp. 19–24.

[33] A. Eswaran, A. Rowe, and R. Rajkumar, “Nano-rk: an energy-aware resource-centric rtos for sensor networks,” in Real-TimeSystems Symposium, 2005. RTSS 2005. 26th IEEE Interna-tional, Dec 2005, pp. 10 pp.–265.

[34] Q. Cao, T. Abdelzaher, J. Stankovic, and T. He, “The liteosoperating system: Towards unix-like abstractions for wirelesssensor networks,” in Information Processing in Sensor Net-works, 2008. IPSN’08. International Conference on. IEEE,2008, pp. 233–244.

[35] A. Dunkels, B. Gronvall, and T. Voigt, “Contiki - a lightweightand flexible operating system for tiny networked sensors,” inLocal Computer Networks, 2004. 29th Annual IEEE Interna-tional Conference on, Nov 2004, pp. 455–462.

[36] J. W. Hui and D. Culler, “The dynamic behavior of a datadissemination protocol for network programming at scale,” inProceedings of the 2nd international conference on Embeddednetworked sensor systems. ACM, 2004, pp. 81–94.

[37] T. Stathopoulos, J. Heidemann, and D. Estrin, “A remotecode update mechanism for wireless sensor networks,” DTICDocument, Tech. Rep., 2003.