"Журнал «Компьютерра» №41 от 08 ноября 2005 года" - читать интересную книгу автора (Компьютерра Журнал 613)

Microsoft Windows XP x64-bit edition


Говоря о технологии x86-64, невозможно не упомянуть, пожалуй, главную операционную систему, с которой пользователям этой технологии придется работать, - Microsoft Windows.

Можно долго рассуждать на тему, насколько интересна и востребована сегодня технология x86-64, но раз ее так или иначе поддерживают почти все новые процессоры, то у пользователей возникает вопрос иного рода: как 64-битность использовать на практике. Впрочем, очевидно, что для начала потребуется установить на компьютер 64-битную операционную систему.


Windows XP Professional x64 edition

А поскольку для среднестатистического юзера понятия ОС и Microsoft Windows, можно сказать, равнозначны, то выбор у него не очень богатый: либо «более пользовательская» Windows XP Professional x64 edition, либо серверные разновидности Windows 2003 Server x64 edition. На самом деле выбор еще уже, поскольку, вопреки своему названию, Windows XP Professional x64 edition основывается отнюдь не на коде оригинальной Windows XP, а использует то же самое «ядро» от Windows 2003 Server. Так что какой бы вариант вы не предпочли, «достанется» вам примерно одно и то же, просто с разными настройками системы по умолчанию. «Обновлять» систему с 32 бит до 64 невозможно - в любом случае потребуется ее полная переустановка. Список доступных языков пока тоже невелик: либо английский, либо японский, либо пакет MUI с европейскими языками (в которые русский язык не включен); так что неопытному пользователю, боюсь, рекомендовать Windows x64 edition не приходится. Впрочем, еще год назад у Microsoft не было даже этого, так что даже такой скудный ассортимент - значительный шаг вперед.

Итак, все 64-битные варианты операционных систем от Microsoft основываются на ядре Windows 2003 Server и уже включают в себя первый сервис-пак к Windows 2003[Кстати, видимо, желание включить SP1 в состав x64 edition и вызвало длительную задержку с релизом Windows x64 edition], интерфейс DirectX 9.0c и медиаплейер Windows Media Player десятой версии. Единственное «видимое» отличие для пользователя этих «осей» от 2003 Server SP1 - это возможность запуска 64-битных приложений. Поддерживается как AMD64, так и EM64T, со всей сопутствующей последней технологии спецификой. В остальном чисто внешне новые операционные системы, если не считать красивых логотипов с подписями «x64 edition», ничем не отличаются от своих прародителей. Интерфейс, приемы работы в ОС, системные настройки - все остается прежним.

А вот «невидимых» программных изменений гораздо больше. К примеру, переход на 64-битную архитектуру и к 64-битным указателям должен был автоматически привести к тому, что все структуры Windows API, в которых эти указатели встречаются, разом устарели и потребовали замены. Проще говоря, переход к 64-битным вычислениям автоматически привел и к смене Windows API на новую, «64-битную» версию. Но поскольку подобного рода смена API не позволила бы запускать в новых «Окнах» 32-битные приложения (даже несмотря на поддержку такой возможности процессором), то «старый» API в ней тоже сохранили, реализовав его через специальный «переходник», конвертирующий данные из «старого» формата в новый и наоборот. Называется «переходник» WOW64 (Windows On Windows x64) и может сильно тормозить работу 32-битных приложений под 64-битной Windows. Вообще, ситуация, в которой 64-битные и 32-битные приложения вынуждены как-то налаживать взаимодействие друг с другом, уже привела к довольно забавным результатам. К примеру, в Windows x64 edition - целых два Internet Explorer’а: «новый» быстродействующий 64-битный и «старый» 32-битный, не столь проворный, зато совместимый со всевозможными 32-разрядными плагинами для Internet Explorer’а. Мелочь, конечно, но именно из таких мелочей складывается…


Общее впечатление от новой ОС

В целом оно очень хорошее. К примеру, Windows x64 «знает» практически все «железо» и содержит необходимые 64-битные драйверы к нему, так что установка ОС даже на новейшую платформу проходит быстро и с минимумом человеческого вмешательства. Все мыслимые дыры в системе безопасности «превентивно» залатаны свежайшим сервис-паком; старые программы работают без нареканий; 64-битные запускаются легко. Некоторые результаты, снятые на нашем тестовом стенде, вы можете видеть во врезках, а мы позволим себе вкратце их прокомментировать.

