Real Time operating System




Real Time operating System

Real time operating System (RTOS) is an operating system that serves the real-time systems. Before understanding the term “Real Time Operating System” we need to understand the two terms it comprises of i.e., Real Time Systems and Operating System.

An Operating system (OS) is simply a program which provides an interface between the hardware and the applications run by the user. It manages the hardware resources of a computer and ensures an easy to work and convenient environment for the end user.

Real-time systems are those systems which are defined not just by the accurate computation of result but also by the specified time constraints and deadlines within which the processing ought to be completed.

Real-time systems are used when there are rigid time requirements like missile systems, air traffic control systems, robots etc.

So, now it can be easily inferred that RTOS is an operating system that supports real-time applications by providing the correct result and, that too, within the deadline required.

 

Real Time operating System

 

Basic structure of RTOS is just like a general OS but it provides some additional mechanisms for the real-time scheduling of tasks.

Based on the strictness of the time constraints, real-time operating systems are classified as:

  • Hard real-time operating systems:

These operating systems are meant for the applications where time constraints are very strict and even the shortest possible delay is not acceptable.

These are mainly present in the life saving systems like automatic parachutes or air bags which are required to be readily available in case of any accident.

  • Soft real-time operating systems:

These kinds of operating systems serve the real-time applications in which the time constraints are somewhat less strict and a little amount of delay is acceptable.

 

For example, Live TV broadcast, Video Conferencing etc. Even if some delay is there, nothing catastrophic is going to happen.

Design philosophies

The most widely recognized and common designs are: 

Event driven – When an Event of higher priority needs overhauling or servicing just that moment tasks get switched ; called preemptive priority, or priority scheduling. 

Time-sharing –  On regular timed interrupt or fixed time quantum, and on events tasks get switched; called round robin. It gives smoother multitasking experience to process/user and giving the deception/illusion that the process/user has sole utilisation of resources

These designs mainly deals with three states of the process life cycle

1) Running : when CPU is executing a process, then it is in running state.

2) Ready : When a process has all the required resources and about to perform the Task, but  because of the unavailability of CPU, it cannot start the process and it is still not in running state is known as the Ready state.

3) Blocked : when a process does not have all the required resources for execution, then it is in blocked state.

Scheduling Algorithms

  • Cooperative scheduling
  • Preemptive scheduling
    • Rate-monotonic scheduling
    • Round-robin scheduling
    • Fixed priority preemptive scheduling
    • Fixed-Priority Scheduling with Deferred Preemption
    • Fixed-Priority Non-preemptive Scheduling
    • Critical section preemptive scheduling
    • Static time scheduling
  • Earliest Deadline First approach
  • Stochastic digraphs with multi-threaded graph traversal

The major functions of the real time operating system are :

1. To meet the application requirements , it has to manage the processor and other system resources.

2. Respond to the system events and Synchronize with it.

3. To maintain the coordination between proccesses, feed data among proccesses efficiently.

Examples of RTOS processing:

1. Airlines reservation system.

2. Air traffic control system.

3. Systems that provide immediate updating.

4. Systems that provide up to the minute information on stock prices.

5. Defense application systems like as RADAR.

Components of RTOS

 The Scheduler: The order in which the tasks can be executed.
• Symmetric Multiprocessing (SMP): Mmultiple tasks managed by RTOS,  so that parallel processing can be done.
• Function Library: It is the element of RTOS which acts as a interface so that it can connect kernel and application code. This application code sends the requests to the kernel via function library so that the application can give the desired result.
• Memory Management: Proper memory allocation.
• Fast dispatch latency or context switch time
• User-defined data objects and classes

Applications of Real Time Operating System

• Control systems:  Performing calculations so that flight’s movement can be handled.
• Image processing (IP)
• Voice Over IP (VoIP)

Difference between in GPOS and RTOS

General-Purpose Operating System (GPOS) Real-Time Operating System (RTOS)
1) its for desktop pc, laptop.

1) its for embedded application.

2) It uses Process-based Scheduling.

2)  Time-based scheduling like round robin.

