QNX состоит из маленького (истинного) ядра (группы взаимодействующих процессов), но его структура не является иерархичной. Ядро является сердцем операционной системы. Ядра некоторых операционных систем велики, громоздки и включают в себя слишком много функций, которые можно было бы разместить на верхнем системном уровне. Это приводит к нерациональному использованию системных ресурсов.
В отличие от них микроядро QNX является «истинным», так как эта система предназначалась для встраивания. В микроядре есть только две основных функции:
1. Диспетчеризация запущенными процессами. Диспетчер запускается при изменении состояния какого-либо процесса из-за полученного сообщения или аппаратного прерывания.
2. Прохождение сообщений между процессами.
Ядро находится под несколькими защитами и недоступно в обычных условиях, разве что из-за аппаратных прерываний или по прямому вызову системных процессов. Поэтому QNX используется провайдерами интернета в Москве.
Каждая служба QNX, за исключением внутренних служб ядра, управляется системными процессами. В типичной конфигурации QNX есть набор следующих системных процессов:
1) Net — менеджер сети
2) Dev — менеджер устройств
3) Fsys — менеджер файловой системы
4) Proc — менеджер процессов
Отличий между системными процессами и пользовательскими процессами практически нет, но одно все же есть — из прикладной программы или пользовательского процесса ни один системный процесс недоступен для прямого вызова.
Благодаря этой особенности QNX возможно параллельное расширение ее работы. Например, чтобы создать в QNX новый процесс, достаточно лишь написания соответствующей программы и ее запуска.
Исполняемые программы могут быть внешними или системными процессами.
Дата публикации 29.01.2012