QNX OS as a message-passing operating system
QNX OS was the first commercial operating system of its kind to make use of message passing as the fundamental means of IPC. The OS owes much of its power, simplicity, and elegance to the complete integration of the message-passing method throughout the entire system.
In QNX OS, a message is a parcel of bytes passed from one process to another. The OS attaches no special meaning to the content of a message—the data in a message has meaning for the sender of the message and for its receiver, but for no one else.
Message passing not only allows processes to pass data to
each other, but also provides a means of synchronizing the
execution of several processes. As they send, receive, and
reply to messages, processes undergo various changes
of state
that affect when, and for how long, they may
run. Knowing their states and priorities, the microkernel
can schedule all processes as efficiently as possible to
make the most of available CPU resources. This single,
consistent method—message-passing—is thus
constantly operative throughout the entire system.
Realtime and other mission-critical applications generally require a dependable form of IPC, because the processes that make up such applications are so strongly interrelated. The discipline imposed by QNX OS's message-passing design helps bring order and greater reliability to applications.