What is the QNX

QNX is an operating system for PCs. It has microkernel architecture and it is designed especialy for real time applications.

QNX's microkernel architecture

QNX's kernel is very small -less then 8K. It's essentilal functions are:

  1. Message passing. The kernel handles the routing of all messages among all processes throughout the entire system.
  2. Scheduling. The scheduler is a part of the Kernel, and is invoked whenever a process changes state as the result of a message or interrupt.
Unlike the processes, the Kernel itself is never scheduled for execution. It is entered only as the direct result of kernel calls, either from a process or from a hardware interrupt. All QNX services, exept those provided by the Kernel, are handled via standard QNX processes. A typical QNX configuration has the following system processes:

Interprocess communication

QNX provides a simple but powerful set of Interprocess Communication (IPC) capabilities that simplify the job of developing applications made up of cooperating processes. In QNX, a message is a packet of bytes passed from one process to another. QNX attaches no special meaning to the content of a message.

Message passing not only allows processes to pass data to each other, but also provides syncronizing the execuion of several processes. As they send, receive, and reply to messages, processes go through various "changes of state" that affect when, and for how long, they may run.

QNX as a network

QNX integrates the entire network into a single, homogeneous set of resources. Any process on any machine in the network can directly make use of any resource on any other machine. There is no difference between a local or remote resource and no special facilities need to be built into applications to make use of remote resources. Users may access files anywhere on the network, take advantage of any peripherial device, and run applications on any machine on the network. Processes can communicate in the same manner anywhere throughtout the entire network.