`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Jaguar -- когда целое больше составных частей

0 
 

В ожидании революционных изменений проще всего эти изменения не заметить. Именно так и произошло (по крайней мере, у нас) с выходом нового релиза операционной системы Mac OS X. То ли "версионный характер" наименования ОС ("всего лишь очередная" версия 10.2), то ли невысокая популярность компьютеров Apple на нашем рынке сыграла злую шутку, но факт оcтается фактом -- мы просмотрели Нечто Очень Важное...
За кодовым названием Jaguar и уже ставшими знаменитыми снимками экранов с характерными элементами пользовательского интерфейса в Mac OS X скрывается по-настоящему революционное изменение в архитектуре операционных систем. Ради того чтобы восполнить этот пробел и в рамках столь краткого материала ознакомить читателя с Событием, автор вынужден максимально сократить "избыточные" сведения о нововведениях на уровне пользовательского и системного ПО, входящего в дистрибутив ОС. Их немало (более двухсот), но в большинстве случаев они либо ориентированы на упрощение адаптации пользователей классических компьютеров Macintosh, либо далеки от наших реалий (например, включение в стандартную поставку AOL Instant Messenger), либо достаточно очевидны (это касается, в первую очередь, улучшения и без того хорошей "общительности" Mac OS X, унаследованной от базовой Unix-совместимой платформы).

Jaguar -- когда целое больше составных частей Главным же улучшением стала резко возросшая производительность, проявляющаяся буквально с первых секунд работы с управляемым Jaguar компьютером. Если прежние версии ОС вызывали слишком хорошо ощутимое потребление ресурсов процессора даже при выполнении невинной операции перемещения окна, то Jaguar почти без серьезной загрузки CPU умудряется поддерживать работу нескольких далеко не легких приложений в окнах с включенным альфа-блендингом (полупрозрачных) на фоне выводимого в корневое окно... видео. Этот пример, конечно, исключительно демонстративен, но он показывает высокий потенциал Jaguar и подтверждает, что заявленный Apple четырехкратный прирост производительности системы -- не сказка. Такой взрывной рост быстродействия объясняется глубинными изменениями в архитектуре ключевых подсистем ОС. Но мы начнем знакомство не с них, а с цепочки логически взаимосвязанных недавних событий, казалось бы, весьма далеких от предмета обсуждения...

В середине июня компания NVidia анонсировала специализированный язык программирования Cg, поддерживающий разработку ПО класса firmware для своих графических видеоподсистем. Собственно, ничего особо примечательного в этом факте не обнаруживается -- инструментальная среда на основе "еще одного" C-подобного языка для решения весьма специфических задач интересна сугубо разработчикам. В конце того же месяца компания Apple провела демонстрацию ОС Jaguar на знаменитой выставке машинной графики SIGGRAPH. Что примечательно, Apple на протяжении нескольких лет никакого внимания SIGGRAPH не уделяла, а в этот раз не только удостоила выставку своим докладом, но и провела небольшое Jaguar-шоу в павильоне... NVidia. До этого момента (пусть не исторического, но в каком-то смысле -- переломного) Mac OS X, в отличие от ОС Windows, полноценно не поддерживала возможности акселераторов NVidia. И вот все изменилось -- теперь графические подсистемы Mac OS X не просто "поддерживают" возможности 3D-акселератора, напротив, эти возможности стали основой обновленной интерфейсной модели Jaguar. Неудивительно, что в сегодняшнем спектре поддерживаемых аппаратных видеоподсистем для этой ОС доминирующее положение занимает продукция именно NVidia.

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

Для того чтобы понять значимость произошедшего, взглянем на внутреннее устройство ОС Mac OS X. Сразу следует напомнить читателю, что эта система далеко не нова -- ее разработка началась в 1994 г. и практически полностью базируется на успешной реализации ОС NeXTStep, под управлением которой функционировали знаменитые рабочие станции NeXT.

Ядро ОС Jaguar (как и всех ее предшественниц, начиная с NeXTStep) воплощает по сей день нереализованную мечту многих известных проектов (в том числе и GNU) -- это основанная на отработанном микроядре Mach (проект Университета Карнеги--Миллан) модульно-компонентная конструкция, использующая в качестве "интерфейсных" (для прикладных программ) сервисов наработки не менее известного проекта BSD Unix. За время развития от NeXTStep до Mac OS X создатели ядра ОС не изменили изначально принятой идеологии, и сегодняшняя Jaguar на уровне ядра отличается разве что технологическими нюансами (Mach 3.0 и "интерфейсный" код, заимствованный из ОС FreeBSD версии 4.4). Учитывая опыт многих коммерческих проектов, в том числе очень похожих на Mac OS X (здесь сразу вспоминается сменившая хозяев столь много обещавшая в свое время BeOS), идеологи Mac OS X приняли довольно нетрадиционное решение, "открыв" исходные коды ядра ОС и подчеркнув его независимость от всей остальной системы даже "именем собственным" -- Darwin. И хотя Darwin представляет собой исключительно интересную самостоятельную разработку, самые "вкусные" подсистемы Mac OS X (и, естественно, Jaguar) Apple "открывать" не торопится, что вполне объяснимо: несмотря на "преклонный" возраст, идеологические и технологические особенности двух важнейших подсистем ОС -- графической и пользовательского интерфейса -- представляют собой если не know-how, то по-своему уникальный образчик хорошо сбалансированного программного проекта. Впрочем, к понятию "сбалансированности" мы еще вернемся, а сейчас настало время сконцентрироваться на главном...

"Сердце" графической подсистемы Mac OS X -- высокоуровневый менеджер окон, содержащий мощную библиотеку векторно-растровой графики Quartz. Именно этот компонент ОС реализует и "движок" рендеринга единого формата для Mac OS X -- PDF, и именно в нем кроется радикальное несходство Mac OS X со своей предшественницей -- NeXTStep (в этой ОС дисплейная модель была построена на куда более формальном, но проигрывающем в возможностях работы с растровой графикой, языке PostScript). Quartz обеспечивает как базовые функции, свойственные большинству аналогичных систем, например буферирование содержимого окон, так и совершенно уникальные, такие, как модель "попиксельного видеомикширования", которая позволяет в реальном времени разделять каждый пиксел физического экрана между несколькими окнами приложений одновременно с помощью различных алгоритмов. Принятый за основу дисплейный формат PDF является как гарантом принципиальной общесистемной независимости от свойств физического дисплея, так и обеспечивает прозрачность вывода на печать (по идее, при такой модели никакой идеологической разницы между выводом на экран и процедурой печати нет). Естественно, за высокий уровень архитектурной модели и богатство возможностей всегда приходится платить, и в случае с Quartz расплатой была, конечно, ресурсоемкость. В предыдущих версиях Mac OS X критический компонент Quartz -- Quartz Compositor, отвечающий за уникальную функциональность подсистемы (в первую очередь, за "попиксельное видеомикширование"), выполнялся на центральном процессоре компьютера и работал с подготовленными областями буферной памяти окон, в которые приложения осуществляли "вывод" посредством вызовов библиотек Quartz. На основе содержания буферов окон Quartz Compositor формировала мгновенный "снимок" текущего состояния экранной области, и именно эта картинка отображалась на экране рабочей станции под управлением Mac OS X. Очевидно, что все процедуры, связанные с обработкой таких объемов информации, да еще и основанные на весьма сложных алгоритмах, крайне ресурсоемки, что и подтверждалось "заторможенностью" Mac OS X прошлых поколений. Казалось бы, найти одновременно красивое и радикальное решение такой проблеме трудно. Конечно, можно пойти по экстенсивному пути и просто повысить производительность центрального процессора, можно попытаться реализовать часть уникальной алгоритмики Quartz аппаратными средствами. Первый путь для Apple недоступен (она не производит процессоров), второй -- слишком ресурсоемкий и рискованный (разработка микросхемы такого уровня сложности "по зубам" только специализирующимся в области проектирования сверхбольших интегральных схем компаниям, а если учесть уникальность и специфичность задачи...).

Ну а теперь мы знаем достаточно для того, чтобы понять, как делаются революции -- нам известна проблема, а также то, что очевидные способы ее решения неоптимальны. Давайте вспомним о "неожиданной дружбе" Apple и NVidia и попытаемся повторить ход мысли разработчиков Mac OS X. Производители видеоподсистем (в том числе и NVidia) давно определились с приоритетами -- двухмерная графика, а тем более векторная, в категорию приоритетных не попадает, все сконцентрировали усилия на 3D-акселерации. Факт бесспорен. В нашем контексте это означает, что радикально поднять производительность такой высокоуровневой графической подсистемы, как Quartz, можно только одним способом... Да, не сомневайтесь, превратить всю дисплейную подсистему из двухмерной в трехмерную! Именно это и было сделано в Jaguar -- усложненное модным словечком название Quartz Extreme (QE) скрывает за неопределенностью, пожалуй, самое значительное событие в мире ОС последних лет. Jaguar -- это Первая Операционная Система с полностью 3D-пользовательским интерфейсом! Теперь QE воспринимает каждое окно не иначе как текстурированный 3D-объект. Сама текстура этого объекта может порождаться программами двухмерной (библиотеки Quartz), трехмерной (OpenGL) графики или мультимедийным потоком (QuickTime). А остальное -- операции с "3D-объектами-окнами" -- дело мощного де-факто стандартного и доступного видеоакселератора. К этой информации добавим лишь сведения о полной унификации на основе единственной графической 3D-подсистемы OpenGL и о неочевидном свойстве всех дисплейных программ -- любой элемент пользовательского интерфейса в них является окном или группой окон.

В завершение остается только сказать, что разработчики прикладного и системного ПО очень высоко оценивают шансы Jaguar, что подтверждается высокой активностью не только в области создания принципиально новых программ для этой платформы, но и в портировании настоящей "классики". Уникальность Jaguar делает ее крайне привлекательной для производителей мощных графических пакетов и CAD, а стабильность, с которой Apple в этой системе реализует "тихие революции", обещает много интересного в будущем.
0 
 

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT