Построение ОС Windows для архитектуры процессоров ARM

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

Эта статья посвящена технической основе системы, которую мы (в рамках данной статьи) будем называть Windows на ARM или WOA (Windows on ARM). WOA — это новый член семейства Windows, подобно таким продуктам, как Windows Server, Windows Embedded и Windows Phone. Как и эти продукты, WOA строится на основе Windows, обладает высокой степенью общности и значительным объемом общего кода с Windows 8 и будет разрабатываться, продаваться и поддерживаться как часть крупнейшей компьютерной экосистемы в мире. Сегодня мы уделим основное внимание разработке WOA и представим несколько компонентов, а также особенности взаимодействия пользователей с этой системой. Как и в случае с Windows 8 на платформе x86/64, заявления относительно коммерческого и маркетингового аспектов этих продуктов пока еще не делались. Данная запись блога посвящена созданию системы WOA, а не вопросам ее маркетинга или продаж.

Однако, хотя эта публикация посвящена исключительно нашей работе над WOA, следует все же отметить, что нам удалось установить более глубокий, чем в любом из предыдущих выпусков, уровень сотрудничества с компаниями Intel и AMD по всему спектру предложений компьютеров. Для раскрытия инновационных возможностей Windows 8 на мощных и эффективных процессорах x86/64, работы на новых процессорах с пониженным энергопотреблением (например, таких, которые были представлены компанией Intel на выставке CES) требуются такие же значительные усилия и даже более высокий объем инвестиций в проектирование, новые надежные конструкторские решения и улучшенную архитектуру для Windows на всех этих платформах. Во время обсуждения инженерных аспектов, касающихся использования процессоров ARM, важно иметь в виду, что помимо новых направлений работы, проделанной нами по платформе ARM, значительная часть описанных здесь действий применяется непосредственно к платформе x86/64 и самой операционной системе Windows 8. Мы оптимистично настроены по отношению к новым продуктам Intel и AMD, которые станут частью Windows 8 по всему спектру компьютерных форм-факторов, включая планшетные ПК, ноутбуки, Ultrabook™, универсальные решения, настольные компьютеры и т. п.; все они используют преимущества новых возможностей Windows 8, в то время как Windows 8 использует преимущества новых возможностей оборудования.

Использование готового решения WOA будет аналогично использованию Windows 8 на платформе x86/64. Вход выполняется тем же самым способом. Начало работы и запуск приложений выполняются одним и тем же способом. Windows Store используется одним и тем же образом. Вы получите доступ к возможностям, присущим Windows, — от нового экрана «Пуск», Internet Explorer и приложений в стиле Metro до периферийных устройств, а при желании и к рабочему столу Windows с такими инструментами, как проводник и Internet Explorer. При этом взаимодействие с пользователем остается таким же быстрым и удобным. Другими словами, при разработке WOA мы старались, чтобы его внешний вид и удобство использования полностью совпадали с вашими ожиданиями. WOA позволяет творчески подойти к проектированию компьютеров, что в сочетании с новыми возможностями архитектуры операционной системы обеспечит для пользователей получение новых эффективных решений в этой области.

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

  • Windows на ARM, или WOA, является новым членом семейства Windows, построение которого осуществлялось на основе Windows; этот продукт обладает высокой степенью общности и значительным объемом общего кода с Windows 8 и будет разрабатываться, продаваться и поддерживаться как часть крупнейшей компьютерной экосистемы в мире. Мы создали WOA, чтобы реализовать новый класс компьютеров с уникальными возможностями и форм-факторами, которые поддерживаются новой группой партнеров, расширяющих экосистему, в состав которой входит Windows.
  • Компьютеры с WOA все еще находятся на этапе разработки, и наша общая цель заключается в обеспечении того, чтобы производители ПК начали поставлять их одновременно с компьютерами, разработанными для Windows 8 на платформе x86/64. Эти компьютеры будут построены на базе уникальных и инновационных аппаратных платформ, предоставленных компаниями NVIDIA, Qualcomm и Texas Instruments, и будут функционировать на основе общей ОС Windows на ARM. Таким образом на всех платформах будут выполняться одинаковые двоичные файлы ОС Windows, что является уникальным для отрасли подходом. Производители компьютеров активно работают над созданием ПК, которые разрабатывались «с нуля» и специально для WOA — чтобы обеспечить максимальную эффективность использования.
  • Приложения в стиле Metro в Windows Store могут поддерживать как WOA, так и Windows 8 на платформе x86/64. Разработчики, желающие ориентироваться на WOA, могут писать приложения для WinRT (Windows API для построения приложений в стиле Metro) с помощью новых средств Visual Studio 11 на различных языках, включая C#/VB/XAML и Jscript/ HTML5. Кроме того, с помощью языков C и C++ поддерживается машинный код, ориентированный на WinRT, который может использоваться для различных архитектур и распространяться через Windows Store. WOA не поддерживает выполнение, эмуляцию или перенос существующих приложений рабочего стола для платформ x86/64. Код, который используют только системные службы или службы операционной системы из WinRT, может применяться в приложениях и распространяться через Windows Store как для платформы WOA, так и для платформы x86/64. Покупатели получают все программное обеспечение, включая драйверы устройств, через Windows Store и Центр обновления Майкрософт или Центр обновления Windows.
  • WOA может поддерживать все новые приложения в стиле Metro, включая приложения Майкрософт для работы с почтой, календарями, контактами, фотографиями, а также для хранения. WOA также включает в себя передовую для отрасли поддержку HTML5 с аппаратным ускорением в Internet Explorer 10. В WOA будет предоставляться поддержка других форматов мультимедиа, отвечающих отраслевым стандартам, включая использование аппаратного ускорения и разгрузочных вычислений, а также форматов документов, соответствующих отраслевым стандартам. Во всех случаях корпорация Майкрософт стремится занять лидирующие позиции в отношении предоставляемого пользователям выбора, а также набора используемых приложений и поддерживаемых форматов.
  • WOA включает в себя новые версии приложений для настольного компьютера Microsoft Word, Excel, PowerPoint и OneNote. Эти новые приложения Office с кодовым названием «Office 15» были в значительной степени переработаны для реализации поддержки сенсорного управления и минимизации энергопотребления/использования ресурсов; при этом они также являются полнофункциональными и обеспечивают полную совместимость документов. WOA поддерживает опыт работы со средствами рабочего стола Windows, включая проводник, Internet Explorer 10 для настольных систем и большинство других компонентов рабочего стола, присущих Windows, которые были в значительной степени переработаны для реализации поддержки сенсорного управления и минимизации энергопотребления/использования ресурсов.
  • С WOA вы можете использовать интегрированные комплексные продукты — оборудование, встроенное ПО и программное обеспечение WOA, — разработанные с нуля. Создание WOA потребовало продолжительных усилий по разработке, предпринимаемых Майкрософт, лицензиатами ARM, производителями компьютеров, а также разработчиками компонентов и периферийных устройств. Эти работы охватили обширный диапазон подсистем, которые создавались заново или существенно перестраивались для использования в WOA. Партнеры будут предоставлять компьютеры с WOA в виде интегрированных комплексных продуктов, включающих в себя оборудование, встроенное ПО и программное обеспечение Windows на ARM. Программное обеспечение Windows на ARM не будет продаваться или распространяться отдельно от нового компьютера с WOA, что соответствует концепции потребительского электронного устройства, использующего уникальные и интегрированные механизмы связывания оборудования и программного обеспечения. В течение срока службы компьютера предоставленное программное обеспечение будет обслуживаться и совершенствоваться.
  • На следующем этапе выпуска Windows 8 на платформе x86/64 разработчикам и партнерам будет предоставлено ограниченное количество тестовых компьютеров в рамках закрытой программы, доступ к которой предоставляется только по приглашениям. На этих устройствах будет работать та же ветвь Windows 8 на платформе x86/64, которая широко распространяется нами в настоящее время. Это не образцы и не прототипы будущих компьютеров, а инструменты для инженеров – разработчиков оборудования и программного обеспечения, включающие в себя специальное оборудование для WOA.
  • Windows Consumer Preview — бета-версия Windows 8 на платформе x86/64, которая станет доступна для загрузки в конце февраля. Эта следующая контрольная версия Windows 8 будет предоставлена на нескольких языках и доступна для свободной загрузки.

