Преимущества 64 битной windows 7 перед 32. Windows XP x64: обещания и реальность. Переход: ощутимые преимущества

Появление 64-разрядных Windows вызвало немало вопросов. Поддержка 32-битных приложений, драйверов и всего того, что рассчитано на архитектуру x86. Установка и особенности использования программ. Вводимые ограничения для 32-разрядных приложений. Поддержка старых режимов и многое другое. Все это никак не могло остаться в стороне. Ведь, пласт 32-разрядного наследия слишком велик, и в 64-битной среде его мало чем можно заменить, даже сейчас.

В этой статье приводится обзор подсистемы Windows на Windows 64 (WOW64) и ее методов, которые позволяют Windows поддерживать 32-битные приложения на 64-битной системе.

Примечание : Первая попытка внедрить 64-разрядные системы была достаточно провальной. Жесткие ограничения и отсутствие реальных преимуществ давало о себе знать. На тот момент, даже драйвера под 64-разрядные системы было достаточно сложно найти. Не говоря уже о программах, на которых хоть как-либо была бы заметна разница. Снятие ограничения на 3Гб оперативной памяти, безусловно, сегодня сильное преимущество, но на тот момент это больше напоминало красивый слоган.

Устройство поддержки 32-битных приложений в 64-разрядной Windows

Windows 32 на Windows 64 (WOW64)

WOW64 эмулирует 32-битную Windows

В Windows 64, 32-битные приложения выполняются в эмулированной 32-разрядной операционной системе, которая называется Windows 32 на Windows 64, или WOW64 для краткости. Основной задачей WOW64 является перехват и обработка всех системных вызовов от 32-разрядных приложений.

Для каждого перехваченного системного вызова, WOW64 создает 64-разрядный системный вызов, превращая 32-битные структуры данных в подходящие 64-битные. В последствии, 64-битный системный вызов передается ядру операционной системы для обработки. Все полученные выходные данные 64-битного вызова будут преобразованы и переданы в том формате, на которое приложение рассчитывало. Другими словами, реальные запросы к ядру системы всегда 64-битные. Подсистема WOW64 лишь выступает в качестве посредника, приобразуя данные в подходящие форматы.

Как и 32-битные приложения, WOW64 выполняется от имени пользователя, так что ошибки, которые могут происходить во время преобразования системных вызовов, будут происходить на уровне пользователя. И никак не затронут 64-битное ядро операционной системы.

Тот факт, что WOW64, как и 32-битное приложение, выполняется в режиме пользователя, объясняет причину отсутствия поддержки 32-битных драйверов. Если говорить другими словами, то, для корректного запуска, драйверам требуется режим ядра, который не может обеспечить WOW64. Поэтому, если у вас 64-разрядная Windows, то все драйвера должны быть 64-битными.

Эмулятор WOW64 состоит из следующих 64-разрядных библиотек:

Примечание : Это единственные 64-разрядные библиотеки, которые загружаются в 32-разрядный процесс.

  • Wow64.dll - ядро инфраструктуры системы эмуляции. Линкует вызовы в точки входа Ntoskrnl.exe
  • Wow64Win.dll - линкует вызовы в точки входа Win32k.sys
  • Wow64Cpu.dll - переключает процессор между 32-битным и 64-битным режимом
  • Ntdll.dll - 64-битная версия Wow64.

Wow64.dll загружает 32-битную версию (x86) Ntdll.dll и все необходимые 32-битные библиотеки, которые в основном остались без изменений. Однако, некоторые их этих 32-разрядных библиотек все же были изменены, чтобы корректно исполняться в WOW64. Как правило, такие изменения были сделаны из-за того, что они используют оперативную память вместе 64-разрядными компонентами системы

Управление файлами и настройками реестра в WOW64

В дополнение к функциям перехвата и обработки системных вызовов, интерфейс WOW64 так же должен гарантировать, что файлы и параметры реестра 32-битных приложений будут храниться отдельно от файлов и ключей реестра 64-разрядных программ. Для достижения этой цели WOW64 использует два механизма. Перенаправление файлов и реестра, а так же дублирования ключей реестра. Перенаправление поддерживает логическое представление данных и отображает их так, как если бы приложение запускалось в 32-разрядной Windows. Дублирование ключей реестра гарантирует, что изменение ряда параметров, которые не зависят от разрядности, будут доступны как 32-битным, так и 64-битным приложениям.

Перенаправление файлов

Перенаправление файлов позволяет гарантировать, что файлы и каталоги 32- и 64-битных приложений будут храниться отдельно и не мешать друг другу.

Файлы 32-разрядных приложений, по умолчанию, устанавливаются в:

  • C:\Program Files(x86)

32-разрядные системные файлы устанавливаются в:

  • C:\WINDOWS\SysWOW64

Для 64-разрядных приложений, файлы устанавливаются в:

  • C:\Program Files
  • C:\WINDOWS\SYSTEM32

Механизм перенаправления WOW64 гарантирует, что запросы от 32-разрядных приложений к каталогам "C:\Program Files" и "C:\WINDOWS\SYSTEM32" будут перенаправлены на соответствующие каталоги для 32-битных версий.

Однако, существует одна проблема с перенаправлением файлов. Пользователи и разработчики должны быть в курсе этой особенности.

Многие 64-разрядные приложения все еще используют 32-битный режим и процедуры. И не учитывают это при создании инсталлятора . Для того, чтобы приложение было установлено правильно. т.е. в "C:\Program Files", программа установки должна сделать системный вызов к операционной системе, чтоб система приостановила механизм перенаправления файлов Wow64. А после установки сделать другой системный вызов, чтобы снова включить перенаправление. Если производить установку без остановки перенаправления, то программа будет установлена в "C:\Program Files (x86)". Классическим примером данной ошибки является 64-разрядная версия FireFox 3.5 под кодовым названием "Shiretoko", которая устанавливается в "C:\Program Files(x86)\Shiretoko". Конечно, Firefox по-прежнему будет нормально функционировать. Единственное, что вы не сможете сделать, так это изменить иконку приложения .

