Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_СГTУ new v10.doc
Скачиваний:
147
Добавлен:
12.11.2019
Размер:
4.13 Mб
Скачать

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

3.1. Версии операционной системы qnx Neutrino

QNX — POSIX-совместимая операционная система жесткого реального времени, предназначенная преимущественно для встраиваемых систем. Считается одной из лучших реализаций концепции микроядерных ОС.

Как микроядерная операционная система, QNX основана на идее работы основной части своих компонентов как небольших задач, называемых сервисами [1]. Это отличает её от традиционных монолитных ядер, в которых ядро операционной системы — одна большая программа, состоящая из большого количества «частей», каждая со своими особенностями. Использование микроядра в QNX позволяет пользователям (разработчикам) отключить любую ненужную им функциональность, не изменяя ядро. Вместо этого можно просто не запускать определённый процесс.

Система достаточно небольшая, чтобы в минимальной комплектации уместиться на одну дискету, вместе с этим она считается очень быстрой и должным образом «законченной» (практически не содержащей ошибок).

QNX Neutrino, выпущенная в 2001 году, перенесена на многие платформы, и сейчас способна работать практически на любом современном процессоре, используемом на рынке встраиваемых систем. Среди этих платформ присутствуют семейства x86, MIPS, PowerPC, а также специализированные семейства процессоров, такие, как SH-4, ARM, StrongARM и xScale.

В 1980 году студенты канадского Университета Ватерлоо Гордон Белл и Дэн Додж закончили изучение базового курса по разработке операционных систем, в ходе которого они создали основу ядра, способного работать в реальном времени. Разработчики были убеждены, что в их продукте была коммерческая потребность, и переехали в город Каната в провинции Онтарио (город высоких технологий, иногда это место называют северной Силиконовой долиной Канады) и основали компанию Quantum Software Systems. В 1982 году была выпущена первая версия QNX, работающая на платформе Intel 8088.

Одно из первых применений QNX, получивших широкое распространение, не относилось к встраиваемым системам — она была выбрана для собственного компьютерного проекта Министерства образования Онтарио, Unisys ICON. В те годы QNX использовалось в основном только для «больших» проектов, так как ядро, имеющее размер 44 килобайта, было слишком большим, чтобы работать на однокристальных чипах того времени. В середине 1980-х годов была выпущена QNX2. Система имела завидную репутацию за надёжность и получила широкое распространение для управления промышленными машинами. QNX2 и сейчас иногда применяется в ответственных системах.

В середине 1990-х в Quantum поняли, что на рынке быстро завоёвывает популярность POSIX, и решили переписать ядро, чтобы оно было более совместимым на низком уровне. Так появилась QNX4. Она была доступна со встраиваемой графической подсистемой, названной Photon microGUI, и портированной под QNX версией X Window System. Перенесение программ в QNX4 из операционных систем, основанных на Unix, стало намного проще, также были убраны многие из «причуд» более ранних версий. Также, в начале 1990-х компания была переименована в QNX Software Systems (QSS), чтобы избежать путаницы с другими компаниями, в первую очередь с производителем жёстких дисков, имеющим такое же имя.

В конце 1990-х было решено создать операционную систему, соответствующую свежей редакции POSIX и в максимальной степени совместимую с NetBSD и GNU/Linux, в то же время, сохранив предсказуемое поведение и микроядерную архитектуру. Результатом этих разработок стала QNX Neutrino, выпущенная в 2001 году (рис.38). Эта версия поставляется вместе с QNX Momentics, средой разработки программного обеспечения (IDE), основанной на Eclipse IDE, различными утилитами GNU и программным обеспечением, ориентированным на Интернет: веб-браузерами Voyager и Mozilla, а также веб-сервером. В отличие от предшествующих версий, работавших только в PC-совместимых архитектурах, QNX6 легко адаптируется практически к любой аппаратной конфигурации. Кроме того, особое внимание было уделено проработке архитектуры с тем, чтобы её можно было эффективно масштабировать: как «вверх» (добавляя новые сервисы и расширяя функциональность), так и «вниз» (урезая функциональность, чтобы «втиснуться» в ограниченные ресурсы). Иными словами, QNX6 можно установить там, где QNX4 не уместилась бы. Также, в QNX6 все драйверы были приведены к единой модели и все интерфейсы стали открытыми.

Рис. 38. Графический интерфейс QNX Neutrino