В этой статье содержатся следующие разделы: «Работа с партнерами», «Предоставление приложений», «Инженерные работы для ARM» (рассматривается несколько подсистем), «Разработка для ARM», «Выпуск компьютеров с WOA» и, наконец, «Последующие шаги».

Мы также подготовили небольшое видео, в котором демонстрируется система WOA в соответствии с описаниями, приведенными в данной статье.

Ваш браузер не поддерживает HTML5-видео.

Загрузите это видео для просмотра в своем проигрывателе Windows Media:
MP4, высокое качество | MP4, низкое качество

Работа с партнерами

Разработка WOA начинается с налаживания партнерства с компаниями, производящими процессоры ARM, и компоновки этих процессоров с нужными подсистемами для создания эквивалента системной платы. В отличие от этих плат, с которыми многие из вас знакомы, плата WOA представляет собой кремниевый пакет — последовательность кремниевых слоев, связанных друг с другом в рамках невероятно компактного форм-фактора, который называется системой на кристалле или SoC (System on Chip).

Диск «системы на кристалле», умещающийся на кончике пальца
Демонстрация системы на кристалле (SoC) на выставке CES 2011. (Джулия Якобсон (Julie Jacobson), издательство Associated Press)

Каждый лицензиат ARM, занимающийся созданием этих пакетов, использует разные подходы к выбору компонентов, согласованию продуктов и разработке общей структуры этого кремниевого пакета. Эти решения и обеспечивают разнообразие различных продуктов на базе ARM, доступных на рынке. При использовании ARM отсутствует принцип единого взаимодействия, который характерен для других операционных систем; даже один и тот же ЦП ARM в сочетании с разными компонентами, драйверами и программами может обеспечивать взаимодействие различного типа и характера. Именно поэтому с самого начала проекта WOA мы сотрудничали с тремя лицензиатами ARM: NVIDIA, Qualcomm и Texas Instruments. Каждый из них привносит в этот проект свой индивидуальный опыт и подход, что позволяет им вносить уникальный вклад в создание WOA. В настоящее время у каждой из этих компаний имеются продукты на базе ARM, пользующиеся большим успехом на рынке, — от планшетных ПК до смартфонов и от электронных книг до встроенных устройств. Нам очень повезло заручиться поддержкой таких партнеров, так как это разнообразие делает систему WOA по-настоящему уникальной.

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

Роль корпорации Майкрософт в этом партнерстве заключается в предоставлении операционной системы Windows, настроенной для новых типов оборудования, новых сценариев и решения новых инженерных проблем. Наша задача — добиться того, чтобы переосмысленная операционная система Windows обеспечивала эффективное взаимодействие на всех уровнях, осуществляемое на протяжении всех этапов — от набора микросхем через встроенное ПО, оборудование, ОС, приложения и вплоть до уровня пользователя, взаимодействующего с ПК. Это новый уровень ответственности, который требует качественно новых усилий от всех сторон, участвующих в данном проекте. Данный новый подход нацелен на предоставление уникального сочетания возможностей выбора, опыта работы и надежного комплексного взаимодействия в течение всего срока службы компьютера.

Предоставление приложений

Прежде чем перейти к рассмотрению изменений в базовой реализации Windows с целью обеспечения поддержки оборудования ARM, давайте немного поговорим о том, какие приложения корпорация Майкрософт собирается предложить (мы рады, что термин «приложения» получил сейчас обновленное содержание — на моей первой визитке 1989 г. в корпорации Майкрософт было указано Разработчик программного обеспечения прикладных программ, подразделение приложений. )

Мы еще не объявили выпуски или номера SKU, которые будут использоваться для новых продуктов Windows; на этапе подготовки к выпуску мы включим в программное обеспечение практически все компоненты для обеспечения возможностей тестирования и оценки всего продукта в целом. Можно ожидать, что мы изменим компоненты, входящие в состав отдельного предложения WOA, чтобы повысить его конкурентоспособность на рынке и предоставить всем типам клиентов привлекательное по стоимости предложение.

Как мы уже заявляли и демонстрировали на //build/ и других форумах, WOA обладает всеми возможностями WinRT, присутствующими в Windows Developer Preview, а все средства и методики, которые могут использоваться для построения новых приложений в стиле Metro для платформы x86/64, доступны разработчикам и для создания решений для WOA. Разработчики могут использовать наши средства для создания машинного кода C/C++, чтобы обеспечить максимальную производительность и гибкость, а также использовать средства на базе C#, XAML, VB и HTML5, чтобы создавать приложения для WOA при условии, что их код рассчитан на набор API WinRT. Кроме того, разработчики с уже написанным кодом на языках C, C++, C#, Visual Basic или JavaScript могут свободно внедрять его в свои приложения при условии, что он рассчитан на набор API WinRT для служб Windows. Windows Store позволяет хранить, распространять и обслуживать реализации приложений как для ARM, так и для платформы x86/64 (если в приложении присутствует машинный код, требующий раздельного распространения).