Примечание : Возможно, сейчас эту ошибку в Shiretoko уже исправили. Тем не менее, в ранних версиях было именно так.

Перенаправление реестра

Ключи реестра, специфические для 32-разрядных приложений, будут перенаправлены из ветки:

  • HKEY_LOCAL_MACHINE\Software
  • HKEY_LOCAL_MACHINE\Software\WOW6432Node

Так же, иногда, можно встретить записи реестра в другой ветке (хотя это необычно):

  • HKEY_CURRENT_USER\Software\WOW6432Node

Такой подход позволяет 32- и 64-битным приложениям нормально сосуществовать, без проблем с перезаписью настроек друг друга.

Дублирование реестра

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

  1. Установите 32-битное приложение, которое ассоциирует себя с расширением XYZ
  2. Установите 64-разрядную версию приложения, которая связывает себя с расширением файла XYZ
  3. Установите другое 32-битное приложение, которое ассоциирует расширение XYZ с собой

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

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

Существует ряд ограничений подсистемы WOW64

Некоторые, но не все, 64-битные функции доступны 32-разрядным приложениям

Wow64 позволяет 32-разрядным приложениям использовать некоторые функции и возможности 64-битных систем. Например, при правильной настройке, такие приложения смогут использовать до 4Гб оперативной памяти. Доступ к другим функциям ограничен из-за особенности устройства 64-битных систем. Например, 64-битная ОС Windows поддерживает 64-битные логические операции. Тем не менее, 32-битные приложения не будут иметь доступ к ним, они смогут использовать только 32-битные логические операции.

Примечание : Основной причиной ограничений служит разница в представлении данных 32- и 64-битных приложений. 32-разрядное приложение попросту не рассчитано на 64-разрядные типы данных.

Нельзя смешивать между собой код (Code Injection) 32-битных и 64-битных приложений

В 64-битной ОС Windows нельзя запускать 32-битный код в 64-разрядном процессе, как и нельзя запускать 64-битный код в 32-разрядном процессе. Приложения, использующие инъекции кода (Code Injection) для добавления функциональности в существующие приложения, как правило, будут выдавать ошибки.

Этот факт объясняет, почему большинство 32-битных расширений оболочки Windows не запускаются под 64-разрядной Windows. Большинство таких расширений используют инъекцию кода (Code Injection) для встраивания в проводник Windows

WOW64 не поддерживает 16-разрядные инсталляторы

WOW64 обеспечивает поддержку 16-битных инсталляторов Microsoft, путем замены инсталлятора на совместимую 32-битную версию. Тем не менее, эта поддержка не распространяется на сторонние продукты. Так что, если вам нужно использовать старую программу, то, скорее всего, придется искать эмулятор или портативную версию.


Дополнительные возможности для запуска 32-битных приложений в Windows 64

Windows Virtual PC

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

Системные требования и набор функциональности существенно различается между версиями Virtual PC и версиями Windows. Так что, прежде чем пытаться использовать Virtual PC, необходимо проверить, что программа поддерживает как вашу операционную систему, так и те ОС, которые будут на ней запущены. Например, одна из последних версий уже не поддерживает версии Windows ниже Windows XP SP3.

Режим Windows XP (XPM)

Режим Windows XP это конкретная и урезанная реализация Windows Virtual PC, которая поставляется с предустановленной копией Windows XP Professional SP3. Этот режим доступен только в версиях Enterprise, Ultimate и Professional Windows 7 64-бит.

Несмотря на то, какие возможности был бы должен представлять этот режим, многие, кто использовал XPM, настоятельно советуют использовать этот режим только в качестве последнего средства. По сравнению с другими продуктами виртуализации, производительность разочаровывает, а конфигурация по умолчанию вызывает ряд вопросов безопасности.

Примечание : К некоторым более дательным настройкам режима совместимости все же можно обратиться. Более подробную информацию вы можете найти в обзоре Как запустить старые программы на Windows 7 / Vista? (см. Microsoft Application Compatibility Toolkit).

Мультизагрузка ОС Windows

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

Хоть, вы и не можете одновременно использовать больше одной операционной системы, эта функциональность является достаточно полезной. По сравнению с виртуальными машинами, такой способ не имеет никаких проблем с совместимостью и такие системы гораздо легче настраивать и обслуживать. Кроме всего прочего, установив 32-разрядную версию рядом с 64-битной, вы сохраните возможность запускать 16-битные приложения.

Подытоживая сказанное о поддержке 32-бит в 64-разрядной Windows

Большинство 32-разрядных приложений будут вполне счастливо себя чувствовать в Windows 64. Основными исключениями будут:

  1. 32-разрядные драйверы устройств
  2. Приложения, которые не могут функционировать без 32-битных драйверов устройств, которые они используют. Яркими примерами являются антивирусы и другие программы для обеспечения безопасности.
  3. Расширения, которые используют инъекцию кода (Code injection). Например, оболочки для проводника Windows

Некоторые приложения смогут запускаться с ограничениями. Это так же касается деинсталляторов , программ для очистки реестра и программ для тюнинга , так как они имеют доступ только к той части реестра, которую им показывает Wow64.

Если вы никак не можете запустить 32-битное приложение, то рассмотрите вариант с виртуализацией или мультизагрузкой нескольких операционных систем.

Какие приложения быстрее 32-битные или 64-битные?

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

Если сравнивать 32- и 64-разрядные приложения в своих родных средах, то 32-битное приложение, как правило, использует меньше памяти, чем эквивалентное 64-разрядное приложение. Это происходит потому, что 64-битные версии используют 64-битные структуры данных, которые занимают вдвое больше места. Дополнительный размер напрямую влияет на время запуска и закрытия программы, а так же на другие виды операций, связанных с доступом к дисковым накопителям. Обычно, это означает, что 32-разрядные приложения будут выполняться быстрее. Тем не менее, использование 64-битными программами особенностей 64-разрядного процессора потенциально позволяет приложению выполняться на 25% быстрее, по сравнению с 32-битными программами.

