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

Вспомним основные принципы, обязательная реализация которых позволяет со­здавать операционные системы реального времени (ОСРВ). Первым обязатель­ным требованием к архитектуре операционной системы реального времени явля­ется многозадачность в истинном смысле этого слова. Очевидно, что варианты с псевдомногозадачностью (а точнее, с невытесняющей многозадачностью) в систе­мах Windows 3.X или Novell NetWare неприемлемы, поскольку они допускают воз­можность блокировки или даже полного развала системы одним неправильно ра­ботающим процессом. Для предотвращения блокировок вычислений ОСРВ должна использовать квантование времени (то есть использовать вытесняющую, а не коо­перативную многозадачность), что сделать достаточно просто. Вторая пробле­ма — организация надежных вычислений — может быть эффективно решена за счет специальных аппаратных возможностей процессора. При построении системы для работы на персональных компьютерах типа IBM PC для этого необходимы про­цессоры типа Intel 80386 и выше, чтобы иметь возможность организовать функци­онирование операционной системы в защищенном (32-разрядном) режиме работы процессора. Для эффективного обслуживания прерываний операционная система должна использовать алгоритм диспетчеризации, обеспечивающий вытесняющее планирование, основанное на приоритетах. Наконец, крайне желательна эффек­тивная поддержка сетевых коммуникаций и наличие развитых механизмов взаи­модействия между процессами, поскольку реальные технологические системы обычно управляются целым комплексом компьютеров и/или контроллеров. Весь-


Сетевая операционная система реального времени QNX__________________ 341

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

Операционная система QNX является мощной операционной системой, разрабо­танной для процессоров с архитектурой ia32. Она позволяет проектировать слож­ные программные комплексы, работающие в реальном времени как на отдельном компьютере, так и в локальной вычислительной сети. Встроенные средства QNX обеспечивают поддержку многозадачного режима на одном компьютере и взаимо­действие параллельно выполняемых задач на разных компьютерах, работающих в среде локальной вычислительной сети. Таким образом, эта операционная система хорошо подходит для построения распределенных систем.

Основным языком программирования в системе является С. Основная операци­онная среда соответствует стандарту POSIX. Это позволяет с небольшими дора­ботками переносить ранее разработанное программное обеспечение в QNX для организации их работы в среде распределенной обработки.

Операционная система QNX, будучи сетевой и мультизадачной, в то же время яв­ляется многопользовательской (многотерминальной). Кроме того, она масштаби­руема. С точки зрения пользовательского интерфейса и интерфейса прикладного программирования она очень похожа на UNIX, поскольку выполняет требования стандарта POSIX. Однако QNX — это не версия UNIX, хотя почему-то многие так считают. Система QNX была разработана, что называется, «с нуля» канадской фирмой QNX Software Systems Limited в 1989 году по заказу Министерства оборо­ны США, причем на совершенно иных архитектурных принципах, нежели исполь­зовались при создании операционной системы UNIX.

QNX была первой коммерческой операционной системой, построенной на прин­ципах микроядра и обмена сообщениями. Система реализована в виде совокупно­сти независимых (но взаимодействующих путем обмена сообщениями) процессов различного уровня (менеджеры и драйверы), каждый из которых реализует опре­деленный вид услуг. Эти идеи позволили добиться нескольких важнейших пре­имуществ. Вот как об этом написано на сайте, посвященном операционной систе­ме QNX [14].

- Предсказуемость означает применимость системы к задачам жесткого ре­ального времени. QNX является операционной системой, которая дает пол­ную гарантию того, что процесс с наивысшим приоритетом начнет выпол­няться практически немедленно, и критически важное событие (например, сигнал тревоги) никогда не будет потеряно. Ни одна версия UNIX не может достичь подобного качества, поскольку нереентерабельный код ядра слиш­ком велик. Любой системный вызов из обработчика прерывания в UNIX может привести к непредсказуемой задержке (то же самое можно сказать про Windows NT).


342________________ Глава 10. Краткий обзор современных операционных систем

- Масштабируемость и эффективность достигаются оптимальным использова­
нием ресурсов и означают применимость QNX для встроенных (embedded) си­
стем. В данном случае мы не увидим в каталоге /dev множества файлов, соот­
ветствующих ненужным драйверам, что характерно для UNIX-систем. Драйверы
и менеджеры можно запускать и удалять (кроме файловой системы, что оче­
видно) динамически, просто из командной строки. Мы можем иметь только те
услуги, которые нам реально нужны, причем это не требует серьезных усилий и
не порождает проблем.

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

- Быстрый сетевой протокол FLEEP прозрачен для обмена сообщениями, авто­матически обеспечивает отказоустойчивость, балансирование нагрузки и мар­шрутизацию между альтернативными путями доступа.

- Компактная графическая подсистема Photon, построенная на тех же принци­
пах модульности, что и сама операционная система, позволяет получить пол­
нофункциональный интерфейс GUI (расширенный интерфейс Motif), работа­
ющий вместе с POSIX-совместимой операционной системой всего в 4 Мбайт
памяти, начиная с i80386 процессора.








Дата добавления: 2016-09-20; просмотров: 616;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.