What is a Real Time Operating System (RTOS)?
In the previous article, you understood what a real-time application(RTA) is.
You understood that a real-time application is time deterministic. That means its response time to events is always almost constant. You can always trust that application in terms of its timings in responding to events.
How to run the Real-Time Application?
You cannot take a Real-Time Application and run it on a general-purpose OS like Windows or Linux because they will never help you to meet strict timing requirements.
The solution lies in a specialized infrastructure: a Real-Time Operating System (RTOS). RTOS is tailored precisely to meet the timing requisites of real-time applications, assuring adherence to these critical timings.
What is a Real-Time OS?
It is an OS specially designed to run applications with very precise timing and a high degree of reliability. To be considered as real-time, an operating system must have a known maximum time for each of the critical operations that it performs. Some of these operations include :-
- Handling of interrupts and internal system exceptions. Unlike general-purpose OS, in RTOS, the interrupt latency is kept as very minimal as possible.
- Handling of critical section code: In the Real-Time Operating System, you don’t find huge critical section code segments, where the interrupts of the system are turned off.
- Scheduling mechanism. Unlike the general-purpose OS, the scheduling mechanism in RTOS is simple and always favors high-priority tasks.
Real-Time OS (RTOS) vs. General-Purpose OS(GPOS)
Now let’s see the important differences between a Real-Time Operating System and a General-Purpose Operating System.
- The examples of GPOS you may already know. All your desktop operating systems like Linux, Windows, Mac OS, iOS, and Android (Figure 1) are famously used for tablets, and mobile phones are all fall into the category of GPOS.
- Some of the examples of Real-Time Operating Systems are: –
- VxWorks Real-Time Operating System. VxWorks is basically from the company called Windriver, which was acquired by Intel around maybe 10 years ago. VxWorks is proprietary software, and you need to have a license to use that. VxWorks is widely used in the field of safety, security, IoT, etc., and this is one of the most famous Real-Time Operating Systems used for embedded applications.
- The next one is QNX Neutrino by the company called QNX. The QNX Neutrino Real-Time Operating System is majorly used in Industrial automation applications, medical, and also in the robotics field.
- And the next one is Free RTOS. The Free RTOS is from FreeRTOS.org. This is also one of the famous Real-Time Operating Systems among developers. It comes with two flavors. One is called Open RTOS, and another one is Safe RTOS. We will be using Free RTOS in this course, which is absolutely free to download and also it is royalty-free.
- The next one is Integrity. This is from Green Hills Software, majorly used for security and safety-related applications.
These are some of the most commonly used Real-Time Operating Systems.
Strictly speaking, mobile operating systems like Android and iOS may not fall into the pure general-purpose OS category. You can consider them in the category of Embedded OS (Figure 2). So, all the real-time operating systems we just discussed will fall into the category of Embedded Real-Time Operating Systems (Figure 2).
In the following article, let’s learn RTOS vs GPOS: Task Scheduling.