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 our team. We 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.


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
28 November 2023

Real-time Linux: a comprehensive guide

Internet of Things Article

In the mission-critical workloads of modern enterprises, where time boundaries and determinism can make a major difference, the demand for real-time systems has never been more urgent. In our latest whitepaper, we delve into the realm of real-time Linux. The whitepaper is a comprehensive guide to understanding and unlocking the potential ...

12 September 2023

이제 인텔 SoC에서 일반적으로 사용 가능한 최적화된 실시간 우분투

IoT Article

Canonical이 TSN 및 인텔 TCC를 지원하는 인텔 코어 프로세서에서 실시간 우분투를 제공 2023년 7월 26일, 런던: Canonical은 오늘 인텔 코어 프로세서에 최적화된 실시간 우분투를 이용할 수 있음을 발표했습니다. 이 솔루션을 통해 기업은 통신회사 워크로드에서 생명을 구하는 의료 장비 및 공장용 자동화 시스템에 이르기까지 광범위한 사용 사례에 인텔 실리콘에 최적화된 리눅스의 성능을 이용할 수 있습니다. Canonical의 ...