Зосрв «нейтрино» кпда.10964-01

Содержание:

И недостатки

Спектр поддерживаемого оборудования пока существенно уже, чем, скажем, у Windows или Linux. При использовании относительно стандартного (не супернового) аппаратного обеспечения проблем, скорее всего, не возникнет. В «экзотических» случаях (аппаратный RAID или изощренная сетевая плата) – увы. Тем более что если уж QNX не хочет на «этом» работать, то переубедить ее вряд ли удастся. Но, несмотря на такую капризность, QNX, например, может использоваться даже в «наладонниках» iPAQ.

Ну и, пожалуй, самое существенное. Все, сказанное выше относительно свободного распространения, касается только некоммерческого использования. Стоимость же коммерческой лицензии на QNX лежит в диапазоне от 300 долларов до 6 тысяч за одно рабочее место, в зависимости от комплектации системы, количества приобретаемых лицензий и других факторов.

Операционная система реального времени QNX 4.25

ОСРВ QNX 4.25 — многозадачная многопользовательская операционная система жесткого реального времени (ОСРВ), поддерживающая ряд стандартов семейства POSIX.
QNX 4.25 имеет модульную архитектуру, в основе которой лежит использование микроядра и набора необязательных модулей, на каждый из которых возложено выполнение своего набора сервисов ОС.

Микроядро QNX 4.25

Микроядро QNX 4.25 обладает достаточно малыми размерами для встраивания в ПЗУ, и при этом достаточной большой мощностью для управления распределенной сетью, содержащей несколько сотен ЭВМ.

QNX 4.25 легко расширяется, предоставляя разработчику значительную гибкость. Для расширения функциональных возможностей можно использовать как штатные модули QNX 4.25, так и программы собственной разработки. Уникальный подход к прозрачной распределенной обработке данных позволяет запускать процессы по сети с полным наследованием окружения, включая открытые файлы, текущий каталог, файловые дескрипторы и идентификатор пользователя. Микроядро также обеспечивает возможность высокоскоростной трассировки диагностических событий.

Файловые системы

Предлагаемый набор файловых систем позволяет достичь желаемого соответствия между размерами, функциональностью и стоимостью. В QNX можно использовать несколько файловых систем одновременно.

POSIX-совместимая файловая система.
POSIX-совместимая файловая система QNX, Fsys, предоставляет полную семантику POSIX.1 и UNIX, расширенные механизмы защиты данных и высокоскоростные драйверы носителей, по производительности близкие к физической скорости доступа. Будучи ориентирована на семантику POSIX, Fsys подходит для серверов разработки и других классических приложений на базе НЖМД. И тем не менее, ее можно упаковать в размеры, подходящие для встраиваемых систем, требующих семантики UNIX.
Встраиваемая файловая система.
Встраиваемая файловая система QNX, Efsys, существует в нескольких модификациях. Efsys поддерживает устройства flash-памяти, включая flash-карты в формате PCMCIA, а также одноплатные ЭВМ и твердотельные диски от ряда производителей.
Файловая система SMB (CIFS).
Протокол разделения доступа к файлам SMB (Server Message Block) используется рядом серверов семейства Windows, а так же на основе пакета Samba. SMBfsys, реализация SMB в QNX, обеспечивает прозрачный доступ к этим серверам и представляет собой полезное решение для кросс-разработки.
SMBfsys реализует протокол SMB, используя NBT (NetBIOS через TCP/IP). Запустив SMBfsys и подмонтировав удаленный ресурс на сервере, вы получаете доступ к файловой системе сервера как к поддереву локальной файловой системы.
Сетевая файловая система NFS.
Популярная сетевая файловая система для гетерогенных сетей масштаба предприятия, NFS предоставляет прозрачный доступ к файлам большинства UNIX-подобных систем.
Файловая система DOS.
С использованием модулей файловой системы DOS, Fatfsys, любая QNX-программа в сети получает прозрачный доступ к DOS-разделам, включая создание, чтение, запись и удаление файлов с использованием обычных команд QNX.
Файловая система ISO9660/Rock Ridge.
Модуль файловой системы ISO9660/Rock Rigde, Iso9660fsys, дает прозрачный доступ к CD-ROM или любым другим носителям, отформатированным в стандарте ISO 9660. Кроме поддержки файловых систем ISO и High Sierra, наиболее общепринятых для CD-ROM, Iso9660fsys также поддерживает протокол Rock Ridge, что дает возможность использовать имена файлов в стандарте POSIX и символьные связи и читать дистрибутивы UNIX, записанные на CD-ROM.
Блок-ориентированная файловая система.
Блок-ориентированная файловая система, Blkfsys, реализует полный драйверный и пользовательский интерфейс файловой системы POSIX, но только для блок-ориентированных файлов. Иными словами, она поддерживает «сырые» разделы, лентопротяжные устройства и НГМД, но не поддерживает саму файловую систему QNX. Если вы разрабатываете встраиваемые приложения, то Blkfsys предоставляет гибкие возможности создания собственных файловых систем.

