WOW64 でのメモリ管理

WOW64 のメモリ管理は、プロセッサ アーキテクチャによって異なります。

Itanium のサポート

WOW64 は、Itanium プロセッサで使用されるネイティブの 8 KB ページの上に 4 KB のページをシミュレートします。 プロセッサは、低いオーバーヘッドで優れたシミュレーションを提供することによって支援します。 シミュレーション コードでは、次の場合を処理できません。

  • 書き込みの追跡。 GetWriteWatch 関数と ResetWriteWatch 関数は、ネイティブのページ サイズの細分性を使用してカーネルに実装されます。つまり、WOW64 4 KB ページ シミュレーションでは、基になる 8 KB ページ内で書き込まれるシミュレートされた 4 KB ページを特定できません。
  • アドレス ウィンドウ拡張機能 (AWE)。 AWE 関数はページ番号に対して動作し、64 ビット ページ番号を 32 ビット ページ番号にマップする方法はありません。
  • セクションの配置。 セクションの配置が 8 KB 未満の実行可能イメージの場合 (既定では x86 イメージの場合は 4 KB)、WOW64 はすべてのイメージ ページをダーティする必要があります。 これにより、各ページがページ ファイルに効果的にコピーされ、読み取り専用のイメージ ページがプロセス間で共有されるのを防ぐことができます。
  • ReadFileScatter 関数と WriteFileGather 関数はサポートされていません。

x64 と ARM64 のサポート

ネイティブ ページ サイズは 4 KB です。 そのため、以下がサポートされます。

  • GetWriteWatch 関数と ResetWriteWatch 関数がサポートされています。
  • ReadFileScatter 関数と WriteFileGather 関数がサポートされています。
  • x64 WOW64 では 4 GB の仮想アドレス空間がサポートされるため、大きなアドレスを使用する利点があります。

Windows リリースのメモリ制限

4GT RAM チューニング