Играем в конструктор
Вполне вероятно, что саму аббревиатуру QNX наш дорогой читатель, который слышал и про промышленные Unix’ы, и про стародавнюю OS/2, и даже про экстравагантную Haiku, видит в первый раз. Это, впрочем, неудивительно, учитывая уже отмеченное нами отсутствие маркетинга среди широких кругов пользователей и крайне малое количество информации о ней на русском языке. Впрочем, на самом деле, QNX уже давно не какой-нибудь экспериментаторский проект, а давно зарекомендовавший себя продукт, тесно заняв такую особенную и немаловажную нишу, как встраиваемые решения. Под этим понятием подразумевается большинство так называемых «умных вещей»: банкоматы, точки доступа и терминалы, мультимедиа-центры, системы управления или контроля за чем-либо, а также различные станки и агрегаты. Что же обеспечило такую популярность?Все дело в уникальной внутренней структуре данной ОС. Во-первых, перед нами система реального времени, которая, не используя специальные режимы работы процессора, служит наиболее точным и подконтрольным посредником между программами и «железом». Во-вторых, и, пожалуй, в самых главных, ядро QNX заметно отличается от ядер практически всех остальных операционных систем. В то время, как ядра Windows, Linux и многих других систем представляют собой, условно говоря, большую программу, которая состоит из отдельных, но максимально тесно связанных между собой модулей, ядро QNX состоит из множества маленьких отдельно управляемых задач (так называемых «серверов»). Пользователи и разработчики могут спокойно изымать из дистрибутива ненужные им серверы, тем самым не только «создавая» отдельный инструмент для каждой конкретной задачи, но и существенно экономя системные ресурсы, которые у встраиваемых решений как раз таки и не блещут богатством. Соответственно, производители имеют более функциональное и менее уязвимое оборудование при определенно меньших затратах. Именно эта система так называемого «микроядра» и помогла создателям QNX не позволить своему детищу исчезнуть с лица Земли в ходе тотальной унификации программного обеспечения.
Из университетов – на заводы
К слову, о создателях. То, что впоследствии стало «сердцем» QNX, поначалу было всего лишь «пробой пера» двух студентов-компьютерщиков университета Ватерлоо – Гордона Белла и Дэна Доджа. Спроектировав его в начале 1980-х годов в ходе научной работы, они поняли, что развивающийся рынок IT может принять его в составе полноценного коммерческого продукта. Это вынудило молодых программистов переехать в формирующийся технопарк в Онтарио и основать там компанию Quantum Software Systems. Спустя некоторое время, уже в 1982 году увидела свет первая версия QNX RTOS (где последнее расшифровалось как Real-Time OS, «система реального времени»), предназначенная для процессора Intel 8088. Таково было скромное начало продукта, который позже будет портирован практически на все типы процессоров, начиная от десктопных x86 и PowerPC и заканчивая мобильными MIPS, SH4 и практически всеми вариациями ARM.Новинка начала довольно активно набирать популярность, но, что интересно, не среди встраиваемых решений, поскольку они тогда еще не позволяли загружать в себя ядро размером 44 килобайта – довольно немаленький объем для тех времен. Как следствие, она использовалась в основном как составная часть более крупных систем и проектов. Впрочем, уже тогда QNX снискала себе репутацию чрезвычайно надежной и отказоустойчивой системы и тем самым получила признание и, разумеется, финансовую поддержку гигантов различных индустрий.
К концу 80-х, к выходу версии 4, ОС была переработана для того, чтобы соответствовать стандартам POSIX (и, соответственно, облегчать перенос приложений с систем-конкурентов), а также обзавелась собственным графическим интерфейсом – Photon microGUI. Слово “micro” в названии было поставлено не зря – интерфейс шустро работал даже на таких уже по тем меркам маломощных системах, как компьютер с «386-м» процессором и считанными мегабайтами оперативной памяти. Таким образом, QNX стала утверждаться в рынке embedded-систем, на которые переходили уже не понаслышке известные с ней клиенты.Символом компактности и производительности QNX стал имевший хождение в 90-х годах демонстрационный диск, который свободно распространялся фактически по всему миру, в том числе и у нас. Представьте: люди еще не до конца отвыкли от текстовых и псевдографических программ, мышь только вот-вот закрепилась как одна из основных составляющих ПК, но программы и игры, использующие ее, все еще отличались своей сильной жаждой свободного места на жестком диске и поэтому «кусались». И в это время по рукам бежит дискета объемом чуть более мегабайта, на которую уместилась не только полностью графическая операционная система, но и полноценный веб-браузер для нее, а также драйвера на модемы, сетевые и видеокарты! Более того, подключившись к Интернету, диск мог подгружать из него дополнительные модули ядра (те самые «серверы») и, размещая их в оперативной памяти, на лету подключать их, расширяя тем самым функционал еще дальше. Демо-версия QNX производила настолько яркое впечатление, что в прессе того периода открыто высказывались идеи по массовому созданию с помощью нее бюджетных Интернет-кафе. Идея заключалась в следующем: достаточно просто взять десятки бывших в употреблении «четверок» или «пентиумов» без жестких дисков, подключить к ним сетевые карты, вставить дискеты в дисководы и получить парк полностью работающих Интернет-машин при минимальных вложениях! Неизвестно, было ли данное предложение реализовано кем-то на самом деле, но сам факт того, что даже демонстрационную версию того или иного продукта можно в теории использовать в реальных коммерческих целях, определенно говорит о его функциональности и соответствии заявленным выполняемым задачам.
Впрочем, это, пожалуй, одно из наиболее прозаичных и даже банальных использований такой прекрасно масштабируемой и подгоняемой под любую среду системы. Разработанная в 2001 году QNX 6 Neutrino оказалось настолько идеально выверенной, что даже современные версии, выпущенные буквально в этом году, до сих пор используют ее в качестве основы, лишь оттачивая ее. Огромное количество поддерживаемых платформ и увеличившаяся по сравнению с предшественниками скорость работы даже при чрезвычайно маломощном аппаратном обеспечении окончательно закрепили позиции компании-разработчика, к тому моменту переименованной в QNX Software Systems, на рынке. Отныне на микроядерной системе работало практически вся серьезная электроника, в том числе та, от стабильности которой зависят жизни людей – бортовые компьютеры самолетов, системы управления вооружением, медицинское оборудование и даже ядерные реакторы.
В кармане и в машине
Однако QNX было суждено продвинуться и на потребительский рынок, пусть и «тайком» от конечного пользователя. В 2004 года QNX Software Systems была куплена компанией Harman International Industries, специализирующейся на автомобильной электронике, что открыло ей путь к покорению рынка автонавигаторов и мультимедийных центров. С тех пор под управлением данной системы работает электроника в более чем двухстах различных моделей машин, что на 2011 год составляло примерно 20 миллионов отдельных транспортных средств. Более чем вероятно, что, включая радио на своем Mercedes или Audi, вы, сами того не осознавая, используете как раз QNX.Нашла свое место данная ОС и на мобильном рынке. В 2010 году была заключена еще одна сделка по купле-продаже, на этот раз с Research In Motion, производителем телефонов бизнес-класса BlackBerry. В этом же году миру был представлен планшет BlackBerry PlayBook, чья операционная система как раз была основана на QNX. Несмотря на неплохие технические характеристики, широкие возможности соединения со смартфонами и даже совместимость с Android-приложениями, планшет не смог не то что стать популярным, но и вообще занять хотя бы какую-то значимую долю рынка. Однако это вовсе не означало то, что все наработки оказались заброшены – спустя некоторое время была анонсирована операционная система BlackBerry 10, которая сменила предыдущую мобильную ОС, существующую еще с конца 90-х, и завоевавшую признание покупателей смартфонов на ней, в основном благодаря инновационному жестовому интерфейсу и высокой ориентированности на бизнес. Так, с помощью функции BlackBerry Balance можно разграничить личные и рабочие данные пользователя и переключаться между ними простым пролистыванием по экрану, при том, что сами данные на лету шифруются 256-битным ключом по алгоритму AES. Выход большого количества QNX-основанных мобильных продуктов вовсе не означал уход с других отраслей – промышленность и автомобильная индустрия все так же продолжали пользоваться всеми преимуществами ОС. Последним и довольно таки интересным событием в этой области стал недавний анонс на Женевском автосалоне автомобильной системы CarPlay от Apple, позволяющей в максимально полном объеме использовать возможности iPhone в автомобиле, включая подсказки Siri и сообщения iMessage. И, опять же, несмотря на поразительное внешнее сходство CarPlay с iOS, работает вся эта система на все той же самой QNX.
Добавить Комментарий