E-mail: Shark2@mail.ru

QNX Software LTD Company - page 2
Защита памяти. В обычных ОС реального времени и встраиваемых ОС часто используется плоскостная (flat) модель памяти. Основной ее недостаток состоит в том, что в ней трудно диагностируются ошибки программирования типа недействительных указателей, в результате чего работающие программы могут затирать друг друга или даже ядро ОС. Неизбежный результат - крах системы. Принятая в QNX модель работы с памятью лишена этого недостатка - благодаря использованию аппаратного диспетчера памяти, в QNX каждый программный компонент выполняется в отдельном изолированном адресном пространстве, надежно защищенном от несанкционированного доступа. В результате, система на базе QNX всегда умеет корректно самовосстанавливаться после программных сбоев, даже в драйверах и других критических программах - без перезагрузки!

Управляющий модуль реального времени:
защита памяти полностью отсутствует

Традиционная монолитная архитектура:
возможности защиты памяти для приложений ограничены

Архитектура QNX на основе микроядра:
полная защита всех компонентов
Поддержка защиты памяти в QNX также значительно упрощает отладку программ, поскольку позволяет определить, какой модуль попытался обратиться по недопустимому адресу - с точностью до инструкции! То, что в обычной ОС реального времени может потребовать недели или даже месяцы, в QNX фактически не занимает времени вообще.
Универсальная модель процесса.Все процессы в QNX являются абсолютно равноправными. Это означает, что для QNX с точки зрения ОС не существует никакой разницы между "системными" и "пользовательскими" процессами - все они выполняются вне ядра в отдельных защищенных адресных пространствах, пользуются одними и теми же сервисами и могут быть запущены и выгружены в любой момент времени. Это обеспечивает QNX непревзойденную масштабируемость - в систему на базе QNX можно добавлять модули фактически "на лету" (и в том числе удаленно, загружая их по сети!), не прибегая к перезагрузке ОС или перекомпоновке ядра.
Средства "горячего" резервирования.Защита памяти и возможность динамического добавления модулей в систему, предоставляемая применяемой в QNX универсальной моделью процесса, в совокупности дают еще один ценный выигрыш. Если в программном компоненте возникает ошибка, то во-первых, он не сможет своими действиями навредить всем остальным компонентам, а во-вторых, его можно будет корректно перезапустить, восстановив прежнее состояние системы. Это позволяет организовать в системе на базе QNX "горячее" резервирование программных модулей - предназначенный специально для этого программный пакет QNX High Availability Toolkit (HAT) позволяет добиться коэффициента готовности 99.999%, что соответствует примерно 5 минутам простоя в год! В дополнение к этому, QNX поддерживает также "горячую" замену оборудования - причем не только на основе общепринятых механизмов (таких как PCI Hot Plug), но и для аппаратных конфигураций, отличных от PCI. Все это вместе дает вам возможность, проектируя системы на базе QNX, добиваться надежности, о которой прежде можно было только мечтать!
QNX - это производительность
QNX обеспечивает приложениям настоящую производительность реального времени. Многозадачность, многопоточность, приоритетное вытесняющее планирование, богатый выбор механизмов синхронизации, рекордно малые времена реакции на прерывание и переключения контекста (550 наносекунд на Pentium III) - реализация в QNX этих незаменимых для ОС реального времени свойств удовлетворит самые изысканные запросы любых разработчиков.
QNX - это сеть
Одна из сильных сторон QNX - ее сетевые вохможности. Полная реализация в QNX стека протоколов TCP/IP - включая PPP, DHCP, NFS, RPC и SNMP - позволяет предоставлять широчайший спектр сетевых сервисов в самых разнообразных конфигурациях. Используя Ethernet или последовательные каналы, пользователи могут подключаться к Интернет или Интранет, обмениваться электронной почтой, запускать удаленные пользовательские интерфейсы, и многое другое. Более того, стек TCP/IP для QNX может легко масштабироваться от крошечных встраиваемых конфигураций до полнофункциональной реализации BSD 4.4.
Прозрачная сеть Qnet. QNX не останавливается на общепринятых стандартных сетевых механизмах. Реализованная в QNX сетевая архитектура Qnet предоставляет приложениям возможность прозрачного доступа к любому ресурсу, где бы он ни находился. Qnet является сетевым расширением механизма обмена сообщениями в QNX и дает возможность передавать сообщения по сети, как будто обмен происходит на локальном узле, позволяя таким образом объединить ресурсы сети QNX в единый логический суперкомпьютер. С использованием Qnet приложению становится неважно, где физически расположен ресурс - любой процесс может получить доступ к любому ресурсу в сети, будь то файловая система, администратор процессов или аппаратура, без необходимости в какой-либо модификации кода!

Применение Qnet дает приложениям непревзойденную гибкость. Одно и то же приложение может выполняться как на однопроцессорной ЭВМ, так и в распределенной сети, в том числе и состоящей из узлов, реализованных на разных процессорах - код приложения не зависит ни от конфигурации сети, ни от применяемого процессора, а значит, в случае внесения в систему каких-либо изменений никакого дополнительного программирования не потребуется. В качестве транспорта для Qnet вы можете использовать как свой собственный, оптимизированный для нужд вашего приложения, так и стандартный - например, применение TCP/IP в этом качестве сможет объединить ресурсы ваших приложений по всему миру!
Qnet также поддерживает динамическую балансировку нагрузки между физическими соединениями с разной пропускной способностью, а также резервированные сети с возможностью передачи сообщений как по первому доступному соединению, так и по всем соединениям одновременно.
QNX - это удобная графическая среда
QNX - единственнаяОС реального времени, имеющая свою встраиваемую графическую оконную систему. Это позволяет снабдить современным профессиональным графическим интерфейсом даже самое примитивное электронное устройство с ограниченными ресурсами.
Встраиваемая графическая оболочка. Photon microGUI - высокопроизводительная графическая оболочка, способная работать в чрезвычайно ограниченных ресурсах. Ее модульная структура дает разработчикам свободу создания функционально наполненных и гибко расширяемых приложений во встраиваемых средах. Photon microGUI содержит все для создания ультрасовременных графических приложений - просто добавьте или уберите необходимые модули, масштабируя свое приложение от крошечной встраиваемой системы до полноправной графической рабочей станции!

Совместимость. Photon также обеспечивает прекрасную совместимость между оконными системами. Используя технологию удаленного пользовательского интерфейса (Remote User Interface - RUI), вы сможете наблюдать - и контролировать - графическую среду встроенной системы на базе QNX в окне графического интерфейса Windows 95/98/NT или UNIX. Приложения RUI "знают" о скоростях обмена и могут работать по последовательным или сетевым соединениям. Применительно к встраиваемым системам, это может дать возможность снабдить графическим интерфейсом бесконсольный "черный ящик" и удаленно контролировать его, используя, например, стек TCP/IP, фактически из любой точки земного шара!
Используя необязательный клиентский модуль Citrix ICA (Independent Computer Architecture) для Photon, можно получить также обратную совместимость, если потребуется управлять сеансом пользователя в Windows 95/98/NT из окна Photon.
QNX - это мощные средства разработки
Первоклассный инструментарий. В комплект разработчика QNX включены лучшие средства создания самых современных встраиваемых систем реального времени. Некоммерческая поставка QNX Realtime Platform содержит в себе популярный инструментарий GNU, графические отладчики и ряд дополнительных свободно-распространяемых (или бесплатных для некоммерческого использования) средств разработки от "третьих" фирм. Кроме того, поскольку QNX имеет полностью POSIX-совместимый API, практически любое средство разработки, существующее в UNIX или Linux, может быть легко перенесено в QNX.

