Статьи

Windows On ARM: никакой эры Post PC

Евгений Лебеденко / 12.03.2012 / 18:06

Июнь 2010 года. Специальный гость конференции D8, CEO компании Apple Стив Джобс, в своем девяностоминутном интервью Каре Свишер (Kara Swisher) и Уолту Моссбергу (Walt Mossberg), делясь своими мыслями о популярности iPad и ближайшем будущем технологий, провозглашает эру Post PC. Эру, в которой привычный всем нам персональный компьютер, в том виде, который с небольшими вариациями остается неизменным с начала восьмидесятых годов прошлого столетия, перестанет доминировать не только на потребительском рынке, но и в офисной среде. Ему на смену придут устройства с формфактором планшетов и смартфонов, вычислительная мощность, коммуникационные возможности и средства взаимодействия с пользователем будут с лихвой перекрывать потребности решаемых людьми задач, а мобильность и длительное время работы лишат традиционные ПК конкурентного преимущества.

Стив Джобс провозгласил эру Post PC с трибуны конференции D8.

Аппаратной базой Post PC-устройств будут не энергоемкие процессоры Intel и AMD с CISC-архитектурой, содержащие миллионы транзисторов, а чрезвычайно компактные многоядерные системы на чипе (SoC, System on Chip) с RISC-архитектурой, спецификация которой разрабатывается компанией ARM.

Слова великого «яблочного» пророка были подхвачены СМИ, и термин Post PC в короткое время превратился в тренд компьютерной индустрии.

2011 год. Тайпей, выставка Computex 2011. Компания Microsoft в лице вице-президента по разработкам операционной системы Windows госпожи Джулии Ларсон-Грин (Julie Larson-Green) приглашает журналистов на специальный ивент, посвященный операционной системе Windows 8. Выступающие демонстрируют обновленную концепцию главного продукта Microsoft, в основе которой лежит хорошо зарекомендовавший себя в Windows Phone 7 интерфейс Metro, но при этом в живых остается и традиционный интерфейс Windows, к которому привыкли десятки миллионов пользователей ПК. Среди нововведений Windows 8 демонстрируется и ее вариант, работающий на... устройствах с процессорами ARM. В качестве основного ARM-партнера Microsoft называет компанию Qualcomm с ее SoC Snapdragon.

Windows 8, работающая на процессорах ARM с интерфейсом, адаптированным для планшетов. Неужели Microsoft согласилась с идеей эры Post PC?

Последующие действия софтверного гиганта из Редмонда, принявшего решение создавать Windows 8 в обстановке максимальной открытости и активного взаимодействия с пользователями и разработчиками программ, ничем не выдавали прогресса в разработке представленной на Computex 2001 ARM-версии Windows. Регулярно появляющиеся на сайте проекта новой Windows  тестовые сборки системы и предложенная в октябре прошлого года разработчикам версия Windows 8 Developer Preview были ориентированы исключительно на архитектуру x86/64 — оплот эры персональных вычислений.

Февраль 2012 года. IT-пресса пестрит горячими новостями о предстоящем 29 февраля представлении и начале широкого публичного тестирования Windows 8 Consumer Preview. Дата, судя по всему, выбрана не случайно. И Windows 8 Consumer Preview призвана упредить его эффектное появление, показав, что ПК в лице ультрабуков на Windows 8 не собираются сдавать свои позиции.

На все лады обсуждается исчезновение в этой сборке знаменитой кнопки «Пуск» («Start»). И вновь Consumer Preview-версия доступна только в варианте x86/64. А как же кросс-платформенность, ранее заявленная Microsoft? Неужели демонстрация Windows 8 на ARM-девайсах была фикцией? На этот вопрос решил ответить сам президент подразделения Windows и Windows Live Стивен Синофски (Steven Sinofsky). Его развернутый ответ расставил все точки над i.

Windows на ARM-процессорах быть. Но не Windows 8. Или, точнее, не совсем Windows 8. Вариант системы, которая будет работать на устройствах с архитектурой ARM, называется WOA (Windows On ARM). Это особый вариант Windows 8, идеологически отличающийся от версии x86/64. И самое главное: WOA не поддерживает идею эры Post PC. Новая Windows призвана вдохнуть жизнь в концепцию ПК, привнеся в нее новые формфакторы.

Windows On ARM: идеологическая платформа

Что же такое Windows On ARM? Почему Microsoft вместо консолидации своей программной империи решается на фрагментацию, разделив свою систему на x86/64 и ARM-варианты? Положение усугубляется еще и тем, что для ARM-устройств у компании имеется мобильная платформа Windows Phone 7.

