QNX
QNX (произносится «кьюникс», «кью-эн-экс») — POSIX-совместимая операционная система реального времени, предназначенная преимущественно для встраиваемых систем. Считается одной из лучших реализаций концепции микроядерных операционных систем.
QNX | |
---|---|
| |
Разработчик | Blackberry |
Семейство ОС | Unix-подобная операционная система, Операционная система реального времени |
Первый выпуск | 1982 |
Последняя версия | 7.1 (июль 2020) |
Тип ядра | Микроядро |
Лицензия | Проприетарная |
Состояние | Ведутся разработки новых версий |
Веб-сайт | qnx.com |
Описание
Как микроядерная операционная система, QNX основана на идее работы основной части своих компонентов как небольших задач, называемых сервисами. Это отличает её от традиционных монолитных ядер, в которых ядро операционной системы — одна большая программа, состоящая из большого количества «частей», каждая со своими особенностями. Использование микроядра в QNX позволяет пользователям (разработчикам) отключить любую ненужную им функциональность, не изменяя ядро. Для этого можно просто не запускать определённый процесс.
Система достаточно небольшая, чтобы в минимальной комплектации уместиться на одну дискету, вместе с этим она считается очень быстрой и должным образом «законченной» (практически не содержащей ошибок).
«QNX Neutrino», выпущенная в 2001 году, перенесена на многие платформы и сейчас способна работать практически на любом современном процессоре, используемом на рынке встраиваемых систем. Среди этих платформ присутствуют семейства x86, MIPS, PowerPC, специализированные семейства процессоров, такие как SH-4, ARM, StrongARM, xScale, а также российские Эльбрус, КОМДИВ-64, Мультикор[1].
Система платная, при этом для некоммерческого использования и для обучения она предлагается бесплатно в течение 30 дней.[2][3]
История
В 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 и Linux, в то же время сохранив предсказуемое поведение и микроядерную архитектуру. Результатом этих разработок стала QNX Neutrino, выпущенная в 2001 году. Эта версия поставляется вместе с QNX Momentics Tool Suite, интегрированной средой разработки, основанной на Eclipse, различными утилитами GNU и программным обеспечением, ориентированным на Интернет: веб-браузерами Voyager и Mozilla, а также веб-сервером. В отличие от предшествующих версий, работавших только в PC-совместимых архитектурах, QNX6 легко адаптируется практически к любой аппаратной конфигурации. Кроме того, особое внимание было уделено проработке архитектуры с тем, чтобы её можно было эффективно масштабировать: как «вверх» (добавляя новые сервисы и расширяя функциональность), так и «вниз» (урезая функциональность, чтобы «втиснуться» в ограниченные ресурсы). Иными словами, QNX6 можно установить там, где QNX4 не уместилась бы. Также в QNX6 все драйверы были приведены к единой модели и все интерфейсы стали открытыми.
27 октября 2004 года компания QSS была куплена международной корпорацией Harman, активно работающей на рынке мультимедийных устройств и систем автомобильной электроники, но далекой от разработки ОС реального времени. При этом Harman сохранила полную автономию[4] компании QSS, а генеральный директор компании QSS Дэн Додж одновременно занял пост вице-президента корпорации Harman по информационным технологиям.
После 2004 года интерес в мире как к QNX[5], так и к конкурирующим продуктам[6][7][8], начал угасать. QNX сохранила популярность в основном в Японии, Германии, России и, в последнее время, в Китае благодаря активному развитию рынка автомобильной электроники и интегрированных систем управления производством[9].
Осенью 2007 года компания QNX Software Systems приступила к поэтапному открытию исходного кода QNX Neutrino на условиях лицензии гибридного типа в рамках сообщества Foundry27.[10] Эта лицензия позволяет энтузиастам бесплатно получать доступ не только к исходным текстам операционной системы, но и к инструментальным средствам. При этом для коммерческого использования QNX Neutrino по-прежнему необходимо приобретать соответствующие лицензии.[11][12] Кроме того, лицензия QNX Neutrino прямо запрещает проведение сертификаций продуктов, производных от исходного кода QNX Neutrino, без письменного разрешения компании QSS.
В сентябре 2009 года на портале Foundry27 был создан проект, предназначенный для сопровождения QNX4 в публичной форме.[13]
9 апреля 2010 года канадская компания Research In Motion, владеющая брендом BlackBerry, заключила соглашение о выкупе у компании Harman International подразделения, занимающегося разработкой QNX.[14] В этот же день на сайте Foundry27 появилось объявление, что доступ к исходным кодам QNX для широкой общественности с этого момента ограничен.[15][16]
27 сентября 2010 года на конференции BlackBerry DEVCON-2010 был представлен планшетный компьютер BlackBerry PlayBook с BlackBerry Tablet OS на основе QNX Neutrino.[17]
29 февраля 2012 года по инициативе компании «СВД Встраиваемые Системы» была создана группа разработчиков BlackBerry в Санкт-Петербурге[18].
2 июля 2012 года вышло обновление «QNX Neutrino 6.5.0» Service Pack 1[19].
4 марта 2014 года «QNX Software Systems» выпустила комплект разработчика «QNX Software Development Platform» (QNX SDP) версии 6.6[20].
В августе 2014 года изданы руководства по «QNX Neutrino RTOS» версии 6.5.0 на русском языке[21].
В июне 2015 года под QNX Neutrino портированы фреймворк Qt 4.8.6 QPA и графические пакеты Mesa 10.3.1, GLU, GLEW, FreeGLUT[22].
С декабря 2015 года начались официальные поставки платформы «Нейтрино-Эльбрус»[23].
В 2018 году компанией «СВД Встраиваемые Системы» была выпущена ЗОСРВ «Нейтрино-Э»[24] с поддержкой процессоров «Эльбрус»[25][26].
Примеры применения QNX
В 1982 году QNX попала под запрет комитета COCOM, как технология двойного назначения. Этот запрет был снят в 1990 году, однако жёсткая политика лицензирования привела к тому, что в странах Восточного блока система не получила широкого распространения.
На сегодняшний день единственным ограничением на широкое использование QNX является высокая стоимость лицензии и сильная зависимость от QNX Software Systems в плане лицензирования разработанного программного обеспечения. Но, тем не менее, она занимает лидирующую позицию среди ОС реального времени на платформе ПК.
- Cisco Systems использует оптимизированную версию микроядра QNX Neutrino в программном обеспечении IOS XR[27]. Программный пакет 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.[28] В частности, такие автомобили выпускаются под марками Acura, Alfa Romeo, Audi, Buick, Cadillac, Chevrolet, Dodge, Honda, Hummer, Infiniti, Jeep, Lancia, Mini, Mercedes, Opel, Pontiac, Saturn и другими.[29]
- Используется для управления роботом BigDog.[30]
- BlackBerry использует QNX в качестве основы для своей BlackberryOS 10
- Используется в морских РЛС серии Atlas 1000/1100 компании SAM Electronics
- Применяется РКК «Энергия» как средство управления тренажёром транспортного пилотируемого корабля Союз.
Версии
Для международного рынка:[31]
- QNX Neutrino RTOS
- QNX OS for Safety
- QNX OS for Medical
Для российского рынка:[32]
- ЗОСРВ «Нейтрино» КПДА.10964-01
- ЗОСРВ «Нейтрино-Э» КПДА.10965-01
- ЗОСРВ «QNX» КПДА.00002-01
Конкуренты
Наиболее крупными конкурентами QNX являются VxWorks, OS-9, Integrity, LynxOS, MINIX 3 (под лицензией BSD), а также некоторые ОС на ядре Linux (RTLinux и др.).
Примечания
- ЗОСРВ «НЕЙТРИНО» КПДА.10964-01
- Non-commercial developers licence key
- Academic and faculty users licence key
- QNX Joins Harman International Family
- Google Trends: QNX
- Google Trends: Linux
- Google Trends: VxWorks
- Google Trends: Windows CE
- GE Energy — Mark VIe, DCS System, Plant Solutions Архивировано 26 сентября 2009 года.
- foundry27: Welcome
- QNX Publishes Neutrino Source Code and Opens Development Process
- Компания QNX объявляет о публикации исходных текстов микроядра Neutrino и открывает процесс разработки
- Новый выпуск компакт-диска «QNX 4 Product Suite 2009» доступен для скачивания всем пользователям ОСРВ QNX 4 // СВД Встраиваемые Системы
- Harman Strengthens Relationship with Research in Motion; RIM to Acquire QNX Software Unit (недоступная ссылка). Harman International (9 апреля 2010). Дата обращения: 14 апреля 2010. Архивировано 25 августа 2011 года.
- foundry27 : View Wiki Page: UpdatedQNXSourceAccessPolicyFAQ
- QNX6 Is Closed Source Once Again, 15th Jul 2010
- Blackberry — Tablet OS Application development (англ.) (недоступная ссылка). Research In Motion. Дата обращения: 1 ноября 2010. Архивировано 25 августа 2011 года.
- Группа разработчиков BlackBerry в Санкт-Петербурге
- Вышло обновление QNX Neutrino 6.5.0 Service Pack 1
- Выпущена версия 6.6 комплекта разработчика QNX SDP
- Изданы руководства по QNX Neutrino RTOS версии 6.5.0
- Новости отдела разработок ООО «СВД Встраиваемые Системы»
- Начало официальных поставок платформы Нейтрино-Эльбрус
- «НЕЙТРИНО-Э» КПДА.10965-01
- ООО «СВД Встраиваемые Системы» и АО «МЦСТ» обеспечили совместимость отечественной серверной платформы Эльбрус-4.4 и ЗОСРВ «Нейтрино-Э»
- Компания ООО «СВД Встраиваемые Системы» реализовала полную поддержку микропроцессоров нового поколения Эльбрус-1С+ и Эльбрус-8С компании АО «МЦСТ»
- The microkernel used by Cisco IOS XR is QNX Neutrino
- QNX запустила новую партнерскую программу QNX CAR для автомобильной индустрии
- QNX Takes Pole Position in Automotive Infotainment and Telematics Market (англ.)
- アーカイブされたコピー (недоступная ссылка). Дата обращения: 21 апреля 2009. Архивировано 11 марта 2012 года. BigDog Overview
- QNX Operating Systems
- СВД Встраиваемые Системы — Продукты
Ссылки
- qnx.com (англ.) — официальный сайт QNX
- Сообщество пользователей QNX (англ.)
- Конференция «QNX-Россия»
- Форум СВД ВС по продуктам QNX и КПДА
- Форум QOR