What Is a Real-Time
Operating System (RTOS)?
The guide to choosing an RTOS for your next embedded system project.
What Is a Real-Time Operating System (RTOS)?
A real-time operating system (RTOS) is an operating system with two key features: predictability and determinism. In an RTOS, repeated tasks are performed within a tight time boundary; in a general-purpose operating system, this is not necessarily so. Predictability and determinism, in this case, go hand in hand. We know how long a task takes, and that it always produces the same result.
RTOSes are subdivided into “soft” real-time and “hard” real-time systems. Soft real-time systems perform operations within a few hundred milliseconds, at the scale of a human reaction. Hard real-time systems operate at the scale of microseconds and they must respond with extreme consistency.
What Is an RTOS and
How Does It Work?
A general-purpose operating system (OS) shares resources across many applications with no timing guarantees. In contrast, a real-time operating system (RTOS) manages hardware resources and schedules software tasks so that time-critical operations are completed on time, every time.
RTOS vs. OS
An RTOS is a type of operating system, but it is different from the kind of OS consumers encounter. Operating systems in phones or personal computers are, comparatively, loaded with applications and features; they must support anything the user might want to do today.
An RTOS, on the other hand, is streamlined for limited but critical use. It is made to execute its tasks quickly and it lacks many familiar features, such as a web browser. It is a fraction of the size, sometimes only a few megabytes (versus more than 30 gigabytes for a typical desktop or mobile OS), which is one reason that it can operate faster.
Real-Time System Characteristics
Determinism
Repeating an input results in the same output.
High performance
RTOS systems are fast and responsive, often executing actions within a small fraction of the time needed by a general OS.
Safety and security
RTOSes are frequently used in critical systems where failures can have catastrophic consequences, such as robotics or flight controllers. To protect those around them, they require higher security standards and more reliable safety features.
Priority-based scheduling
Priority scheduling means that actions assigned a high priority are executed first, and those with lower priority come after. An RTOS always executes the most important task.
Small footprint
RTOSes weigh in at just a fraction of the size of their hefty general OS counterparts,. For example, Windows 10, with post-installation setup, takes up approximately 20 GB of storage. VxWorks®, on the other hand, is approximately 20,000 times smaller, measured in the low single-digit megabytes.
Interrupt handling
An RTOS quickly and efficiently responds to hardware or software interrupts. This minimizes interrupt latency — the time between an event occurring and the system responding — to ensure time-critical task completion across aerospace, medical, and industrial applications
Task synchronization
An RTOS provides inter-task communication mechanisms such as semaphores and message queues, so tasks can safely share resources without data corruption or race conditions.
Memory management
An RTOS isolates each task’s memory space. Doing so prevents tasks from corrupting one another’s data and improves system stability. These are critical in safety-certified deployments.
Types of Real-Time Operating Systems
It s important to distinguish between RTOS types.
Hard Real-Time Operating Systems
Hard real time systems must meet every deadline without exception. Missing a deadline is considered a system failure. Hard RTOSes are used in applications where timing errors can cause physical harm or mission failure, such as aircraft flight control, automotive airbag systems, and cardiac pacemakers.
Firm Real-Time Operating Systems
Firm real time systems must typically meet their deadlines, but an occasional miss does not cause catastrophic failure. It simply renders that particular output useless. The system continues to function correctly otherwise. Examples include multimedia playback, some industrial automation systems, and network communication buffers.
Soft Real-Time Operating Systems
Soft real time systems prioritize timely execution, but missing a deadline does not have critical consequences. In these cases, performance degrades but the system continues to operate. Examples include desktop operating systems, web servers, and audio/video streaming applications.
Differences and Similarities Between an Embedded System and an RTOS
An embedded system is a computer that is embedded into a larger machine and operates behind the scenes of a larger operation for example, the microcontroller on a robotic arm.
In noncritical systems with some timeline flexibility, developers can use an open source general-purpose OS (GPOS) such as Linux. Linux is full featured, flexible, and well known. In a critical system (which may mean safety critical or mission critical), developers opt for real-time operating systems.
The characteristics that set an RTOS apart are often essential to the system’s success. For instance, a robotic arm in a factory needs to be predictable and reliable, and it must stop immediately when employees enter its area of operation. Variability can result in wasted resources, quality-control issues, or injury.
RTOS Use in Embedded Systems
A real-time operating system is most often used in an embedded system, so the two are far from exclusive. The RTOS usually has no graphical interface. Occasionally, multiple OSes are integrated simultaneously, to provide operational capability coupled with a general-purpose OS’s usability.
RTOSes are often chosen for intelligent edge devices, also known as electromechanical edge or cyber physical systems, wherein the device both produces and operates on data. A car, for example, can monitor its surroundings and act upon them instantaneously on its own. Such devices often couple artificial intelligence or machine learning, or both, with real time components to increase the capabilities of the underlying structure.
The Evolution of Real-Time Operating Systems
1960s–1970s: Origins in aerospace and defense
Traditional operating systems could not meet the strict timing requirements for radar, flight control, and weapons systems. Early RTOS efforts introduced preemptive scheduling and interrupt handling to guarantee deterministic responses to external events.
1980s–1990s: Commercial expansion
Products such as VxWorks and QNX brought RTOS capabilities to the broader market, with adoption in telecommunications, automotive, and industrial control. Standardization efforts such as POSIX real time extensions helped unify RTOS design across vendors.
2000s: The IoT era
The rapid growth of connected embedded devices in the Internet of Things (IoT) drove demand for smaller, lower power RTOS options. Open source platforms such as FreeRTOS gained wide adoption for microcontroller and IoT applications.
Today: AI and intelligent edge
RTOS platforms are incorporating artificial intelligence and machine learning to enable adaptive task scheduling, predictive failure detection, and real time sensor fusion at the intelligent edge.
Benefits and Risks of Commercial vs. In House RTOS
Some companies try to produce their own RTOS in- house, tailor-made for their project, instead of buying a commercial off-the-shelf operating system. This has some advantages: The operating system is designed specifically for the use case, and the company understands its mechanics and inner workings. However, this approach is often more expensive and more timeconsuming. Developers who are not used to working on operating systems take a great deal of time to produce one.
Using a commercial system is faster, easier, and includes an experienced technical team that can answer questions and provide support. An operating system is a tool, much like a hammer or a drill. While you could make one — one that you would thoroughly understand and that might fit a project precisely — it would take a lot of time, without guarantees of performance or capability.
Why Use an RTOS?
Priority-based scheduling
The ability to separate time critical processing from non critical work is one of the most powerful tools in embedded development. The RTOS guarantees that the most important task always runs first.
Abstracting timing information
The RTOS manages all timing and provides standard API functions, resulting in cleaner, smaller application code with fewer timing-related bugs.
Maintainability and extensibility
Task-based design reduces interdependencies among software modules, which makes systems significantly easier to update, extend, and maintain.
Modularity
Each task has a clearly defined role, which naturally encourages modular software architecture and cleaner separation of concerns.
Team development
The task based model allows separate engineering teams to develop and test their components in parallel, which may accelerate project timelines.
Easier testing
Modular, task-based development enables isolated unit testing, which reduces integration risk.
Code reuse
Tasks developed and validated for one platform can be reused on future projects on similar hardware. Doing so may reduce development costs and improve code quality.
Improved efficiency
A well-designed RTOS is fully event-driven. No CPU cycles are wasted polling for events do not occur.
Idle processing
Background tasks such as CPU load measurement and CRC checks run in the idle thread without affecting primary task timing.
Capabilities and Benefits
RTOS Architectures
Learn the difference between these types of systems.
Microkernel Systems
In microkernel architecture, components are stored in separate “rooms,” which are independent from one another but share a similar space. As in real life, a room can be renovated without impacting the others around it. However, to get from one room to another, you must step through the doorway and head down the hall, which wastes time. Any action has to return to the kernel before it can move to the component it references, meaning some operations take much longer than necessary.
Monolithic Systems
In a monolithic system, there are no “walls” between the rooms, so you can step from one to another much more quickly. Rather than implementing a small kernel, monolithic kernels provide services of their own as well as regulating those of other areas. With exceptions, operations are executed in the kernel space, removing the recurrent need to return to the kernel and improving speed and performance. However, making a change in one area could have ramifications for the entire system.
Real-Time System Examples
RTOSes can be found in countless products around the world, with VxWorks alone powering more than two billion devices. Systems from car engines to deep-space telescopes to helicopter guidance systems to the Mars rovers use embedded systems that run a real-time operating system.
| A&D | Telecom | Transportation | Medical | Manufacturing |
|---|---|---|---|---|
|
|
|
|
|
The Changing World of Embedded and Real-Time Operating Systems
Real-time operating systems must keep pace with innovation and embrace current development practices. This includes compatibility with the frameworks, languages, and methodologies embraced by the new generation of embedded system developers, while allowing no compromise in terms of security, safety, performance, or reliability.
Factors for Choosing a Commercial RTOS
Beyond in-house RTOS options, developers can choose open source or community-based operating systems. While these provide some RTOS benefits, they fall short in other key areas. Larger deployments often use boards costing hundreds, thousands, or even millions of dollars, which means developers are investing heavily in hardware. Problems encountered while implementing an open source system could quickly push deadlines and stretch budgets. Open source systems also lack organized backing, which can result in missing documentation or unresolved glitches. A commercial system, on the other hand, benefits from an organized, professional engineering team that helps solve issues or provide explanations.
Common Business Challenges Affecting Commercial RTOS Implementation
- Time to market, as engineers and organizations want to take advantage of market growth opportunities as soon as possible
- Differentiating product offerings with innovative features and capabilities
- Adding new features to products as market needs evolve
- Keeping platform costs down
- Efficiently dividing engineering resources between sustaining existing products and developing new ones
- Reducing risk for platforms requiring real-time safe and secure capability at medium to high levels of certification
- Managing complexity across multiple technologies, product lines, development organizations, and geographies
Need for Safety Certification
If a product needs safety certification, it is easier, faster, and cost-effective to leverage a commercial RTOS. In a safety certification evaluation, the commercial RTOS provides certification evidence pages or safety profiles for the specific certification the business requires.
Hardware Support
Commercial RTOSes have an extensive range of board support packages (BSPs) to assist with board bring-up and design. These software kits make it quick and easy to use an RTOS with specific types of hardware. Wind River offers the most extensive range of BSPs in the embedded software industry. Each package is tested and validated for seamless interoperability to help accelerate the design and development process.
Interrupt Latency and Responsiveness
Interrupt latency and context switch time are two critical technical metrics in evaluating an RTOS for time-sensitive applications. Benchmark these metrics against the application’s specific timing requirements. Do so under ideal conditions, and then also under maximum system load. An RTOS that cannot guarantee consistent latency across all operating conditions cannot reliably guarantee deadlines. VxWorks provides industry-leading deterministic latency, making it the choice for demanding aerospace, industrial, and defense deployments.
Compatibility and Support for Newer Versions
Long-term performance, security, and feature support are additional factors in selecting a commercial RTOS. Among the areas to investigate include preserved API compatibility and POSIX® compliance. Learning how much the core OS kernel is expected to change can help predict how much effort is required to upgrade or roll back versions. Don’t forget migration considerations around networking and BSPs. It is critical that the chosen option has the documentation and expert support necessary for success.
Licensing Model and Total Cost of Ownership
RTOS licensing comes in two primary models: a royalty-based model where a per-unit fee is paid for each shipped device, and a production license (PL) model where a one-time fee covers unlimited deployments. Open-source RTOS platforms may appear cost free but often carry copyleft restrictions (particularly under GPL and LGPL licenses) that can limit commercial use or require disclosure of proprietary application code. Evaluating total cost of ownership should include not just licensing fees, but also the cost of long-term support, certification tooling, BSP maintenance, and the risk of unsupported security vulnerabilities in unsupported open-source forks.
When considering a commercial RTOS, investigate the option of royalty payments through a production license (PL) model versus an up-front charge. The PL model is shared risk. It helps create a financial incentive to make the business successful. The business needs, cost structure, and budget can all impact your decision.
How Can Wind River Help?
VxWorks: The Leading RTOS for Embedded Systems
VxWorks is the industry’s most trusted and widely deployed RTOS for critical embedded systems that must be safe and secure. Companies rely on the VxWorks pedigree of security, safety, high performance, and reliability. It delivers a proven, real-time, and deterministic runtime combined with a modern approach for development regardless of the system
Benefits and Highlights:
- Credible and proven track record for more than 40 years
- End-to-end offering of engineering and sales support with a local presence
- Support for popular development languages (C/C++ with Boost, Rust, and Python)
- The only RTOS supporting IT-like application deployment with OCI container support POSIX® PSE52
- Extensive BSP list with continuous optimizations to support the advanced processors and systems-on-chip
- Extensive portfolio of safety certification history, including over 600 programs to meet stringent industry safety standards
- Flexibility in product customization with access to full source code
Real-Time Operating Systems: FAQs
Common features of an RTOS include task scheduling, interrupt handling, inter-task communication and synchronization, memory management, and device driver management. An RTOS must provide deterministic and predictable behavior to ensure that tasks can complete within their deadlines.
An RTOS, or real-time operating system, is a specialized software system designed to manage and prioritize tasks in real-time systems, where tasks have strict timing constraints. It differs from traditional OSes in that it can guarantee timely response to events and tasks, making it suitable for mission-critical applications.
RTOSes are used in a wide variety of applications that have strict timing requirements, such as medical devices, industrial control systems, aerospace and defense systems, automotive electronics, and consumer electronics. It’s also commonly used in embedded systems, where reliability, safety, and performance are critical.
Task scheduling in an RTOS is typically priority-based, where tasks are assigned priorities based on their urgency and importance. The scheduler uses a preemptive algorithm to select the highest-priority task that’s ready to run, ensuring that critical tasks can be executed on time.
Advantages of using an RTOS include predictable and deterministic behavior, which ensures that critical tasks are completed on time. It also provides better resource management, improved responsiveness, and reduced system overhead, resulting in better system performance.
Challenges associated with using an RTOS include the need for specialized expertise and experience to configure and optimize the system. The real-time behavior also adds complexity to the development process, and the system must be designed to handle unexpected events and errors to ensure that it remains reliable and safe. Additionally, the cost of an RTOS can be higher than that of a traditional operating system.
There is no “best” RTOS. Like any other operating system, each RTOS varies in its strengths and weaknesses, and its use will determine the most appropriate choice.
Unfortunately, few universities offer courses that cover the field of embedded engineering. Online resources and free SDKs (such as the VxWorks SDK) can be helpful tools for practicing implementation. In addition, Wind River offers courses that address intelligent systems challenges, which can increase individual human capital or help entire teams achieve their goals faster and more easily.
An RTOS processes data as it comes in, without needing to buffer or refresh applications. This supports faster, more accurate responses in systems with changing input environments. To accomplish this, the kernel is designed to be small and nonintrusive, and it stays out of the way of the operating system’s functions.
The kernel operates much like the conductor in a symphony. It controls and regulates the other functions, without working itself or getting in the way. However, in an RTOS, when no operation is executed, the kernel does nothing at all.
Task priority varies, but many RTOSes use a priority-based preemptive scheduling system, which executes the highest-priority items first. Other options include rate monotonic scheduling or Earliest Deadline First scheduling.
In the emerging field of 5G technology, RTOSes have made an impact due to their low-latency responses and their ability to take advantage of faster communications. RTOSes can also be found in devices that rely on machine learning, because the real-time stream of data can be operated upon as it comes in.
Wind River launched ROS2 for VxWorks in December 2019, which enables the use of the Robot Operating System in VxWorks builds.
Common examples include VxWorks (aerospace, defense, and industrial), QNX (automotive and medical), FreeRTOS (IoT and microcontrollers), and Zephyr (resource-constrained connected devices). VxWorks, developed by Wind River, is one of the most widely deployed commercial RTOS platforms, powering more than two billion devices across some of the most demanding real-time applications ever built.
A general-purpose OS (such as Windows or Linux) prioritizes multitasking and throughput using non-deterministic scheduling — tasks are completed as resources allow, with no timing guarantees. A real-time operating system guarantees that critical tasks execute within a defined, predictable time boundary, even under load. This determinism is what makes an RTOS essential in safety-critical environments where a missed deadline can have severe consequences.
An RTOS manages hardware resources — CPU, memory, and I/O — and schedules software tasks so that time-critical operations are always completed on time. It uses priority-based preemptive scheduling to ensure the most important task always runs first, handles hardware interrupts with minimal and predictable latency, and provides mechanisms for tasks to safely share resources without data corruption.
Hard RTOS: missing a deadline results in catastrophic system failure. Used in aircraft flight control, automotive braking systems, and medical pacemakers. Firm RTOS: missing a deadline renders that output useless but does not cause system failure. Used in multimedia playback and certain industrial automation systems. Soft RTOS: missing a deadline degrades performance, but the system continues to function. Used in desktop operating systems, web servers, and audio/video streaming.
"RT" stands for "real-time." A real-time operating system is designed to process inputs and produce outputs within strict, deterministic time constraints. Unlike a general-purpose OS, which prioritizes overall efficiency without timing guarantees, an RT OS ensures that specific tasks are always completed within a defined deadline — regardless of system load.
A hard real-time operating system guarantees that all critical tasks are completed within their defined deadlines without exception. Missing a deadline is treated as a system failure. Hard RTOS platforms are used in applications where timing errors can cause physical harm or mission failure — including aircraft flight control, automotive airbag deployment systems, industrial safety controllers, and cardiac pacemakers.