SWD Software Ltd. - официальный дистрибьютор QNX на территории России и стран бывшего СССР Операционная система реального времени QNX
Инструменты для создания надёжных встраиваемых систем и
интеллектуальных устройств любой сложности
QNX Software Systems - разработчик встраиваемой операционной системы QNX
Информационные брошюры
Статьи и публикации
Обзоры
Операционные системы
Графические интерфейсы
Средства разработки
Прикладные системы на базе ОС QNX
Разное
Конкурсные статьи
Техническая литература
Материалы конференций QNX-Россия
Полезные ссылки
Блог QNX
Главная страница > Материалы > Статьи и публикации > Конкурсные статьи > Проект "Neutrino": В поисках Святого Грааля > Заключение Сделать страницу стартовой Послать ссылку коллеге Версия для печати

Заключение

Neutrino не является единственной новой разработкой в области операционных систем. Существует несколько других интересных проектов, некоторые из которых построены на принципах сходных с QNX (микроядро и обмен сообщениями) и пригодны для применения в системах реального времени. Такие системы, как L3/L4 и MkLinux имеют также некотороые преимущества перед существующей версией Neutrino, например поддержку алгоритма диспетчеризации EDF и возможность исполнять приложения Linux (которых достаточно много). Тем не менее, ни одна из этих систем не пригодна для применения во встраиваемых системах с ограниченными ресурсами, представляющими наибольший интерес для рынка систем реального времени.

Чем Neutrino отличается от QNX?

Тем кто хорошо знаком с QNX из всего вышесказанного легко понять, что Neutrino имеет множество преимуществ. Не все из них реализованы в версии 1.0, Но ожидается, что следующая версия 1.1 будет поддерживать большую часть объявленных возможностей. Сформулирую вкратце лишь основные достоинства, чтобы легче было ориентироваться в многообразии нововведений:

  • Большая степень масштабируемости, как вниз так и вверх
  • Более высокая производительность, за счет улучшения архитектуры (нити).
  • Большее количество уровней приоритетов (256);
  • Новые средства синхронизации (condvars и mutexes), с поддержкой наследования приоритетов;
  • Отсутсвие необходимости в BIOS.
  • Улучшенные средства асинхронного обмена. (Pulses)
  • Поддержка SMP;
  • Поддержка файлов, отображаемых в память;
  • Поддержка UNIX-domain sockets и 100% совместимость с BSD-sockets;
  • Современный формат исполняемых модулей (ELF, с расширениями для сжатия);
  • Поддержка динамически связываемых библиотек (DLL);
  • Повышенный уровень безопасности (шифрование сообщений);
  • Усовершенствованная файловая система;
  • Поддержка виртуальной файловой системы Proc;
  • Мультиплатформенность;
  • Поддержка Java;
  • Расширяемость системы за счет подстановки системных вызовов;
  • Более гибкая цена, за счет более модульной структуры;
Обратная сторона медали? Перечисленные нововведения настолько глобальны, что они неизбежно должны привести к некоторой несовместимости с QNX 4.x. Однако, разработчики заявляют что будет обеспечена 100% переносимость приложений из QNX в Neutrino. На данный момент это еще не сделано, но в принципе возможно, включая и бинарную совместимость. Кроме того, система еще не полностью закончена, ориентировочный срок выхода полной версии Neutrino - середина 1998 года.

QNX или Neutrino?

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

На основании этих соображений, можно сделать несложные выводы. Тем, кто уже разработал свои системы под QNX4 и удовлетворен существующими возможностями, следует пока оставаться с QNX4 и не гнаться за новизной. Тем же, кто только начинает проектировать системы реального времени или ищет новые возможности, имеет смысл ориентироваться на Neutrino. Разработчики ПО общего назначения находятся в более сложной ситуации – им нужно поддерживать старых клиентов, большинство из которых будут еще долго использовать QNX4, в то-же время нужно захватывать позиции на новом рынке.

На данный момент API двух платформ имеют значительные непересекающиеся части, однако представители QSSL утверждают, что эта ситуация будет устранена. Вероятно, тогда проблема станет менее трудной. Уже сейчас в системе Photon, которая будет поддерживаться для обеих платформ, появились функции, маскирующие различия между QNX и Neutrino. Впрочем, это не решит всех проблем. Neutrino предлагает существенно иную парадигму программирования, с сильным акцентом на использование многопоточности, поэтому для ее эффективного использования основной станет проблема переобучения специалистов, привыкших к QNX4. 

Так или иначе, будущее безусловно за Neutrino, но следует заметить, что богатый набор функций, реализованный в соответсвии со стандартами POSIX, уже сейчас делает Neutrino весьма привлекательной альтернативой существующим решениям. Исследования рынка систем реального времени показали, что для систем с жесткими ограничениями ресурсов все еще широко используются различные исполняющие системы (realtime executive) c нестандартизированным API и часто довольно бедными функциональными возможностями. Именно поэтому разработчики Neutrino приняли решение выпустить предварительную версию систему, не имеющую пока возможностей для масштабирования вверх, но уже пригодную для применения во встроенных системах. Не случайно фирма Intel с некоторых пор поддерживает очень хорошие отношения с QSSL и покупает лицензии на Neutrino в огромных количествах. Несмотря на наличие собственной ОС реального времени iRMX, Intel также официально объявила о том, что QNX/Neutrino является для нее "Realtime OS of preference" и отправила около 300 своих инженеров из различных отделений на семинары по изучению QNX/Neutrino.

Тем не менее, "классическая" ветвь QNX4 в какой-то мере пока продолжает развиваться, совершенствуя свои качества. По заявлениям представителей QSSL в дальнейшем будет происходить "миграция" технологий между двумя ветвями (QNX4 и Neutrino), с тем чтобы в конце концов обеспечить плавное и безболезненное слияние, к тому моменту, когда Neutrino будет готова заменить QNX в системах высокого уровня. Неясно пока, сможет ли Neutrino конкурировать с традиционно применяемыми Unix-системами или Windows NT на рынке высокопроизводительных серверов, и станет ли она "Святым Граалем" для широкого круга пользователей, но на рынке встроенных систем реального времени ее ждет несомненный успех.

Всем, кого интересует эта тема я рекомендую посетить WEB-сервер фирмы QSSL http://www.qnx.com, где можно прочитать также о примерах практического применения системы QNX в самых разнообразных проектах. Информация на русском языке, в том числе эта и другие мои статьи доступна на нашем сервере http://www.infomarket.ru, а также на сервере официального дистрибьютора QNX в России – http://www.swd.ru.



QNX®, Neutrino и Photon являются торговыми марками фирмы QNX Software Systems Ltd.
Иллюстрации в тексте © QSSL, использованы с ее любезного разрешения.

© И. Н. Коваленко, 1997
Данная статья будет опубликована
в 5-м номере журнала "Открытые система" за 1997-й год.

« Назад

Рассказать друзьям:

     Рейтинг@Mail.ru