Ранее мы уже демонстрировали новые приложения в стиле Metro корпорации Майкрософт для подключения к облачным службам, таким как Hotmail, SkyDrive, Messenger, и последующего подключения (через эти службы) к обширному диапазону сторонних решений. Например, наше почтовое приложение подключается к протоколу EAS (отраслевой стандарт), который обеспечивает для корпоративных и индивидуальных пользователей возможности работы с почтой, календарями и контактами. При наличии возможностей Live Connect вы можете беседовать со своими друзьями из социальной сети Facebook или получать актуальную информацию из веб-каналов LinkedIn или Twitter в приложениях в стиле Metro, и это всего лишь пара примеров из более чем 100 различных услуг, которые можно подключить к своей учетной записи Майкрософт. Эти приложения предоставляются вместе с WOA, но, конечно же, пользователи могут удалять их, устанавливать различные значения по умолчанию или использовать Windows Store для получения аналогичных приложений от сторонних разработчиков. Кроме того, любое приложение в стиле Metro в Windows Store может по выбору работать с любой службой как с использованием служб Майкрософт, так и без него. При этом данный принцип распространяется на все действия, начиная с входа, обмена информацией и оплаты внутри приложения и заканчивая рекламными службами.

В следующем предварительном выпуске Windows 8 вы также увидите приложения в стиле Metro от Майкрософт, которые поддерживают различные отраслевые форматы мультимедиа и документов, а также Internet Explorer 10, поддерживающий стандартную веб-платформу HTML5. Мы считаем, что предоставляемый в WOA уровень поддержки стандартов один из лучших в своем классе и сравним с показателями продуктов конкурентов. Конечно же, мы хотели бы предоставить пользователям лучшие в отрасли возможности выбора используемых в системе приложений и управления ими.

Доступность рабочего стола Windows является важной частью WOA. Этот рабочий стол представляет собой знакомое средство для взаимодействия с компьютерами, отдельными файлами, хранилищами и сетевыми компонентами, а также с обширным спектром периферийных устройств. Вы можете использовать проводник, например, для подключения к внешним запоминающим устройствам, для передачи файлов из сетевой общей папки и управления ими или для использования нескольких экранов. Причем по своему усмотрению все это можно делать как с помощью подключенной клавиатуры или мыши, так и без них. Все эти действия хорошо знакомы, выполняются, быстро, эффективно и удобно. У вас имеется доступ к множеству параметров панели управления, позволяющих настраивать и использовать более детальный уровень управления системой, если он вам необходим. Если вы уже использовали версию Developer Preview на компьютере с поддержкой сенсорного управления, то знаете, что пользовательский интерфейс рабочего стола был переработан для обеспечения сенсорного взаимодействия с улучшенными возможностями и компонентами.

В то же время WOA (как и Windows 8) разрабатывается таким образом, чтобы клиенты, ориентированные на использование приложений в стиле Metro, не тратили время на рабочий стол. Доступность рабочего стола не приводит к возникновению дополнительной нагрузки во время выполнения. Просто вы можете воспользоваться им, если в этом вдруг возникнет потребность. Ниже мы обсудим технологию, которая гарантирует, что доступность рабочего стола не окажет отрицательного влияния на безопасность системы, надежность, производительность или энергопотребление компьютера с WOA. Те из вас, кто попробовал работать с Developer Preview, в готовящейся к выпуску версии Consumer Preview заметят, что совершенствование процесса взаимодействия с пользователем было продолжено, а также познакомятся с множеством улучшений.

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

В состав рабочего стола Windows в WOA входят новые версии для приложений рабочего стола Microsoft Word, Excel, PowerPoint и OneNote, имеющие общее название «Office 15». WOA будет бескомпромиссным продуктом для людей, которые хотят получить все преимущества знакомых программ Office и соответствующий уровень совместимости, передовой в отрасли веб-браузер с аппаратным ускорением, приложения от корпорации Майкрософт и доступ к приложениям в Windows Store.

Все это формирует компьютер с WOA, сочетающий в себе эффективное использование приложений, мультимедиа, расширенные возможности для развлечений и обеспечения мобильности и производительности, — поистине бескомпромиссное решение. Новые приложения Office для WOA были значительно изменены для реализации поддержки сенсорного управления и минимизации энергопотребления и использования ресурсов. Эта работа является важной частью усилий по созданию программного обеспечения Office для WOA, так как она заключалась не просто в рекомпиляции или переносе, а в значительной переработке этих продуктов для обеспечения комплексного и согласованного взаимодействия с пользователем и совместимости с новыми аналогами компонентов платформы x86/64.

Дополнительные сведения о следующей версии Microsoft Office с кодовым названием «Office 15» см. в блоге Office Exec.

Инженерные работы для ARM

Обеспечение превосходной совместимости Windows с архитектурой ARM является важной инженерной задачей. Мы взялись за нее, так как понимали, что множество возможностей, добавляемых в Windows на протяжении многих лет, обязательно потребуются клиентам на устройствах, поддерживаемых современными продуктами на базе ARM. Таким образом, изменения форм-факторов и потребность в мобильности только расширяют сценарии и возможности, которые мы хотели бы видеть на эффективных компьютерах. Хотя есть соблазн сделать громкое заявление, что наша работа была «начата с нуля», однако мы уверены, что эволюция технологических активов возможна только при наличии у них надежного основания. Основание Windows, ее ядро, является наиболее основательной, масштабируемой и безопасной платформой из всех существующих. Стремление создать действительно эффективное решение лишь усиливает мотивацию наших усилий.

Нам также известно, что имеются элементы Windows, требующие проведения инженерной переработки в целях удовлетворения ожиданий пользователей, касающихся показателей надежности, энергопотребления, использования ресурсов и мгновенного подключения и доступности. Очевидно, что все это распространяется и на наш продукт Windows 8 на платформе x86/64, поэтому многое из того, что мы реализовали для ARM, будет применено и к уже существующим новым продуктам компаний Intel и AMD (однако это уже выходит за рамки данной статьи). ARM дает нам шанс рассмотреть предположения относительно поведения ОС и модели программирования, чтобы реализовать еще более значительные улучшения.

Одна из новых и хорошо заметных особенностей WOA заключается в том, что компьютер с WOA не нужно выключать. Компьютеры с WOA не будут использовать традиционные и знакомые всем режимы гибернации и сна. Вместо этого компьютеры с WOA постоянно работают в специально разработанном подключенном ждущем режиме энергопотребления, который аналогичен способу использования современных мобильных телефонов . Когда экран включен, вы получаете доступ ко всем возможностям и компонентам компьютера с WOA. Когда экран гаснет (при нажатии кнопки питания или срабатывании таймера), ПК переходит в новый режим очень низкого энергопотребления, который обеспечивает работу от аккумулятора в течение нескольких недель. Однако при этом система динамически регулирует энергопотребление и всегда ищет возможности для его снижения за счет неиспользуемых компонентов. Уникальная возможность WOA, с точки зрения пользователя, состоит в том, что именно он управляет возможностью фонового выполнения тех или иных программ, чтобы нужные приложения постоянно находились в подключенном состоянии и предоставляли актуальную информацию, такую как сообщения электронной почты. Подключенный ждущий режим проходит красной нитью через весь процесс инженерной разработки решений для компьютеров с WOA — от оборудования через встроенное ПО, ОС, платформу WinRT и вплоть до приложений. Подключенный ждущий режим не будет ограничен архитектурой ARM, так как мы также активно работаем над аналогичными возможностями для продуктов SoC на платформе x86/64.

