Copyright

Архитектура QNX

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 и является уникальным в своем роде.

Похожие записи