Кроме того, необходимо помнить, что запуск 32-битного приложения на 64-разрядной Windows означает запуск Wow64, поэтому анализ производительности на 32-битном процессоре можно отложить в сторону. Запуск Wow64 означает не только затраты на преобразование вызовов, но и учет механизмов перенаправления и дублирования, которым требуются не только процессорное время, но и оперативная память. Поэтому, возможно, 32-разрядное приложение будет выполняться быстрее 64-битного, но оно однозначно будет выполняться медленнее, чем при эквивалентном запуске на 32-битном процессоре.

Рейтинг 5.00 (6 Голосов)



Прежде чем приступить к тематике разработки кода 64-битных программ, остановимся на вопросе обратной совместимости 64-битных версий Windows с 32-битными приложениями. Обратная совместимость осуществляется за счет механизмов, реализованных в .

WoW64 (Windows-on-Windows 64-bit) - подсистема операционной системы Windows, позволяющая запускать 32-битные приложения на всех 64-битных версиях Windows.

Подсистема WoW64 не поддерживает следующие программы:

  • программы, скомпилированные для 16-разрядных операционных систем;
  • программы режима ядра, скомпилированные для 32-разрядных операционных систем.

Накладные расходы

Существуют различия WoW64 в зависимости от архитектуры процессора. Например, 64-битная версия Windows разработанная для процессора Intel Itanium 2 использует WoW64 для эмуляции инструкций. Такая эмуляция весьма ресурсоемка по сравнению с WoW64 для архитектуры , так как происходит переключение с 64-битного режима в режим совместимости при выполнении 32-битных программ.

WoW64 на архитектуре Intel 64 (AMD64 / x64) не требует эмуляции инструкций. Здесь подсистема WoW64 эмулирует только 32-битное окружение за счет дополнительной прослойки между 32-битным приложением и 64-битным Windows API. Где-то эта прослойка тонкая, где-то не очень. Для средней программы потери в производительности из-за наличия такой прослойки составят около 2%. Для некоторых программ это значение может быть больше. Два процента - это немного, но следует учитывать, что 32-битные приложения работают немного медленнее под управлением 64-битной операционной системы Windows, чем в 32-битной среде.

Компиляция 64-битного кода не только исключает необходимость в WoW64, но и дает дополнительный прирост производительности. Это связано с архитектурными изменениями в микропроцессоре, такими, как увеличение количества регистров общего назначения. Для средней программы можно ожидать в пределах 5-15% прироста производительности от простой перекомпиляции.

Преимущество 64-битной среды для 32-битных программ

Из-за наличия прослойки WoW64 32-битные программы работают менее эффективно в 64-битной среде, чем в 32-битной. Но все-таки простые 32-битные приложения могут получить одно преимущество от их запуска в 64-битной среде. Вы, наверное, знаете, что программа, собранная с ключом /LARGEADDRESSAWARE:YES, может выделять до 3-х гигабайт памяти, если 32-битная операционная система Windows запущена с ключом /3gb. Так вот, эта же 32-битная программа, запущенная на 64-битной системе, может выделить почти 4 GB памяти (на практике около 3.5 GB).

Перенаправления

Подсистема WoW64 изолирует 32-разрядные программы от 64-разрядных путем перенаправления обращений к файлам и реестру. Это предотвращает случайный доступ 32-битных программ к данным 64-битных приложений. Например, 32-битное приложение, которое запускает файл DLL из каталога %systemroot%\System32, может случайно обратиться к 64-разрядному файлу DLL, который несовместим с 32-битной программой. Во избежание этого подсистема WoW64 перенаправляет доступ из папки %systemroot%\System32 в папку %systemroot%\SysWOW64. Это перенаправление позволяет предотвратить ошибки совместимости, поскольку при этом требуется файл DLL, созданный специально для работы с 32-разрядными приложениями.

Подробнее с механизмами перенаправления файловой системы и реестра можно познакомиться в разделе MSDN "Running 32-bit Applications ".

Почему невозможно использовать в 64-битной программе 32-битные DLL? Можно ли это обойти?

Загрузить 32-битную DLL из 64-битного процесса и выполнить код из неё невозможно. Невозможно в силу дизайна 64-битных систем. В принципе, невозможно. Не помогут ни хитрости, ни недокументированные пути. Для этого нужно загрузить и проинициализировать WoW64, не говоря уже о структурах в ядре. Фактически нужно будет на лету превратить 64-битный процесс в 32-х битный. Подробнее эта тема рассмотрена в посте "Недокументированные функции; Загрузка 32-х битных DLL в 64-х битный процесс ". Единственное, что можно порекомендовать, - это создание суррогатного процесса и взаимодействия с ним посредством технологии COM. Об этом рассказывается в статье "Accessing 32-bit DLLs from 64-bit code ".

А вот загрузить ресурсы из 32-битной DLL в 64-битный процесс совсем несложно. Это можно сделать, если при вызове LoadLibraryEx указать флаг LOAD_LIBRARY_AS_DATAFILE.

Постепенный отказ от поддержки 32-битных программ

Вполне естественно, если компания Microsoft будет стимулировать переход на 64-битные системы, постепенно отказываясь от поддержки 32-битных программ в ряде версий операционной системы Windows. Конечно, это будет очень медленный процесс. Но все-таки первые шаги в этом направлении уже сделаны.

Многие администраторы знают про относительно новый режим установки и работы серверной версии операционной системы под названием Server Core. Это тот режим, о котором участники войн "Windows vs Linux" говорили очень давно. Одним из аргументов сторонников использования Linux на сервере была возможность установить серверную ОС без графического интерфейса (GUI). Но вот и в Windows Server появилась такая возможность. Установка в этом режиме позволяет получить только командную строку без пользовательского интерфейса.

