QNX в планшете RIM: откуда взялась эта платформа? Евгений Крестников
QNX в планшете RIM: откуда взялась эта платформа?
Евгений Крестников
Опубликовано 02 декабря 2010 года
Недавно компания RIM, крупнейший производитель смартфонов в США, купила канадскую фирму QSS. Вскоре стало известно, зачем потребовалась эта сделка: RIM анонсировала планшетный компьютер, работающий под управлением операционной системы, основанной на QNX Neutrino.
Специалистам в области промышленной автоматизации дополнительных пояснений не требуется — им хорошо знакома эта платформа. Скоро с ней впервые познакомится и широкая публика.
Историческая справка
Тридцать лет назад, в 1980 году, выпускники канадского университета Ватерлоо Гордон Белл и Дэн Додж вместе разработали основу ядра новой операционной системы реального времени. Тогда же они переехали в город Каната в провинции Онтарио и основали компанию Quantum Software Systems, которая через два года выпускает операционную систему QUNIX (читается как «кюникс», от англ. «quick» — быстрый).
Торговой маркой UNIX на тот момент владела корпорация AT&T. По её настоянию система была переименована в QNX, а позднее, уже в начале девяностых, и сама компания сменила название на QNX Software Systems (QSS).
К середине восьмидесятых появилась QNX2, а спустя десять лет за ней последовала QNX4. Разработчики ещё раз полностью переписали ядро, сосредоточив свои усилия на совместимости со стандартом POSIX. В QNX4 появилась встраиваемая графическая подсистема Photon microGUI, а кроме того, благодаря совместимости с POSIX, на неё были перенесены различные программы для Unix (в частности X Window System).
Среди специалистов бытует мнение, что QNX4 тогда была лучшей встраиваемой системой реального времени. Она широко использовалась (и до сих пор используется) в самых различных отраслях человеческой деятельности: управление промышленными роботами, диспетчеризация транспорта, космическая и оборонная промышленность.
В конце девяностых компания QSS разработала QNX6 (Neutrino), которая была выпущена в 2001 году. Помимо соответствия новой редакции стандарта POSIX, она отличается максимальной совместимостью с NetBSD и Linux (достаточно сказать, что новая сетевая подсистема QNX была портирована из NetBSD). При этом операционная система сохранила микроядерную архитектуру.
В настоящее время разработчикам (именно они являются клиентами QSS, ведь это встраиваемая ОС) доступна версия QNX 6.5, которая поставляется вместе с основанной на Eclipse средой разработки QNX Momentics (с ее помощью создают целевые системы для различных устройств).
В 2004 году QSS была куплена корпорацией Harman (да, сделка с RIM — не первая продажа компании), которая сохранила ее автономию, а Дэн Додж стал также вице-президентом Harman по информационным технологиям. В 2007 году исходные тексты QNX начали открывать под гибридной лицензией (в рамках проекта Foundry27), но при этом сама система осталась коммерческой. После покупки QSS компанией RIM доступ к исходным текстам был ограничен и началась новейшая история этой примечательной ОС.
Архитектура системы
Сложно описать архитектуру системы, не вдаваясь в ненужные большинству читателей технические подробности. Мы привыкли к ОС с монолитными ядрами, которые представляют собой большую программу, содержащую множество подсистем: систему управления процессами и памятью, дисковую подсистему и т. д. В QNX всё наоборот.
Ядро QNX — это небольшая (около 8Кб в QNX4 и от 20 до 32 Кб в QNX6) программа на ассемблере, которая занимается, в основно, планированием процессов и обеспечением взаимодействия между ними. Всё остальное делают сами запущенные процессы, притом здесь нет никакой принципиальной разницы между обычной пользовательской программой и, скажем, дисковой подсистемой. Любой процесс может быть запущен и остановлен в произвольный момент времени, причём если не нужно, например, работать с сетью — нет никакой необходимости запускать сетевую подсистему.
Подобный подход не только повышает масштабируемость, подобный подход делает QNX высоконадежной операционкой — ситуации, когда система приходит в неработоспособное состояния из-за отказа в одном из процессов здесь крайне маловероятны. Такие ОС называют микроядерными. У микроядерных ОС есть и недостатки — накладные расходы на переключение между процессами при подобном подходе возрастают. Однако в случае с QNX специалисты единодушно считают этот фактор несущественным.
Другой важный момент — то самое пресловутое «реальное время». Операционные системы реального времени часто путают с «быстрыми» системами. На самом деле, это не одно и то же — выражение «реальный масштаб времени» означает, что программа должна выдать результат в строго отведенный ей временной промежуток. Опоздание здесь так же неуместно, как и спешка.
"Реальное время" не особенно критично, когда речь идёт о компьютерах пользователей, но производство — совсем другое дело. Cогласитесь, отставание совершенно неприемлемо, когда речь идёт о промышленном роботе, стоящем на конвейере. Он должен закрутить гайку именно в момент Х — ни раньше, ни позже. А уж если говорить об управлении атомными реакторами...
Любая cистема реального времени должна быть быстрой (иначе она не успеет обработать данные из нескольких источников, да еще без буферизации). Но она должна обеспечить не просто быструю, а гарантированную реакцию. Конечно, специалистам подобное пояснение покажется чересчур дилетантским, но для общего понимания ситуации его вполне достаточно. Можно еще говорить об истинной многозадачности, блокировках, квантовании времени и прочих интересных вещах, но это определенно выходит за рамки популяризаторской статьи.
Напоследок стоит отметить, что QNX — это встраиваемая ОС. Если QNX4 еще разворачивали с помощью программы установки на некоторых устройствах, то для QNX Neutrino это абсолютно ненормальная ситуация. Сценарий здесь таков: есть установленная под Windows или Linux среда разработки Momentics, в ней делают целевую систему (прошивку), которую и заливают на устройство. Конечно, программа установки здесь есть, с ее помощью можно поставить QNX Neutrino (и Momentics для QNX) на x86-совместимую машину. Но в реальной работе ее не используют — только для тестов и обучения.
Примеры применения
Говорить об использовании системы QNX можно бесконечно. Эта система напоминает пресловутого суслика, которого никто не видит... а он, тем временем, есть. QNX контролирует работу атомных реакторов, газовых котлов, автомобильных компьютеров, буровых установок (кстати, система активно применяется и в российской нефте-газовой отрасли) и массы других устройств от простейших контроллеров до сложных бортовых комплексов автономных подводных и космических аппаратов. Здесь и работа с пластиковыми картами VISA в Северной Америке, и управление дорожным движением в канадском городе Оттава-Карлтон.
Самое впечатляющее применение QNX в телекоме — ОС для систем маршрутизации операторского класса Cisco IOS XR представляет собой целевую систему на базе Neutrino (конечно, в IOS XR больше разработанного компанией Cisco софта, но выбор QNX в качестве основы для подобной платформы говорит о многом). В Санкт-Петербурге QNX применяется в системе автоматизированного контроля и управления разводкой Троицкого моста, в метрополитене и много где еще — всего не упомянешь. Отдельно стоит отметить разрабатываемые компанией «СВД Встраиваемые системы» изделия КПДА, которые представляют собой сертифицированные для российской оборонки версии QNX.
Графическая подсистема
Совершенно очевидно, что такая универсальная, надежная, масштабируемая (и прочее) операционная система может работать и на гаджетах. Но здесь есть одна проблема — встраиваемая графическая подсистема Photon для этого совершенно не приспособлена. Однако не все так плохо — еще до продажи компании в QSS задумывались об использовании своих разработок в этой области и начали делать новую графическую подсистему. Ничего удивительного — если не принимать во внимание отсутствие адекватного интерфейса — QNX была бы идеальной системой для современных планшетов и коммуникаторов. Наверняка она будет требовать гораздо меньших ресурсов, чем пришедшие с десктопа Linux, iOS и Windows (обеспечивая при этом более надежную работу устройства). Разработчики реализовать свои наполеоновские планы не смогли. Не исключено, что у RIM это получится. Кстати, тот факт, что в новой графической подсистеме QNX активно использовались технологии Adobe Flash и JavaScript наводит на определенные мысли — скорее всего интерфейс анонсированного планшета использует старые разработки QSS (представители RIM также много говорят про использование Flash и JavaScript в интерфейсе своего планшета).
К оглавлению
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
А вы поехали бы в Америку работать, или Откуда у Марка Цукерберга любовь к иммигрантам Евгений Золотов
А вы поехали бы в Америку работать, или Откуда у Марка Цукерберга любовь к иммигрантам Евгений Золотов Опубликовано 16 мая 2013 Марк Цукерберг известен как гениальный технарь, но вот уже месяц как он ещё и политик. На 20 миллионов долларов из
Век программера-самоучки: откуда вдруг столько любителей писать код и чем это всем нам грозит? Евгений Золотов
Век программера-самоучки: откуда вдруг столько любителей писать код и чем это всем нам грозит? Евгений Золотов Опубликовано 27 декабря 2013 Уверен, многие из вас удивятся, но на программиста, оказывается, учат. На курсах, в техникумах, вузах: есть даже
Российские IT-компании за рубежом: ЦРТ Евгений Крестников
Российские IT-компании за рубежом: ЦРТ Евгений Крестников Опубликовано 24 декабря 2010 года - Продукты вашей компании разрабатываются только в России, или у вас есть и зарубежные центры разработки? - Большая часть программных продуктов ЦРТ
Национальная программная платформа: успеть за шестнадцать дней Евгений Крестников
Национальная программная платформа: успеть за шестнадцать дней Евгений Крестников Опубликовано 03 октября 2011 года На прошлой неделе были опубликованы результаты проводящегося Министерством связи и массовых коммуникаций Российской Федерации
Национальная программная платформа: Дмитрий Комиссаров («ПингВин Софтвер») о победе в конкурсе Евгений Крестников
Национальная программная платформа: Дмитрий Комиссаров («ПингВин Софтвер») о победе в конкурсе Евгений Крестников Опубликовано 03 октября 2011 года На прошлой неделе были опубликованы результаты проводящегося Министерством связи и массовых
Национальная программная платформа: Павел Фролов (ГНУ/Линуксцентр): «Огорчают шаги, предпринятые государством» Евгений Крестников
Национальная программная платформа: Павел Фролов (ГНУ/Линуксцентр): «Огорчают шаги, предпринятые государством» Евгений Крестников Опубликовано 03 октября 2011 года На днях были опубликованы результаты проводящегося Министерством связи и массовых
Национальная программная платформа: Леонид Ухлинов («Сириус»): "Удивляет участие «ПингВин Софтвер» в конкурсе" Евгений Крестников
Национальная программная платформа: Леонид Ухлинов («Сириус»): "Удивляет участие «ПингВин Софтвер» в конкурсе" Евгений Крестников Опубликовано 03 октября 2011 годаНа днях были опубликованы результаты проводящегося Министерством связи и массовых коммуникаций Российской
Чего ждать от Firefox 4? Крестников Евгений
Чего ждать от Firefox 4? Крестников Евгений Опубликовано 14 мая 2010 года Об изменении подхода к разработке Firefox стало известно ещё в январе. В Mozilla планируют выпустить Firefox 4 в конце ноября (публичная бета-версия будет доступна уже в июне). От
LTE: Теория заговора Крестников Евгений
LTE: Теория заговора Крестников Евгений Опубликовано 03 августа 2010 года Технология мобильной связи 3GPP Long Term Evolution (LTE) является развитием стандартов CDMA и UMTS. Теоретическая максимальная скорость передачи данных в сетях 3GPP LTE достигает 326,4 Мбит/с на приём
Red Hat и SAP: состоится ли сделка? Евгений Крестников
Red Hat и SAP: состоится ли сделка? Евгений Крестников ОпубликованоЕвгений Крестников Слухи о поглощении компании Red Hat крупной софтверной корпорацией ходят уже давно. Пока эксперты скептически оценивают вероятность подобного развития событий. Одна из
Установка MeeGo на нетбук Евгений Крестников
Установка MeeGo на нетбук Евгений Крестников Опубликовано 20 октября 2010 года В начале 2010 года Intel и Nokia объединили свои мобильные платформы в общий проект, под названием MeeGo. Его целью стало создание основанной на Linux и полностью свободной платформы для
CIO: разговоры о Linux Крестников Евгений
CIO: разговоры о Linux Крестников Евгений Опубликовано 10 июня 2010 года International CIO Congress «White Nights» — главная независимая площадка обмена опытом и выявления тенденций развития ИТ-рынка Северо-Запада России. Корреспонденты «Компьютерры» побывали на
OpenOffice.org разветвился от страха Евгений Крестников
OpenOffice.org разветвился от страха Евгений Крестников ОпубликованоЕвгений Крестников Встречается мнение, что встраивая продукты Sun Microsystems в свою инфраструктуру, Oracle будет активно отсекать проекты, не приносящие явной прибыли. Его обоснованность уже
Павел Фролов («ГНУ/Линуксцентр») о НПП Евгений Крестников
Павел Фролов («ГНУ/Линуксцентр») о НПП Евгений Крестников Опубликовано 27 декабря 2011 года В интервью с Дмитрием Комиссаровым мы вкратце затронули тему финансово-экономического обоснования внедрения разработанных в рамках национальной
Робот за тридцать минут Евгений Крестников
Робот за тридцать минут Евгений Крестников Опубликовано 31 августа 2012 года Edumandriva и ряд других свободных проектов. Сейчас он работает над версией робоплатформы для вузов и предприятий. Об открытом железе мы пишем нечасто. Не так давно появился