Jump to content

QNX

(Перенаправлено с QNX Neutrino )
QNX
Рабочий стол по умолчанию в QNX 6.4.1.
Разработчик BlackBerry (ранее QNX Software Systems )
Семейство ОС Unix-подобный
Рабочее состояние Текущий
Исходная модель Закрытый исходный код
Первоначальный выпуск 1982 год ; 42 года назад ( 1982 )
Последний выпуск 8.0 / декабрь 2023 г .; 8 месяцев назад ( 2023-12 )
Маркетинговая цель Встроенные системы
Менеджер пакетов Возможность использовать структуру Pkgsrc из проекта NetBSD.
Платформы Текущий: x86-64 , ARM32 , ARM64
Ранее: MIPS , PowerPC , SH-4 , StrongARM , XScale.
ядра Тип ОСРВ ( микроядро )
Пользовательское пространство ПОСИКС
Лицензия Собственный
Официальный сайт ежевика .qnx

QNX ( / ˌ k juː ˌ ɛ n ˈ ɛ k s / или / ˈ k juː n ɪ k s / ) — коммерческая Unix-подобная операционная система реального времени , ориентированная в первую очередь на рынок встраиваемых систем .

Продукт был первоначально разработан в начале 1980-х годов канадской компанией Quantum Software Systems, позже переименованной в QNX Software Systems.

По состоянию на 2022 год он используется в различных устройствах, включая автомобили , [1] медицинские приборы , программные логические контроллеры , автоматизированное производство , поезда и многое другое.

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

Одно из первых широко распространенных применений ОС реального времени QNX (RTOS) произошло в мире невстраиваемых систем, когда она была выбрана в качестве операционной системы для Онтарио собственной компьютерной разработки системы образования — Unisys ICON . На протяжении многих лет QNX использовался в основном для более крупных проектов, поскольку его ядро ​​размером 44 КБ было слишком большим, чтобы поместиться в одночиповые компьютеры той эпохи. Система заслужила репутацию надежной. [ нужна ссылка ] и стал использоваться в работающем оборудовании во многих отраслях промышленности.

В конце 1980-х годов компания Quantum осознала, что рынок быстро движется в сторону модели интерфейса переносимой операционной системы ( POSIX ), и решила переписать ядро, чтобы сделать его более совместимым на низком уровне. Результатом стала QNX 4. За это время Патрик Хейден , работая стажёром, вместе с Робином Бургенером (на тот момент штатным сотрудником) разработали новую оконную систему. Это запатентованное [2] Концепция была развита во встраиваемом графическом интерфейсе пользователя (GUI) под названием QNX Photon microGUI. QNX также предоставила версию X Window System .

Чтобы продемонстрировать возможности ОС и ее относительно небольшой размер, в конце 1990-х годов компания QNX выпустила демонстрационный образ, который включал POSIX-совместимую ОС QNX 4, полный графический интерфейс пользователя, графический текстовый редактор, сеть TCP/IP, веб-браузер и веб-сервер, которые все поместилось на загрузочную объемом 1,44 МБ дискету для ПК 386. [3] [4]

К концу 1990-х годов компания, тогда называвшаяся QNX Software Systems, начала работу над новой версией QNX, спроектированной с нуля с возможностью симметричной многопроцессорной обработки (SMP) и поддержки всех текущих POSIX интерфейсов прикладного программирования (API). ) и любые новые API-интерфейсы POSIX, которые можно было бы ожидать при сохранении архитектуры микроядра. Результатом этого стала QNX Neutrino, выпущенная в 2001 году.

Наряду с ядром Neutrino компания QNX Software Systems стала одним из основателей консорциума Eclipse ( интегрированная среда разработки ). В 2002 году компания выпустила набор подключаемых модулей Eclipse , входящих в состав рабочей среды Eclipse, под названием QNX Momentics Tool Suite.

В 2004 году компания объявила о продаже Harman International Industries. До этого приобретения программное обеспечение QNX уже широко использовалось в автомобильной промышленности для телематических систем. С момента покупки компанией Harman программное обеспечение QNX было внедрено в более чем 200 различных марок и моделей автомобилей , в телематические системы, а также в информационно-развлекательные и навигационные устройства. [ нужна ссылка ] По состоянию на середину 2011 года платформа приложений QNX CAR использовалась более чем в 20 миллионах автомобилей. [5] С тех пор компания выпустила несколько продуктов промежуточного программного обеспечения , включая QNX Aviage Multimedia Suite, QNX Aviage Acoustic Processing Suite и QNX HMI Suite.