Эта возможность (установка Server Core) появилась в Windows Server 2008. Но в Windows Server 2008 R2 появилось нововведение, приближающее 64-битное будущее. При установке Windows Server 2008 R2 (Server Core) поддержка запуска 32-битных приложений стала опциональной . Причем по умолчанию эта поддержка выключена. И при попытке запуска 32-битного приложения в режиме Server Core пользователь получит сообщение о невозможности запуска. Конечно, можно добавить поддержку 32-битных программ:

start /w ocsetup ServerCore-WOW64

В обычном (Full Installation) режиме 32-битные приложения по умолчанию запускаются, а вот в Server Core уже нет.

Тенденция очевидна. Со временем все более рациональным будет создание 64-битных версий приложений, так как они смогут функционировать на большем числе версий операционных систем.

Дополнительная информация

Интересным источником информации по системе WoW64 является блог Алексея Пахунова: http://blog.not-a-kernel-guy.com/ . Алексей является сотрудником компании Microsoft и принимает непосредственное участие в разработке подсистемы WoW64.

Сегодня предлагаю обсудить преимущества и недостатки 64-битной ОС , которой оснащена большая часть современных компьютеров с операционной системой Windows 7.

Прежде 64-битные системы были уделом профессионалов и использовались для программ, требующих огромных ресурсов. Домашние пользователи обходились 32-битной версией Windows. И хотя 64-разрядные процессоры появились на рынке уже в 2003 году, (в 2005 году появилась 64-битная Windows XP), на новых компьютерах 64-битная система стала устанавливаться только с выходом Windows 7.

Итак, чем же хороша 64-битная архитектура? Какие преимущества мы получаем и работает ли она быстрее? С какими проблемами нам, простым пользователям, придётся столкнуться?

На экране 32-битная и 64-битная версии Windows 7 выглядят абсолютно одинаково. Возможности идентичны, программы одни и те же, однако, различия существенны!

1. Скорость обработки данных выше в 2 раза. 64-разрядный процессор способен обрабатывать за один такт 64 бита данных (8 байт) в отличие от 32-битного, обрабатывающего только 32 бита (4 байта) за единицу времени, то есть скорость обработки данных в 2 раза выше! Соответственно, и программы для 64-битных операционных систем работают гораздо быстрее, чем аналогичные, работающие на 32-битных ОС.

2. Доступно больше оперативной памяти. 32-битная версия Windows максимально использует только 3,5 Гб памяти, при этом она не полностью доступна программам. К примеру, операционная система занимает 1 Гб памяти, плюс до 1 Гб может быть зарезервировано для видеопамяти, и для программ останется всего 1,5 Гб. А если программы особо «прожорливы», памяти не хватит.

У 64-битных версий Windows этих проблем нет. Windows 7 Home Premium использует максимум 16 Гб рабочей памяти и благодаря этому Windows реже использует файл подкачки (используется системой для размещения данных, не помещающихся в оперативной памяти), а компьютер работает значительно быстрее.

Требования 64-разрядной системы к компьютеру

1. Процессор . Как Вы уже догадались, одно из необходимых условий для работы 64-битной ОС – это 64-битная архитектура процессора. У Intel эта технология называется EM64T, а у одного из крупнейших производителя процессоров AMD она называет AMD64.

2. Оперативная память . 64-битная Windows требуется не менее 4 Гб оперативной памяти. И в отличие от 32-битных операционных систем 64-битные ОС других особых требований к комплектации компьютера не имеют.

Чтобы проверить версию Вашей операционной системы, нажмите «Пуск» –> кликните правой кнопкой мыши по “Компьютер” и в выпадающем меню выберите «Свойства» –> в открывшемся окне, с правой стороны, отображена версия Вашей операционной системы.

Недостатки 64-разрядной системы

1. Требуются новые драйверы . Как Вы уже догадались, для 64-битной Windows 7 требуются новые драйвера (аналогичные драйвера для 32-битной операционной системы не подходят). Последние модели устройств выпускаются уже с новыми драйверами, но с утаревшими модулями могут возникнуть проблемы, так как производители не разрабатывают драйверов для 64-битной версии Windows. Будьте внимательны, перед тем как переходить на 64-битную Windows, зайдите на сайты производителей устройств и проверьте наличие 64-битных версий драйверов для вашего оборудования.

2. Нужно больше памяти . Необходимо помнить, что у большинства 64-битных программ размер структуры данных 8 байт (64 бит) и на жестких дисках они занимают примерно на 10–20% больше пространства, чем версии 32-битных программ со структурой в 4 байта. Потребление оперативной памяти повышается примерно на 15%

Возможно ли установить 64-разрядную Windows 7 на нетбук?

С появлением семейства 64-разрядных процессоров «Pineview» (N450 и выше) у нетбуков появилась возможность использовать 64-битное программное обеспечение. Однако, камнем преткновения может стать оперативная память. Большинство нетбуков оснащено 1 Гб памяти. И если даже сделать апгрейд до 2 Гб, то это едва будет дотягивать до минимальных требований 64-битной Windows 7. Так что, Друзья, об эффективном использовании 64-разрядной системы на нетбуках, речь пока не идет (требуется не менее 4 Гб оперативной памяти).

Возможно ли использовать 32-битные программы для 64-битной ОС?