Управление устройствами

Менеджер устройств QNX, Dev, является высокопроизводительным и вносящим очень малые накладные расходы серверным процессом, обеспечивающим интерфейс между процессами и терминальными устройствами.
Dev эффективно обрабатывает символьные устройства и обеспечивает скорость обмена вплоть до 115К бод даже на процессорах серии i386. Dev поддерживает все множество символьных устройств, включая терминалы ANSI, клавиатуры и устройства параллельного и последовательного ввода-вывода.

Примеры применения QNX

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

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

  • 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 и другими.
  • Используется для управления роботом BigDog.
  • BlackBerry использует QNX в качестве основы для своей BlackberryOS 10
  • Используется в морских РЛС серии Atlas 1000/1100 компании SAM Electronics
  • Применяется РКК «Энергия» как средство управления тренажёром транспортного пилотируемого корабля Союз[источник не указан 158 дней].

Дистрибутивы QNX

Дистрибутив — это способ поставки инструментальных систем. Другими словами, QSS продает именно инструментарий разработки. Среды исполнения формируются разработчиком самостоятельно, но для поставки их кому-либо еще требуется покупка лицензий на соответствующее число копий среды исполнения (их называют «модули Run-Time»). Такая политика позволяет существенно снизить стоимость целевых систем.

Следует обратить внимание, что средства разработки поставляются в четырех вариантах — для Microsoft Windows ХР, Sun Solaris (только для SPARC-версии), Linux и, разумеется, для QNX.
Целевые системы могут генерироваться для нескольких аппаратных платформ (ARM, MIPS32, StrongARM, SH4, PowerPC, Xscale, x86). Этот список, вероятно, будет пополняться.
Выдвигая на рынок ОС QNX6, компания QSS выпустила два дистрибутива:

  • QNX Real Time Platform (QNX RTP) — полнофункциональная среда разработки; распространялась бесплатно для некоммерческого использования. В случае коммерческого использования системы разработчик должен был приобрести соответствующую лицензию у QSS;
  • QNX Networking Infrastructure Platform (QNX NIP) — чисто коммерческий дистрибутив, представляющий собой расширение QNX RTP дополнительными программными пакетами, ориентированными на производителей сетевого оборудования.

С выходом версии QNX 6.2 компания QSS несколько изменила подход к формированию дистрибутивов. Пакет разработчика,включающий в себя ОСРВ QNX, графическую среду Photon, инструменты разработки и различное дополнительное ПО, получил название QNX Momentics. В настоящее время выпущено несколько дистрибутивов QNX Momentics:

  • Non-Commercial Edition (NC) — ознакомительный комплект разработчика, бесплатный для некоммерческого использования;
  • Standard Edition (SE) — пакет разработчика, позволяющий вести коммерческую разработку ПО, в том числе формировать целевые системы для разных платформ;
  • Professional Edition (РЕ) — расширенный пакет разработчика, дополненный интегрированной средой разработки QNX IDE, основанной на технологии Eclipse, а также расширенной базой примеров в исходных текстах и рядом дополнительных компонентов.