Сегодня мы уже имеем представление о сценарии работы компьютера, когда оборудование, на котором работает версия Windows, построенная для платформы x86/64, согласуется с набором технических спецификаций, обеспечивающих однократное распространение кода Windows для его установки и выполнения на широком диапазоне компьютеров. Это предоставляет значительные преимущества, связанные с масштабированием. Такая открытость также является признаком революции в компьютерной сфере и представляет собой результат коллективной работы в этой отрасли с начала 1980-х годов. Когда в дополнение к широко распространенному оборудованию появляется новое, эти базовые спецификации обновляются, что способствует дальнейшему совершенствованию архитектуры компьютеров. Точно такой же подход будет применяться к Windows 8: как уже убедились миллионы пользователей версии Windows 8 Developer Preview, операционная система Windows 8 будет работать на любом компьютере, поддерживающем Windows 7, а также позволит использовать все существующие программы и периферийные устройства, разработанные для Windows 7 и поддерживаемые этой ОС (конечно же, при условии, что производитель заложит в свои продукты такую поддержку Windows 8).

Подход к разработке, применяемый компанией ARM Holdings, лицензиара продуктов ARM, не стандартизирован подобным образом — каждое устройство от каждого производителя является уникальным, как и программное обеспечение, работающее на этом устройстве. Конечно, существует стандартный набор инструкций и стандартная архитектура ЦП, которая постоянно совершенствуется (например, посредством добавления поддержки 64-разрядной адресации и нескольких ядер), однако многие соединительные элементы между ЦП и другими компонентами являются частью инновационных решений, которые каждый из лицензиатов привносит в платформу ARM. Различные устройства могут обладать неявной совместимостью, однако для пользователей она остается скрытой или представляется незначительной. Возможности пользователей по установке другой ОС (или версии ОС) на устройстве или по расширению функций операционной системы технически ограничены, поэтому в общем случае такие операции недоступны и редко поддерживаются производителем устройства. Производители устройств сотрудничают с партнерами ARM для создания устройства, которое жестко сопряжено с конкретным набором программного обеспечения (а иногда наоборот), и клиенты приобретают такой комплексный пакет, который затем обслуживается и обновляется по отдельному каналу. Такое сотрудничество партнеров при выполнении интегрированных инженерных работ по этим встроенным устройствам является очень важным. В указанном отношении все это принципиально отличается от подхода, применяемого для Windows на платформе x86/64.

При создании WOA мы обозначили новый способ разработки компьютерной платформы. Мы построили этот подход таким образом, чтобы создать условия, гарантирующие, что программные продукты и периферийные устройства смогут в полной мере использовать все преимущества, связанные с разнообразием возможностей, поддерживаемых архитектурой ARM. Эти преимущества дополняются также возможностями выбора форм-факторов и производителей, а также открытостью платформы. В то же время мы стремимся донести до клиентов, что с этой точки зрения система WOA будет обладать согласованными возможностями, средствами взаимодействия и базовой производительностью. Если кто-то из вас знаком с подходом, использованном в Windows Phone 7 (спецификация шасси), в WOA также применяются некоторые из его элементов. Спецификации, реализуемые для WOA, допускают повышенный уровень многообразия по многим направлениям в сочетании с безупречным уровнем разработки и качества продукта. При этом обеспечивается возможность выполнения одинаковых двоичных файлов операционной системы на всех компьютерах с WOA.

Инженерные работы для ARM начинаются с этапа проектирования архитектуры ядра Windows, чтобы оно могло загружаться и работать на платформе ARM. Вы можете представить, насколько значительной была эта работа. Некоторые люди могут считать, что эта работа заключалась в переносе или простой перекомпиляции кода для нового набора инструкций. Однако когда дело касается ядра и частей Windows, которые взаимодействуют с оборудованием, ограничиться лишь такими операциями нельзя. Параллельно с работой над ядром мы также разрабатывали компиляторы ARM и средства (включая Visual Studio) для построения Windows.

На более высоких уровнях (уровнях приложений) код в значительной степени допускает перенос, что обусловлено длительной историей его адаптации для выполнения на платформах различных архитектур (x86, x64, PowerPC, Alpha, MIPS, IA64 и т. д.). Даже в самом ядре присутствует достаточно много кода, который может переноситься. Для точек сопряжения оборудования и программного обеспечения, а также всех областей, где делаются предположения относительно способа взаимодействия операционной системы с оборудованием, было осуществлено переосмысление Windows для этой новой платформы. Заметим также применительно к ряду терминов-акронимов, относящихся к данной области, что определение ARM не требует поддержки некоторых распространенных подсистем, таких как шина PCI или SATA. В каждой из реализаций ARM имеются аналогичные концепции, которые не всегда имеют общий характер. Все это было осуществлено в рамках трех основных пересмотров оборудования ARM, проведенных с момента запуска данного проекта.

Давайте рассмотрим некоторые примеры работы, проделанной для достижения поставленной цели, которую мы между собой называем «переносом», хотя на деле она в значительной степени выходит за границы данного понятия. Необходимо иметь в виду, что вся эта работа велась параллельно с разработкой принципов взаимодействия с пользователем, Windows Store, WinRT и новых компонентов в Windows 8.

Подготовка к переносу

Чтобы просто приступить к работе по переносу, нам был нужен компилятор ARM и линейка средств для построения Windows. Поскольку другие продукты корпорации Майкрософт (такие как Windows Phone и Embedded) используют процессоры ARM, мы уже располагали отдельными компонентами, но для построения Windows произвели дополнительное их улучшение. Эти средства будут предоставлены разработчикам, а если вы используете C#/VB/XAML/HTML5 в Windows 8 Developer Preview, то вы уже «в деле». Чтобы использовать C/C++, требуется собственное оборудование ARM для проведения тестирования, о котором мы поговорим ниже.

Загрузка основных компонентов Windows