В 64-битной Windows имеется подсистема преобразования Windows-on-Windows 64-bit (WoW64), которая обеспечивает совместимость работы 32-битного программного обеспечения с 64-битной ОС. Большая часть 32-битных программ безукоризненно работает с помощью WoW64, тем не менее, существуют некоторые исключения:

  • Программы для резервного копирования . При создании бэкапов программы напрямую обращаются к системными папкам Windows, а WoW64 в некоторых случаях перенаправляет доступ 32-битного программного обеспечения в другие папки. Т.е. если не перенастроить программы резервирования, то результат их работы может оказаться неполными и ошибочным.
  • Программы для оптимизации Windows . Программы, созданные для оптимизации 32-битной Windows, ни в коем случае нельзя использовать на 64-битной Windows 7, вреда от их работы будет гораздо больше чем помощи.
  • Программы для защиты ПК . Если Вам нужна отличная защита компьютера, то для 64-битной Windows используйте только 64-битные версии антивирусных программ. Старое 32-битное программное обеспечение не в состоянии обеспечить надёжную защиту и пропустит вирусные атаки, разработанные для 64-битной ОС.
  • Скорость работы . Устаревшее 32-битное ПО на 64-битной Windows работает медленнее, чем в родной 32-битной среде. Причиной тому лишние временные затраты на преобразования подсистемой WoW64.

Чтобы посмотреть какие 32-битные программы работают в 64-битной системе, достаточно запустить Диспетчере Задач (нажимаем клавиши Ctrl+Shift+Esc), и найти программы, помеченное значком *32.

Итак, Дорогие Друзья, подведем итог

При переходе на работу с 64-битной Windows 7 следует обратить внимание на несколько значимых факторов.

1. Требования к комплектации компьютера:

  • 64-битная архитектура процессора;
  • 4 ГБ оперативной памяти.

2. Совместимость программного обеспечения:

  • наличие необходимых новых драйверов для Ваших устройств;
  • доступность обновления ПО до новейших 64-битных программ.

1. Проверить совместимость программного обеспечения Ваших устройств с 64 битной ОС можно в «Центре совместимости Windows 7».

2. При работе со сбоями 32-битной программы на 64-битной системе помогает обновление ПО до новой версии, которую обычно можно найти на сайте производителя.

Мы покажем, каким образом можно сделать работу компьютера более быстрой, перейдя на 64-битную версию Windows 7.

Без проблем превратить современный ПК в настоящий «болид» может практически каждый пользователь. После установки операционной системы Windows 7 в 64-битной версии компьютер начинает работать быстрее, стабильнее и безопаснее.

Сегодня практически половина всех ПК, продаваемых с предустановленной «семеркой», оснащается 64-разрядным вариантом этой ОС. Но и для всех остальных пользователей, работающих с 32-битными операционными системами от Microsoft, переход на вариант с удвоенной разрядностью является оправданным. Мы расскажем, какие преимущества у вас после этого появятся, как подготовиться к модернизации, какие проблемы могут возникнуть и как их решать. При этом вам пригодится пакет 64-битных программ, размещенный на нашем DVD. В нем представлены многочисленные драйверы для принтеров, сканеров, видеокарт и прочие полезные утилиты. Также мы продемонстрируем, каким образом привязать к новой операционной системе старое «железо», для которого уже не выпускается новых драйверов. Кроме того, вы узнаете, как инсталлировать ПО, несовместимое с 64-битной Windows.

Переход: ощутимые преимущества


Самое главное достоинство 64-разрядных систем состоит в возможности использовать большой объем оперативной памяти. В зависимости от варианта ОС пользователю будут доступны до 192 Гбайт вместо 3, поддерживаемых в 32-битном варианте. Даниэль Меланхтон, технический советник при Microsoft, однозначно рекомендует: «Если у вас больше 2 Гбайт оперативной памяти, переходите на 64-битную версию ОС и ни о чем не думайте».


Мы проверили, какие преимущества на самом деле дает более быстрая архитектура операционной системы. Для этого на два ПК с процессорами Intel Core 2 Duo E6600 были установлены 32- и 64-разрядная Windows 7, а затем инсталлированы ресурсоемкие программы: графический редактор Photoshop CS5, архиватор 7-Zip и универсальный конвертер Mediacoder. Эти приложения загружали работой компьютеры, а мы контролировали демонстрируемую последними скорость.


Кроме того, в 64-разрядной ОС мы запускали как 32-, так и 64-битный вариант каждой программы. Таким образом были получены три результата, которые однозначно демонстрируют, что в Windows с архитектурой 64 бита соответствующие редакции ПО работают быстрее, чем 32-разрядные. Прирост скорости составляет до 15% (более точные данные вы найдете во врезке справа).

При этом преимущества 64битной ОС связаны не только с увеличением вычислительной мощности ПК, но и минимизацией рисков для его безопасности. Дело в том, что компьютер с более производительной операционной системой не подвержен атакам типа SSDT-Hooks нового поколения вирусов. Эти вредоносные программы выбирают точный момент между этапами проверки исполняемого кода, осуществляемой антивирусом, и размещают зловредный код на компьютере-жертве.

Программы: возможные проблемы


Программа Windows 7 Upgrade Advisor покажет, может ли ваш компьютер работать с более производительной архитектурой новой операционной системы Не всякий ПК подходит для установки ОС с 64-битной архитектурой, но, как правило, с ней способен работать любой компьютер моложе трех лет. Тем не менее перед началом инсталляции следует запустить бесплатную утилиту Microsoft Windows 7 Upgrade Advisor для проверки совместимости. Она наглядно продемонстрирует, годится ли «железо» вашего ПК для перехода на 64-битную ОС. Напоминаем, что апгрейд оправдывает себя, если на компьютере есть более 2 Гбайт оперативной памяти.

Если же объем RAM превышает 4 Гбайт, то переход на более производительную версию ОС просто обязателен - это позволит задействовать весь потенциал компьютера.


Онлайновая база данных PCIDatabase.com позволит определить производителя того или иного продукта либо найти всю информацию о периферийных устройствах, а также драйверы для них Если ПК активно используется вами в профессиональной деятельности, следует обязательно убедиться в наличии 64-битных версий программ, которые понадобятся вам в повседневной работе, или хотя бы в том, что имеющиеся 32-разрядные приложения совместимы с новой архитектурой операционной системы.