Однако, разработку для QNX можно вести не только в самой QNX, но и в других ОС - например, Windows, Linux или Solaris. Базовым средством разработки при этом является инструментарий GNU, дополненный на каждой платформе характерными для нее расширениями. Например, при разработке из-под Windows разработчики могут пользоваться преимуществами мощной интегрированной среды разработки Metrowerks CodeWarrior, использующей GNU-компилятор как подключаемый модуль. QNX также поддерживается открытой интегрированной средой разработчика Eclipse, которая, будучи полностью написанной на Java, может служить как резидентным, так и кросс-инструментом.
Помимо средств разработки приложений на "чистом" С/С++, в QNX доступны как резидентные, так и кросс-платформенные CASE-средства для визуального проектирования, в том числе на UML (такие как Rational Rose Realtime компании Rational), Java (например, Visual Age Micro Edition от компании IBM) и языках технологического программирования в стандарте МЭК 61131-3 (например, среда технологического программирования ISaGRAF от компании AlterSys).
Визуальное проектирование графических приложений.Разработчики графических приложений Photon могут значительно упростить труд рутинного программирования с помощью визуального средства разработки графических приложений - Photon Application Builder (PhAB). В PhAB графический интерфейс создается визуально, после чего автоматически генерируется реализующий его Си-код. PhAB помогает упростить не только стадию разработки интерфейса, но и стадии отладки и тестирования. Результат? Быстрая отработка пожеланий пользователя - более короткий путь продукта на целевой рынок.

PhAB доступен не только в самой QNX, но и в других ОС, для обеспечения возможности кросс-разработки.
Альтернативой PhAB для создания графических интерфейсов в среде Photon может служить поддерживающий QNX пакет разработчика Tilcon Realtime Developer, разработанный канадской компанией Tilcon Software Ltd. Он позволяет реализовывать в Photon сложнейшие объекты графического и человеко-машинного интерфейса, причем помимо стандартных объектов предлагает также ряд сложных компонентов типа электронных таблиц, объектов с множеством состояний и областей анимации - одним словом, все, что дает возможность в минимальный срок создавать потрясающие по своей функциональности интерфейсы и виртуальные инструменты.
Расширенные средства диагностики. Наряду с первоклассными средствами разработки, QNX предлагает также прекрасные средства диагностики, позволяющие видеть всю систему как на ладони. Используя специализированный пакет QNX System Analysis Toolkit (SAT), разработчик получает возможность проследить за поведением своей системы вплоть до микроядра ОС и наглядно увидеть самые низкоуровневые детали взаимодействия ее компонентов! Системы высокой надежности, созданные с применением QNX High Availability Toolkit (HAT), в дополнение к этому позволяют также вести журналы отказов программных модулей с возможностью локализации и последующей отладки сбойных участков кода.
QNX также поддерживается мощным программно-аппаратным пакетом системного анализа CodeTest от компании Applied Microsystems, обеспечивающим широчайшие возможности анализа и оптимизации кода и контроля за использованием ресурсов ЭВМ.

