Real-time operating systems
An RTOS adds tasks, priorities and predictable scheduling to a microcontroller, so deadlines can be met. Real-time means predictable timing, not raw speed.
Key points
- Real-time means meeting known deadlines: predictable timing, not raw speed. A pre-emptive scheduler always runs the most important task that is ready, so critical work does not wait behind less important tasks, except when they share a resource.12
- Widely used open-source RTOSes include FreeRTOS (MIT licence), Zephyr (Apache 2.0, a Linux Foundation project), Eclipse ThreadX (MIT licence), Apache NuttX (Apache 2.0) and RIOT (LGPL 2.1).34567as of 6 October 2026
- ThreadX, which Microsoft offered as part of its Azure RTOS suite, was contributed to the Eclipse Foundation in November 2023 and relicensed under MIT as Eclipse ThreadX, which remains actively released.58as of 6 October 2026
- Priority inversion happens when a high-priority task waits for a resource held by a lower-priority task, and gets worse if a medium-priority task interrupts the holder. Mutexes with priority inheritance limit the delay but do not remove it, so it also helps to share less.19
Spotted a mistake, or found this useful?
Tell usSources
- Mastering the FreeRTOS Real Time Kernel (FreeRTOS Kernel Book) · FreeRTOS (AWS) · Project docs
- FreeRTOS: RTOS fundamentals · FreeRTOS (AWS) · Project docs
- FreeRTOS-Kernel LICENSE.md (MIT) · FreeRTOS (AWS) · Project docs
- Zephyr Project: learn about · Zephyr Project (Linux Foundation) · Project docs
- Eclipse ThreadX project page · Eclipse Foundation · Project docs
- Apache NuttX · Apache Software Foundation · Project docs
- RIOT OS · RIOT community · Project docs
- Introducing Eclipse ThreadX (21 November 2023) · Eclipse Foundation · News
- FreeRTOS: Mutexes · FreeRTOS (AWS) · Project docs