Каково же в иерархии Microsoft-продуктов место WOA? Ответ на этот вопрос является несколько неожиданным. По мнению редмондовцев, Windows On ARM не будет конкурировать с Windows Phone 7. Эта система имеет совершенно иное предназначение. Ее выпуск обязан подстегнуть разработчиков «железа» к созданию новых формфакторов ПК. А это означает, что провозглашенная Джобсом эра Post PC отменяется. Просто экосистема персональных компьютеров обретет новую ARM-ветку, органично влившись в существующую Windows-иерархию: серверные платформы -> настольные ПК -> мобильные ПК -> смартфоны.

Популярные как никогда ранее планшеты под управлением операционной системы WOA предложат пользователям наиболее простой путь адаптации их работы в новых мобильных условиях цифровой жизни. Имеющиеся у людей навыки использования настольной версии Windows пригодятся и для работы с WOA. Ведь эта система — та же Windows 8 или, скажем по-другому, очень на нее похожа.

И у x86/64 Windows 8, и у WOA доминировать будет пользовательский интерфейс Metro. В обеих системах при необходимости Metro можно скрыть, вызвав традиционный рабочий стол с панелью задач (и да — кнопки «Пуск» на ней не будет). И в Windows 8, и в WOA для доступа к файлам используется привычный всем «Проводник», а интернет обслуживает быстрый Internet Explorer 10. Обе системы будут работать с новым офисным пакетом Microsoft Office 15, адаптированным под управление пальцами. Новые приложения, адаптированные под Metro (Metro Apps), будут отлично работать и там и там. В обе системы их можно будет загрузить из единого магазина Windows Store.

Все эти одинаковости, по мнению разработчиков новой Windows, обеспечат простое и легкое распространение пользовательского Windows-опыта, который у большинства населения формируется уже с детства, на новые классы устройств: планшеты, ARM-ультрабуки, что позволит потребителю совершенно естественно отнести их к особому подвиду ПК, а разработчикам аппаратуры — проявить инициативу в создании новых вариантов ПК-девайсов. 

Вот так, с помощью WOA, компания Microsoft отменяет эру Post PC.

Но зачем же для этого создавать WOA — совершенно новую, хоть и похожую на Windows 8 систему? Не проще ли было портировать Windows 8 на платформу ARM?

Нет, не проще.

Windows On ARM: трудности перехода

Чтобы понять, почему Windows 8 для x86/64-платформ нельзя просто портировать на архитектуру ARM, стоит вдуматься в коренные различия «железа» ПК и ARM-девайсов.

Начнем с того, что термин «IBM PC совместимость» не пустой звук. Все современные ПК — далекие потомки того самого первого IBM PC 5150, ориентированного на работу с процессорами Intel и легкую расширяемость с помощью модулей-плат, подключаемых к общей шине.

Современные персоналки — набор спецификаций процессорных гнезд, модулей памяти и интерфейсов наподобие PCI и SATA. Разработчики комплектующих для них просто должны придерживаться этих самых спецификаций, а Microsoft — пристально следить за их эволюцией, вовремя выпуская «заплатки» для операционной системы Windows.

Последняя, кстати, сильно ориентирована на архитектуру Intel-совместимых ПК, с кольцами защиты, аппаратной поддержкой страничной памяти и прочими особенностями. Даже уровень аппаратных абстракций HAL (Hardware Abstraction Level) в Windows ориентирован на особенности работы с прерываниями, таймерами и DMA-контроллерами PC-совместимых плат. Да что там говорить — многозадачность Windows напрямую завязана на возможности ПК-железа, ведь квант времени, выделяемый каждому Windows-потоку, является производной от длительности такта аппаратных системных часов на материнской плате ПК.

Архитектура ARM, в отличие от архитектуры ПК, уникальная у каждого производителя ARM SoC. Все дело в том, что ARM — по сути, спецификация, придерживаться в которой стоит только разве что системы команд ядра ARM. Комплектация остальных компонентов для обработки графики и работы с периферийными устройствами может быть эксклюзивной у каждого чипмейкера.

Вся материнская плата PC-совместимого компьютера в ARM-варианте умещается в крошечный чип.

