Table of Contents
ToggleA real-time operating system is an operating system that supports real-time applications by providing logically correct result within the deadline set by the user. It makes the embedded system into a real time embedded system.
Importance of RTOS for Embedded System
It is an operating system that supports real-time applications by providing logically correct result within the deadline set by the user. A real-time operating system makes the embedded system into a real time embedded system.
The basic structure of real-time operating system (RTOS) is similar to regular OS but, in addition, it provides mechanisms to allow real time scheduling of tasks. Real-time systems are those where system correctness depends not only on output but also on the timing constraints of when results are produced.
Though the real-time operating systems may or may not increase the speed of execution, but they provide more precise and predictable timing characteristics than general-purpose OS.
The figure below shows the embedded system with RTOS.
![Real-Time Operating System (RTOS) 1 embedded system with real-time operating system RTOS](https://engineeringworlds.com/wp-content/uploads/2024/03/embedded-system-with-real-time-operating-system-RTOS.jpg)
All the embedded systems are not designed with RTOS. Low end application systems do not require the RTOS but only High-end application oriented embedded systems which require scheduling alone need the RTOS.
For example, an embedded system which measures Temperature or Humidity etc. do not require any operating system whereas a Mobile phone, RADAR or Satellite system used for high end applications require an operating system.
Popular Real-Time Operating Systems
Real-Time Operating System (RTOS) | Applications | Key Features |
Embedded systems, IoT devices, robotics | Portable, open-source, small footprint, task scheduler | |
Aerospace and defense systems, industrial automation, robotics | Real-time kernel, scalable, fault-tolerant | |
QNX | Automotive systems, medical devices, industrial automation | Microkernel architecture, reliability, scalability |
RTOS-32 | Industrial automation, real-time control applications | Real-time multitasking, low latency, Windows compatibility |
Micrium OS | Embedded systems, consumer electronics, medical devices | Modular architecture, preemptive scheduling |
RTEMS | Aerospace, automotive, industrial control systems | Real-time capabilities, open-source, scalable |
INTEGRITY RTOS | Automotive systems, avionics, medical devices | High reliability, security features, POSIX compliant |
Nucleus RTOS | Consumer electronics, industrial automation, medical devices | Small footprint, real-time kernel, extensive middleware |
ChibiOS/RT | Automotive systems, robotics, industrial control systems | Open-source, preemptive multitasking, low overhead |
ThreadX | IoT devices, consumer electronics, industrial automation | Real-time scheduling, small footprint, priority inheritance |
These examples provide a snapshot of popular RTOS, their typical applications, and some key features that make them suitable for real-time systems.
Note that the choice of RTOS depends on specific requirements and constraints of the target application or system.
Difference between Desktop OS and RTOS
Feature | Desktop OS (Operating System) | RTOS (Real-Time Operating System) |
Purpose | General-purpose computing tasks | Real-time applications and systems |
Scheduling | Non-deterministic scheduling | Deterministic scheduling |
Task Priority | May not prioritize real-time tasks | Prioritizes real-time tasks |
Response Time | Variable response time | Predictable and consistent response time |
Multitasking | Supports multitasking, often with time-sharing | Supports multitasking with a focus on real-time requirements |
Concurrency | Emphasizes concurrent execution for various tasks | Prioritizes real-time task concurrency |
Interrupt Handling | May have non-deterministic interrupt handling | Has deterministic interrupt handling for time-sensitive tasks |
Resource Management | Resources are managed for efficiency in general-purpose scenarios | Efficient management of resources with a focus on meeting deadlines |
Complexity | Generally more complex due to diverse functionality | Specialized and often simpler for specific real-time tasks |
Examples | Windows, macOS, Linux | FreeRTOS, VxWorks, QNX, RTEMS |
Use Cases | Office applications, multimedia, web browsing | Aerospace, automotive, industrial automation, medical devices |
Predictability | Predictability is not a primary concern | Highly predictable for time-critical applications |
Latency | Latency can vary based on system load | Low and predictable latency for critical tasks |
Cost | Typically lower cost or free for general-purpose use | May be higher cost due to specialized nature and certification requirements |
Development Focus | General-purpose functionality and user experience | Real-time performance and meeting strict timing requirements |
Examples of Applications | Word processing, gaming, web browsing | Aircraft control systems, automotive control units, medical equipment |
Flexibility | Offers a wide range of functionalities for diverse applications | Tailored for specific real-time tasks, may lack flexibility for general-purpose use |
Safety-Critical Systems | May not be suitable for safety-critical applications | Often used in safety-critical systems where precise timing is crucial |