Микропроцессорное программное управление. Архитектура IXA. Зарубин А.А. - 22 стр.

UptoLike

Составители: 

Рубрика: 

22
3. Обзор операционных систем реального времени
На сегодняшний день существует более 100 коммерческих ОСРВ. Есть множество
бесплатных (или условно бесплатных) СРВ и систем, имеющих статус исследовательских
или университетских проектов. Рассмотрим краткое описание некоторых систем
реального времени.
QNX
Операционная система QNX является разработкой канадской компании QNX
Software System Ltd (1981).
Операционная система QNX представляет собой гибрид 16/32-битовой
операционной системы, которую пользователь может конфигурировать по своему
усмотрению. Наиболее часто она применяется для создания систем, работающих в
реальном масштабе времени. Время, необходимое для полной инсталляции системы,
включая сетевые средства, составляет всего 10-15 мин., после чего можно начинать
работу. Нетребовательность системы к ресурсам проявляется уже в том, что система с
необходимой и достаточной средой разработки в виде компилятора Watcom C/C++
(основной компилятор для QNX) умещается в 10 Мб.
QNX была первой коммерческой ОС, построенной на принципах микроядра и
обмена сообщениями. Система реализована в виде совокупности независимых (но
взаимодействующих через обмен сообщениями) процессов различного уровня
(менеджеры и драйверы), каждый из которых реализует определенный вид сервиса.
Эти идеи позволили добиться нескольких важнейших преимуществ:
предсказуемость, означающую ее применимость к задачам жесткого реального
времени; Ни одна версия UNIX не может достичь подобного качества, поскольку код ядра
слишком велик. Любой системный вызов из обработчика прерывания в UNIX может
привести к непредсказуемой задержке (то-же самое касается Windows NT);
масштабируемость и эффективность, достигаемую оптимальным использованием
ресурсов и означающую ее применимость для встроенных (embedded) систем. В каталоге
/dev присутствуют только необходимые для поставленных задач файлы, соответствующие
нужным драйверам. Драйверы и менеджеры можно запускать и удалять (кроме файловой
системы) динамически, просто из командной строки. Возможна также покупка только тех
модулей, которые реально необходимы для обеспечения нужных функций;
расширяемость и надежность одновременно, поскольку написанный драйвер не
нужно компилировать в ядро, рискуя вызвать нестабильность системы.
Система построена по технологии FLEET [Fault-tolerance (отказоустойчивая), Load-
bаlаncing (регулирующая нагрузку), Еffiсiеnt (эффективная), Ехtеnsible (расширяемая),
Тгаnsparent (прозрачная)], которая выражается в следующих принципах. QNX является
ОСРВ на основе микроядра (размером около 10 Кб). В качестве основного средства
взаимодействия между процессами система использует передачу сообщений. Благодаря
этому в 32-битовой среде возможно взаимодействие процессов с 32 и 16-битовым кодом.
Причем сообщения передаются между любыми процессами, не зависимо от того,
находятся ли процессы на одном компьютере или на разных узлах сети.
Пользователь, работая на одном из узлов сети, может иметь доступ к любым
ресурсам остальных узлов, включая порты, файловую систему и задачи. Пользователю нет
никакой необходимости вникать в сетевой протокол, который, кстати, не является тайной,
вплоть до его структуры. Он содержит пакеты, которые применяются также и для
передачи сообщений. Сетевой администратор распознает эти пакеты и переправляет их
микроядру, которое, в свою очередь, переправляет их в шину локальных сообщений. QNX
способна распознавать не только пакеты сообщений QNX-процессов. Возможно также