Вот и получается, что «материнская плата» ARM-компьютера, микросхема SoC, ни под какие стандарты не подпадает. И уж тем более — под стандарты ПК-совместимости. Да, ARM-устройства имеют процессорные ядра и шины обмена данными. Однако их варианты, в отличие от ПК-собратьев, ориентированы на сверхнизкое энергопотребление. Так, шины данных AMBA  и I2C / UART в составе архитектуры ARM потребляют в десять (10!) раз меньше энергии, чем ПК-шина PCI Express. А типовое процессорное ядро ARM содержит десятки тысяч транзисторов против миллионов в последних вариантах процессоров Intel и AMD.

Уникальность каждого ARM-чипа является противоположностью открытой идеологии ПК. Именно это и должна была учитывать команда разработчиков WOA. Для начала они ограничили круг разработчиков. В настоящее время ARM-партнерами Microsoft, участвующими в разработке и тестировании WOA, являются компании Qualcomm, NVIDIA и Texas Instruments. Именно они предоставили разработчикам WOA тестовые сборки своих SoC, а также всю документацию и инженеров, обеспечивающих помощь в создании нового и адаптации (если это возможно) имеющегося кода ядра новой Windows. Немаловажную роль сыграли и наработки проекта Windows Phone 7 — системы изначально ориентированной на ARM-устройства.

Среди партнеров проекта Windows 8 наряду с процессорными гигантами Intel и AMD у Microsoft появились и производители ARM-чипов.

В WOA фактически с нуля были созданы модули SPBs (Simple Peripheral Basses) — для поддержки класса HID-устройств, таких как клавиатура, мышь и тачскрин; SD I/O — для подключения радиоинтерфейсов: например, Wi-Fi; eMMC (Embedded MultiMedia Card) — замены ПК-интерфейса SATA для работы с запоминающими устройствами; GPIO (General Purpose I/O) — системы обработки прерываний на ARM-процессорах. Уровень аппаратных абстракций HAL был также адаптирован под имеющиеся варианты SoC. Разработка этих низкоуровневых модулей позволила обеспечить загрузку ядра Windows 8 на ARM-устройствах.

Но Windows для пользователя — это не столько ядро, сколько быстрый и удобный пользовательский интерфейс. Архитектура современных ARM SoC содержит графический процессор GPU, поддерживающий технологию DirectX. Вот только работа с ним в корне отличается от работы Windows с традиционными ПК-совместимыми видеокартами. Именно поэтому вторым существенным шагом в создании WOA стала разработка драйвера для управления GPU SoC. При этом параллельно пришлось разрабатывать как драйвер, непосредственно работающий на ARM-устройствах партнеров проекта, так и «мягкий» GPU-драйвер, обеспечивающий преобразование графического сигнала в VGA-совместимый режим. Нужно это было для организации широкомасштабного тестирования WOA.

Тестирование WOA: чем больше, тем лучше

Являясь крупной софтверной компанией, Microsoft особо тщательно подходит к тестированию собственных продуктов. Потребитель за свои деньги должен получить качественный продукт. Именно поэтому версии традиционной x86/64 Windows проходят обкатку в гигантских тестовых лабораториях Microsoft, где в многочисленных залах смонтированы сотни стоек с тысячами серверных x86/64 платформ, на которых виртуализируются десятки тысяч персональных компьютеров.

Однако подобного опыта с ARM-платформами у Microsoft не было. Именно поэтому в ее департаменте тестирования были заново разработаны аппаратные средства тестирования WOA.

За основу разработчики WOA взяли типовое стоечное шасси 1U, в котором обычно монтируется ПК-платформа. Вынув из него все, кроме блока питания, они разработали монтаж платы SoC и ее соединение с платой устройств ввода-вывода.

Вновь разработанное шасси 1U монтируется в типовую стойку 42U, которая вмещает тридцать два шасси и сетевые интерфейсы. Всего же для тестирования WOA было создано более сотни стоек 42U. Внушительно, не правда ли?

Шасси 1U, переработанное для тестирования WOA, и стойка 42U, рассчитанная на тридцать два 1U.

Именно на этих тестовых стендах проверялась работоспособность системных модулей WOA с такими компонентами, как MBB (Mobile BroadBand) — радиомодули мобильной связи, принтерами, приемниками GPS, различного рода сенсорами (акселерометры, гироскопы и цифровые компасы), Bluetooth-модулями и модулями, поддерживающими протокол MTP (Media Transfer Protocol).

На этих же стендах была отработана массовая эксплуатация системы Windows Update — основы поддержки программных обновлений операционных систем семейства Windows. Впрочем, сборки WOA периодически запускались и на прототипах ARM-девайсов, чтобы убедиться, что в реальном «железе» вновь разрабатываемая система чувствует себя неплохо.

