Концепция QNX

Лекция 4

Загальна характеристика ОС РЧ QNX 6. Структура і концепція ОС РЧ QNX 6.

QNX6

ОСРВ изначально разрабатывалась как POSIX-совместимая ОС, позволяющая создавать целевые системы, соответствующие любому из четырех профилей прикладного контекста реального времени. Термины, используемые в документации, поставляемой с QNX, соответствуют терминологии стандартов POSIX.

Операционная система QNX обеспечивает все неотъемлемые составляющие системы реального времени: многозадачность, диспетчеризацию программ на основе приоритетов и быстрое переключение контекста.

QNX – можно настроить таким образом, чтобы она отвечала требованиям конкретных приложений. QNX позволяет создать систему, использующую только необходимые для решения конкретной задачи ресурсы. Конфигурация системы может изменяться в широком диапазоне - от ядра с несколькими небольшими модулями до полноценной сетевой системы, обслуживающей сотни пользователей.

Концепция QNX

QNX базируется на двух фундаментальных принципах:

  • архитектура на основе микроядра;
  • связь между процессами на основе сообщений.

QNX NEUTRINO RTOS v6.2 имеет клиент - серверную архитектуру, состоящую из микроядра и сгруппированных вокруг него взаимодействующих процессов. Микроядро включает в себя только сервисы ядра, такие как нити, сигналы, передача сообщений, синхронизация, планирование заданий и таймер. Микроядро само по себе не подвергается планировке. Его код выполняется только в результате вызова ядра или возникновения аппаратного прерывания.

Дополнительные функциональные возможности осуществляются взаимодействующими процессами, которые действуют как серверные процессы и отвечают на запросы процессов клиентов (например, прикладного процесса). К серверным процессам - менеджер файловой системы, менеджер процесса, менеджер устройств, менеджер сети, и т.д. Ядро запускается на 0 уровне привилегий процессора Intel, менеджеры и драйверы устройств запускаются на уровнях 1 и 2 (для исполнения действий ввода/вывода). Прикладные процессы запускаются на 3 уровне привилегий и поэтому могут выполнять только общие команды процессора.

QNX - операционная система, основанная на передаче сообщений. Обработка передачи сообщений является фундаментальным средством взаимодействия процессов (IPC) в ОС QNX. Она основана на клиент-серверной модели: клиент (например, прикладной процесс) посылает сообщение серверу (например, менеджеру устройства), который возвращает результат. Многие запросы QNX NEUTRINO RTOS API используют данный механизм передачи сообщений. Например, когда прикладной процесс хочет открыть файл, запрос к системе переводится в сообщение, которое посылается менеджеру файловой системы. Менеджер файловой системы (после доступа к диску через его драйверы устройств) отвечает обработчиком файла. Этот механизм передачи сообщений является прозрачным относительно сети, то есть, система может быть распределена между более чем несколькими сетевыми узлами, без необходимости каких-либо изменений в коде приложения.

При передаче сообщений между клиентом и сервером, QNX использует механизм наследование приоритета. Это означает, что серверный процесс наследует уровень приоритета клиентского процесса, требующего обслуживания. Когда обслуживания запроса клиента завершено, серверный процесс может восстановить свой первоначальный уровень приоритета. Если обслуживания требуют несколько клиентов одновременно, серверный процесс принимает уровень приоритета клиентского процесса с наиболее высоким приоритетом. Это помогает избежать инверсии приоритетов.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: