QNX is a commercial real-time operating system, Unix-like in feel but built on an unusual foundation: a true microkernel. First released in 1982 by the Canadian company Quantics Software (later QNX Software Systems, and since 2010 part of BlackBerry), it has spent four decades as a quiet workhorse inside systems that must never freeze: cars, medical equipment, industrial controllers, and networking gear.
The defining design choice is the microkernel. The QNX documentation explains that the kernel includes only a small set of core services, such as threads, scheduling, synchronization primitives, signals, and message passing, while everything else, including file systems, networking, and device drivers, runs as ordinary cooperating user processes outside the kernel. This keeps the trusted core tiny and lets components be added, removed, or restarted at runtime without rebuilding the system.
Message passing is the cornerstone of that architecture. QNX’s own getting-started guide centers on a small microkernel and message passing as the organizing principle: the microkernel routes all messages between threads throughout the system, and processes communicate by sending and receiving messages rather than sharing memory directly. The documentation notes that the OS stays fully preemptible even while passing messages, and that interrupts are disabled only for very brief intervals, on the order of hundreds of nanoseconds, which is what preserves the real-time guarantees.
This robustness, where a crashing driver cannot take down the kernel, is why QNX became dominant in automotive software. It runs the infotainment systems and digital instrument clusters in a large share of the world’s vehicles, and it appears in safety-critical contexts where certification and fault isolation matter.
QNX represents the microkernel philosophy in the RTOS world, a deliberate contrast to the more monolithic kernel of VxWorks and to small footprint-first kernels like FreeRTOS. Its long survival is evidence that a strictly separated, message-passing design can be both reliable and fast enough for hard real-time work.