Подробная информация по комплектации дистрибутивов Momentics доступна как у QSS, так и у ее партнеров. Профессиональный комплект QNX Momentics считается базовым (т.е. SE — фактически является урезанным РЕ). РЕ может дополняться пакетами расширения (Bundles) для разных целевых рынков. Теперь вы знаете, чем пакет разработчика QNX Momentics отличается от ОСРВ QNX.

Литература

  1. Зыль С.Н. Операционная система реального времени QNX: от теории к практике. — 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2004. — 192 с.: ил. ISBN 5-94157-486-X
  2. Операционная система реального времени QNX Neutrino 6.3. Системная архитектура: Пер. с англ. — СПб.: БХВ-Петербург, 2006. — 336 с.: ил. ISBN 5-94157-827-X
  3. Практика работы с QNX. Алексеев Дмитрий, Ведревич Евгений, Волков Алексей, Горошко Егор, Горчак Михаил, Жавнис Роман, Крисак Александр, Сошин Дмитрий, Цилюрик Олег, Чиликин Андрей. М.: Издательский Дом «КомБук», 2004. — 432 с.: ил. ISBN 5-94740-009-X
  4. Роб Кёртен Руководство по программированию приложений реального времени в QNX Realtime Platform: Пер. с англ. — СПб.: Петрополис, 2001. — 480 с. ISBN 5-94656-025-9

QNX Neutrino Realtime Operating System

System Architecture

Describes the concepts and architecture of the QNX
Neutrino microkernel, resource managers, processes, threads,
message-passing services, and more.

QNX Neutrino User’s Guide

Explains how to interact with a running Neutrino
system. Covers both Photon and text-mode interfaces, as well
as various system-administration topics.

Getting Started with QNX Neutrino: A Guide for Realtime Programmers

This book, by Rob Krten, will help you design and develop robust
realtime systems — from tiny embedded control applications to
large network-distributed systems — using the QNX Neutrino RTOS.

QNX Neutrino Programmer’s Guide

Tells you how to get started writing programs, including
interrupt handlers, resource managers, etc.

Building Embedded Systems

Tells you how to get the OS running on your target
embedded system, write an IPL, customize a startup program,
etc.

Utilities Reference

Describes the Neutrino configuration files, utilities, and manager
processes you’ll use during development and at runtime.

QNX Neutrino Library Reference

Describes the C library data types and functions, including POSIX
threads, kernel calls, resource manager functions, etc.

Technical Notes

Deals with a series of topics (e.g. IP tunneling) that aren’t covered in the
basic documentation set.

История создания

Компания QSSL, разработавшая операционную систему QNX, была создана в 1980 году Дэном Доджом и Гордоном Беллом (оба — выпускники университета Ватерлоо, расположенного в Онтарио, Канада). Сначала компания называлась Quantum Software Systems Limited, а ее продукт назывался «QUNIX» («Quantum UNIX»). После вежливого письма адвокатов компании AT&T (которой в то время принадлежала торговая марка «UNIX»), имя продукта изменили на «QNX». Спустя некоторое время изменили и название самой компании — на «QNX Software Systems Limited» — поскольку в те дни казалось, что у всех и у каждого и у их собак были компании по имени «Quantum что-то» или как-нибудь в этом духе.

Первый программный продукт, получивший коммерческий успех, назывался просто «QNX» и работал на процессорах 8088 серии. Затем, в начале 80-х, была выпущена операционная система «QNX2» (QNX, версия 2). Она до сих пор успешно применяется во многих ответственных приложениях. Примерно в 1991 году появилась новая операционная система, «QNX4», с улучшенной поддержкой 32-разрядных операций и стандарта POSIX. И, наконец, в 1995 году была заявлена новая модификация ОС семейства QNX, называемая QNX/Neutrino.

