Читаем Компьютерра PDA N76 (27.11.2010-03.12.2010) полностью

<p id="sec_17">QNX в планшете RIM: откуда взялась эта платформа?</p>

Автор: Евгений Крестников

Опубликовано 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 специалисты единодушно считают этот фактор несущественным.

Другой важный момент - то самое пресловутое "реальное время". Операционные системы реального времени часто путают с "быстрыми" системами. На самом деле, это не одно и то же - выражение "реальный масштаб времени" означает, что программа должна выдать результат в строго отведенный ей временной промежуток. Опоздание здесь так же неуместно, как и спешка.

Перейти на страницу:

Похожие книги

1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих
1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих

Книга предоставляет полное описание приемов и методов работы с программой "1С:Управление небольшой фирмой 8.2". Показано, как автоматизировать управленческий учет всех основных операций, а также автоматизировать процессы организационного характера (маркетинг, построение кадровой политики и др.). Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, формировать разнообразные отчеты, выводить данные на печать. Материал подан в виде тематических уроков, в которых рассмотрены все основные аспекты деятельности современного предприятия. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов. Все приведенные в книге примеры и рекомендации основаны на реальных фактах и имеют практическое подтверждение.

Алексей Анатольевич Гладкий

Экономика / Программное обеспечение / Прочая компьютерная литература / Прочая справочная литература / Книги по IT / Словари и Энциклопедии