Real-time operating systems(RTOS) are used in situations to handle real-life scenarios. A few examples of real-time operating systems include:
1. VxWorks: This OS is part of the Mars 2020 rover (2020 launch). Also, in the past, it was used in Phonix Mars lander, Boing 787, Honda Robot ASIMO etc.
2. QNX: QNX Neutrino TROS finds widespread use in embedded systems. Thus, it is compatible with platforms like ARM and x86. Industries using QNS are automotive, railway transportation and health-care.
3. eCos: eCos is an open-source real-time operating system. Example of eCos use is Chibis-M microsatellite‘s attitude and stabilization control system.
4. RTLinux: RTLinux is a hard real-time operating system. It runs the Linux operating system as a full preemptive process. As a result, it is useful in controlling robots, data acquisition systems, manufacturing plants
What is a Real-Time Operating System(RTOS)?
A real-time operating system is a time crucial operating system. This means that the response to any event must come in a specified time interval only. Hence, a delay in response will result in disastrous effects.
For instance, an operating system like Windows10 which comes as the default OS in most laptops or PCs is not a real-time operating system. The reason is that even if your application say, VLC player starts with a delay it is not going to have any harmful impact. On the contrary, an OS used in an aircraft is a real-time operating system because if the landing gears do not come out in a specified interval after issuing the command, the aircraft will crash.
So, all situations like Red-light crossing, autonomous cars etc., are all real-life operating systems. An RTOS can be event-driven or time-sharing. In event-driven strategy, the OS shifts tasks only if a higher priority task requires servicing. In time-sharing, tasks are shifted in a round-robin fashion based on time quantum.
Types of Real-time operating systems
1. Soft Real Time OS
A Soft RTOS is a system in which the deadline for certain tasks can be delayed to some extent. For example, if the task deadline is 1:20:30PM, then the task can on occasions complete at let us say 1:20:35PM every. However, it can not delay for too long say 1:30PM.
2. Hard Real Time OS
A Hard RTOS is a system which meets the deadline for every process at all times. For example, if the task deadline is 1:20:30PM, then the task has to complete before 1:20:30PM every time.
Differences between Soft RTOS and Hard RTOS
|Characteristic||Hard RTOS||Soft RTOS|
|Response Time||Strict deadline||soft deadline|
|Data Integrity||Short term||Long Term|
|Error Detection||Automatic||User assisted|
Scheduling Algorithms for RTOS
CPU scheduling algorithms used for RTOS are also different from normal CPU scheduling algorithms like FCFS, SJF etc. For example, a couple of popular algorithms are:
1. Rate Monotonic scheduling
2. Earliest Deadline First scheduling