Тестовая ARM-платформа, на которой проверялась работоспособность WOA.

WOA и Windows 8: верхние этажи

Итак, нижние этажи архитектуры Windows On ARM были разработаны заново. Они в корне отличаются от архитектуры Windows 8 для платформ x86/64 и ориентированы на определенный класс ARM-устройств, поставляемых компаниями-партнерами Microsoft. Более того, разработка этих компонентов WOA велась в тесном сотрудничестве с этими компаниями и обеспечила в результате появление уникальных сборок WOA для устройств на базе SoC Qualcomm, NVIDIA и Texas Instruments.

Именно поэтому вся масса программного обеспечения, написанного для платформы Windows и совместимого с Windows 8 для х86/64, не будет работать под управлением WOA. Слишком сильны архитектурные отличия обеих систем.

А как же режимы виртуализации и эмуляции, спросите вы? Ведь, пользуясь ими, на новой платформе можно выполнить нативный Windows-код.

Здесь мнение разработчиков однозначное: нет. Никакого режима эмуляции и совместимости не будет. Применение этого режима означает резкое повышение энергопотребления. А ведь идеология WOA и устройств на ее основе — длительное время автономной работы. Зачем же нужна версия Windows, не умеющая выполнять программы для Windows?

Если нижние «этажи» архитектуры Windows 8 для х86/64-платформы и WOA кардинально отличаются, то «сверху» обе системы работают с интерфейсом Metro.

Это вовсе не так. Стоит напомнить, что «верхним этажом» и WOA и Windows 8 для x86/64-платформы является интерфейс Metro, в рамках которого работают приложения Metro Apps, средой разработки для которых является WinRT (Windows Runtime), поддерживающая как языки С#, Visual Basic, XAML, Java Script и, конечно же, HTML5, так и традиционные С и С++.

Используя WinRT API, в рамках, например, обновленной среды программирования Visual Studio 11, разработчики могут в достаточно короткие сроки создать новые приложения в стиле Metro или портировать имеющиеся наработки из старых программ и сервисов, создавая для них Metro-фронтэнды.

При этом дистрибьюцией этого Metro-софта будет заниматься сама Microsoft. Ее магазин Windows Store, переняв лучшие черты «яблочного» App Store, будет размещать на своих «полках» тщательно отцензурированные программы, обеспечивая разработчикам стабильный доход, а пользователям уверенность в отсутствии вредоносного кода.

«Плиточный» интерфейс нового меню «Пуск» будет одинаков и для Windows 8, и для WOA.

И в той и в другой системе интерфейс Metro можно будет скрыть и воспользоваться, например, традиционным «Проводником».

В составе же сборок WOA и Windows 8 для х86/64-платформ сама Microsoft разместила собственные наработки, как Metro Apps — планировщик дел, браузер Internet Explorer 10, почтовый клиент, так и приложения, встроенные в традиционный (не Metro) интерфейс Windows. Это в первую очередь программы пакета Office 15 (Word, Excel, PowerPoint и OneNote) и «Проводник» Windows.

Приложения офисного пакета Office 15 будут интегрированы в состав образа WOA.

Программы будут жестко встроены в продаваемую версию WOA и смогут получать обновления через сервисы Microsoft Update и Windows Update. Таким образом, накопив багаж Metro-программ и обеспечивая поддержку версий несовместимого с Metro софта для обоих классов систем, Microsoft продолжит традицию понятия Windows Ready, вселяющую уверенность в совместимости покупки у рядового потребителя.

«Местом жительства» всех программ Windows 8 и WOA станет цифровой магазин Windows Store.

Замыкание программной инфраструктуры на магазин Windows Store и Update-сервисы, лишение пользователя возможности установить программу альтернативным способом — например, с внешнего носителя, — не блажь софтверного гиганта, а веяние нашего времени с его широкополосным доступом в интернет и появлении поколения, тесно связанного с Глобальной сетью. Именно благодаря этому существенные архитектурные различия WOA и Windows 8 для х86/64-платформ будут нивелироваться на верхнем уровне работы программистов и пользователей с обеими системами.

Получится ли это у компании из Редмонда? Выпустив (хоть и с двухлетним опозданием) Windows Phone 7, Microsoft доказала, что способна на потрясающие инновации. Остается только ждать официального представления ее альтер эго — системы Windows On ARM и плеяды устройств под ее управлением. 

Прототип планшета на SoC от NVIDIA — первая ласточка плеяды WOA-девайсов. 

blog comments powered by Disqus
Обратная связь
Имя
E-mail
Сообщение:

Отправить