Микроядра Cisco Systems IOS -XR (IOS сверхвысокой доступности, представленная в 2004 г.) [6] [7] и модульность программного обеспечения IOS (введена в 2006 г.) [8] основаны на QNX.

В сентябре 2007 года компания QNX Software Systems объявила о доступности части своего исходного кода . [9]

9 апреля 2010 года компания Research In Motion (позже переименованная в BlackBerry Limited ) объявила о приобретении QNX Software Systems у Harman International Industries. [10] В тот же день доступ к исходному коду QNX был ограничен для общественности и любителей. [11]

В сентябре 2010 года компания анонсировала планшетный компьютер BlackBerry PlayBook и новую операционную систему BlackBerry Tablet OS на базе QNX для работы на планшете. [12]

18 октября 2011 г. компания Research In Motion анонсировала выпуск BBX. [13] который позже был переименован в BlackBerry 10 , в декабре 2011 года. [14] Устройства Blackberry 10 основаны на операционной системе BlackBerry PlayBook QNX для сенсорных устройств, но адаптируют пользовательский интерфейс для смартфонов с помощью платформы Cascades Native User-Interface на базе Qt .

На Женевском автосалоне Apple продемонстрировала CarPlay , который обеспечивает пользовательский интерфейс в стиле iOS для головных устройств совместимых автомобилей. После настройки автопроизводителем QNX можно запрограммировать на передачу своего дисплея и некоторых функций на устройство Apple CarPlay. [15] [16]

11 декабря 2014 года Ford Motor Company заявила, что заменит Microsoft Auto на QNX. [1]

В январе 2017 года QNX объявила о предстоящем выпуске своего SDP 7.0 с поддержкой 32- и 64-битных платформ Intel и ARM, а также поддержкой C++14 . Он был выпущен в марте 2017 года. [17]

В декабре 2023 года компания QNX выпустила QNX SDP 8.0, основанную на микроядре следующего поколения с поддержкой новейших 64-разрядных платформ Intel и ARM [v8 и v9], набор инструментов на основе GCC12 и набор инструментов QNX для Visual Studio Code . [18]

Технология

[ редактировать ]

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

Ядро QNX, procnto (также имя двоичной исполняемой программы для самого процесса QNX Neutrino («nto») («proc»)), содержит только планирование ЦП , межпроцессное взаимодействие , перенаправление прерываний и таймеры. Все остальное выполняется как пользовательский процесс, включая специальный процесс, известный как proc который выполняет создание процессов и управление памятью , работая совместно с микроядром . Это становится возможным благодаря двум ключевым механизмам: межпроцессному взаимодействию типа вызова подпрограммы и загрузчику , который может загружать образ, содержащий ядро ​​и любой желаемый набор пользовательских программ и общих библиотек. нет драйверов устройств В ядре . Сетевой стек основан на коде NetBSD . [19] Помимо поддержки собственных драйверов устройств, QNX поддерживает устаревший сервер io-net Manager и сетевые драйверы, портированные из NetBSD. [20]

Межпроцессное взаимодействие QNX заключается в отправке сообщения от одного процесса другому и ожидании ответа. Это одна операция, называемая MsgSend. Сообщение копируется ядром, [ нужна ссылка ] из адресного пространства отправляющего процесса в адресное пространство принимающего процесса. Если принимающий процесс ожидает сообщения, управление ЦП передается одновременно, без прохождения через планировщик ЦП. Таким образом, отправка сообщения другому процессу и ожидание ответа не приводит к «потере хода» ЦП. Эта тесная интеграция между передачей сообщений и планированием ЦП является одним из ключевых механизмов, который делает передачу сообщений QNX широко используемой. Большинству Unix и Linux механизмов межпроцессного взаимодействия в пользовательском пространстве не хватает такой тесной интеграции, хотя реализация обмена сообщениями типа QNX для Linux существует . Неправильное решение этой тонкой проблемы является основной причиной неутешительной производительности некоторых других систем микроядра, таких как ранние версии Mach . [ нужна ссылка ] Процесс-получатель не обязательно должен находиться на одном физическом компьютере.

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

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

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

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

Neutrino поддерживает строгое планирование с вытеснением приоритетов и адаптивное планирование разделов (APS). APS гарантирует минимальный процент использования ЦП для выбранных групп потоков, даже если другие могут иметь более высокий приоритет. Адаптивный планировщик разделов по-прежнему строго вытесняет приоритеты, когда система недогружена. Его также можно настроить для запуска выбранного набора критических потоков строго в режиме реального времени , даже когда система перегружена.

Операционная система QNX также содержала веб-браузер, известный как Voyager. [21]

