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 の仮想アドレス空間がサポートされるため、大きなアドレスを使用する利点があります。
関連トピック