Большинство 32-битных утилит нормально функционируют в этой среде, но при этом могут возникать проблемы со скоростью их работы. Наш тест показал, что 32-разрядный вариант Photoshop CS5 обрабатывает фотографии в 32-битной ОС значительно быстрее, чем в 64-битной. Зато в последней максимальную скорость работы демонстрирует 64-разрядный Photoshop. На сегодняшний день инсталлятор этой программы предлагает оба варианта установки, так как не все дополнения совместимы с 64-битной версией - многие фильтры и плагины пока еще не функционируют в ней. Даже Internet Explorer работает в 64-разрядной ОС неидеально: доступны не все дополнения. Например, Adobe все еще не опубликовала финальную версию Flash-плагина для 64-битного браузера, как и Apple - для QuickTime. В связи с этим даже после перехода на ОС с новой архитектурой лучше оставить старую версию браузера.

Сама корпорация Microsoft вынуждена бороться с проблемами совместимости пакета Office. Дело дошло до того, что софтверный гигант не рекомендует использовать 64-битную редакцию этого продукта. Лучше всего инсталлировать 32-разрядный вариант в системе с архитектурой 64 бита. Специалисты Microsoft обосновывают это так: многие дополнения ориентированы на 32-битную редакцию программы, и это может вызвать проблемы при синхронизации смартфонов с Outlook. Кроме того, дополнительные хлопоты доставят пользователю 32-разрядные элементы управления Office, а также плагины и VBA. Если же использовать этот пакет только в связке с совместимыми 64-битными приложениями, то все работает стабильно. Но в любом случае использование 64-разрядного офисного пакета в соответствующей среде не дает существенных преимуществ - разве что большие таблицы в Excel будут рассчитываться немного быстрее. А вот Word и все остальные приложения потребляют так мало ресурсов, что в случае с ними вы вряд ли заметите, что объем оперативной памяти увеличился. Более подробную информацию о последней версии пакета Microsoft Office вы найдете в статье «Примеряем новый Office 2010» в CHIP №9 2010 на стр. 120.

Если же вы имеете дело с программой, которая категорически отказывается работать в 64-битной среде, выход есть: с помощью средств виртуализации инсталлируйте в Windows 7 версию XP (подробнее в конце статьи).

Аппаратные средства: в чем может быть подвох?


Информация о неустановленных драйверах и ID оборудования доступна в Диспетчере устройств Windows В принципе, если ваше «железо» не старше трех лет, трудностей с его использованием возникнуть не должно. Для большинства принтеров, фотоаппаратов и других периферийных устройств сегодня существуют 64-битные драйверы, которые обеспечивают безупречную работу в высокопроизводительной операционной системе.

Однако при использовании старых сканеров, звуковых карт и других продуктов, даже работавших под управлением Windows XP, могут возникнуть проблемы. Дело в том, что обновленных 64-битных драйверов для таких устройств нет, так как производители прекратили их поддержку. Тем не менее есть способы оживить такой «антиквариат», чтобы не пришлось торопиться с покупкой более современных моделей.

Если нет возможности найти драйвер для Windows 7, зачастую может подойти вариант, созданный для предыдущей версии ОС - например, Windows Server 2003. Но при этом он обязательно должен быть написан именно для 64-битного варианта системы.

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

Другой способ выйти из затруднения - найти драйвер для устройства такого же типа, что и ваше.

Например, если ваш принтер совместим с языками PCL или PostScript, попробуйте воспользоваться драйвером от HP. Точную информацию о производителе комплектующих можно отыскать следующим образом. В меню «Пуск» кликните правой кнопкой по пункту «Компьютер» и в контекстном меню выберите «Свойства». В открывшемся окне слева найдите Диспетчер устройств и запустите его.

Подтвердите запрос прав администратора. В каталоге устройств отыщите те, которые отмечены желтым треугольником с восклицательным знаком (это означает, что драйверы для них не установлены). В контекстном меню «Свойства» на вкладке «Сведения» выберите из выпадающего списка «ID оборудования». Здесь вы увидите четырехзначное обозначение производителя (Vendor-ID) и номер устройства (Device-ID). По этой информации на ресурсе www.pcidatabase.com можно определить разработчика того или иного продукта. Как правило, на своих сайтах производители выкладывают подходящие драйверы.

Трудности могут возникнуть, если сетевой принтер подсоединен к компьютеру с 64-битной Windows 7. В этом случае 32-разрядный ПК, включенный в эту сеть, не сможет выбрать данное печатающее устройство. Выходом может стать установка на 64-битной операционной системе 32-разрядного драйвера принтера. Но это возможно не всегда и срабатывает лишь в том случае, если есть возможность распаковать инсталляционный пакет и установить драйвер через INF-файл. Владельцы серверов NAS или маршрутизаторов с USB-портом могут решить проблему быстрее, подключив принтер или сканер к этим устройствам.

Виртуальная Windows XP: как запустить любую программу в 64-битной среде

Некоторые приложения и устройства отказываются работать в 64-разрядных операционных системах.

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

Использование XP в среде Windows 7 . Владельцы Windows 7 версий «Профессиональная», «Корпоративная» и «Максимальная» после инсталляции ОС имеют возможность просто активировать интегрированный в нее режим XP.

Если же у вас установлена «Начальная» или «Домашняя», на помощь придет дополнительное ПО. Бесплатная программа VMLite XP Mode, имеющаяся на нашем DVD, позволяет без проблем запускать в «семерке» приложения для Windows XP.

Вы даже не заметите, что в фоновом режиме у вас работает XP-машина.



Бесплатная утилита VMLite XP Mode позволяет легко интегрировать приложения для XP и устаревшее «железо» в среду Windows 7 Порядок установки
. Вам потребуется утилита VMLite XP Mode, а также лицензионная Windows XP. Программа, конечно, позволяет скачать полноценную версию этой ОС с сайта Microsoft, но владельцам «Начальной» и «Домашней» редакций лучше этого не делать, чтобы не нарушать лицензионное соглашение. Дело в том, что загружать прежнюю версию операционной системы имеют право только пользователи, купившие «Максимальную» или «Профессиональную».