После получения нужных средств мы смогли начать перенос среды загрузки Windows и разработку спецификаций по встроенному ПО системы. Мы даже самостоятельно создавали прототипы для встроенного ПО. Здесь существует несколько компонентов:

  • Встроенное ПО UEFI является самым нижним уровнем системы WOA и предоставляет согласованные службы для загрузки ОС. Для WOA мы создали встроенное ПО, чтобы реализовать начальную загрузку системы, передаваемой партнерам. Системы WOA также включают в себя основанный на встроенном ПО доверенный платформенный модуль для обеспечения доверенной загрузки и шифрования хранилищ. С помощью этого доверенного платформенного модуля мы, например, реализовали доверенную загрузку, которая проверяет, не было ли совершено незаконное изменение системы вредоносной программой.
  • Встроенное ПО ACPI используется для перечисления устройств платформы в режиме Plug and Play во время загрузки, а также отвечает за управление питанием устройств, расположенных за пределами системы SoC (таких как датчики, сенсорные контроллеры и т. д.). В течение многих лет для компьютера были сформированы стандартные шины Plug and Play и интерфейс ACPI, чтобы программное обеспечение и драйверы операционной системы могли осуществлять поиск данных на компьютере, перемещаясь «по древовидной структуре». Во внедренных разработках SoC понятие дерева отсутствует, как и возможность определения устройств, подключенных к SoC, и даже способа подключения SoC. В рамках работы над Windows 8 мы стремились определить новый стандарт, описывающий конфигурацию системы с таблицами, чтобы программное обеспечение могло просто считывать такую таблицу и осуществлять настройку системы.

Из встроенного ПО система может запустить диспетчер загрузки, загрузчик, а затем ядро, слой HAL и драйверы загрузочных устройств.

  • Слой абстрагирования оборудования Windows (HAL) поддерживает различные комбинации основных системных ресурсов (таймеров, прямого доступа к памяти (DMA), контроллеров прерываний). С самого начала в операционной системе Windows была предусмотрена поддержка нескольких архитектур набора инструкций (ISA — instruction set architecture), а слой HAL является основным средством адаптации различных архитектур системы, которые часто имеют новую версию ISA. Благодаря слоям абстрагирования оборудования не требуется вносить изменения в саму операционную систему для обеспечения поддержки новых основных системных ресурсов SoC. Различия между платформами ARM достаточно значительны для того, чтобы создать слой HAL, поддерживающий новый уровень возможностей абстрагирования. Являясь новым компонентом в Windows 8, слой HAL предоставляет возможность подключения каждого из основных системных ресурсов через расширение слоя HAL, сходное с контроллером прерываний.
Устройства и шины

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

В нашей стратегии по устройствам широко используются стандартизованные протоколы и драйверы классов. В первом из приведенных ниже примеров рассматривается драйвер HID over I2C, который мы используем для сенсорных контроллеров и многих датчиков. Во втором примере описывается драйвер класса для подключаемых через USB мобильных широкополосных радиостанций. Конечно же, в состав Windows входит множество драйверов классов, которые используются при подключении различных USB-устройств, таких как запоминающие устройства, мыши или клавиатуры.

  • Последовательные шины с низким энергопотреблением, например I2C/UART, будут широко использоваться на компьютерах ARM и в меньшей степени — на компьютерах x86. В общем случае эти шины имеют более низкую скорость передачи данных, но и потребляют очень мало электроэнергии — в некоторых случаях в 10 раз меньше. Поддержка таких шин является ключом к снижению общего энергопотребления WOA и увеличению времени работы батареи. Для всех этих шин мы используем общее название простые периферийные шины (Simple Peripheral Busses — SPB) . Кроме того, мы уже разработали новые интерфейсы в WOA, предназначенные специально для таких шин. После разработки этих интерфейсов нам пришлось заняться устранением пробела. В Windows имеется много классов устройств, для которых обеспечивается встроенная поддержка через USB с помощью драйверов классов. Эти классы не определены в I2C, поэтому для них отсутствует поддержка драйверов класса. Одним из популярных классов устройств являются устройства на основе протокола HID. HID — это предпочтительный протокол для таких устройств, как клавиатуры, мыши, сенсорные панели, устройства громкой связи, кнопки, сенсорные экраны и т. д. Определив стандартизованный протокол и реализовав поддержку драйверов для HID over I2C, мы можем сотрудничать с партнерами по вопросам адаптации встроенного ПО их устройств, основанных на I2C, чтобы обеспечить работу с отдельным драйвером класса. Например, при наличии поддержки HID over I2C сенсорные контроллеры могут взаимодействовать с этим интерфейсом и использовать средства поддержки ввода, которыми уже располагает Windows.
  • SD I/O позволяет подключаться к радиомодулям Wi-Fi с низким энергопотреблением. В современных компьютерах радиомодули подключаются через USB или PCI-E. К этому мы добавили поддержку SD I/O, чтобы сохранить высокие скорости передачи данных (100 МБ/с), обеспечив при этом более продолжительное время работы батареи. Поддержка Wi-Fi в WOA также обеспечивает эффективный механизм разгрузки для сохранения соединений в ждущем режиме с подключением к сети при минимальном энергопотреблении.
  • Хранилище Embedded MultiMediaCard (eMMC) является стандартом де-факто для устройств ARM (так как большинство из них не поддерживает SATA). Решение данной задачи оказалось очень увлекательным, так как операционная система Windows ориентирована на высокую скорость работы с дисками и очень большую скорость передачи данных по каналам с высокой пропускной способностью. Кроме обеспечения поддержки eMMC, мы осуществили несколько мер по оптимизации производительности ОС, чтобы объединить операции ввода-вывода и сократить их объем в целях уменьшения числа операций чтения и записи для хранилища.
  • Драйвер универсального ввода-вывода (General Purpose I/O — GPIO) поддерживает подключение кнопок, прерываний и других операций ввода-вывода к процессору ARM.
  • Кроме драйвера GPIO, также присутствует драйвер кнопок для кнопок Windows, питания и громкости. Кнопки не являются стандартным компонентом устройств ARM. Каждая система требует отдельный драйвер для всех аппаратных кнопок.
  • Мы построили новую платформу питания для управления питанием в рамках системы SoC, общим энергопотреблением платформы и моделью использования включенного/выключенного состояния в рамках ждущего режима с подключением к сети.
Работа над экраном «Пуск»