Несмотря на то, что термином «Neutrino» часто называют саму ОС (сам Роб, кстати, тоже грешит этим), это не так. Neutrino — имя микроядра, а не всей ОС в целом; QNX/Neutrino была названа так, потому что является версией QNX, основанной на микроядре Neutrino. Впоследствии, после выхода пакета QNX Realtime Platform, чтобы не вносить путаницы, ОС QNX/Neutrino стали называть просто QNX6.

Операционная система QNX канадской компании QSSL имеет более чем 20-летнюю историю. Эта система строится на базе микроядра с организованными по технологии клиент-сервер сервисами, вынесенными на уровень пользовательских приложений. Микроядро системы выступает в качестве диспетчера сообщений, переадресовывая системные вызовы прикладных программ клиентов соответствующим сервисам серверам и обратно. Такое построение является одним из наиболее оптимальных решений в ОСРВ и обеспечивает высокую надежность и масштабируемость системы.
В системе QNX только микроядро исполняется на уровне привилегий 0 процессора Intel, системные сервисы (менеджеры) запускаются на уровне привилегий 1, драйвера устройств — на 2-м уровне, а пользовательские приложения на 3-м уровне привилегий. Подобное разделение приводит к более высокой надежности и отказоустойчивости системы, т.к. при «зависании» отдельных драйверов или сервисов, они могут быть перезапущены без перезагрузки системы

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

POSIX-совместимость

POSIX (Portable Operation Systems Interface) — это развивающийся стандарт, призванный обеспечить переносимость исходных текстов программ между ОС разных производителей. За основу стандартов POSIX были взяты ОС семейства UNIX, в дальнейшем стандарты были дополнены расширениями, включая расширения, касающиеся реального времени.
Разработкой стандартов POSIX занимаются рабочие группы Института инженеров по электротехнике и радиоэлектронике (ИИЭР, Institute of Electrical and Electronics Engineers — IEEE) США. Поэтому стандарты POSIX после утверждения имеют маркировку IEEE. Кроме того, существуют Международная организация по стандартизации (International Organization for Standardization — ISO) и Международная электротехническая комиссия — МЭК (International Electrotechnical Commission — IEC). Эти организации могут утверждать стандарты IEEE в качестве международных.
Стандарт ISO/IEC 9945-1 определяет интерфейс прикладного программирования (API) для операционных систем. Этот стандарт включает следующие стандарты:

  • POSIX.l (IEEE 1003.1) — базовый API операционных систем;
  • POSIX.la (IEEE 1003.1а) — некоторые расширения API;
  • POSIX.4 (IEEE 1003.1b) — расширения для поддержки реального времени;
  • POSIX.4a (IEEE 1003.1с) — интерфейсы потоков, выполняющихся внутри POSIX-процессов;
  • POSIX. lb (IEEE 1003. Id) — дополнительные расширения реального времени;
  • POSIX.12 (IEEE 1003.lg) — независимый от протокола интерфейс сокетов;
  • IEEE 1003.lj — еще одно дополнительное расширение реального времени.

Стандарт ISO/IEC 9945-2 (POSIX.2 или IEEE 1003.2) определяет набор утилит и командных интерпретаторов.
Стандарт ISO/IEC 13210 (POSIX.3 или IEEE 1003.0) определяет набор тестов, позволяющих определить POSIX-совместимость операционной системы.

Заметим, что в документации часто используется комбинированное обозначение номеров стандартов, например вместо POSIX.4a или IEEE 1003.1с пишут POSIX 1003.1с.

Однако многие ОСРВ работают внутри некоторого промышленного оборудования с весьма ограниченными ресурсами, т.е. являются встраиваемыми системами. Встраиваемые системы не могут и не должны обеспечивать всю POSIX-функциональность. Поэтому было решено определить, если можно так выразиться, правила «урезания» стандартов POSIX в необходимых случаях. Такие «урезания» названы профилями прикладных контекстов реального времени и регламентируются стандартом ISO/IEC ISP 15287-2 (POSIX. 13 или IEEE 1003.13). Этот стандарт определяет такие профили:

  • минимальная система — встроенная система без поддержки механизма управления памятью (MMU), без файловой системы и терминала. В такой системе разрешается только один многопоточный процесс;
  • контроллер реального времени — минимальная система, дополненная файловой системой и терминалом ввода/вывода;
  • специализированная система — большая встроенная система, в которой может выполняться несколько многопоточных процессов. Файловая система отсутствует;
  • многоцелевая система — операционная система реального времени, обеспечивающая поддержку всей предусмотренной стандартом POSIX функциональности.

