В настоящее время разработчикам (именно они являются клиентами 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 в интерфейсе своего планшета).
Астрофизик Сергей Попов о гравитационных волнах
Автор: Алла Аршинова
Опубликовано 02 декабря 2010 года
Общая теория относительности – одна из самых проверенных и надежных теорий в современной физике. Почти все предсказания в рамках этой теории были подтверждены экспериментально. Но, как известно, в ней остаётся один не проясненный до конца вопрос: существование гравитационных волн. В том, что они есть, никто из научного мира всерьез не сомневается, потому что наука располагает очень внушительными косвенными свидетельствами.
Обнаружение гравитационных волн может произойти в трех случаях. Во-первых, если ученым повезет, и в нашей галактике произойдет, например, взрыв сверхновой. Тогда уже существующие земные детекторы, вероятно, смогут зафиксировать гравитационную волну, рожденную этим событием. Во-вторых, волны могут быть обнаружены от слияния нейтронных звезд или черных дыр, если будет повышена чувствительность существующих установок. И третий вариант – это успешная работа космических детекторов гравитационных волн, которые пока находятся на этапе проектирования и в космос отправятся еще не скоро.
О том, как работают детекторы гравитационных волн, и когда можно ждать от них результатов, рассказывает кандидат физико-математических наук, старший научный сотрудник Государственного астрономического института им. П. К. Штернберга Московского государственного университета Сергей Попов.
– Что такое гравитационные волны?
– Начнем с аналогии. Представьте себе электрический заряд. Вокруг есть электрическое поле, но никакой волны нет. Если мы начнем ускорять заряд, поле будет "отрываться" – пойдет электро-магнитная волна. Она уже живет сама по себе. Примерно то же самое происходит с гравитационным полем. Вокруг массивного тела есть поле. Если мы начнем его двигать (например, если тело вращается вокруг другого объекта, как Земля вокруг Солнца), то опять-таки гравитационное поле будет "отрываться" – побежит гравитационная волна.
Всё вокруг заполнено гравитационными волнами, поскольку их испускают почти все движущиеся объекты. Например, вы, помахав рукой, испустили их. Не испускает гравитационных волн только вращающаяся идеальная сфера или вращающийся симметрично сплюснутый шар. Но волны очень слабые, а потому зарегистрировать их сложно. Сколь-нибудь заметный эффект можно ожидать, лишь наблюдая процессы астрономического масштаба. Например, взрыв сверхновой приводит к всплеску гравитационных волн. Двойные системы испускают гравитационные вволны, когда звезды кружат вокруг общего центра масс. Наиболее мощные сигналы ожидают от слияния нейтронных звезд или черных дыр. В последнем случае основная доля энергии уносится именно гравволнами.