4 февраля 2004 года Государственная техническая комиссия при Президенте РФ выдала компании «СВД Встраиваемые Системы» сертификат № 846, удостоверяющий, что операционная система реального времени QNX 4.25 (изделие КПДА.00001-01) проверена по 2 уровню контроля отсутствия недекларированных возможностей. Сертификат разрешает использовать изделие при разработке систем защиты для автоматизированных систем до класса 1Б включительно в соответствии с требованиями документов Гостехкомиссии России.

18 мая 2004 года в Государственный реестр сертифицированных средств защиты информации внесён сертификат № 906, удостоверяющий, что защищённая система реального времени QNX 4.25 (КПДА.00002-01) соответствует требованиям руководящих документов Гостехкомиссии России по 3 классу защищённости от несанкционированного доступа (НСД) и 2 уровню контроля отсутствия НДВ.

27 октября 2004 года компания QSS была куплена международной корпорацией Harman, активно работающей на рынке мультимедийных устройств и систем автомобильной электроники, но далекой от разработки ОС реального времени. При этом Harman сохранила полную автономию компании QSS, а генеральный директор компании Дэн Додж одновременно занял пост вице-президента корпорации Harman по информационным технологиям.

10 ноября 2010 года компания QSS была продана канадской компанией Research in Motion, производителем смартфонов марки BlackBerry с шифрованным каналом связи. В 2011 году компния выпустила планшетный компьютер PlayBook, который работает под управлением QNX.

QNX популярна в основном в Японии, Германии, России и, в последнее время, в Китае благодаря активному развитию рынку автомобильной электроники и интегрированных систем управления производством.

Осенью 2007 года компания QNX Software Systems приступила к поэтапному открытию исходного кода QNX Neutrino на условиях лицензии гибридного типа в рамках сообщества Foundry27. Эта лицензия позволяет энтузиастам бесплатно получать доступ не только к исходным текстам операционной системы, но и к инструментальным средствам. При этом для коммерческого использования QNX Neutrino по-прежнему необходимо приобретать соответствующие лицензии. Кроме того, лицензия QNX Neutrino прямо запрещает проведение сертификаций продуктов, производных от исходного кода QNX Neutrino, без письменного разрешения компании QSS.

В сентябре 2009 года на портале Foundry27 был создан проект, предназначенный для сопровождения QNX4 в публичной форме.

В 1982 году QNX попала под запрет комитета COCOM, как технология двойного назначения. Этот запрет был снят в 1990 году, однако жёсткая политика лицензирования привела к тому, что в странах Восточного блока система не получила широкого распространения.

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

Примеры применения QNX за рубежом:

  • Наиболее ярким примером применения QNX является работа с кредитными карточками VISA во всех региональных офисах Северной Америки.

  • Управление ядерным реактором. Одно из отделений канадской компании Atomic Energy of Canada Ltd., которая известна как разработчик, производитель и продавец ядерных реакторов, специализируется на разработке программных продуктов по управлению и мониторингу. На основе QNX этим отделением разработана система управления ядерным реактором, которая называется «Распределённая система управления с открытой архитектурой» (Open Architecture Distributed Control System).

  • Кроме применения QNX в области управления, она также успешно используется и для научных исследований: моделирования процессов, отслеживания хода экспериментов.

  • Cisco Systems использует оптимизированную версию микроядра QNX Neutrino в программном обеспечении IOS XR. Программный пакет IOS XR предназначен для управления коммутаторами Cisco CRS-1, обеспечивает непрерывный режим работы и поддерживает развитые функции управления терабитными коммутаторами с распределённой архитектурой.

  • На март 2009 года решения на базе QNX лицензированы для использования на более, чем 10,1 миллионах единиц техники от практически всех ведущих производителей автомобилей, включая BMW, Chrysler, Daimler, Fiat, Ford, General Motors, Honda, Hyundai, Mazda, Mitsubishi, Nissan, Saab, SsangYong, Toyota и Volkswagen. В частности такие автомобили выпускаются под марками Acura, Alfa Romeo, Audi, Buick, Cadillac, Chevrolet, Dodge, Honda, Hummer, Infiniti, Jeep, Lancia, Mini, Mercedes, Opel, Pontiac, Saturn и др.

В России и СНГ QNX применения в промышленных системах, которые управляют довольно сложным и ответственным производством с очень высокими требованиями по времени реакции на аварийные ситуации, требованиями к надёжности и непрерывности управления.

Наиболее крупными конкурентами QNX являются: Windows CE, VxWorks, OS-9, Integrity, LynxOS а также некоторые ОС на ядре Linux.