Как только встроенное ПО, слой абстрагирования оборудования (HAL), службы и устройства загрузки, а также шины были приведены в рабочее состояние и запущены, мы могли перейти к работе над другими составляющими системы и заняться рабочим столом и экраном «Пуск».

  • Системы SoC ARM для WOA оснащены графическими процессорами с поддержкой DirectX (DX) для ускорения графики в обозревателе Internet Explorer 10, пользовательском интерфейсе Windows и приложениях в стиле Metro. Использование преимуществ графических процессоров с поддержкой DX является основным в достижении высокой скорости реагирования системы. Для каждого целевого объекта WOA партнер ARM создает совместимый с DX графический драйвер. Это задача, требующая существенных усилий и подразумевающая создание очень сложного кода, потому как сегодняшние графические процессоры сложнее даже самих центральных процессоров. Нам требуется, чтобы ОС Windows 8 заработала на новых системах SoC, на которых до этого не использовался ни один графический драйвер. Известно также, что системы SoC ARM не оснащены соответствующей отраслевым стандартам подсистемой VGA, к которой можно было бы прибегнуть для использования в режиме совместимости. Поэтому наша группа по работе с графикой написала программный драйвер для графического процессора, который функционирует, опираясь непосредственно на аппаратный буфер кадров. Кроме того, что у нас появилась возможность разработки, с помощью программного графического драйвера мы можем применить новый подход и к другим компонентам Windows в случаях, когда использование обычного графического драйвера невозможно. Например, во время работы программы установки Windows или в тех редких случаях, когда в Windows высвечивается ошибка «синий экран», мы смогли придать ей более дружественный вид и даже локализовать ее, таким образом даже плохие новости могут выглядеть приятней на всех платформах. Это небольшой пример работы, которая также ведется на архитектуре x86/64.
  • Компьютеры с WOA используют аппаратную поддержку для разгрузки конкретных видов работы с главного процессора на интегрированные аппаратные подсистемы. Такое решение увеличивает производительность и продлевает время работы батареи. Так, во время просмотра фильма обработка происходит с помощью разгрузки мультимедиа (например, на выделенный процессор), а любые другие процессы минимизируются. Поскольку разгрузка мультимедиа оптимизирована для воспроизведения, это позволит посмотреть несколько фильмов, не расходуя весь заряд батареи, или даже спроектировать ноутбук еще тоньше и легче. Другой пример: если вы работаете над документом и одновременно смотрите фильм, фильм будет запускаться на оборудовании разгрузки, что позитивно скажется на общей скорости отклика системы. WOA использует преимущества нескольких типов разгрузки, включая кодирование и декодирование мультимедиа, а также разгрузку функции безопасности для Bitlocker и EAS. Этот тип инженерных работ также применяется в платформе x86/64, тоже поддерживающей разгрузку, и был введен в ОС Windows 7.
Службы подключенных устройств

На этом этапе уже обеспечивалось выполнение большей части системных функций, и пришло время заняться службами, поддерживающими полный спектр возможностей Windows. Эти службы являются общими для всех архитектур, поддерживаемых Windows, поэтому разработчики могут использовать их преимущества в приложениях в стиле Metro.

  • Драйвер класса мобильного высокоскоростного подключения (MBB). Создав драйвер класса, мы намного упростили задачу добавления поддержки высокоскоростного подключения на любые компьютеры с ОС Windows. Хотя катализатором этой работы выступила система WOA, ее преимущества обеспечиваются для всей экосистемы Windows.
  • Драйвер класса принтера. В Windows 8 мы перестроили инфраструктуру печати, добавив поддержку драйвера класса. Большинство продаваемых на сегодняшний день принтеров поддерживается с помощью драйвера класса, что позволяет подключить принтер и начать печать в системе WOA без установки дополнительных драйверов. Необходимость в новой архитектуре существовала по многим причинам, однако о реализации печати с компьютеров с WOA мы задумывались еще в самом начале.
  • GPS. Система Windows оснащена определителем местоположения, который может триангулировать местоположение компьютера с помощью точек доступа Wi-Fi и резервной базы данных. К тому же в системы с мобильным высокоскоростным подключением будут также интегрированы приемники Глобальной спутниковой системы навигации (Global Navigation Satellite System, или GNSS, также именуемой в США GPS), указывающие точное местоположение во время навигации под открытым небом. Платформа определения местоположения играет центральную роль в оптимизации энергопотребления и показателей точности посредством правильного поставщика данных о местоположении в зависимости от степени точности, запрашиваемой приложением.
  • Датчики (акселерометр, датчик угла поворота, гироскоп, компас, магнитометр) . В одной из предыдущих статей был описан синтез датчиков, а также способ, с помощью которого мы добавили поддержку датчиков в Windows. Та же работа ведется и на всех видах SoC-архитектуры с использованием протокола ID over I2C.
  • Bluetooth. WOA поддерживает Bluetooth LE и те же профили, что и Windows 8 на платформе x86/64, а также подключение к радиомодулю Bluetooth с помощью энергоэффективной шины UART.
  • Протокол MTP через USB и IP. Windows на ARM предоставляет пользователям возможность подключать к системе переносные устройства (такие, как мобильные телефоны, музыкальные проигрыватели, камеры) с помощью протокола MTP (Media Transfer Protocol). Эти MTP-совместимые устройства можно подключать через USB или IP с помощью входящих драйверов класса Windows и использовать эти устройства для обмена данными с приложениями в стиле Metro.
  • Обслуживание на основе Центра обновления Windows. Относительно всего кода платформы (ОС, драйверы, встроенное ПО системы и устройств) каждая система WOA будет обслуживаться полностью Центром обновления Windows. Мы добавили поддержку Центра обновления Windows для безопасного и надежного обновления встроенного системного ПО на системах WOA, а также функцию определения драйвера, означающую, что каждое устройство получит проверенный драйвер, показавший лучший результат в работе с устройством.

Как вы могли убедиться, определенная часть данных инженерных работ связана только с адаптацией к новой аппаратной платформе. Другая их часть относится к реализации существенно новых типов поддержки оборудования. Основная часть этой работы касается платформы x86/64, особенно новейших продуктов, таких как новые энергоэффективные процессоры ATOM®, продемонстрированные компанией Intel на выставке CES.

Значительная часть работы также была сосредоточена на прикладном уровне и стала в итоге определяющей для многих элементов новых интерфейсов API WinRT, представленных на //build/. К примеру, мы разработали ядро, поддерживающее подключенный ждущий режим, хотя на самом деле обеспечение продолжительного времени работы батареи является частью общей модели приложения WinRT и даже всего набора инструментов. При этом все указанные возможности повсеместно применяются в системах WOA и Windows 8 на платформе x86/64.

Как уже было сказано, определенная часть элементов Windows в основном построена на коде, который можно сделать рабочим на платформе ARM технически несложным способом. К таким подсистемам относятся рабочий стол и приложения Windows, а также поддержка интерфейсов API, однако нам пришлось в значительной мере все это перестроить, чтобы оптимизировать использование ресурсов и энергии. Вот одна из первых фотографий ARM-устройства (ранняя версия Windows phone), на котором выполняется полнофункциональный рабочий стол Windows. Первоначально при разработке WOA единственным оборудованием, имевшимся в нашем распоряжении, были существующие ARM-устройства, например телефоны (планшетных ARM-устройств еще не существовало). Мы подумали, что вам будет интересно взглянуть на несколько фотографий (ретушированию не подвергались), снятых довольно давно при отладке системы WOA, полностью загруженной в ОЗУ. Примечание. Это еще не план продукта и даже не малейший намек на продукт.

 Переносное мобильное устройство с диспетчером задач и экранной клавиатурой