ОСРВ QNX6 изначально разрабатывалась как POSIX-совместимая ОС, позволяющая создавать целевые системы, соответствующие любому из четырех профилей прикладного контекста реального времени. Термины, используемые в документации, поставляемой с QNX, соответствуют терминологии стандартов POSIX.

Products, updates, and patches

 
QNX Software Centre The QNX Software Center enables you to download and manage QNX Software Development Platform version 7.x and related products. PDF documentation and Licensing information relating to QNX SDP 7 and related products can also be found here.
 
Products and updates Official products, updates and patches for all QNX commercial products.
 
QNX Software Development Platform 6.6 The QNX Software Development Platform (SDP) includes the QNX Neutrino RTOS 6.6 and the QNX Momentics Tool Suite 6.6. This software provides a complete and comprehensive development environment for QNX Neutrino-based devices and systems.
 
QNX Software Development Platform 6.5.x The QNX Software Development Platform 6.5.x includes the QNX Neutrino RTOS 6.5.x and QNX Momentics Tool Suite 6.5.x. A complete and comprehensive development environment for QNX Neutrino-based devices and systems.
 
QNX SDK for Bluetooth Connectivity The QNX SDK for Bluetooth Connectivity is a comprehensive, scalable solution, providing a range of Bluetooth Classic and Low Energy profiles to suit different general embedded applications. In addition, the optional IEEE 11073 Personal Health Data stack is supported for wireless connectivity to health devices. The SDK is used in conjunction with QNX SDP 6.6.
 
QNX SDK for Apps and Media 1.1 The QNX SDK for Apps and Media provides media and browser technology to create graphically-rich user interfaces with advanced multimedia capabilities. It is used in conjunction with QNX SDP 6.6.
 
QNX Acoustics Middleware Modular solutions for designing high-quality sound and voice communication systems.
 
QNX CAR Platform for Infotainment 2.1 The QNX CAR Platform for Infotainment is a complete pre-integrated set of technologies used to build automotive infotainment systems. This software is used in conjunction with QNX SDP 6.6, QNX SDK for Apps and Media 1.0, and additional software packages from QNX and third-party partners.
 
QNX Platform for ADAS 1.0 The QNX The QNX Platform for ADAS has been built as a foundation to support a variety of camera based ADAS and active safety applications. This product is compatible with QNX Software Development Platform 6.5.0 SP1 and with the QNX OS for Safety 1.0.
 
QNX Wireless Framework 1.0 The QNX Wireless Framework is an innovative software solution for building advanced cellular and Wi-Fi connectivity into connected embedded systems, including medical devices, industrial controllers, and in-car infotainment systems. The framework is tightly integrated with the QNX NeutrinoOperating system.
 
QNX OS for Automotive Safety 1.0 The QNX OS for Automotive Safety 1.0 is certified to ISO 26262 for use in automotive safety systems up to ASIL D. The product is also certified to IEC 61508:2010 at SIL3. It supports ARMv7 architecture only. The product is compatible with QNX SDP 6.5.0 SP1.
 
QNX Hypervisor 1.0 The QNX Hypervisor 1.0 is a virtualization platform that lets developers build embedded systems using QNX and Android operating systems on ARMv7 System on Chip (SoC) targets.
 
QNX OS for Medical 1.1 The QNX OS for Medical 1.1 is compliant to IEC 62304 for use in medical devices. It supports ARMv7 and x86 architectures. The product is compatible with QNX SDP 6.5.0 SP1.
 
