RTOS(Real Time Operating System)

An operating system (OS) is responsible for managing the hardware resources of a computer and hosting applications that run on the computer. An RTOS performs these tasks, but is also specially designed to run applications with very precise timing and a high degree of reliability. This can be especially important in measurement and automation systems where downtime is costly or a program delay could cause a safety hazard.

RTOS is a real time OS working with real time constraints as power, time and efficient usage of memory. Most of the embedded systems are bound to real time constraints and it is achieved using real time system.

Real-time applications have the requirement to meet task deadlines in addition to the logical correctness of the results.

  • Multiple events handled by a single processor
  • Events may occur simultaneously
  • Processor must handle multiple, often competing  events

TYPES OF RTOS:

  1. Hard:
    Slide2
    HARD RTOS

    Here missing an individual  deadline results in catastrophic failure of the system which also causes a great financial loss .Examples for Hard real time operating systems are:

    • Air traffic control
    • Nuclear power plant control
  2. Soft:Here the dead line may not be fulfilled and can be recovered from. The reduction in system quality and performance is at an acceptable level.
    Slide4
    SOFT RTOS

    Examples of Soft real time operating systems :

    • Multimedia transmission and reception
    • Networking, telecom (Mobile) networks
    • websites and services
    • Computer games
  3. Firm:In this, missing a deadline results in unacceptable quality reduction.
    Slide3
    FIRM RTOS

    Technically  there is no  difference with hard Real time, but economically the disaster risk is limited.Examples for Firm real time are :

    • Failure of Ignition of a automobile
    • Failure of opening of a safe

     

    Some of the most widely used RTOS are:-

    • LynxOS
    • OSE
    • QNX
    • RTLinux
    • VxWorks
    • Windows CE

Contiki OS

Contiki is an O.S. for networked memory constrained systems and also power constrained  wireless systems IOT devices. It is open-source software released under a BSD licenseContiki was developed by Adam Dunkels in 2002 & now it is further developed by a other developers from Cisco, Texas Instruments, Oxford University, SAP. The word Contiki comes from Thor Heyer dahl’s famous k  -Tiki raft. It is used in street lighting, sound monitoring & alarms.[5]

Contiki is a O.S.  which means it is a system software that manages computer hardware & software resources & it provides common services for computer programs. O.S is the component of system software in computer program. All the application programs requires O.S to function.

It is an open source software means it is a computer software in which its source code is available with a license & the copyright holders has the right to study, change & can distribute the software anyone for any purpose.

Contiki provides multi-tasking & it has built-in internet protocol (TCP/IP). It requires 10KB(RAM) & 30KB(ROM). If a system includes graphical user interface then it requires 30KB(RAM).

 

HARDWARE

It is designed to run on types of hardware that are severely constrained in memory, power, processing power, and communication bandwidth. It requires constrained hardware because it is going to be included in many Embedded systems or an 8-bit computer.

NETWORKING

Contiki provides 3 network mechanisms-

    1. uIP TCP/IP stack- it provides IPv4 networking.
      • uIP it is an open source implementation of TCP/IP network. In this it uses tiny 8-16 bit micro-controllers which are very useful in embedded system because it provides small amount of RAM & code.
      • IPv4 networking:
        Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). IPv4 is a connectionless protocol for use on packet-switched networks. It operates on a best effort delivery model, in that it does not guarantee delivery, nor does it assure proper sequencing or avoidance of duplicate delivery. These aspects, including data integrity, are addressed by an upper layer transport protocol, such as the Transmission Control Protocol (TCP).
    2. The uIPv6 stack:
      The IPv6 stack contains the Routing Protocol for Low power and Lossy Networks (RPL) routing protocol for low-power lossy IPv6 networks and the 6LoWPAN header compression and adaptation layer.
    3. Rime stack
      • It is a set of custom lightweight networking protocols designed for low-power wireless networks.
      • Rime is an alternative network stack, for the IPv4 or IPv6 stacks is prohibitive it also provides a set of communication primitives for low-power wireless systems. 

PROGRAMMING MODEL:
The Contiki programming model is based on protothreads. A protothread is a memory-efficient programming abstraction that shares features of both multithreading and event-driven programming to attain a low memory overhead of each protothread.

FEATURES:
Contiki includes the following features:

  • Optional per-application preemptive multithreading
  • Protothreads
  • Internet Protocol Suite (TCP/IP) networking, including IPv6
  • Windowing system and GUI
  • A web browser
  • Personal web server
  • Screensaver