Мобильный телефон с игрой "Косынка", открытой в окне поверх телефонной клавиатуры

Тестирование

Возможно, вам будут любопытно узнать, как мы тестируем WOA в наших лабораториях. Для платформы x86/64 у нас оборудованы огромнейшие лаборатории (тысячи компьютеров, реальных и виртуализированных), где высокоавтоматизированный тест выполняется для каждого отдельно взятого ежедневного построения. При разработке WOA нам пришлось переделать нашу лабораторию и изменить процессы тестирования. Для тестирования на платформе x86/64 можно просто заказать тысячи установленных в стойке серверов или даже виртуализировать их, тогда как в случае платформы ARM не существует стандартных установленных в стойке серверов, на которых можно было бы запустить WOA. Поскольку наши разработки сопряжены с высокой интеграцией оборудования, встроенного ПО и программного обеспечения и виртуализация здесь бесполезна, нам пришлось изобрести свой собственный подход к решению этой задачи.

Сотни макетных плат ARM и специальную плату ввода-вывода мы объединили в стойке, подключенной к нашей инфраструктуре тестирования. Изначально наш проект был ориентирован на максимальную плотность с расчетом на поддержку 300 ARM-устройств в одной стойке, но в конечном счете мы предпочли диагностику и доступность специальной платы ввода-вывода с установкой в стойке 1U.

Мы спроектировали собственный корпус 1U, вмещающийся в стандартную серверную стойку. В этот корпус можно поместить как полноразмерное устройство, так и просто системную плату. Полностью собранная плата SoC в соединении с платой ввода-вывода и корпусом выглядит и функционирует, как стандартный монтируемый в стойку компьютер,и прекрасно работает с существующей инфраструктурой лаборатории.

Каждая стойка 42U вмещает 32 корпуса для WOA, а также сетевые коммутаторы, хост-компьютер для отладки и USB-концентраторы. К марту у нас будет больше 100 полностью оснащенных стоек для тестирования WOA.

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

Стойка тестирования

Порты плат и отладки с подписями, в которых указываются: специальная плата ввода-вывода, преобразователь HDMI в VGA, специальный разъем питания molex HDMI, отладка USB для пропуска на плате ввода-вывода, исходящий USB-A с концентратором на плате ввода-вывода, стандартный монтируемый в стойке 1U корпус (ATX или EATX), стандартный источник питания компьютера, разъемы USB передней панели, коммутатор питания передней панели, коммутатор сброса и разъемы для индикаторов, стандартный разъем питания 20-pin ATX, специальная плата для кабеля питания molex (SV), стандартный жесткий диск SATA (вспомогательный диск), кабель HDMI для разъема питания HDMI, плата SoC на липких подпорках.

Разработка для ARM

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

Ранее мы уже уточняли, что WOA не будет поддерживать ни одного типа виртуализации или эмуляции и не позволит перенести или запустить какие-либо существующие приложения для платформы x86/64. Поддержка разных форм эмуляции противоречит цели получить продукт с современным подходом к надежности и предсказуемости системы — по определению существующий код не был оптимизирован для данной платформы таким же образом, как это было сделано в случае WOA. Виртуализированное или эмулированное программное обеспечение будет использовать системные ресурсы, включая ЦП и время работы батареи, в недопустимых объемах. Эмуляция и виртуализация уже существующего программного обеспечения для x86/64 к тому же требует среды традиционного компьютера с мышкой и клавиатурой, которые в компьютерах с WOA не используются.

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

Выход на новый уровень безопасности пользователей с помощью WOA — наша первостепенная задача. На одном из официальных мероприятий нас спросили, «упростим ли мы возможности запуска для существующих вирусов и вредоносных программ». Теперь ответ очевиден — это решительное «нет». Фактически WOA поддерживает только выполнение кода, распространенного через Центр обновления Windows, а также полный спектр приложений, полученных из Windows Store. Как нам всем известно, обеспечение безопасности — это многомерная, затрагивающая всю отрасль проблема, и ни одна система или платформа не сможет сделать всесторонний прорыв в этой сфере без предварительного учета множества факторов.

Если вам нужно использовать уже существующее ПО для платформы x86/64, лучше всего ваши потребности удовлетворит Windows 8 для x86/64. Если вы уже подумываете об использовании устройства с другой операционной системой (не Windows), тогда, возможно, WOA станет для вас даже лучшей альтернативой, когда вы оцените потенциальные преимущества ее форм-факторов, периферийных устройств, приложений из Windows Store (и платформы для разработчиков), приложений Office, а также широкого набора встроенных возможностей Windows.

Конечно, мы осознаем, что многие разработчики, работающие в корпорации Майкрософт и других компаниях, используют существующие техники программирования и переход на WOA потребует определенных инвестиций. Разработка приложений на основе WinRT решает эту и многие другие проблемы еще в зародыше. WinRT создавалась, чтобы обеспечить максимальную выразительную силу, необходимую для современного ПО, помогая при этом избежать ловушек и ошибок, которые могут потенциально ухудшить возможности взаимодействия всей системы с пользователями, — и все это в сочетании с серьезным подходом к средствам, языкам и поддержке разработчиков.

У разработчиков, желающих получить в свое распоряжение существующие приложения для WOA, имеется два варианта для выбора. Для многих приложений лучше всего построить новую интерфейсную часть в стиле Metro для существующих ресурсов данных или приложений и подключаться к ним через API веб-служб. Данный подход будет распространен в случаях со специализированным программным обеспечением и многими веб-свойствами, ориентированными на пользователей. Это лучший способ для того, чтобы воспользоваться возможностями модели усовершенствованного взаимодействия с пользователем, позволяющей взаимодействовать и совместно использовать информацию с другими новыми приложениями. Конечно, эти программы не обязательно должны иметь только интерфейсную часть, они могут также работать с локальными данными, поскольку WOA предоставляет полный доступ к файлам и периферийным устройствам. Другие существующие приложения могут обслуживаться путем повторного использования больших объемов модульного или исполняемого кода и взаимодействия с ним в рамках оболочки в стиле Metro. Этот вариант переноса в WOA и WinRT займет определенное время и подойдет приложениям, большинство компонентов которых являются интеллектуальной собственностью. Во всех случаях WinRT представляет новый набор служб ОС Windows, который разработчики могут использовать для построения программного обеспечения, разработанного для Windows 8.

Обращаясь к нашей схеме архитектуры из //build/, с точки зрения стороннего разработчика лучше всего рассматривать WOA как выражение платформы в стиле Metro, которая позволяет использовать ОС с ядром Windows со всеми другими продуктами Windows. Операционная система с ядром Windows была разработана и настроена для поддержки платформы ARM, она поддерживает интерфейсы API WinRT и модель программирования, используемую сторонними разработчиками.