QNX OS for Safety The QNX OS for Safety 1.0 is a functional safety product assessed to be compliant with ISO 26262 and IEC 61508. It can be used as a Safety Element Out Of Context in items in order to realize safety goals up to ASIL D according to ISO 26262 and as a compliant item in application up to SIL3 according to IEC 61508. It is supported on ARMv7 and x86 architectures and compatible with QNX SDP 6.5.0 SP1.
 
QNX Aviage Middleware Core packages, codecs, service packs, and more.
 
Board support packages This Foundry27 project provides a list of board support packages and drivers available for the QNX Neutrino RTOS.
 
QNX RTOS v.4 Updates and patches for QNX4.
 
30-day free evaluation
Partner Product Download
Academic License

On POSIX

The latest POSIX standards documents are available online here:

http://www.opengroup.org/onlinepubs/007904975/nframe.html
For an up-to-date status of the many POSIX drafts/standards
documents, see the PASC (Portable Applications Standards
Committee of the IEEE Computer Society) report at
http://pasc.opengroup.org/standing/sd11.html.

In addition to the POSIX standards themselves, you might find the
following books useful:

  • Butenhof, David R. 1997.
    Programming with POSIX Threads.
    Reading, MA: Addison-Wesley.
    ISBN 0-201-63392-2.

  • Gallmeister, Bill O. 1995.
    POSIX.4: Programming for the Real World.
    Sebastopol, CA: O’Reilly & Associates.
    ISBN 1-56592-074-0.

During development (on your host)

Most of the documents in the bookset are geared
towards developing your Neutrino-based
applications. Of these development books, some are how-to
guides, and some are reference works.

Some books are useful during development as well as at
runtime. For instance, the Utilities Reference
is a comprehensive document that includes descriptions of both
development utilities (e.g.
make), which you wouldn’t normally use on your
target, as well as runtime programs (e.g.
devc-sersci), which you would run only on your
target.

Here are the main how-to guides and their corresponding
reference books:

How-to guide: Companion reference:
IDE User’s Guide Utilities Reference (for underlying command-line utilities, such as make); QNX Neutrino Library Reference for API
QNX Neutrino User’s Guide Utilities Reference
Getting Started with QNX Neutrino: A Guide for Realtime Programmers,
QNX Neutrino Programmer’s Guide
QNX Neutrino Library Reference
Photon Programmer’s Guide Photon Library Reference; Photon Widget Reference
Building Embedded Systems Utilities Reference; QNX Neutrino Library Reference

Products, updates, and patches

 
QNX Software Centre The QNX Software Center enables you to download and manage QNX Software Development Platform version 7.x and related products. PDF documentation and Licensing information relating to QNX SDP 7 and related products can also be found here.
 
Products and updates Official products, updates and patches for all QNX commercial products.
 
QNX Software Development Platform 6.6 The QNX Software Development Platform (SDP) includes the QNX Neutrino RTOS 6.6 and the QNX Momentics Tool Suite 6.6. This software provides a complete and comprehensive development environment for QNX Neutrino-based devices and systems.
 
QNX Software Development Platform 6.5.x The QNX Software Development Platform 6.5.x includes the QNX Neutrino RTOS 6.5.x and QNX Momentics Tool Suite 6.5.x. A complete and comprehensive development environment for QNX Neutrino-based devices and systems.
 
QNX SDK for Bluetooth Connectivity The QNX SDK for Bluetooth Connectivity is a comprehensive, scalable solution, providing a range of Bluetooth Classic and Low Energy profiles to suit different general embedded applications. In addition, the optional IEEE 11073 Personal Health Data stack is supported for wireless connectivity to health devices. The SDK is used in conjunction with QNX SDP 6.6.
 
QNX SDK for Apps and Media 1.1 The QNX SDK for Apps and Media provides media and browser technology to create graphically-rich user interfaces with advanced multimedia capabilities. It is used in conjunction with QNX SDP 6.6.
 
QNX Acoustics Middleware Modular solutions for designing high-quality sound and voice communication systems.
 
