QNX является эффективной, надежной и масштабируемой многопользовательской мультизадачной сетевой операционной системой реального времени. Расшифруем, что означает каждое из перечисленных определений. Рассмотрим как все организовано в ОС QNX.
Архитектура QNX базируется на двух китах — модульности и механизме обмена сообщениями. Модульность подразумевает, что основные функции ОС осуществляются через независимые процессы, которые взаимодействуют друг с другом с помощью специального механизма. Механизм, который обеспечивается это взаимодействие, называется ядром системы, при данном подходе оно весьма невелико и обычно называется микроядром.
Особенность QNX заключается в том что использование сообщений для осуществления взаимодействия между процессами (IPC) позволило ей соединить воедино такие трудно-сочетаемые качества, как эффективность и модульная архитектура.
Микроядро
Микроядро в QNX имеет размер всего около 10 Kb и отвечает исключительно за диспетчеризацию процессов, переадресацию прерываний, передачу сообщений и поддержку сетевого интерфейса.
Диспетчеризация может поддерживать до 300 процессов с 32 уровнями приоритета и 4 алгоритмами планирования: Round-Robin (карусель), FIFO, Message-Priority и Adaptive.
Менеджер процессов
Обеспечивает создание и удаление процессов, таймеры и эмуляцию сопроцессора, управление памятью, диагностику. Сертифицирован в соответствии со стандартом POSIX 1003.1 и может поддерживать многие расширения POSIX 1003.4. Существует две версии — 16-ти разрядная и32-х разрядная. 32-х разрядная способна выполнять одновременно 16-ти и 32-х разрядные приложения, для этого необходимо лишь установить две соответствующие разделяемые системные библиотеки (фактически вы получите в одной упаковке две операционные системы). Данная версия использует все возможности прцессорв Intel для аппаратной защити памяти, включая и механизм страниц. Своппинг на диск не поддерживается, потом что он не соответствует требованиям к ОС реального времени.
Менеджер файловых систем
QNX допускает работу одновременно с несколькими файловыми системами. В стандартную комплектацию входят менеджеры файловых систем POSIX, DOS и ISO9660. Файловая система POSIX семантически соответствует UNIX, но гарантирует более высокую надежность (например, если отказало питание) и параллелизм в соответствии с POSIX 1003.1.
Менеджер устройств
Поддерживает устройства байт-ориентированные, позволяя выполнять обмен со скоростью 115200 baud в многозадачной среде на любом процессоре. При этом совершенно необходимо использовать буферизованные порты (UART) на скоростях выше 2400 baud.
Менеджер сети
Сетевое взаимодействие считается самымуязвимым местом в большинстве операционных систем и обычно создает много проблем для систем реального времени. Чтобы преодолеть это несовершенство разработчики QNX создали собственную сетевую технологию FLEET и специальный протокол FTL. ОН не базируется ни на одном из существующих сетевых протоколов типа IPX или NetBios и является уникальным в своем роде.