Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СРВ 2013.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
361.98 Кб
Скачать

22. Операционная система qnx.

ОС QNX создана программистами комп-и QNX Software System Ltd. в 1981 году и с этого момента она заняла лидирующее место среди СРВ.

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

QNX – это первая коммерческая ОС, построенная на принципах микроядра и обмена сообщениями. Система реализована в виде совок-ти независ-х (но взаимодей-х ч/з обмен сообщ-ми) процессов различ. уровня (менеджеры и драйверы), каждый из которых реализует опред-ый вид сервиса.

Эти идеи обеспечили ряд важнейших преимуществ.

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

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

Расширяемость и надежность одновременно, поск-ку написанный вами драйвер не нужно компилировать в ядро, рискуя вызвать нестабильность системы. Менеджеры ресурсов (сервис логич-го ур-я) работают в кольце 3, при этом можно добавлять свои, не опасаясь за с-му. Драйверы работают в кольце 1 и могут вызвать проблемы, но не фатального хар-ра. Кроме того, их дост-но просто писать и отлаживать. Н-р, постоянная головная боль разработчиков драйверов для Linux – получ-е физически непрер-го блока памяти для DMA-устройств – устран-ся ч/з фун-ю mmap().

Быстрый сетевой протокол FLEET, прозрачный для обмена сообщ-ми, автоматически обеспеч-щий отказоуст-ть, балансирование нагрузки и маршрутизацию м/у альтернативными путями доступа. Он не так универсален, как TCP/IP, но гораздо проще в использ-и и эффективнее.

Богатый выбор графических подсистем, включ-ий QNX Windows, X11R5 и Photon, что позволяет разраб-кам выбирать ту, кот-я лучше подходит для их целей. Для типичных областей применения QNX традиц-ая система X11 слишком тяжеловесна, но с-ма Photon, постр-ая на тех же принципах модульности, что и сама QNX, позволяет получить полнофункциональный GUI (типа Motif 2.0), раб-щий вместе с POSIX-совместимой ОС всего в 4 Мб памяти.

Недостатки:

– нет поддержки SMP;

– нет своппинга виртуальной памяти на диск;

– неэффек-ая и нестандартная поддержка нитей (threads);

– нет поддержки Java (как след-е предыдущего пункта);

– нет поддержки отображения файлов в память;

– многочисленные ограничения файловой системы;

– нет поддержки Unix-domain sockets;

– слабые сред-ва разгранич-я и контроля доступа польз-ей;

– отсутствие средств безопасности в рамках собственного сетевого протокола.