Мегаобучалка Главная | О нас | Обратная связь


Операционная система реального времени QNX



2019-12-29 254 Обсуждений (0)
Операционная система реального времени QNX 0.00 из 5.00 0 оценок




 

 

3.1 Операционная система QNX

 

 

QNX - операционная система реального времени, разработанная специально для высокоответственных приложений, бесперебойно функционирующих годами. Надёжность QNX обеспечивается её архитектурой - это настоящая операционная система на основе микроядра. В QNX ядром обрабатываются только базовые примитивы ОС (сигналы, таймеры, планирование). Все остальные компоненты: драйверы, файловые системы, стеки протоколов, прикладные приложения - выполняются вне пределов ядра как отдельные процессы, каждый в своём защищённом адресном пространстве. Такой подход автоматически обеспечивает системам на основе QNX «встроенную» отказоустойчивость.

Все компоненты QNX используют для общения друг с другом единый, чётко

детерминированный механизм - обмен сообщениями. Он образует между компонентами системы виртуальную «программную шину», позволяющую подключать к ней или, наоборот, отключать любой компонент «на лету». Сообщения могут свободно передаваться между узлами вычислительной сети, предоставляя прозрачный доступ к любому ресурсу, где бы он ни находился.

 

Использование QNX позволяет:

 

создавать системы, способные к самовосстановлению - в QNX любой компонент в случае отказа может быть перезапущен динамически, не нарушая работу микроядра и других компонентов. Например, если драйвер попытается обратиться к памяти за пределами своего адресного пространства (что для большинства ОС является фатальной ошибкой), QNX корректно завершит этот драйвер и освободит все занятые им ресурсы; использовать одну и ту же ОС во всей своей линейке программных продуктов - благодаря исключительной модульности QNX любые уже испытанные и проверенные компоненты: драйверы, приложения, дополнительные сервисы ОС - могут использоваться повторно в других продуктах. Фактически универсальный набор бинарных модулей может применяться как в однопроцессорном устройстве, так и в SMP_системе, и в вычислительном кластере; производить обновление системного программного обеспечения без остановки работы конечного устройства - поскольку любой компонент в QNX может быть добавлен или удалён динамически, система может продолжать работать даже в процессе замены или добавления в неё новых приложений, драйверов или стеков протоколов.

 

3.2 Архитектура ядра системы QNX

 

 

Система QNX состоит из небольшого ядра (микроядра) и набора взаимодействующих процессов. Как показано на рис. 1, система не имеет иерархической структуры, ее организация скорее напоминает "спортивную команду", в которой игроки (процессы), имеющие равную значимость, взаимодействуют друг с другом и со своим "ведущим игроком" (ядром).

 

Рис. 1

 

 

Ядро системы QNX

 

Ядро является "сердцем" любой операционной системы. В некоторых системах на ядро возложено такое количество функций, что, по сути дела, оно само является полной операционной системой.

В системе QNX ядро является действительно ядром. Прежде всего, как и подобает ядру операционной системы реального времени, оно имеет небольшой размер_-_менее 8 Кбайт. На ядро системы QNX возложено выполнение только двух основных функций:

· передача сообщений (ядро реализует передачу всех сообщений между всеми процессами во всей системе);

· планирование (планировщик является частью ядра и подключается каждый раз, когда процесс меняет свое состояние в результате появления сообщения или прерывания).

В отличие от процессов само ядро никогда не планируется к выполнению. Управление передается ядру только в результате прямого вызова ядра либо из процесса, либо по аппаратному прерыванию.

 

Системные процессы

Все функции, выполняемые операционной системой QNX, за исключением функций ядра, реализуются стандартными процессами. В типичной конфигурации системы QNX имеются следующие системные процессы:

· Администратор процессов (Proc);

· Администратор файловой системы (Fsys);

· Администратор устройств (Dev);

· Сетевой администратор (Net).

 

 

Микроядро

 

 

Ядро операционной системы QNX, представленное на рис. 2, выполняет следующие функции:

· связь между процессами (IPC). Ядро обеспечивает три формы IPC (сообщения, proxy (прокси) и сигналы);

· сетевое взаимодействие нижнего уровня. Ядро передает все сообщения, предназначенные процессам на другом узле;

· планирование процессов. Планировщик ядра определяет, какой процесс будет выполняться следующим;

· первичную обработку прерываний. Все прерывания и сбои аппаратного обеспечения сначала обрабатываются в ядре, а затем передаются соответствующему драйверу или системному администратору.

 



2019-12-29 254 Обсуждений (0)
Операционная система реального времени QNX 0.00 из 5.00 0 оценок









Обсуждение в статье: Операционная система реального времени QNX

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (254)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.022 сек.)