Por que a versão de 64 bits do Windows é maior que a versão de 32 bits?

57

A diferença de tamanho para as imagens ISO do Windows 8 Consumer Preview , entre as versões de 64 bits e 32, é 800 Mb ou uma diferença de 24% .

Eu nunca vi uma diferença tão grande.

Por que existe uma diferença tão grande?

    
por wizlog 01.03.2012 / 08:39

3 respostas

77

Existem várias razões para a discrepância de tamanho:

  1. O Windows de 64 bits contém uma camada de tradução (Windows de 32 bits no Windows de 64 bits ou " WoW64 " ) que permite executar softwares de 32 bits.
  2. O Windows de 64 bits também contém versões de 32 bits de vários programas (Internet Explorer) e bibliotecas (na pasta WinSxS). Conforme observado nos comentários, esta é a razão mais significativa para a diferença de tamanho.
  3. Endereços de memória
  4. de 64 bits têm o dobro do tamanho de endereços de memória de 32 bits, portanto, os ponteiros de 64 bits também são o dobro do tempo. Programas de 64 bits que fazem uso pesado de ponteiros serão notavelmente maiores que seus correspondentes de 32 bits.

O primeiro e o último motivo não contribuem tanto quanto o software de 32 bits fornecido com o Windows de 64 bits - mas, por questões de integridade, eles devem ser considerados.

    
por 01.03.2012 / 09:08
11

Nas versões de 64 bits, a Microsoft implanta software adicional. Por exemplo, existem duas versões do Internet Explorer (64 e 32 bits). Outro exemplo é todo o sistema de tempo de execução para aplicativos Win32 . < br> Além disso, o código binário terá maior . Provavelmente a soma disso faz a grande diferença.

    
por 01.03.2012 / 09:07
2

As versões de 64 bits geralmente são maiores que a versão de 32 bits por alguns motivos.

A primeira coisa a considerar é o tipo de compilador e o ambiente de tempo de execução em que o software é executado. Se o software é construído com um compilador que produz código nativo e é executado sem um ambiente de tempo de execução, é possível ver pequenas diferenças no tamanho do código gerado, que está relacionado ao conjunto maior de instruções nos processadores CISC.

Segundo, se o software for compilado para ser executado em um ambiente de tempo de execução, como o .NET, você não verá diferenças de tamanho, já que o compilador gera o mesmo código (intermediário).

Por fim, a versão de 64 bits do Windows contém a versão completa de 64 bits com alguns dos correspondentes da versão de 32 bits. Isso é necessário, pois alguns softwares são de 32 bits e precisam ser executados sem modificação no Windows de 64 bits.

    
por 02.03.2012 / 08:36