3) Interrupt latency is not considered  crucial            3) Interrupt latency is considered crucial. Interrupt lag should be  minimal.
4) No priority inversion mechanism    4) Priority inversion mechanism can’t be changed by the system itself once its been set.
5) Kernel operations may or may not be preempted.   5) Kernel operation can be preempted.

Disadvantages of Real Time Operating System

  •  Limited tasks
  •  Low multi-tasking
  •  Device driver and interrupt signals
  •  Expensive
  •  Low priority of tasks
  •  Thread priority
  •  Precision of code
  •  Complex algorithms
  •  Use heavy system resources
  •  Not easy to program

 



Frequently Asked Questions

+
Ans: Network Operating System is a collection of various computers which are all connected to a single host computer. It can be compared to a client – server architecture where the host computer acts as a server and rest of the systems act as clients which take services from the common server and access its resources also. view more..
+
Ans: Distributed Operating System is a recent advancement in the world of computer technology and are being widely accepted all-over the world and, that too, with a great pace view more..
+
Ans: Time Sharing Systems or multi-tasking systems are the major advancement in the batch processing systems. They are the one which support simultaneous execution of multiple tasks using a single processor. The time-sharing operating system assures that all the tasks get to access the CPU one by one and for a fixed small interval of time. This interval is known as the time quantum. view more..
+
Ans: Real time operating System (RTOS) is an operating system that serves the real-time systems. Before understanding the term “Real Time Operating System” we need to understand the two terms it comprises of i.e., Real Time Systems and Operating System. view more..
+
Ans: We can broadly classify these services into following five categories: Process management Device management Inter-process Communication File management Error detection view more..
+
Ans: there are 4 types of architectures of operating system: 1. Monolithic architecture 2. Layered architecture 3. Microkernel architecture 4. Hybrid architecture view more..
+
Ans: It is the oldest architecture of the operating system. We know that all the core software components of the operating system are collectively known as the kernel. view more..
+
Ans: This is an important architecture of operating system which is meant to overcome the disadvantages of early monolithic systems. view more..
+
Ans: The basic ideology in this architecture is to keep the kernel as small as possible. We know that kernel is the core part of the operating system and hence it should be meant for handling the most important services only. view more..
+
Ans: the idea was to combine the best functionalities of all old approaches and hence this design is termed as the hybrid structured operating system. view more..
+
Ans: System Calls and Programs All the present-day operating systems support the following two modes of operation for the CPU: User mode Kernel mode view more..
+
Ans: A batch system executes jobs, whereas a time-shared system has user programs, or tasks. Even on a single-user system such as Microsoft Windows, a user may be able to run several programs at one time: a word processor, a web browser, and an e-mail package. Even if the user can execute only one program at a time, the operating system may need to suppoft its own internal programmed activities, such as memory management. view more..
+
Ans: Multiprocessing is the use of two or more central processing units (CPUs) within a single computer system. The term also refers to the ability of a system to support more than one processor or the ability to allocate tasks between them. view more..
+
Ans: Process scheduling selects processes from the queue and loads them into memory for execution. Process loads into the memory for CPU scheduling. The primary objective of the job scheduler is to provide a balanced mix of jobs, such as I/O bound and processor bound. ... Time-sharing operating systems have no long term scheduler. view more..
+
Ans: Inter process communication (IPC) is a mechanism which allows processes to communicate each other and synchronize their actions. The communication between these processes can be seen as a method of co-operation between them. Processes can communicate with each other using these two ways: Shared Memory. Message passing. view more..
+
Ans: Direct memory access (DMA) is a method that allows an input/output (I/O) device to send or receive data directly to or from the main memory, bypassing the CPU to speed up memory operations. The process is managed by a chip known as a DMA controller (DMAC) view more..
+
Ans: An instruction cycle (sometimes called a fetch–decode–execute cycle) is the basic operational process of a computer. It is the process by which a computer retrieves a program instruction from its memory, determines what actions the instruction dictates, and carries out those actions. view more..
+
Ans: System programs provide a convenient environment for program development and execution. Some of them are simply user interfaces to system calls; others are considerably more complex view more..




Rating - 3/5
453 views

Advertisements