QNX CAR Platform for Infotainment 2.1 The QNX CAR Platform for Infotainment is a complete pre-integrated set of technologies used to build automotive infotainment systems. This software is used in conjunction with QNX SDP 6.6, QNX SDK for Apps and Media 1.0, and additional software packages from QNX and third-party partners.
 
QNX Platform for ADAS 1.0 The QNX The QNX Platform for ADAS has been built as a foundation to support a variety of camera based ADAS and active safety applications. This product is compatible with QNX Software Development Platform 6.5.0 SP1 and with the QNX OS for Safety 1.0.
 
QNX Wireless Framework 1.0 The QNX Wireless Framework is an innovative software solution for building advanced cellular and Wi-Fi connectivity into connected embedded systems, including medical devices, industrial controllers, and in-car infotainment systems. The framework is tightly integrated with the QNX NeutrinoOperating system.
 
QNX OS for Automotive Safety 1.0 The QNX OS for Automotive Safety 1.0 is certified to ISO 26262 for use in automotive safety systems up to ASIL D. The product is also certified to IEC 61508:2010 at SIL3. It supports ARMv7 architecture only. The product is compatible with QNX SDP 6.5.0 SP1.
 
QNX Hypervisor 1.0 The QNX Hypervisor 1.0 is a virtualization platform that lets developers build embedded systems using QNX and Android operating systems on ARMv7 System on Chip (SoC) targets.
 
QNX OS for Medical 1.1 The QNX OS for Medical 1.1 is compliant to IEC 62304 for use in medical devices. It supports ARMv7 and x86 architectures. The product is compatible with QNX SDP 6.5.0 SP1.
 
QNX OS for Safety The QNX OS for Safety 1.0 is a functional safety product assessed to be compliant with ISO 26262 and IEC 61508. It can be used as a Safety Element Out Of Context in items in order to realize safety goals up to ASIL D according to ISO 26262 and as a compliant item in application up to SIL3 according to IEC 61508. It is supported on ARMv7 and x86 architectures and compatible with QNX SDP 6.5.0 SP1.
 
QNX Aviage Middleware Core packages, codecs, service packs, and more.
 
Board support packages This Foundry27 project provides a list of board support packages and drivers available for the QNX Neutrino RTOS.
 
QNX RTOS v.4 Updates and patches for QNX4.
 
30-day free evaluation
Partner Product Download
Academic License

Достоинства QNX

QNX построена на базе микроядра и межпроцессного обмена сообщениями (что отличает ее от систем, основанных на макроядре, например, Windows 9х, Linux). Система базируется на хорошо проработанной теории, вследствие чего — предсказуема.

За счет такой архитектуры все, что работает на локальном процессоре, работает и на удаленном. Несколько компьютеров, соединенных в QNX-сеть, могут быть задействованы для выполнения единого вычислительного процесса (в смысле «процесса операционной системы»). Ни в одной ОС мы не встречали такой степени «сетевой прозрачности». В частности, таким образом обеспечивается доступ к любой системной информации на соседних узлах (вплоть до контекста каждого процесса), прямой доступ к удаленным устройствам (начиная с накопителей и заканчивая COM-портами, PCI-шиной и оперативной памятью).

Драйверы устройств (и, что особенно важно, псевдоустройств, которые могут быть всем, чем угодно, например, оконной подсистемой со своим специфическим поведением) подгружаются и выгружаются динамически, гарантированно не нарушая работоспособности ядра (любой, кому доводилось перекомпилировать ядро Linux для добавления нового драйвера, оценит это по достоинству).

Система удовлетворяет требованиям «жесткого» реального времени. Это – основная отличительная особенность QNX от своих собратьев «псевдореального» времени или так называемого «мягкого» реального времени, например realtime-надстроек для Windows NT. QNX позиционируется как RT Linux (а это самые высокие требования к системам реального времени, заявленные на сегодняшний день), хотя не является Linux-системой и по многим параметрам превосходит RT-надстройки для Linux за счет архитектурных особенностей и многолетних исследований в этой области. На базе QNX создавались настолько автономные системы, что конечный пользователь узнавал о типе ОС лишь спустя десяток лет после ввода в эксплуатацию при выходе из строя аппаратных средств.