QNX - это переносимость кода
QNX - первое в мире POSIX-совместимое микроядро. В отличие от управляющих модулей реального времени и ОС, имеющих свои собственные API, QNX изначально разрабатывалась с учетом последних стандартов POSIX, включая расширения реального времени POSIX.4 и многопоточность (pthreads).
Реализация POSIX в QNX означает переносимость, и это переносимость не только кода приложений, но и самих разработчиков! Действительно, программистам, знакомым с UNIX или Linux, не потребуется никакой специальной подготовки, чтобы быстро освоиться в этой POSIX-совместимой среде.
В дополнение ко всему, такая встроенная POSIX-совместимость обеспечивается в QNX без утяжеления системы дополнительными объемами кода. Даже после добавления в систему администратора процессов для поддержки таких функций как создание процессов, обработка пространства имен путей и защита памяти, система на базе QNX остается чрезвычайно компактной и эффективной, что для встраиваемых систем является решающим фактором. Таким образом, с QNX вы можете расчитывать на лучшую общую производительность, меньшие потребности в памяти и меньшие объемы кода, составляющего сердце системы, не жертвуя при этом функциональностью или быстродействием.
QNX - это простота адаптации к оборудованию
QNX поддерживает множество процессоров и встраивается в широкий спектр готовых процессорных плат на их основе:
x86 (AMD - Elan SC400; Arcom Controls - SBC-Geode-GXm; Fastwel - CPU686E);
PowerPC (Motorola - MBX 860/821, Sandpoint 7400/7410/750/755/8240/8245, FADS 823/860T; Embedded Planet - RPX Lite, CLLF860T Redbox; IBM - Walnut 405GP, Artesyn);
MIPS (MIPS - Malta);
SH-4 (Hitachi - Solution Engine, BigSur);
ARM/StrongARM (Intel - Assabet, ARMIntegrator 720);
Xscale.
QNXтакже поддерживает разнообразные твердотельные диски (DiskOnChip, CompactFlash, и т.п.), и поэтому легко встраивается в любые оборудованные ими процессорные платы.
Что делать, если есть необходимость в использовании процессорной платы, которая не поддерживается? QNX дает ответ и на этот вопрос - для встраивания на процессорные платы, для которых не существует готового пакета поддержки (Board Support Package - BSP), в QNX существуют пакеты встраивания (embedding SDKs), с помощью которых производители могут разрабатывать BSP самостоятельно. Эти комплекты ориентированы на различные целевые процессоры и содержат примеры стартового кода, начальных загрузчиков и драйверов встраиваемых файловых файловых систем и документацию.
Также, для уменьшения затрат времени и труда, необходимых для создания своих собственных драйверов устройств, в QNX предусмотрена специализированная библиотека администратора ресурсов, превращающая разработку драйверов в приятный досуг - просто возьмите прилагаемый стандартный программный "каркас" драйвера и добавьте в него необходимые низкоуровневые детали, характерные для вашего устройства, обо всем остальном библиотека позаботится за вас. Кроме того, для ряда категорий устройств (аудио- и видеоадаптеры, сетевые карты, устройства ввода, принтеры и USB-устройства) в QNX доступны пакеты разработки драйверов (Driver Development Kits - DDK), содержащие примеры кода, заголовки, специализированные библиотеки и документацию.
QNX - это дружественное окружение
Являясь полностью POSIX-совместимой ОС, QNX открывает воистину небывалые возможности по переносу прикладного окружения из других ОС. Интернет-программы, проигрыватели аудио/видео, стеки протоколов, системы обработки изображений, игры, СУБД, средства разработки - все то, о чем в среде ОС реального времени раньше можно было только мечтать, теперь полностью в вашем распоряжении. Даже если нужный вам программный пакет еще не перенесен в QNX, POSIX-совестимость этой уникальной ОС делает перенос делом буквально нескольких дней!
Богатый выбор свободно-распространяемого прикладного окружения для QNX представлен на веб-сайтах сообществ разработчиков Source Forge (http://www.sourceforge.net/), ProjectBase (http://projectbase.codemain.com/), TuCows (http://qnx.tucows.com/qnxsoft.html/) и QNX Start (http://www.qnxstart.com/). Информацию о коммерческом прикладном окружении для QNX, разработанном официальными партнерами QNX Software Systems Ltd., можно найти на веб-сайте QNX Software Systems Ltd. в разделе "Partners & Solutions" (http://www.qnx.com/partners/vendors/index.html). Весь спектр программного и аппаратного обеспечения для QNX, поставляемого компанией SWD Software Ltd., официальным дистрибьютором QNX на территории стран СНГ и Балтии, представлен на веб-сайте компании в разделе "Продукты" (http://www.swd.ru/qnx/products/index.html).
Интернет-средства.Если вашему приложению будет необходимо просматривать веб-страницы или, наоборот, служить веб-сервером, Интернет-средства QNX предоставят вам все необходимые возможности. Если разработчику необходим веб-браузер, но нет времени или средств на разработку своего собственного, можно использовать штатный для QNX встраиваемый веб-браузер Voyager, поддерживающий такие современные технологии как SSL-128, а также содержащий дополнительные модули поддержки Macromedia Flash 4 и других популярных технологий, либо мощный полнофункциональный браузер и клиент электронной почты Mozilla, основанный на технологии Netscape 6. QNX также поддерживается популярным веб-браузером Opera.

Поддержка мультимедиа.В поставку QNX входят все необходимые модули для создания мультимедиа-приложений, укомплектованных по последнему слову техники. Поддержка включает в себя MPEG-1, MPEG-2, CD-аудио, аппаратное ускорение двух- и трехмерной графики, игровые API (Mesa, RenderWare, Glide) и многое другое.

Поддержка Java.QNX также поддерживается встраиваемой виртуальной машиной Java J9 от компании IBM. J9 представляет собой компактную встраиваемую Java-машину для встраиваемых применений и позволяет выполнять Java-приложения в среде QNX, что дает разработчикам все преимущества объектно-ориентированной разработки и кросс-платформенной совместимости, предоставляемые технологией Java.
QNX - это экономия ваших средств
Экономьте на аппаратуре. В отличие от ряда ОС, в которых предпринята попытка втиснуть монолитные программные конструкции или объемистые оконные интерфейсы во встраиваемые среды, QNX была разработана изначально с расчетом минимизировать число компонентов и стоимость конечного продукта. В частности, в специализированных целевых системах можно обойтись даже без затрат на BIOS, т.к. вызовы BIOS в QNX не используются. QNX была также изначально рассчитана на сведение к минимуму потребности в ОЗУ.
QNX поддерживает XIP (eXecute-In-Place - "выполнение с места"), что позволяет приложениям выполняться непосредственно из ПЗУ или ППЗУ. Также, поскольку загружаемый образ представляет собой обычную файловую систему с доступом по чтению, приложения могут стартовать без необходимости в отдельном администраторе файловых систем или командном интерпретаторе.
Удобная лицензионная политика. Лицензионная политика QNX сулит разработчикам немалые выгоды. Основное преимущество здесь состоит в том, что QNX Realtime Platform объявлена бесплатной для некоммерческого использования. Иными словами, официально приобретать комплект разработчика QNX необходимо только в том случае, когда предполагается использовать ее для прямого (разработка коммерческого ПО) или косвенного (разработка ПО, участвующего в производстве другого коммерческого продукта) получения прибыли. Это упрощает освоение инструментария разработчиками и позволяет избежать лишних затрат на начальных стадиях проекта, когда нужно создать прототип системы для демонстрационных нужд.
Гибкое ценообразование.Еще один важный момент - ценообразование на QNX, как и она сама, имеет модульную структуру. Вам не обязательно каждый раз платить за полный комплект, просто выберите нужные вам программные модули! Для упрощения процедуры заказа также предусмотрены несколько типовых модульных конфигураций, содержащих готовые наборы модулей QNX для устройств различной степени сложности.
QNX - это квалифицированная поддержка
Даже самый качественный продукт всегда нуждается в квалифицированной поддержке. Служба технической поддержки QNX Software Systems Ltd. предоставляет своим клиентам широчайший спектр услуг. В распоряжении пользователей QNX находится развитая сеть технической поддержки QNX Developers Network (QDN, http://qdn.qnx.com/), включающая в себя электронную библиотеку, несколько десятков тематических телеконференций, базу знаний, сборники FAQ, Интернет-репозитарий обновлений продуктов и многое другое. Пользователи, которым необходима оперативная помощь "из первых рук", могут также подписаться на коммерческие сервис-планы QNX Software Systems Ltd., предоставляюшие ряд дополнительных преимуществ (например, гарантированное время решения проблемы).
Поддержка продуктов QNX Software Systems Ltd. на национальных языках осуществляется локальными представителями. Высококвалифицированную русскоязычную техническую и информационную поддержку продуктов QNX Software Systems Ltd. предоставляет своим клиентам официальный дистрибьютор QNX на территории стран СНГ и Балтии, компанияSWD Software Ltd.(http://www.swd.ru/qnx/).

Hosted by uCoz