WOW64【Windows On Windows 64】

64ビット版Windowsは本来64ビットCPU向けの機械語で記述されたプログラムを実行するが、過去に開発された膨大な32ビットアプリケーションとの互換性を維持するためにWOW64が組み込まれている。
WOW64は32ビットCPU向けの機械語コードを64ビット向けに変換して実行するのではなく、32ビット実行環境そのものをオペレーティングシステム(OS)のサブシステムとして提供する仕組みである。
米インテル(Intel)社や米AMD社のx64(x86-64)系CPUは32ビットコードをハードウェアレベルで直接実行できるため、WOW64が担うのは主にAPIやシステムリソースへのアクセスの仲介である。このため、一般的なアプリケーションでは大きな性能低下は生じず、ほとんどの32ビットソフトウェアを修正なしに利用できる。
制約として、32ビットと64ビットのコードを同一プロセス内で混在させることはできない。例えば、32ビットアプリケーションから64ビット版のDLLを読み込んだり、64ビット版アプリケーションに32ビット版のプラグインを組み込んだりすることは構造上不可能である。また、カーネル空間で動作するデバイスドライバについても、64ビット版Windowsでは64ビット版のドライバが必要となる。
ファイルシステム上では、64ビット版と32ビット版のシステムファイルやアプリケーションが別々のフォルダに格納される。64ビット版のシステムファイルは「C:¥Windows¥System32」に、32ビット版は「C:¥Windows¥SysWOW64」に配置される。32ビットアプリケーションがSystem32フォルダへアクセスしようとした場合、WOW64は自動的にSysWOW64フォルダへ転送(リダイレクト)する。アプリケーションのインストール先も区別されており、64ビット版は「Program Files」、32ビット版は「Program Files (x86)」に格納される。
近年では従来のx86系とは設計がまったく異なるARM系CPUで動作するWindows(Windows on ARM)も提供されるようになっており、この環境ではx86(32ビット)だけでなくx64(64ビット)向けのアプリケーションをARMプロセッサの命令に変換して実行する拡張された互換機能も組み込まれている。