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

QNX: что нового?

Операционная система QNX компании QNX Software Systems (QSSL) занимает особое место среди других ОС. Она предназначена прежде всего для управления процессами в реальном времени, но тем не менее сохранила и платформенную независимость, и универсальность, редко присущие управляющим системам. Благодаря этим качествам для разработки специализированных решений не требуется какой-либо инструментальной системы на базе ОС общего назначения (Windows или Linux, хотя такая возможность имеется): все необходимые средства включены в саму QNX. Микроядерная архитектура упрощает разработку и отладку драйверов для нестандартных внешних устройств, что очень важно для управляющей ОС. Но самое главное заключается в том, что QNX — система жесткого реального времени, что позволяет использовать ее в особо ответственных случаях, например в авиационной и ракетно-космической электронике, а весьма почтенный возраст этой ОС (первая ее версия появилась более 20 лет назад) служит дополнительным залогом ее надежности. Именно этим объясняется постоянный рост интереса к QNX, очередным свидетельством которого стала организованная в Санкт-Петербурге компанией SWD Software (www.swd.ru), официальным дистрибьютором QSSL в России и странах СНГ, 8-я международная конференция “QNX — Россия’2004”, в работе которой приняли участие более 200 специалистов из стран СНГ.

На сегодняшний день наибольшее распространение получила четвертая версия ОС QNX. Она уже не развивается, но ее поддержка будет в полном объеме сохраняться и впредь. Однако для новых разработок целесообразно использовать последнюю версию ОС — QNX Neutrino 6.3, содержащую ряд существенных дополнений и улучшений, о которых собравшимся рассказал Питер ван дер Вин, главный архитектор ПО компании QSSL. К числу важнейших особенностей Neutrino он отнес:

  • полную поддержку симметричных многопроцессорных систем (SMP);
  • модульную графическую оболочку QNX Photon microGUI, облегчающую создание графических приложений для встраиваемых применений. Photon поддерживает кодировку Unicode, обеспечивает работу с различными мультимедийными форматами данных, позволяет “на лету” подключать новые графические сервисы (драйверы видеоплат и устройств ввода, менеджеры окон и т. п.) или заменять уже существующие. В отличие от многих других ОСРВ, содержащих лишь графические библиотеки с ограниченными возможностями, Photon является полноценной графической средой;
  • улучшенный встраиваемый веб-браузер QNX Voyager 2;
  • полную поддержку трехмерной графики спецификации OpenGL v1.4, которую осуществляет разработчик самой ОС, а не сторонние производители. Библиотека Mesa, отвечающая за OpenGL, действует независимо от Photon microGUI и может использоваться и без нее;
  • разнообразные файловые системы, обеспечивающие хранение и обработку файлов в ППЗУ, на жестких дисках, CD/DVD, а также на других вычислительных системах с доступом по сети;
  • улучшенную поддержку сетевых технологий. В частности, имеется три версии стека протоколов TCP/IP: IPv4, IPv4/v6 (включая IPSec) и Tiny TCP/IP. В зависимости от своих потребностей разработчик может выбрать именно ту версию, которая ему необходима;
  • среду исполнения Java в двух вариантах на основе виртуальной машины J9 компании IBM (www.ibm.com): WebSphere Embedded Environment, совместимую с Java 2 Mobile Edition (J2ME) корпорации Sun Microsystems (www.sun.com), и WebSphere Custom Environment, поддерживающую предопределенное подмножество спецификации Java 2 Standard Edition (J2SE) и обеспечивающую наращивание функциональности с помощью дополнительных модулей;
  • механизм асинхронного обмена сообщениями, введенный по просьбам заказчиков и призванный уменьшить накладные расходы на обмен сообщениями между приложениями;
  • доступ к аппаратным счетчикам производительности, что дает возможность точнее профилировать приложения и определять узкие места для дальнейшей оптимизации;
  • поддержку USB 2.0 и устройств массовой памяти USB;
  • адресацию более 4 Гб оперативной памяти.

Особо следует остановиться на интегрированном комплекте разработчика QNX Momentics. Этот инструментарий функционирует как под управлением самой QNX, так и в операционных системах Microsoft Windows, Sun Solaris и различных дистрибутивах Linux. IDE Momentics основана на открытой платформе Eclipse версии 2.1.2, что позволяет достаточно просто расширять набор инструментов, в том числе за счет решений сторонних производителей.

В качестве языков программирования Momentics предлагает Cи, C++ и Java. Среди наиболее заметных улучшений последней версии можно отметить использование нового компилятора GCC 3.3.1, обеспечивающего лучшую совместимость со стандартом C99 и генерирующего более эффективный код. Тем не менее присутствует и старый компилятор GCC 2.95.2.

В IDE Momentics встроена поддержка протокола управления версиями CVS, благодаря чему облегчается создание приложений достаточно крупными коллективами разработчиков.

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

Весьма часто при проектировании встраиваемых систем нужны драйверы для нестандартных устройств. Здесь на помощь приходят комплекты разработки драйверов (DDK), сводящие к минимуму затраты на получение новых драйверов. Если новое устройство относится к типу, поддерживаемому DDK (аудио-, сетевые и графические адаптеры, устройства ввода, принтеры, символьные и USB-устройства), разработчик должен написать лишь аппаратно-зависимый код, все остальное уже имеется. Но даже в случае совершенно нестандартного устройства проще использовать имеющийся в составе DDK каркас драйвера, дополняя его необходимыми функциями.

Для создания графических приложений, использующих среду QNX Photon microGUI, в состав IDE Momentics входит построитель приложений PhAB, значительно упрощающий и ускоряющий разработку. Он дает возможность использовать готовые шаблоны и обширную палитру доступных элементов управления (виджетов).

Наконец, Momentics имеет все необходимые средства для анализа производительности и отладки приложений. Сам процесс отладки зачастую оказывается проще, чем в “классических” системах, благодаря микроядерной архитектуре. Особенно это заметно при написании драйверов, поскольку “падение” драйвера в QNX не вызывает краха системы, как это имеет место, например, в Windows.

Многоплатформенность, универсальность и наличие развитого инструментария делает QNX весьма привлекательным выбором для разработки практически любых встраиваемых систем. И если в областях, не слишком требовательных к “реальности” реального времени (в частности, в информационно-развлекательных центрах), очень серьезную конкуренцию ей составляют встраиваемые версии Windows и Linux, то в тех случаях, когда требования к скорости обработки очень жесткие, альтернативу QNX можно найти только среди еще более специализированных ОСРВ.

Иван Савватеев

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

Rambler's Top100           Рейтинг@Mail.ru