русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-11-28; просмотров: 1170; Нарушение авторских прав


Вспомним основные принципы, обязательная реализация которых позволяет со­здавать операционные системы реального времени (ОСРВ). Первым обязатель­ным требованием к архитектуре операционной системы реального времени явля­ется многозадачность в истинном смысле этого слова. Очевидно, что варианты с псевдомногозадачностью (а точнее, с невытесняющей многозадачностью) в систе­мах 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 процессора.



<== предыдущая лекция | следующая лекция ==>
Операционная система FreeBSD | Архитектура системы QNX


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.402 сек.