Real-Time Operating System

A real-time operating system, or RTOS, is an operating system whose defining job is to honor timing. A general-purpose operating system such as Unix or Windows is tuned to keep many programs making progress and to maximize average throughput; it is acceptable for any single task to be delayed as long as the system stays responsive overall. An RTOS makes a different promise: a given task will run, and finish, within a known bound of time. In a hard real-time system, missing that deadline is treated as a failure of the system itself, not merely a slowdown.

The way an RTOS keeps this promise is priority-based preemptive scheduling. Every task is assigned a priority, and the scheduler always runs the highest-priority task that is ready. If a more important task becomes ready while a lesser one is running, the kernel immediately preempts the running task and switches. The FreeRTOS documentation describes its kernel in exactly these terms, noting that it never performs non-deterministic operations inside a critical section or interrupt handler, which is what keeps response times predictable rather than merely fast on average.

That predictability, called determinism, is the property that matters most. An RTOS is engineered so that the time to respond to an event, the time to switch between tasks, and the time spent with interrupts disabled all have known upper bounds. Wind River describes its VxWorks RTOS as delivering low latency and jitter for determinism and reliability, the qualities required when a flight controller or a pacemaker must react within a guaranteed window every single time.

Real-time operating systems power the systems where a late answer is a wrong answer: spacecraft and avionics, automobile engine and brake controllers, industrial machinery, and medical devices. They typically run on small, dedicated computers with limited memory, so an RTOS kernel is usually far smaller than a desktop operating system, providing tasks, scheduling, and inter-task communication without the large file systems and user-management layers of a general-purpose OS.

The category spans a wide range, from heavyweight certified commercial systems like VxWorks and QNX down to tiny open-source kernels like FreeRTOS that fit in a few kilobytes on a microcontroller. What unites them is not size but the guarantee at the center of their design: the right task runs at the right time, every time.