Блок-диаграмма архитектуры WinRT в том виде, как она была представлена на //build

Тема инженерных работ для ARM очень обширна, в ходе проекта над ней трудились многие разработчики из рабочей группы Windows. Следующим шагом является предоставление кода WOA, но это зависит от того, каким образом мы будем поставлять компьютеры с WOA на рынок.

Выпуск компьютеров с WOA

После завершения проекта Windows 7 мы начали сотрудничать с производителями компьютеров с целью усовершенствования Windows и создания Windows 8. Масштабная совместная работа по выводу новых компьютеров на рынок продолжается и сейчас — эмблема «Designed for Windows» («Разработано для Windows»), которую можно увидеть на компьютере, является символом коллективных усилий широкого круга партнеров, поставивших перед собой единую цель представить рынку новые и уже существующие ПК. Для вывода на отраслевой рынок компьютеров на платформе x86/64 мы используем модель, которой пользовались всегда: мы введем новые технологи, такие как USB 3.0, UEFI, сенсоры и датчики, и поддержим их в новом выпуске Windows соответствующим новым оборудованием. Непрерывная совместная работа позволит внести значительные улучшения в этот жизненный цикл продукта.

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

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

Каждый предлагаемый компьютер с WOA будет являться уникальным, при этом роль Windows состоит в том, чтобы предоставить пользователям согласованную среду взаимодействия с системой, одновременно обеспечив для уникального инновационного оборудования все условия для проявления его возможностей, — в этом и состоит суть определения ОС. Чтобы достичь этой цели, мы работали с несколькими уже упомянутыми ранее лицензиатами ARM — Texas Instruments, Qualcomm и NVIDIA. Каждый из них работает с партнерами, которые будут поставлять компьютеры с WOA на рынок. Все эти компьютеры были разработаны и изготовлены специально для WOA. Начиная с набора микросхем и заканчивая встроенным ПО и драйверами, каждый элемент оптимизирован для работы именно с WOA. Партнеры прилагают максимум усилий по созданию оригинального внешнего вида и форм-факторов, которые будут обладать большими возможностями, чем планшетные ПК. На сегодняшний день их разработка еще не окончена. Наша общая цель состоит в том, чтобы производители компьютеров начали поставку компьютеров с WOA одновременно с новыми компьютерами, разработанными для Windows 8 для x86/64, с использованием в них последнего поколения этих энергоэффективных и высокопроизводительных платформ.

Хотя это напрямую и не касается темы данной статьи, хотим заверить вас, что во избежание потенциальных ошибок при покупке компьютера с WOA его можно будет легко определить по соответствующим наклейкам и фирменной символике, отличающим эту систему от Windows 8 для x86/64. Компьютер поступит в продажу с уже предустановленной ОС, драйверами и программной поддержкой. Система WOA не будет распространяться как ПО отдельно от оборудования, поэтому вам никогда не придется ломать голову над тем, какой DVD-диск устанавливать и будет ли он работать на конкретно взятом компьютере.

Компьютеры с WOA будут обслуживаться только через Центр обновления Windows или Центр обновления Майкрософт, а пользовательские приложения будут поставляться только из Windows Store, поэтому вам никогда не придется переживать о том, будет ли работать та или иная программа на вашем компьютере, так как ее не нужно будет загружать или устанавливать с DVD-диска вне сайта Windows Store. С точки зрения использования и управления компьютер с WOA будет напоминать устройство бытовой электроники. Например, как уже говорилось, будут доступны новые функции обновления и сброса параметров, которые для WOA станут эквивалентными «чистой установке» или работе с образом.

Следующие шаги

На эту тему можно говорить еще очень долго, и мы планируем посвятить ей последующие статьи. В них, основываясь на диалоге, который состоится после публикации данной статьи, мы расскажем о подробностях инженерной разработки по WOA и всей проделанной работе по созданию данной ОС. Многим не терпится получить это программное обеспечение. Но, конечно, его невозможно использовать на существующем оборудовании, как это было в случае с ОС Windows 8 для x86/64, которую можно запустить на компьютерах для Windows 7. Мы приближаемся к тому моменту в проекте, когда мы постараемся расширить распространение программного обеспечения WOA вместе с оборудованием для разработки.

Начиная со следующей контрольной точки Windows 8, для запуска данного выпуска будет предоставлено небольшое количество тестовых компьютеров, специально разработанных для WOA. Эти устройства будут предназначаться для разработчиков и партнеров по оборудованию и ни в коей мере не будут отображать пользовательские форм-факторы. Они будут оснащены средствами диагностики и соответствующими портами. Они будут сконструированы так, что их можно будет открыть и отладить. Они не будут содержать окончательных версий компонентов или встроенного ПО (а также средств управления питанием или температурой), которые будут использоваться в устройствах, распространяемых на коммерческой основе. Они сделаны из недорогого пластика. Возможно, вы видели подобные устройства на выставке CES; кроме того, во всех наших предыдущих демонстрациях использовалась та или иная форма данных тестовых компьютеров. Эти компьютеры представляют WOA и возможности ее использования, но они не дают большего представления об окончательной версии продукта и его возможностях, чем текущее состояние Windows 8 для x86/64. На них будет функционировать такая же ветвь Windows, как и та, к которой получат доступ тест-инженеры платформы x86/64 на ближайшей контрольной точке разработки.

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

К концу текущего месяца станет доступной для загрузки версия Windows Consumer Preview (бета-версия) Windows 8 для x86/64. Мы изменили название бета-версии, так как в последнее время под этим термином стали подразумевать нечто совсем другое, чем просто «распространяемый бесплатно тестовый выпуск, позволяющий опробовать продукт», поэтому мы не хотели добавлять неразберихи в этот вопрос. В соответствии с описанным уровнем открытости нет необходимости в предварительной регистрации или заявке на участие в программе тестирования — просто загрузите ее и установите на компьютере с эмблемой Windows 7 (виртуальные машины здесь поддерживаются, однако это не лучший способ получить полное впечатление от использования данного продукта). Мы добились огромного прогресса и внесли много существенных изменений с момента выхода версии Windows Developer Preview 5 месяцев назад. Напоминаю, что построение Windows 8 и WOA все еще продолжается и нужно проделать еще много работы, чтобы предварительный выпуск превратился в окончательный. Нашим приоритетом будет всегда оставаться качество. Код еще не готов.

Мы с волнением ожидаем достижения этой контрольной точки. Нас гнетет груз ответственности за разработку нового выпуска Windows, а проблемы выпуска полностью новой платформы, какой является WOA, одновременно и придают энтузиазма, и обескураживают. Мы с нетерпением ждем момента, когда в скором времени сможем предложить всем пользователям опробовать версию Windows Consumer Preview.

От имени рабочей группы Windows,

Стивен Синофски (Steven Sinofsky)