После инсталляции вы получите полноценную Windows XP, в которой можно в обычном режиме устанавливать любые программы и драйверы. Утилита VMLite XP Mode запускается привычным способом - посредством кнопки «Пуск» и пункта «Все программы». Обмен файлами между двумя операционными системами производится через сетевой диск, при клике по которому отобразится структура папок вашего хост-компьютера.

Перед тем, как сравнивать 32-битную и 64-битную редакции Windows следует понять, что представляют из себя эти редакции, и какого их значение. Сначала расскажем о процессорах. Многие, возможно слышали о существовании 32-битных и 64-битных процессоров. Рассмотрим, что же означают эти биты.

Наверное не стоит говорить о том, что процессор – это достаточно сложное устройство. Он состоит из множества разных блоков, среди которых и кэш-память, и разные уровни, и блоки выбора и декодирования команд, блоки предсказывающие переходы, разные типы вычислительных блоков. В некоторых современных процессорах также имеются контроллеры памяти, контроллер шины PCI-Express и графическое ядро. В этой статье для нас важны вычислительные блоки.

Процессор может иметь разные типы таких блоков. Одни производят вычисления с целыми числами, другие — операции с вещественными числами или числами с плавающей запятой. Кроме того существуют блоки для т.н. сложных инструкций. В качестве примера рассмотрим блоки выполняющие вычисления с целыми числами или ALU. Во время работы эти блоки где-то должны хранить промежуточные данные. Для этих временных хранилищ были созданы регистры. От обычной памяти и кеш памяти их отличают прежде всего минимальные задержки и очень высокая скорость работы. Так вот эти самые регистры и скрывают главное отличие т.н. 32-битных и 64-битных процессоров. Рассмотрим это более подробно.

Так называемые 32-битные процессоры имеют 8 регистров общего назначения, объем которых составляет 32 бита. А 64-битные процессоры имеют в двое больше таких регистров, а объем их составляет 64 бита. Вот это и есть основное различие между 32-битными и 64-битными процессорами. Стоит сказать о том, что почти все современные процессоры являются 64-битными.

А теперь расскажем о том, для чего на практике нужны эти регистры. Если сказать обобщенно, то процессор на 64-бит в нормальном 64-битном режиме сможет работать с 64-битными числами не используя какие-либо ухищрения, как например, разбивку одной сложной операции на две. Кроме того таким образом могут быть объединены 2 простые операции над 32-битными числами в 1 сложную. Тем не менее не каждую операцию можно объединить с другой, но и это не мало.

Важно: производительность можно увеличить лишь работая с 64-битным наборам инструкций х86-64. Также следует сказать о том, что помимо блока вычислений с целыми числами ALU, процессор также имеет блок вычислений чисел с плавающей точкой или FPU. В нем содержатся более объемные 80-битные регистры и используются инструкции х87. Помимо этого процессор имеет другие блоки и регистры. Например, SSE-регистры. Их длина составляет 128 бит.

Мы помним о том, что есть 64-битный режим работы. Но есть и другие. 64-битный процессор имеет поддержку и так называемого режима совместимости, в котором дополнительные восемь регистров выключаются и поведение 64-хбитного процессора становится таким же как 32-битного. Это требуется прежде всего для того, чтобы обеспечить совместимость системного ПО и программ, не умеющих работать с 64-битным процессором. Почему он собственно и назван режимом совместимости.

Для того, чтобы процессор мог нормально работать в 64-битном режиме, потребуется 64-битная ОС и соответствующие драйвера. Если установлена 32-битная ОС, то процессор будет работать в режиме совместимости и вести себя как 32-битный процессор.

Важно: некоторые читатели могут вполне справедливо спросить о том, как 32-битные программы смогут работать в 64-битной ОС. Эту проблему удалось решить вполне логично: система имеет 2 набора системных библиотек для 64-битных и 32-битных приложений.

Но у разрядности регистров есть и более актуальная проблема. Дело в том, что ограничено адресное пространство для памяти. А попросту говоря, процессор способен адресовать лишь 4 Гб адресного пространства. Так ведь ноутбук и имеет 4Гб оперативной памяти, и системе должно быть видно все эти 4Гб. Но помимо оперативной памяти, есть и память видеокарты, буферы разных устройств и BIOS может для этого же видеоядра выделить еще какую-то память. В результате память, которая была доступна пользователю уменьшится 2.5 — 3.5 Гб. И это ограничение не зависит от операционной системы. Перейдем к более детальному рассмотрению этой проблемы.

Тут нет ничего сложного. Регистры хранят как данные, так и указатели адресов. В 32-битном процессоре объем этого регистра составляет 32 бита. Вот откуда появилось это ограничение в 4 Гб или 232 байт.

Подводя итог всего изложенного выше, стоит сказать, что любая 32-битная ОС не может работать используя все 4 Гб ОЗУ по той причине, что большинству системных устройств для работы требуется часть адресного пространства, а оно ограничено 4Гб. Поэтому системе приходится отбирать его у оперативной памяти. Неиспользованная оперативная память может быть использована в качестве временного диска, для этого потребуется утилита RAM Disk.

Важно: для 32-битных ОС создан механизм, позволяющий использовать адресное пространство более 4Гб. Это т.н. PAE (Physical Address Extension), в этом случае ОС может адресовать до 64 Гб памяти. Эту технологию с самого начала разрабатывали для серверных систем. Для того, чтобы она могла нормально работать требуются соответствующие исправленные драйвера. Так как таких рабочих драйверов почти нет, то эта технология даже на серверных ОС по умолчанию отключена. В обычных редакциях ОС Windows она также была отключена по умолчанию. И по той же причине. Сегодня есть специалисты, которые научились ее включать, система может видеть всю оперативную память, которая доступна ей, но происходят ошибки в самых разных местах. А их диагностика не так проста. Поэтому если вы хотите использовать более 3 — 4 Гб ОЗУ, то вам нужно установить 64-битную ОС.

