Skip to main content

Your submission was sent successfully! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates from Canonical and upcoming events where you can meet our team.Close

Thank you for contacting us. A member of our team will be in touch shortly. Close

  1. Blog
  2. Article

Edoardo Barbieri
on 2 February 2024


Download our latest Whitepaper: A CTO’s Guide to Real-time Linux

Welcome to this two-part blog series on real-time systems which asks the question: Real-time Linux vs RTOS, which is best for you? 

In Part I we looked at the basics of a real-time system where we explained that a real-time system must respond to events within a specified time frame, and provide timely and predictable responses to inputs within the allowed deadlines to ensure that the system meets its timing constraints. 

Part I also discussed the differences between a  Real-Time Operating System (RTOS) and PREEMPT_RT. In this blog, we will delve deeper into the differences between the two approaches to enable enterprises and developers alike to make an informed decision between PREEMPT_RT and RTOS based on the requirements of their systems.

Real-time Linux vs RTOS: Recap

An RTOS is specifically designed to meet the stringent timing requirements of embedded systems, industrial automation, automotive control systems, medical devices, and other applications where precise timing is crucial and missing a deadline is considered a catastrophic failure. In particular, an RTOS provides mechanisms for scheduling tasks, managing resources, and ensuring the execution of critical tasks.

In automotive, safety-critical applications, like braking and airbag deployment, must happen within milliseconds for the safety of the vehicle occupants.

On the other hand, PREEMPT_RT is one specific implementation aimed at enhancing the real-time capabilities of the Linux OS. Linux is not an RTOS, but the PREEMPT_RT collection of patches reduces the latency and improves the system’s responsiveness, making it more suitable for real-time applications.

PREEMPT_RT introduces kernel preemption, allowing Linux to preempt lower-priority tasks in favour of higher-priority ones

By aiming to make the Linux kernel more deterministic and reduce the time it takes to switch between tasks, PREEMPT_RT improves its real-time performance, enabling it to better support use cases with stringent timing constraints.

Real-time Linux vs RTOS: Key differences

From the above clarifications, a fundamental distinction between an RTOS and a real-time Linux kernel lies in their design philosophies. An RTOS is often purpose-built for real-time applications, prioritising determinism and predictability in task execution. Many RTOS products have undergone strict testing and certification, allowing them to be prevalent in mission-critical industries such as medicine, nuclear, or aerospace. On the other hand, Linux with PREEMPT_RT adapts a general-purpose OS to meet real-time requirements by enhancing kernel preemption.

RTOS is engineered to provide deterministic response times, ensuring tasks execute within specified time boundaries. Such a setup makes it ideal for applications where missing a deadline is not an option. On the other hand, even though a real-time capable Linux kernel is not a hard RTOS, its performance can be sufficient for many real-time applications without requiring speciality hardware or software.

When to use real-time Linux or an RTOS

System criticality

In scenarios where the correctness and timing of operations are paramount, especially in critical embedded systems like medical devices or avionics, an RTOS might be the preferred choice.

Application requirements

If a project demands a balance between real-time requirements and the flexibility to run various applications, real-time Linux with the PREEMPT_RT patch offers a more versatile solution. An RTOS is often specialised and resource-intensive. RTOS is purpose-built and has limited functionality compared to general-purpose OSes. This can be a drawback in scenarios requiring diverse applications beyond real-time constraints.

Every layer can be a source of latency in a real-time system, and tuning is normally required to meet application-specific requirements.

Resource-constraints

The software on a system, whether Linux with the PREEMPT_RT patch or an RTOS, must not excessively consume the system’s resources to provide an acceptable ROI. Real-time Ubuntu Linux integrates the PREEMPT_RT Patches to efficiently service most real-world low-latency, low-jitter workloads while enabling a well-balanced solution reducing overhead and maintaining responsiveness. Real-time Ubuntu Linux is less costly to maintain than RTOS alternatives and may be preferable in resource-constrained environments where maximising performance with limited resources is crucial.

Long-term support

Long-term support (LTS), whether for a Linux with PREEMPT_RT or an RTOS, provides a reliable foundation for building and maintaining real-time systems. LTS versions of an OS undergo extended testing and bug fixing, making them more stable. Timing and predictability are critical in real-time applications, where having a well-tested platform is essential to avoid unexpected issues that can lead to system failures or performance degradation.  Furthermore, LTS versions have a longer support life cycle than non-LTS releases, which is crucial for real-time applications in industrial or critical systems, where longevity and continuity of support are key considerations for system deployment and maintenance.

For enterprise-grade solutions requiring a real-time Linux environment with extended support and compatibility, Real-time Ubuntu, backed by the PREEMPT_RT patch, offers a robust solution.

Real-time Ubuntu 22.04 LTS is supported for 10 years via Ubuntu Pro

Hardware support

A real-time capable Linux kernel with the PREEMPT_RT patches often comes with broad availability of hardware support, as Linux runs on a wider range of processors than RTOS. To provide real-time scheduling and bounded latencies, some RTOS products have been developed from the ground up on specific hardware.

Making an informed decision

Real-time does not result in optimised performance: what matters is a deterministic response to an external event, aiming to minimise response latency, rather than optimising throughput. 

In the realm of real-time computing, the choice between Real-time Linux and RTOS depends on the specific requirements of an application. While Real-time Linux, especially with the PREEMPT_RT patch, offers a robust solution for many scenarios, dedicated RTOS may still be preferable in certain critical, embedded systems. Understanding the intricacies of both options is key to making an informed decision that aligns with an enterprise’s demands and constraints.

Learn everything you need to know about real-time LInux in our latest whitepaper.

Related posts


Edoardo Barbieri
25 January 2024

Real-time Linux vs RTOS – Part I

Internet of Things Article

Discover Real-time with our latest whitepaper: A CTO’s Guide to Real-time Linux Welcome to this two-part blog series on Linux vs RTOS (Real-time Operating System). This series will explain the differences between achieving real-time requirements with a Linux kernel and doing the same with an RTOS. Part I will explain the basics behind a r ...


Edoardo Barbieri
29 October 2024

Meet Canonical at SPS 2024

Ubuntu Article

SPS (Smart Production Solutions) 2024 is almost here! With over 1,200 national and international exhibitors, SPS is the main gathering of industrial manufacturing to experience the latest trends and developments in the automation industry first-hand. Join Canonical, the company behind Ubuntu, at SPS 2024 to discuss open source innovation ...


Edoardo Barbieri
30 May 2024

Canonical releases Real-time Ubuntu 24.04 LTS

Ubuntu Article

London, 30 May 2024. Today Canonical announced the availability of Real-time Ubuntu 24.04 LTS.  By ensuring high-priority processes are executed first, with deterministic response times, Real-time Ubuntu 24.04 LTS reduces latency compared to mainline Linux and enhances the system’s ability to handle time-sensitive operations effectively.  ...