Благодаря своей микроядерной архитектуре QNX также является распределенной операционной системой . Дэн Додж и Питер ван дер Вин владеют патентом США № 6697876: Операционная система с распределенным ядром , основанная на функциях распределенной обработки операционной системы QNX, известных под коммерческим названием «Прозрачная распределенная обработка». Это позволяет ядрам QNX на отдельных устройствах получать доступ к системным службам друг друга, эффективно используя тот же механизм связи, который используется для доступа к локальным службам. [ нужен неосновной источник ]

История ОСРВ QNX [22]
Версия Дата Среда распространения Примечания
1981 Основание компании QUNIX .
Бета 1983 Как бета-версия QNX
1.0 1984
2.0 1987 Элементы 4.3BSD , такие как TCP/IP и PPP, объединены в QNX 2.0 .
2.21 1989 QNX 2.21
4.0 1990 QNX 4.0
4.1 1994 Элементы 4.4BSD в QNX 4.1
4.2 1995 QNX 4.2
4.22 1995 QNX 4.22
4.24 1995 QNX/Neutrino 1.0 является ответвлением QNX 4.24.
4.25 1997 QNX 4.25 продолжает работу после форка QNX/Neutrino 1.0.
История микроядра QNX/Neutrino — ответвление от QNX 4.24 в 1996 году.
Выпускать Дата Примечания
1.0 1996 QNX/Neutrino 1.0 как ответвление от QNX 4.24
2.0 1998 QNX/Нейтрино 2.0
2.10 1999 QNX/Нейтрино 2.10 (QRTP)
6 18 января 2001 г. QNX ОСРВ 6
6.1.0 2001 QNX ОСРВ 6
6.1.0 (патч А) 28 сентября 2001 г.
6.2 4 июня 2002 г. QNX 6.2 (Моментикс)
6.2 (патч А) 18 октября 2002 г. QNX 6.2
6.2.1 18 февраля 2003 г. QNX 6.2.1 (Моментикс)
6.3 3 июня 2004 г. QNX 6.3
6.3.0 SP1 ?
6.3.0 SP2 ?
6.3.0 SP3/
ОС 6.3.2
?
6.3.2 16 августа 2006 г. [23]
6.4.0 30 октября 2008 г. ОСРВ QNX Нейтрино 6.4.0
6.4.1 май 2009 г. ОСРВ QNX Нейтрино 6.4.1
6.5.0 июль 2010 г. QNX Neutrino RTOS 6.5.0 создан для создания BBX,
как было объявлено 18 октября 2011 г. и представлено позднее,
получила название « BlackBerry 10 1 мая 2012 года OS».
6.5 СП1 11 июля 2012 г. ОСРВ QNX Neutrino 6.5 SP1
6.6 28 февраля 2014 г. QNX 6.6
7.0 4 января 2017 г. QNX SDP 7.0 , первая версия с поддержкой 64-бит
7.1 23 июля 2020 г. QNX СДП 7.1
8.0 декабрь 2023 г. QNX СДП 8.0 [24]

Использование

[ редактировать ]

BlackBerry PlayBook Планшетный компьютер , разработанный BlackBerry, использует версию QNX в качестве основной операционной системы. Операционная система BlackBerry 10 также основана на QNX.

QNX также используется в автомобильных информационно-развлекательных системах, причем многие крупные автопроизводители предлагают варианты со встроенной архитектурой QNX. Он поддерживается популярными библиотеками SSL/TLS, такими как wolfSSL . [25]

С момента появления «Safe Kernel 1.0» в 2010 году QNX проектировался и впоследствии использовался в системах автоматизированного привода или ADAS для автомобильных проектов, для которых требуется RTOS, сертифицированная по функциональной безопасности . QNX обеспечивает это в своей ОС QNX для продуктов безопасности. [26]

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

Лицензирование

[ редактировать ]

QNX предлагает лицензию для некоммерческих и академических пользователей. [27] В январе 2024 года BlackBerry представила QNX Everywhere, чтобы сделать QNX более доступным для любителей. QNX Everywhere еще не стал общедоступным.

Сообщество

[ редактировать ]
  • OpenQNX — это портал сообщества QNX, созданный и работающий независимо. Доступен канал IRC и доступ к группам новостей через Интернет. На сайте разработчики представляют самые разные отрасли. [28]
  • Foundry27 — это интернет-сообщество QNX, созданное компанией. Он служит центром разработки QNX Neutrino, где разработчики могут зарегистрироваться, выбрать лицензию и получить исходный код и соответствующий набор инструментов ОСРВ. [29]

См. также