Как можно видеть, в 64-битном режиме работы имеются следующие преимущества и недостатки:

  • 64-битная ОС работает со всем объемом ОЗУ;
  • Некоторые из операций на 64-битном процессоре могут быть выполнены намного быстрее;
  • Для 64-битных указателей требуется больше памяти, что делает объем занимаемой приложениями ОЗУ больше.

Как видите, не все так однозначно. Рассмотрим теперь как же это проявляется на практике.

Сравнение производительности 32-bit и 64-bit версий Windows

Сначала расскажем о том какая методика тестирования использовалась.

Измерения были проведены на ноутбуке Asus N61Vn имеющим четырехьядерный процессор Intel Core 2 Quad Q9000, использовалась видеокарта nVidia GeForce GT 240M с 1 Гб выделенной памяти. Важно заметить, что ноутбук имел 4 Гб ОЗУ DDR3-1066. При сравнении были использованы 32- и 64-битные версии Windows Vista SP2 с установленными последними обновлениями. Драйвера имели одинаковые версии, что позволило нивелировать разницу в производительности между различными версиями. По указанным выше причинам 32-битная версия Windows имела приблизительно 3Гб доступной оперативной памяти, а 64-битная редакция — примерно 4 Гб.

Важно также заметить то, что этот тест был проведен на Windows XP и Windows 7 на ноутбуке Acer Timeline 3810T с одноядерным процессором Intel Core 2 Duo SU3500 и 4Гб оперативной памяти, у которого были более ограниченные возможности. Результаты и в этих случаях не изменились и были приблизительно такие же.

Сравнение производительности для удобства мы разделили на 2 части:

  • 1. Сначала мы исследовали производительность обычных 32-битных программ на 32-битной и 64-битной версиях систем;
  • 2. Затем мы измеряли скорости работы 32-битной и 64-битной версий программ на соответствующих редакциях Windows.

Тестирование производительности прикладных 32-битных программ

Цель этого тестирования — определить увеличение производительности при переходе с 32-битной на 64-битную версию системы Windows. Данное исследование является актуальным, так как сегодня у многих игр и программ отсутствуют специальные оптимизированные 64-битные версии. Важно отметить и то, что 32-битная система может работать с 3 Гб памяти, а 64-битная версия — с 4 Гб.

Сравнить производительность помогли следующие приложения:

  • 3DMark03 3.6;
  • 3DMark05 1.3;
  • 3DMark06 1.1;
  • PCMark05 1.2.

Эти приложения были выбраны, так как они достаточно точно отражают реальную производительность большей части программ и игр. Если бы в данном исследовании были использованы различные прикладные программы, то методика исследования стала бы намного сложней. А процент погрешности измерений был бы увеличен из-за худшего повторения того или иного теста и ограничения точности в средствах измерения.

Приложения были настроены по умолчанию. Разрешение экрана 1024 х768:

Приложения были настроены по умолчанию. Разрешение экрана 1280 х720:

4. Результаты сравнения производительности в PCMark05

В этом тесте были проведены отдельные дополнительные тесты. Ниже представлены результаты каждого.

Виден результат полученный благодаря дополнительному гигабайту ОЗУ у 64-битной системы.

Итоги сравнения производительности обычных приложений

Результаты полученные после проведения данного исследования оказались весьма ожидаемыми. Из-за того, что был использован режим совместимости у 64-битной ОС при работе с обычными 32-битным приложениями производительность оказалась меньше.

В результате этого сравнения производительности также было выявлено, что реальную пользу 4 гигабайта ОЗУ в этом наборе приложений не приносят. Здесь необходимо подчеркнуть, что в действительности для тяжелых приложений, к которым относятся графические редакторы, системы автоматизированного проектирования (CAD) и другие, объем ОЗУ очень важен. В них дополнительные гигабайты ОЗУ действительно полезны.

Сравнение производительности 32- и 64-битных программ

Цель данного исследования — измерить увеличение производительности во время использования оптимизированных 64-битных приложений на 64-битной ОС.

Для сравнения производительности были также использованы программы:

  • Архиватор 7-Zip версии 4.65;
  • Тестовый пакет PCMark Vantage.

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

А теперь посмотрим на результаты:

Как можно видеть показатели архиватора 64-битной оптимизированной версии на 64-битной ОС были лучше в сравнении с аналогичной 32-битной версией на 32-битной системе. Этого и следовало ожидать. Оптимизации смогли себя показать.

2. Тестирование при помощи тестового пакета PCMark Vantage

Существует как 32-битная, так и 64-битная версии тестового пакета PCMark Vantage. В этом тестовом пакете имеются разные тесты. Рассмотрим каждый из них.

Как и 7-Zip, в целом 64-битный тестовый пакет PCMark Vantage показал большую производительность чем 32-битный на 32-битной ОС. Здесь важным моментом оказались оптимизации под 64-битные процессоры, и больше объема доступной памяти: 4 Гб у 64-битной системы и 3 у ее 32-битной версии.

Итог сравнения производительности 32-битной версии Windows с 64-битной

Пришло время подвести итог данного теста:

  • Наибольшее увеличение производительности в 64-битных версиях Windows XP, Vista, 7 наблюдалось в случае, когда были использованы оптимизированные 64-битные версии приложений и игр. Во время работы с обычными приложениями, без оптимизации под 64-битную версию производительность не увеличивается;
  • Многие программы и игры не смогли показать заметного роста производительности когда был увеличен объем доступной ОЗУ больше 3 Гб. Исключением можно назвать сложные программы, которые позволяют работать с видео, изображениями, системы проектирования и прочие. В дальнейшем этих приложений будет больше. Для таких программ использовать 64-битную систему будет весьма обоснованно.
  • Некоторые из приложений на 64-битной ОС показали нестабильную работу по разным причинам. Но этих приложений не так много.

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