57

Разница в размерах ISO-образов Windows 8 Consumer Preview между 64-битной и 32-й версиями составляет 800 Мб или 24%.

Я никогда не видел такой большой разницы.

Почему такая большая разница?

3 ответа3

77

Существует несколько причин несоответствия размеров:

  1. 64-разрядная версия Windows содержит слой перевода (32-разрядная версия Windows в 64-разрядной версии Windows или « WoW64 »), которая позволяет запускать 32-разрядное программное обеспечение.
  2. 64-разрядная версия Windows также содержит 32-разрядные версии различных программ (Internet Explorer) и библиотек (в папке WinSxS). Как отмечается в комментариях, это самая существенная причина разницы в размерах.
  3. 64-битные адреса памяти в два раза длиннее 32-битных адресов памяти, поэтому 64-битные указатели также в два раза длиннее. 64-битные программы, которые интенсивно используют указатели, будут заметно больше, чем их 32-битные аналоги.

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

11

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

2

64-разрядные версии, как правило, больше, чем 32-разрядные версии по нескольким причинам.

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

Во-вторых, если программное обеспечение скомпилировано для работы в среде выполнения, такой как .NET, вы не увидите никаких различий в размерах, поскольку компилятор генерирует тот же (промежуточный) код.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .