64ビット – なぜWindowsの64ビット版は32ビット版よりも大きいのですか?

64-bit iso-image windows

Windows 8 Consumer Preview ISOイメージの64ビット版と32ビット版のサイズの差は800Mb、24%の差です

ここまで大きな差は見たことがありません

なんでこんなに差があるの?

  57  wizlog  2012-03-01


ベストアンサー

サイズが合わない理由はいくつかあります

  1. 64ビットのWindowsには、32ビットのソフトウェアを動作させるための翻訳レイヤー(Windows 32ビットの場合は「WoW64」)が含まれています
  2. また、64ビットWindowsには32ビット版の各種プログラム(Internet Explorer)やライブラリ(WinSxSフォルダ内)が入っています。コメントでも指摘されているように、これがサイズの違いの最大の理由です
  3. 64 ビットのメモリ・アドレスは 32 ビットのメモリ・アドレスの 2 倍の長さがあるので、64 ビットのポインタも 2 倍の長さになります。ポインタを多用する 64 ビットのプログラムは、32 ビットのものよりも顕著に大きくなります

最初と最後の理由は、64 ビット Windows に同梱されている 32 ビットのソフトウェアほど貢献していませんが、完全性を保つためには、これらの理由を考慮する必要があります

78  rob  2012-03-01


64bit版では、マイクロソフトは追加のソフトウェアを展開しています。例えば、Internet Explorerには64bit版と32bit版の2つのバージョンがあります。もう一つの例は、Win32-applicationsのランタイムシステム全体です。 また、バイナリコードはbiggerを取得します。おそらくこれらの合計が大きな違いを生むのでしょう

11  HCL  2012-03-01


64ビット版は、いくつかの理由で一般的に32ビット版よりも大きくなっています

最初に考慮すべきことは、ソフトウェアが実行されるコンパイラとランタイム環境の種類です。ソフトウェアがネイティブコードを生成するコンパイラでビルドされ、ランタイム環境なしで実行される場合、生成されるコードサイズに小さな違いが見られる可能性がありますが、これはCISCプロセッサでは命令セットが大きくなっていることに関係しています

第二に、.NETなどの実行環境で動作するようにコンパイルされている場合は、コンパイラが同じ(中間的な)コードを生成するため、サイズの違いは見られません

最後に、Windowsの64ビット版には、32ビット版の対応する一部のソフトウェアを含む完全な64ビット版が含まれています。これは、いくつかのソフトウェアが32ビットであり、Windows 64ビットで変更せずに実行する必要があるために必要とされています

2  Chris Mylonas  2012-03-02


タイトルとURLをコピーしました