[ редактировать ]
  1. ^ Перейти обратно: а б Бернс, Мэтт (11 декабря 2014 г.). «Ford отказывается от Microsoft в пользу QNX в новейшей автомобильной технической платформе» . ТехКранч . Проверено 26 февраля 2015 г.
  2. ^ US5745759
  3. ^ Хильдебранд, Дэн (6 июня 1997 г.). «Думай о малом. (Интернет-вызов 1,44 млн)» . marc.info .
  4. ^ «Как мы это сделали!» . Архивировано из оригинала 28 ноября 1999 года . Проверено 3 августа 2020 г.
  5. ^ АВТОМОБИЛЬ QNX http://www.qnx.com/products/qnxcar/
  6. ^ Сотрудники QNX (17 августа 2004 г.). «QNX предлагает чрезвычайно надежное микроядро для масштабируемой системы маршрутизации» . Проверено 16 марта 2012 г.
  7. ^ «Передовые методы эксплуатации CRS-1 и IOS XR» . Циско .
  8. ^ Брэд Риз - BradReese.Com (26 сентября 2006 г.). «Какая ОС стоит за IOS?» . Архивировано из оригинала 22 декабря 2011 г. Проверено 16 марта 2012 г.
  9. ^ Леру, Поль (12 сентября 2007 г.). «QNX публикует исходный код Neutrino и открывает процесс разработки» . www.qnx.com .
  10. ^ «RIM купит программное обеспечение QNX» . Глобус и почта . Торонто. Канадская пресса . 9 апреля 2010 года . Проверено 9 апреля 2010 г.
  11. ^ «foundry27: просмотреть вики-страницу: UpdatedQNXSourceAccessPolicyFAQ» . сообщество.qnx.com .
  12. ^ «RIM представляет BlackBerry PlayBook» (официальный пресс-релиз). 27 сентября 2010 г.
  13. ^ Молен, Брэд (18 октября 2011 г.). «Research in Motion анонсирует BBX, «объединяющий в себе лучшее от BlackBerry и QNX» » . Engadget . Проверено 20 января 2013 г.
  14. ^ Артур, Чарльз (07 декабря 2011 г.). «Производитель BlackBerry RIM вынужден отказаться от названия BBX ради нового программного обеспечения» . Хранитель . Лондон . Проверено 20 января 2013 г.
  15. ^ Хартли, Мэтт (3 марта 2014 г.). «Apple Inc CarPlay добавляет функции iPhone на приборные панели автомобилей GM, BMW, Ford и других автомобилей» . Финансовый пост . Проверено 28 марта 2014 г.
  16. ^ «QNX от BlackBerry: почему он так ценен для Apple, Google и автомобильной промышленности» . ЗДНет . Проверено 27 октября 2014 г.
  17. ^ «BlackBerry QNX запускает самую передовую и безопасную встраиваемую программную платформу для автономного вождения и подключенных автомобилей» . 04.01.2017.
  18. ^ «Платформа разработки программного обеспечения QNX® (SDP) 8.0» . 11 декабря 2023 г.
  19. ^ «Базовая сеть 6.4: сетевой стек следующего поколения Neutrino и Foundry27» .
  20. ^ «foundry27: Просмотр вики-страницы: Drivers_wiki_page» . сообщество.qnx.com .
  21. ^ «QNX Neutrino RTOS – Встроенная ОС | BlackBerry QNX | BlackBerry QNX» .
  22. ^ Левенес, Эрик (1 мая 2011 г.). «История UNIX» . levenez.com . Проверено 18 мая 2011 г.
  23. ^ «Примечания к выпуску QNX® Neutrino® Core OS 6.3.2» . 16 августа 2006 г.
  24. ^ «Платформа разработки программного обеспечения QNX® (SDP) 8.0: Примечания к выпуску» . 11 декабря 2023 г.
  25. ^ «Размеры сборки wolfSSL для встроенной ОСРВ QNX» . волкSSL . 17 сентября 2010 г. Проверено 13 февраля 2019 г.
  26. ^ «Операционная система QNX для безопасности» .
  27. ^ «Операционная система реального времени QNX Neutrino» . QNX . 15 июля 2010 г. Проверено 15 октября 2012 г.
  28. ^ Портал сообщества OpenQNX: объявить
  29. ^ Пресс-релизы QNX: Foundry27

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a0a1d9d25448a09fe91d53533a36cbb3__1720487880
URL1:https://arc.ask3.ru/arc/aa/a0/b3/a0a1d9d25448a09fe91d53533a36cbb3.html
Заголовок, (Title) документа по адресу, URL1:
QNX - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)