Real-Time Operating System (RTOS)

A 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.

embedded system with real-time operating system RTOS

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

FreeRTOS

Embedded systems, IoT devices, robotics

Portable, open-source, small footprint, task scheduler

VxWorks

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

Recent posts

Leave a Comment

Your email address will not be published. Required fields are marked *