Real-time Operating System
- In a real time operating system (RTOS), a job is to be completed within the rigid time constraints otherwise job loses its meaning.
- A real time system functions correctly only if it returns the correct result within its time constraints.
- Thus, in a real-time system, the correctness of the computation not only depends upon the logical correctness of the computation but also upon the time at which the result is produced.
- Thus, a real time system is one that must react to inputs and respond to them quickly. It cannot afford to be late with a response to an event.
- A real time system is often used as a central device in a dedicated applications like fuel- injection system, robotics, air-traffic control, medical imaging systems, systems that control scientific experiment, industrial control system and weapon systems, traffic light system, radar system and telephone switching system.
- Thus, providing quick response times is the main objective of real-time system, However, resource utilization and user convenience are of secondary concern.
In real-time system, the various functions like process scheduling, memory management, I/O management and file management are performed as follows:
1. Process scheduling
The real time system uses priority based pre-emptive scheduling. Each process is assigned a certain level of priority and the process with the highest priority is allocated the processor among those which are in ready state.
2. Memory management
In real time system, the processes remain in primary memory for most of the time in order to provide quick response. There is very little swapping of program between primary memory and secondary memory. Thus, memory management in a real time system is less demanding as compared to other types of multiprogramming system.
3. I/O device management
Time critical device management is main requirement of real time system. It also uses features like interrupt management and I/O buffering.
4. File management
In real time system, file management does not aim at efficient utilization of secondary storage rather main objective is to provide fast access.
Real time operating systems are categorized into:
- Hard real time systems
- Soft real time systems
Hard real-time systems
- Hard real-time systems complete the critical tasks within the definite interval of constraints. If the critical task is not completed within the time constraint, then the hard real time system fails.
- Thus, a hard real time system has to complete all the processes within a definite deadline and a single miss leads to critical failure.
- The example of hard real time system is a flight controller system in which any miss in deadline leads to a crash or an unstable aircraft.
Soft real-time systems
- Soft real-time systems are less restrictive in nature and are not affected by the lapse of time interval and do not cause any critical failure.
- Soft real time system are used in the area of multimedia, virtual reality. The example of soft real time system is nuclear power stations and airbags.
- Examples of soft real time operating system are Harmony (Developed by National Research Council of Canada), Maruti (University of Maryland), OS9 (Microware System Corporations), RTEMS (Real Stone Military Arsenal)