Если Linux – система с полностью открытым исходным кодом, а Windows – полная противоположность, то QNX занимает в этом контексте некоторое промежуточное положение. Все, что портировано из мира Open Source, естественно, открыто. Многие составные части системы уже либо открыты, либо подробно описаны QSS в примерах и справочной системе. В дальнейшем компания обещает последовательно обнародовать код почти всех компонентов ОС, за исключением микроядра.

QNX способна мирно сосуществовать на диске компьютера практически со всеми современными ОС. Один из предлагаемых способов установки – прямо «поверх» файловой системы FAT32, вся инсталляция занимает не более 10 минут.

QNX работает практически со всеми распространенными процессорными архитектурами: MIPS, PowerPC, Hitachi CH4, Intel StrongARM, x86 (для релиза RTP 6.1.0, с каждой новой версией перечень расширяется). В поставку системы входят средства кросс-разработки, позволяющие проектировать и создавать ПО для всех поддерживаемых платформ. Начиная с версии 6.2, QNX будет поставляться с набором установочных файлов для карманных компьютеров iPAQ на базе процессора StrongARM.

Система прекрасно работает в многопроцессорных SMP-архитектурах, при этом, что не всегда характерно для SMP, с увеличением количества процессоров в системе наблюдается рост производительности, близкий к линейному (следствие высокой «гранулярности» потоков).

Версии QNX

Что же мы имеем в виду, произнося слово «QNX»? QNX — это семейство операционных систем жесткого реального времени, ориентированных главным образом на рынок встраиваемых систем. Такое назначение требует от ОС максимального использования особенностей аппаратуры. Поэтому ОС QNX разных версий (правильнее было бы сказать — поколений) не имеют между собой двоичной совместимости. Конечно, разработчики при создании новых «версий» QNX используют лучшие решения из предыдущих версий и остаются верными фундаментальным концепциям QNX. Для коммерческого использования доступно три семейства ОС QNX: QNX2, QNX4 и QNX6.

ОС QNX2 мало распространена в России. Во-первых, до 1991 года система была запрещена к вывозу из Северной Америки как стратегический ресурс. Во-вторых, ЭВМ на базе процессоров Intel 286 почти повсеместно вышли из употребления.

ОС QNX4 использует защищенный режим, поэтому может применяться на процессорах не ниже Intel 386. QNX4, пожалуй, самая распространенная на сегодняшний день ОС QNX в промышленности. Последняя ее версия — 4.25 патч G (вышла в начале 2003 года). Компания QSS не развивает эту ОС, но продолжает выпускать к ней драйверы для новых устройств.

ОС QNX6 (или QNX Neutrino) благодаря интересным и необычным архитектурным решениям может использоваться не только на х86-совместимых ЭВМ и еще более удобна для встраивания, чем QNX4. QNX Neutrino разрабатывается с полной поддержкой спецификаций POSIX; кроме того, разработчики системы стремятся обеспечить максимальную переносимость в QNX исходных кодов, написанных для ОС Linux. Это значительно облегчает портирование свободно распространяемого ПО в QNX и, с другой стороны, обеспечивает «переносимость» для разработчиков — прикладной программист, знающий любую UNIX-подобную ОС, может приступать к разработке прикладного ПО для QNX без переучивания. Последняя версия QNX Neutrino — 6.3.
Инструментальные и целевые системы

С точки зрения QNX все инсталлированные копии ОС относятся к двум категориям: инструментальные системы и целевые системы.

Инструментальная система (или среда разработки) — это ЭВМ со средствами, позволяющими формировать образ целевой системы. Такие средства включены только в коммерческие дистрибутивы пакета разработчика QNX Momentics.
Целевая система (или среда исполнения) предназначена для эксплуатации. Среда исполнения фактически представляет собой инструментальную систему, из которой удалено все ненужное для данной прикладной задачи.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *