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

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

ОС QNX была создана программистами компании QNX Software System Ltd. в 1981 году и с этого момента она заняла лидирующее место среди СРВ, существующих на тот момент на рынке. ОС QNX смогла занять лидирующее положение благодаря многим особенностям, присущим только ей.

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

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

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

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

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

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

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

Недостатки:

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

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

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

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

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

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

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

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

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