Пункт первый. За редчайшими исключениями 32-битные программы в Windows XP x64 edition работают нормально, но чуть медленнее, нежели в «родной» 32-битной Windows XP. Различия не столь велики, чтобы быть субъективно заметными, однако закономерность налицо. Кто в этом виноват - «режим совместимости», в котором приходится работать процессору, новое ядро Windows 2003 или «прослойка» WOW64, - непонятно, так что ситуация может варьироваться от приложения к приложению.

Пункт второй. Специально оптимизированные для 64-битности приложения, как правило, работают быстрее своих 32-битных аналогов, но существенных рывков в производительности не дают. Правда, встречаются и приятные исключения, - так, почти все пакеты трехмерного моделирования и рендеринга в 64-битном режиме ускорялись на 10-30%. А вот больших изменений в трехмерных игрушках мы не заметили: где-то 64-битная версия чуть быстрее, где-то - чуть медленнее, но прорыва в скорости здесь нет и, возможно, никогда и не будет - подобного рода игрушки «упираются» не столько в центральные процессоры, сколько в недостаточно мощные видеокарты.

Пункт третий. Работать в 64-битных операционных системах пока еще не очень комфортно. К примеру, крупнейшие разработчики программ для записи CD и DVD 64-битные версии своих продуктов еще не выпустили, а тесно взаимодействующие с оборудованием 32-битные версии в 64-битной Windows у нас нормально так и не заработали, вынуждая обратиться к встроенным средствам записи дисков. Стоит ли говорить, что многим этот вариант покажется неудобным? Вместе с уже описанной проблемой нестыковки 32-битных плагинов и ActiveX-объектов и 64-битных программ это довольно сильно смазывает впечатление от Windows x64 edition.

Четвертый и последний пункт, сопряженный с нашей практикой использования Windows x64 edition - это, конечно же, вопросы, связанные с необходимостью использования 64-битных драйверов. Здесь дела обстоят противоречиво. С одной стороны, свежеустановленная Windows XP Professional x64 edition успешно определила на нашем тестовом стенде, построенном на чипсете nForce 4 SLI, все устройства (за исключением интегрированных аудиокодека и сетевой карты) и установила к ним соответствующие драйверы. Заметим, что такие брэнды, как ASUSTeK, Gigabyte, Broadcomm обязательно комплектуют свою новую продукцию драйверами для 64-битных версий Windows, а ATI и nVidia регулярно выкладывают в Сети всё более совершенные версии 64-битных драйверов к своим чипсетам и видеокартам, ничем не уступающие по функциональности 32-битным аналогам. С другой стороны - подобным образом поступают далеко не все производители, и та же MSI, чью материнскую плату и видеоадаптер мы использовали в тестовом стенде, никаких 64-битных драйверов на штатном компакт-диске не предоставила. Для некоторых (особенно устаревших) устройств 64-битных драйверов нет вообще, и неясно, появятся ли они в обозримом будущем[Чем-то это напоминает традиционную ситуацию с драйверами в Linux]. Кого-то она устраивает, кого-то нет.

Ситуация с 64-битным софтом для Windows складывается парадоксальная: операционная система есть, драйверы для нее есть, а вот самого простого - оптимизированных для 64-битного режима программ - нет. Радует только, что наиболее критичные к производительности приложения все-таки к x86-64 адаптированы. Так что для пользователей 3DSmax, Photoshop, LightWave, Premiere надпись на коробке от процессора про поддержку 64-bit - уже не просто слова, а ощутимая помощь в работе.

Еще одна область, где Windows x86 может сразу «раскрыться», - это приложения .Net. Они, как известно, ни к одной конкретной архитектуре не привязываются, а записываются на некотором «промежуточном» языке (IL), который превращается в машинный код для конкретной архитектуры только при непосредственном исполнении программы (Just-in-Time Compilation, JIC). Уже выпущен .Net Framework 2.0, поддерживающий x86-64, так что приложения .Net выигрыш в производительности от новой архитектуры получат без всякой перекомпиляции и сразу.

Стоит ли прямо сейчас переходить на Windows x64 edition? «Массовому» пользователю - пожалуй, рановато. В большинстве случаев переход на «64-битность» либо не даст ему сколько-нибудь заметных преимуществ в быстродействии, либо выльется в непрерывный поиск 64-битных версий любимых приложений и драйверов. А вот профессионалам и системным администраторам, старающимся выжать из машин максимум возможного, - пожалуй, стоит: прибавка 20-30% производительности на любимой задаче отнюдь не помешает.