Windows의 64 비트 버전이 32 비트 버전보다 큰 이유는 무엇입니까? 이미지의 크기 차이 는 800 Mb 또는

64 비트와 32 버전 사이 의 Windows 8 Consumer Preview ISO 이미지의 크기 차이 는 800 Mb 또는 24 % 의 차이입니다 .

나는 그렇게 큰 차이를 본 적이 없다.

왜 그렇게 큰 차이가 있습니까?



답변

크기 불일치에는 몇 가지 이유가 있습니다.

  1. 64 비트 Windows에는 32 비트 소프트웨어를 실행할 수 있는 변환 계층 (Windows 64 비트의 Windows 32 비트 또는 ” WoW64 “)이 포함되어 있습니다.
  2. 64 비트 Windows에는 32 비트 버전의 다양한 프로그램 (Internet Explorer) 및 라이브러리 (WinSxS 폴더에 있음)도 포함되어 있습니다. 주석에서 언급했듯이 이것이 크기 차이의 가장 중요한 이유입니다.
  3. 64 비트 메모리 주소는 32 비트 메모리 주소의 두 배 길이이므로 64 비트 포인터도 두 배입니다. 포인터를 많이 사용하는 64 비트 프로그램은 32 비트에 비해 눈에 띄게 커집니다.

하지만 완전성을 위해서, 그들이 – 처음과 마지막 이유는 선박 64 비트 윈도우와는 32 비트 소프트웨어만큼 많이 기여하지 않는 해야 간주합니다.


답변

64 비트 버전에서 Microsoft는 추가 소프트웨어를 배포합니다. 예를 들어 두 가지 버전의 Internet Explorer (64 및 32 비트)가 있습니다. 또 다른 예는 Win32-applications 의 전체 런타임 시스템입니다 .
또한 이진 코드가 집니다. 아마도 이것의 합은 큰 차이를 만듭니다.


답변

64 비트 버전은 일반적으로 몇 가지 이유로 32 비트 버전보다 큽니다.

가장 먼저 고려해야 할 것은 컴파일러 유형과 소프트웨어가 실행되는 런타임 환경입니다. 소프트웨어가 원시 코드를 생성하고 런타임 환경없이 실행되는 컴파일러로 빌드 된 경우 생성 된 코드 크기에서 약간의 차이를 볼 수 있습니다. 이는 CISC 프로세서의 더 큰 명령어 세트와 관련이 있습니다.

둘째, 소프트웨어가 .NET과 같은 런타임 환경에서 실행되도록 컴파일 된 경우 컴파일러는 동일한 (중간) 코드를 생성하므로 크기 차이가 나타나지 않습니다.

마지막으로 64 비트 버전의 Windows에는 일부 32 비트 버전에 해당하는 완전한 64 비트 버전이 포함되어 있습니다. 일부 소프트웨어는 32 비트이므로 Windows 64 비트에서 수정하지 않고 실행해야하기 때문에이 작업이 필요합니다.