Intrinsic HA

Three key factors of the QNX Neutrino architecture contribute directly to intrinsic HA:

Microkernel
Only a few essential services are provided (e.g., message passing and realtime scheduling). The result is a robust, dependable system — fewer lines of code in the kernel reduce the probability of OS errors.

Also, the kernel's fixed-priority preemptive scheduler ensures a predictable system — there are fewer HA software paths to analyze and deal with separately.

POSIX process model
This means full MMU-supported memory protection between system processes, making it easy to isolate and protect individual tasks.

The process model also offers dynamic process creation and destruction, which is especially important for HA systems, because you can more readily perform fault detection, recovery, and live upgrades in the field.

The POSIX API provides a standard programming environment and can help achieve system simplification, validation, and verification.

In addition, the process model lets you easily monitor external tasks, which not only aids in fault detection and diagnosis, but also in service distribution.

Message passing
In the QNX Neutrino RTOS, all interprocess communication happens through standard message passing. For HA systems, this facilitates task decoupling, task simplification, and service distribution.

Local and network-remote messaging is identical and practically transparent for the application. In a network-distributed HA system, the QNX Neutrino message-based approach fosters replication, redundancy, and system simplification.

These represent some of the more prominent HA-oriented features that become readily apparent when the QNX Neutrino RTOS forms the basis of an HA design.