Utf-8 Iit Documentation

download Utf-8 Iit Documentation

of 44

Transcript of Utf-8 Iit Documentation

  • 8/14/2019 Utf-8 Iit Documentation

    1/44

    A COMPARATIVE

    STUDY

    OFOPERATING SYSTEMS

    FOR

    WIRELESS SENSOR NETWORKS

  • 8/14/2019 Utf-8 Iit Documentation

    2/44

    WIRELESS SENSOR NETWORKS:

    A wireless sensor network (WSN) is a wireless network

    consisting of distributed autonomous devices (say motes) which contains

    sensors to monitor environmental changes and these changes are

    communicated to a remote computer at regular intervals.

    MOTES:

    Mote is a tiny hardware device which consists of Sensors,

    Micro controller, Transceiver, Analog to Digital Converter and power

    supply. It is capable of gathering information and send/receive data from

    nodes in the wireless sensor network.

    CHARACTERISTICS OF MOTES:

    Smaller in size

    Highly memory constrained devices

    Low power consumption

    Limited processing capacity

  • 8/14/2019 Utf-8 Iit Documentation

    3/44

    OPERATING SYSTEM FOR MOTES:

    Motes are simple hardware devices and they need to

    communicate with each other. For this we need an Operating System to

    establish communication with other motes.

    Operating Systems are used in Motes to achieve the following

    features

    Efficient multi-tasking

    Networking

    Memory managementPower management

    Process scheduling

    Available operating system for motes is as follows:

  • 8/14/2019 Utf-8 Iit Documentation

    4/44

    TINY

    OPERATING

    SYSTEM

  • 8/14/2019 Utf-8 Iit Documentation

    5/44

    TINY OS:

    Tiny OS is a free open and open source operating system for

    Wireless Sensor Networks. It started as a collaboration between the

    University of California and Intel Research. Tiny OS is completely

    written using nesC programming language.

    FEATURES OF TINY OS:

    Component-Based operating system.

    Event driven Operating System.Tasks are non-preemptive and run in First In First Out(FIFO) order.

    Codes are linked statically.

    Application and Libraries are written using nesC, a programming

    language .

    COMPONENT-BASED OS:

    COMPONENTS:

    Components can be defined as a functional part of a program that

    has a predefined service. The main advantage of using component based

    system is its enhanced reusability.

    Eg.Linux OS is an example of a component-based operating

    system .If you need an OS with only pdf viewer and media player, you can

    simply chop off unnecessary components resulting in a simple OS with only

    pdf viewer and media player.

  • 8/14/2019 Utf-8 Iit Documentation

    6/44

    EVENT DRIVEN OS:

    In Event driven OS,the flow of a program is determined by the

    sequence of events.Whenever an event occours,an interrupt signal is sent to

    processor and yhe interrupt is served with the corresponding Interrupt

    Service Routine.

    The main reason for using event driven model is to minimize

    power consumption.Tiny OS sleeps most of the time and only when the

    event occours it moves into active state.This ensures that Tiny OS doesn't

    consume most of the battery power.

    NON PREEMPTIVE SCHEDULING:

    Scheduling determines the order of process execution.In

    NonPreemptive scheduling,the process which comes first,gets executed

    first.The processes are executed in First In First Out(FIFO) order.

    The main disadvantage of Non preemptive scheduling is process

    starvation.Even high priority processes must weight in queue to be

    executed.If a larger process is currently executing,all other smaller process

    in queue has to wait until the previous process has executed.

    NOTE:

    The use of non preemptive scheduling does not affect the

    performance of Tiny OS significantly ,since the processes are

    Light weight.

    Processs starvation doesn't occur.No High priority process.

    http://en.wikipedia.org/wiki/Event_(computing)http://en.wikipedia.org/wiki/Event_(computing)http://en.wikipedia.org/wiki/Event_(computing)
  • 8/14/2019 Utf-8 Iit Documentation

    7/44

    STATIC LINKING:

    In Static linking, all the library files are included in compile

    time and they are combined to form a single executable file. The main

    advantage of static linking is that they require less time for execution and

    the target platform need not contain the library files, since the library files

    are linked to form a single executable file.

    However Static Linking results in waste of memory, since the

    entire library is loaded into the memory during execution .Here is a

    comparison of dynamic and static linking stating the differences between

    them.

    STATIC LINKING DYNAMIC LINKING

    Same code will be availableboth on Main memory and

    system.

    Single copy of code is available inthe system.

    Memory space gets wasted. Programs use limited memory.Programs are executed much

    faster when compared to

    Dynamic linking

    Program execution is slower whencompared to Static linking.

    Program size is larger than adynamically linked program

    Program size is smaller whencompared to Static linking.

    NOTE :

    Eventhough Dynamic linking is preferred to Static linking,in

    Tiny OS ,program size is very small and hence using Static linking does

    not have any adverse effect on Tiny OS performance.

  • 8/14/2019 Utf-8 Iit Documentation

    8/44

    nesC PROGRAMMING LANGUAGE :

    nesC is a programming language for developing Tiny OSapplications.

    Tiny OS libraries are written using nesC programming languagenesC language is considered as an extension of C Programming

    language and its syntax are similar to C.

    The building blocks of Tiny OS are Components, Configurationsand Interfaces.

    Let us discuss about them and how they are implemented using nesC.

    COMPONENTS:

    Components are discrete units with a specified function. Component can reference variables only from its local namespace. Component must not only declare the function it implements but also

    declare the function it calls.

    Every component has a specification.COMPONENT SPECIFICATION:

    Every component must declare not only the functions it provides

    (implements) but also the functions that it uses (calls).

    module SmoothingFilterC {

    provides command uint8_t topRead(uint8_t* array, uint8_t len);

    uses command uint8_t bottomRead(uint8_t* array, uint8_t len);

    }

  • 8/14/2019 Utf-8 Iit Documentation

    9/44

    Here the component SmoothingFilterCdeclares both the functions

    topRead(which it implements) and bottomRead(which it calls) from

    another component. The components are wired together using

    Configurations.

    CONFIGURATION:

    Configurations are used for wiring (linking) the components toform a complete program.

    Configuration must specify the components (to be wired) and has apredefined format.

    Configuration can provide and use interfaces.CONFIGURATION SPECIFICATION:

    Here the configuration LedsC specifies the components LedsP

    and PlatformLedsC, which needs to be wired. The o perator -> is used

    for wiring the components. The operator arrow -> points from user to

    provider.

    configuration LedsC {

    provides interface Leds;

    }

    implementation {

    components LedsP, PlatformLedsC;

    Init = LedsP;Leds = LedsP;

    LedsP.Led0 -> PlatformLedsC.Led0;

    LedsP.Led1 -> PlatformLedsC.Led1;

    }

  • 8/14/2019 Utf-8 Iit Documentation

    10/44

    INTERFACE:

    Interface provides a set of functions that can be implemented byComponents and Configurations.

    Interfaces are bidirectional in nature. They provide a set offunctions to be implemented by the inter-faces provider

    (commands) and a set to be implemented by the interfaces user

    (events).

    Interfaces decide the functionality of the component that itimplements.

    INTERFACE SPECIFICATION:

    Here the interface Send provides the commands and events

    which needs to be specified by the interface-provider and interface-user

    respectively.

    Thus we have discussed the building blocks of Tiny OS programs

    like Components, Configuration and Interfaces.

    interface Send {

    command error_t send(message_t* msg, uint8_t len);

    event void sendDone(message_t* msg, error_t error);

    command error_t cancel(message_t* msg);

    command void* getPayload(message_t* msg);

    }

  • 8/14/2019 Utf-8 Iit Documentation

    11/44

    CONTIKI

    OPERATING

    SYSTEM

  • 8/14/2019 Utf-8 Iit Documentation

    12/44

    CONTIKI OS:

    Contiki OS is a open source and highy portable operatingSystem for Wireless Sensor Networks.

    Contiki OS was developed by Dr. Adam Dunkels at theSwedish Institute of Computer Science.

    Contiki OS is developed for highly memory constrainedsystems.

    FEATURES OF CONTIKI OS:

    Contiki OS provides a multitasking kernel. Contiki OS comes with a Managed Memory Allocator to

    guard against memory fragmentation.

    Contiki OS uses a preemptive scheduling technique forscheduling the processes.

    Contiki OS processes uses extremely light weight threadscalled Protothreads.

    Typical Contiki OS program requires minimum memory of2KB RAM.

    MULTITASKING KERNEL:

    Multitasking is a method in which several CPU processesshare same processing resources like Central Processing Unit.

    Multitasking resolves concurrency problems by scheduling the

    processes.

    Multitasking enhances the performance of the OS by reducingthe execution time of a process.

  • 8/14/2019 Utf-8 Iit Documentation

    13/44

    MANAGED MEMORY ALLOCATOR:

    Managed Memory Allocator helps to guard against memoryfragmentation.

    Fragmentation refers to situation in which storage space getswasted due to improper memory allocation.

    Fragmentation can be classified into three types as follows1. Internal fragmentation2. External fragmentation3. Data fragmentation

    INTERNAL FRAGMENTATION:

    In internal fragmentation, storage space is allocated but it isnever used.

    Space remains unused inside the allocated region leading toinefficient memory management.

    EXTERNAL FRAGMENTATION:

    In external fragmentation, memory space becomes unusablesince its get divided into several small pieces over a period of

    time.

    Reasons for external fragmentation can be attributed to poormemory management algorithms.

    For example, in dynamic memory allocation, a block of 1000bytes might be requested, but the largest contiguous block of

    free space has only 300 bytes. The memory allocation fails in

    this case.

  • 8/14/2019 Utf-8 Iit Documentation

    14/44

    DATA FRAGMENTATION:

    In data fragmentation, the piece of data in the memory isscattered into different pieces.

    Data gets fragmented into many pieces in case of datafragmentation.

    PREEMPTIVE SCHEDULING:

    In preemptive scheduling, the processes are scheduled on thebasis of priority.

    Whenever a high priority process comes in,the low priorityprocess is temporarily preempted(interrupted) and the high

    priority process get executed.

    The main advantage of preemptive scheduling is that highpriority processes gets maximum attention and they need not

    wait.

    However preemptive scheduling also leads to processstarvation,since the low priority process needs to wait

    indefinitely until the high priority processes are executed.

    PROTOTHREADS:

    Protothreads are lightweight, stackless threads used by ContikiOS processes.

    Protothreads don't require their own stack rather allprotothreads run on the same stack.

    Protothreads are lightweight because they use very limitedmemory ( 2KB/protothread).

    Protothreads do not make operating system call. Protothreads provides a linear code of execution.

  • 8/14/2019 Utf-8 Iit Documentation

    15/44

    NOTE:

    Sharing a stack between the processes is impossible in order toavoid concurrency problems.

    In general, every thread requires it's own stack for execution. Protothreads provides linear execution and hence it becomes

    difficult to use conditional statements like if() and while()

    statements.

    Thus we have discussed the features of Contiki OS like Managed

    Memory Allocator, Preemptive Scheduling and Protothreads.

  • 8/14/2019 Utf-8 Iit Documentation

    16/44

    SIMPLE

    OPERARTING

    SYSTEM (SOS)

  • 8/14/2019 Utf-8 Iit Documentation

    17/44

  • 8/14/2019 Utf-8 Iit Documentation

    18/44

    APPLICATIONS OF DYNAMIC RECONFIGURABILITY:

    Applying patches and updates while OS is running. Alter the software module, whenever it is needed. Any 3rd party modules can be installed and reconfigured

    remotely.

    COMPACT KERNEL INTERFACE:

    SOS provides a multitasking kernel that provides1. Dynamic Memory Management2. Garbage collection3. Priority Scheduling

    DYNAMIC MEMORY MANAGEMENT:

    Dynamic memory management refers to allocating anddeallocating memory during run-time.

    Garbage collection is a part of Dynamic memory management. Garbage collection refers to removing the objects, which are no

    longer needed in a program and reclaim the memory.

    Dynamic memory management increases the efficiency ofprograms and uses the memory efficiently.

  • 8/14/2019 Utf-8 Iit Documentation

    19/44

    PRIORITY SCHEDULING:

    Priority scheduling is a technique in which the processes arescheduled on the basis of priority.

    Whenever a high priority process comes for execution, lowpriority process is preempted (interrupted).

    A context switch is said to have occurred (ie) current state of thelow priority process is saved in a Process Control Block (PCB).

    Once the high priority process has finished executing, the state ofthe low priority process is restored from the Process Control

    Block (PCB) and the process starts executing from the state

    where it was originally preempted.

    The main advantage of Priority scheduling is that high priorityprocess doesn't starve and executed immediately.

    CONCLUSION:

    Thus Simple Operating System(SOS) provides the following

    features

    Dynamic Reconfiguration Multitasking kernel Dynamic Memory Management Garbage collection Priority schedulingFrom this we can infer that SOS offers exciting features for

    programming memory constrained, mote class Wireless Sensor Networks.

  • 8/14/2019 Utf-8 Iit Documentation

    20/44

    NANO-RK

    OPERATING

    SYSTEM

  • 8/14/2019 Utf-8 Iit Documentation

    21/44

    NANO-RK:

    Nano-RK is an operating system for mote class Wireless Sensor

    Networks developed by Carnegie Mellon University. Nano-RK currently

    runs on the FireFly Sensor Networking Platform as well as the MicaZ

    motes.

    FEATURES OF NANO-RK:

    Nano-RK is a reservation based operating system. Nano-RK has a multitasking kernel. Nano-RK supports priority based preemptive scheduling. Nano-RK enforces resource usage limitations.

    RESERVATION BASED OS:

    Nano-RK enforces strict reservation policy. In order to ensure that the process starvation doesn't happen,

    all the process must inform the Nano-RK Resource Kernel, in

    advance, regarding their memory and resource

    requirements.

    Nano-RK kernel carefully monitors the resource usage foreach process.

    Only the process that haven't depleted their resource limits areeligible for scheduling.

  • 8/14/2019 Utf-8 Iit Documentation

    22/44

    PRIORITY BASED PREEMPTIVE SCHEDULING:

    In Preemptive scheduling, the process in a running state can

    be preempted by a process having a higher priority than the

    current process.

    In Nano-RK we use priority based preemptive scheduling

    where the higher priority process, can preempt (interrupt) the

    lower priority process and obtain access to the CPU.

    The main advantage of using priority based preemptive

    scheduling is to ensure that critical (high priority) processesdoesnt wait in a queue for execution.

    POWER CONSUMPTION:

    Nano-RK enforces power savings in order to maximize

    battery life.

    Nano-RK ensures that all the sensors are turned off (by

    default) to reduce power consumption.

    The power consumption of a typical FireFly Sensor node in

    active state is around 24mW.

    Thus Nano-RK is a reservation-based, energy-efficient

    operating system for highly resource-constrained sensor network

    environments. Nano-RK also supports multitasking and provides API for

    enhancing the ease of application development.

  • 8/14/2019 Utf-8 Iit Documentation

    23/44

    MANTIS

    OPERATING

    SYSTEM

  • 8/14/2019 Utf-8 Iit Documentation

    24/44

    MANTIS OS:

    Mantis is the acronym of MultimodAl system for

    NeTworks of In-Situ wireless Sensors.

    Mantis OS originated as a WSN project at the University of

    Colarado.

    Mantis OS is purely written using C Programming

    language.

    It is energy efficient OS for mote class Wireless Sensor

    Networks.

    FEATURES OF MANTIS OS:

    Mantis OS supports Dynamic Reprogramming.

    Mantis OS uses priority based round robin scheduling.

    Mantis OS consists of a multithreaded kernel.

    Mantis OS has a very small memory footprint. A simple

    Mantis OS program requires only about 500 Bytes ofRAM.

    Mantis OS is a highly energy efficient OS and consumes

    about 20 mA current in active state.

    MULTITHREADED KERNEL:

    Multithreading ensures that several threads of processes can

    share the same CPU resource.

    Multithreading does not mean that several threads run at

    the same time because CPU executes only one thread at a

    time.

    Since the processor can execute multiple threads within a

    given time period, is referred to as Multithreading.

  • 8/14/2019 Utf-8 Iit Documentation

    25/44

    Consider a process having a clock speed of3.33GHz, then

    the time of execution of a thread is approximately 300s.

    Multithreading implies that a processor can execute several

    processes within a given time slice.

    PRIORITY BASED ROUND ROBIN SCHEDULING:

    Round Robin Scheduling algorithm specifies a time

    quantum for each process.

    All the processes are expected to complete their execution

    within the given time quantum.

    If the process doesnt complete its execution within the

    specified time quantum, the process gets preempted and it

    is sent to the tail of the queue.

    Each process must repeat this, until it is completely

    executed.

    However, in Mantis OS we use a prioritybased round robin

    scheduling.

    Round Robin Scheduling is considered as one of the best

    scheduling algorithms, since it ensures fairness in process

    scheduling and all the process gets access to their resources.

    However, there is a memory overhead in Round Robin

    Scheduling Algorithm is considered as undesirable.

    Memory overhead occurs in Round Robin Scheduling

    Algorithm due to the following reasons

  • 8/14/2019 Utf-8 Iit Documentation

    26/44

    Once the time quantum of a process is over,the process is preempted (interrupted) and

    sent to the tail of the queue.

    As a result, the current state of the runningprocess (context) must be saved in a Process

    ControlBlock (PCB), in order to restore the

    state of the process after some period of time.

    As a result of frequent context switching,the states of the preempted process must be

    saved frequently in the Process Control

    Block.

    This results in a memory overhead involvingsaving and restoring the context of the

    threads.

    The only difference in priority based Round Robin

    scheduling than that ofnormal Round Robin scheduling is

    that the processes are served on the basisoftheir priority.

    ILLUSTRATION:

    Consider the following table stating the processes, their

    priority along with their Service Time.

  • 8/14/2019 Utf-8 Iit Documentation

    27/44

    TIME QUANTUM=2s

    The process of Round Robin scheduling can be illustrated

    with the help of Gantt chart.

    P1 P1 P2 P2 P2 P3 P4 P4

    0 2 4 6 8 10 12 14 16

    Here the process is P1 preempted after the given time

    quantum and sent to the tail of the queue.

    But how process P1immediately comes to the execution?

    It should have been actually executed only after P4!

    The answer for the abovequestion is priority (because

    process P1 has highest priority).

    Similarly other processes namely P2, P3 and P4 are

    executed on the basis of priority.

    PROCESSES PRIORITY SERVICE TIME

    P1 1 4

    P2 2 6

    P3 3 2

    P4 4 4

    P1 P1 P2 P2 P2 P3 P4 P4

  • 8/14/2019 Utf-8 Iit Documentation

    28/44

    DYNAMIC REPROGRAMMING:

    Mantis OS provides remote management feature through

    dynamic reprogramming.

    Dynamic Reprogramming is an feature for Wireless Sensor

    Network OS for the following reasons

    Mote devices used in Wireless Sensor Network aredeployed in remote areas, which may remain

    inaccessible to humans.

    Whenever we need to modify a software module, itbecomes impossible to locate the mote and thenmodifying its software components.

    There we need dynamic reprogramming, inorder toensure remote management of Wireless Sensor

    Network nodes.

    Mantis OS offers two modes of programming for the purpose of

    dynamic reprogramming.

    SIMPLER PROGRAMMINGIn simpler programming, the user simply

    connects the PC directly to the Mantis node

    used in the Wireless Sensor Network.

    The user simply connects the node to a PC

    and opens the MANTIS shell.

    MOS enters a boot loader that checks for

    communication from the shell.

    The OS gets directly downloaded to the

    MOS mode and the node is updated.

  • 8/14/2019 Utf-8 Iit Documentation

    29/44

    ADVANCED PROGRAMMING:In this mode, the node doesnt require a

    direct connection with the computer.

    Dynamic Reconfigurability capability is

    actually implemented as a system call

    library, which is built into the MOS

    kernel

    After the call, the code is downloaded and

    stored in a flash memory.

    The software is completely reset and the

    reprogramming is done.

    Dynamic Reconfigurability is usually

    performed by establishing a remote

    connection with the node in the Wireless

    Sensor Network.

    The support for Dynamic Reconfiguration is in progress and yet to

    attain a stable state.

    Thus Mantis OS provides a support for Dynamic Reconfiguration

    providing a remote management facility to the user and uses an

    efficient Round Robin Scheduling algorithm.

  • 8/14/2019 Utf-8 Iit Documentation

    30/44

    SUN SMALL

    PROGRAMMABLE

    OBJECT

    TECHNOLOGY

  • 8/14/2019 Utf-8 Iit Documentation

    31/44

    SUN SPOT:

    SUN Small Programmable Object Technology is an Operating

    System for Wireless Sensor Network developed by Sun

    Microsystems.

    SUN Small Programmable Object Technology is deployed in a

    device called as Sun SPOT device.

    Sun SPOT device is a small and wireless device developed by

    Sun labs.

    Sun SPOT device is Java platform wireless device and they are

    programmed purely in Java.

  • 8/14/2019 Utf-8 Iit Documentation

    32/44

    SUN SPOT DEVICE:

    Sun SPOT devices are the target platform for Sun SPOT

    Technology.

    Sun SPOT devices are programmed in Java and any java program

    needs a virtual machine for execution.

    Squawk Virtual Machine is an open source Java virtual machine

    for highly resource constrained Wireless Sensor Networks.

    The main advantage that Sun SPOT is that, it is programmer

    friendly. The programmer can use the native Java tools for

    developing applications for Sun SPOT device.Sun SPOT provides a Software Development Kit, providing the

    API and hence programming the Sun SPOT device becomes easy.

  • 8/14/2019 Utf-8 Iit Documentation

    33/44

    SUN SPOT FEATURES:

    Sun SPOT uses a compact Squawk Virtual Machine.

    Sun SPOT is the only operating system for Wireless Sensor

    Networks that comes with inbuilt security feature.

    Sun SPOT uses Elliptic Curve Cryptography(ECC) for ensuring

    the security of the data packets shared across the nodes in the

    Wireless Sensor Network

    Sun SPOT has a Garbage Collector and it ensures automatic

    memory management.

    Sun SPOT is easy to program, since it is facilitates the user to code

    the programs using the familiar Java Programming Language.

    SQUAWK VIRTUAL MACHINE:

    Squawk Virtual Machine is an open source Java Virtual Machine

    developed by Sun Microsystems.

    The specialty about the Squawk Virtual Machine is that it is

    majorly (not fully) written using Java Programming Language.

    Squawk Virtual Machine outputs a very compact byte code. The

    original output byte code is only about 35-40% ofstandard J2ME

    class file.

    Squawk Virtual Machine uses a Garbage Collector for managing

    memory.

    Squawk Virtual Machine uses a green threading model, in which

    the processes are scheduled purely by the Virtual Machine and

    not by the Operating System.

  • 8/14/2019 Utf-8 Iit Documentation

    34/44

    GREEN THREADING MODULE:

    In green threading module, the green threads (threads) are

    scheduled by the Virtual Machine and not by the underlying

    Operating System.

    Generally the virtual memory can be differentiated into User

    Space and Kernel Space.

    Green threads are managed in the User Space and they do not rely

    on the underlying OS.

    In fact, Operating System does not know about the Green

    threads.

    Green Threading model uses priority scheduling to schedule the

    green threads.

    The main advantage of using green threaded model is due to the

    following reason

    Reduces the overhead on OS, since the Virtual Machinetakes care ofscheduling the green threads.

    Enhances the portability of a program ,since the greenthreads doesnt depend on the Operating System and they

    purely rely on Virtual Machine

  • 8/14/2019 Utf-8 Iit Documentation

    35/44

    GARBAGE COLLECTOR:

    Garbage collection is a memory management feature present in

    Squawk Java Virtual Machine.

    The term garbage refers to the unused objects (or they are no

    longer needed) in the Java program.

    Whenever the object is no longer referenced by the program, then

    the heap space it occupies must be freed.

    Garbage Collector must determine the unusedobject and reclaim

    the free space.

    Hence the Garbage Collector is not only responsible for automatic

    memory management but also guard against memory

    fragmentation (inefficient usage of memory space).

    Thus we have discussed the features of Sun SPOT like

    Green Threaded Model, Squawk Virtual Machine, Garbage Collection

    and Preemptive Scheduling.

  • 8/14/2019 Utf-8 Iit Documentation

    36/44

    COMPARATIVE STUDY OF

    OPERATING SYSTEMS

    FOR

    WIRELESS

    SENSOR NETWORKS

  • 8/14/2019 Utf-8 Iit Documentation

    37/44

    POINTS OF COMPARISON:

    Supported Hardware Platforms

    Nature of Operating System

    Nature of Scheduling

    Nature of Programming Language

    Dynamic Reconfigurability

    Garbage collection

  • 8/14/2019 Utf-8 Iit Documentation

    38/44

    SUPPORTED HARWARE PLATFORMS:

    TelOS Mica2

    Mote

    ESB TMote

    Sky

    Atmel-

    Atmeg

    a

    Oki

    Arm

    Fire

    Fly

    Sun

    Spots

    TINY

    OS

    CONTIKI

    OS

    SOS

    NANO-RK

    MANTIS

    SUN

    SPOT

  • 8/14/2019 Utf-8 Iit Documentation

    39/44

    NATURE OF OPERATING SYSTEM:

    EVENT-

    DRIVEN

    OS

    MULTITASKING

    OS

    TINY OS

    CONTIKI OS

    SOS

    NANO-RK

    MANTIS

    SUN SPOTS

  • 8/14/2019 Utf-8 Iit Documentation

    40/44

    NATURE OF SCHEDULING:

    NON

    PREEMPTIVE

    SCHEDULING

    PRIORITY

    SCHEDULING

    ROUND

    ROBIN

    SCHEDULING

    TINY OS

    CONTIKI

    OS

    SOS

    NANO-

    RK

    MANTIS

    SUNSPOTS

  • 8/14/2019 Utf-8 Iit Documentation

    41/44

    PROGRAMMING LANGUAGE:

    nesC C JAVA

    TINY OS

    CONTIKI OS

    SOS

    NANO-RK

    MANTIS

    SUN SPOTS

  • 8/14/2019 Utf-8 Iit Documentation

    42/44

    DYNAMIC RECONFIGURABILITY:

    DYNAMIC

    RECONGIGURANILITY

    TINY OS

    CONTIKI OS

    SOS

    NANO-RK

    MANTIS

    SUN SPOTS

  • 8/14/2019 Utf-8 Iit Documentation

    43/44

    GARBAGE COLLECTION:

    GARBAGE COLLECTION

    TINY OS

    CONTIKI OS

    SOS

    NANO-RK

    MANTIS

    SUN SPOTS

  • 8/14/2019 Utf-8 Iit Documentation

    44/44

    CONCLUSION:

    Thus we have discussed following operating systems for Wireless

    Sensor Networks

    We have also discussed the salient features of these operating

    systems like

    Nature of operating System

    Nature of Linking

    Nature of Process Scheduling

    Nature of Programming language.

    Each Operating System has its unique feature and they have their

    own merits and demerits.

    However the operating systems for Wireless Sensor Networks are

    gradually evolving to attain stability and security.