WOW64

読み:ワウろくじゅうよん
外語:WOW64: Windows On Windows 64 英語
品詞:名詞

Win32アプリケーションをWin64上で動かすためのエミュレーションレイヤのこと。

目次

Microsoft Windows64ビットマイクロプロセッサー対応版に搭載される、32ビットアプリケーション互換性維持の仕組みである。

64ビット版Windowsは、Windowsと名は付いても32ビット版Windowsとは非互換であり、そのままでは従来のアプリケーションは何一つ使うことができない。これは、16ビットWindowsに対する32ビットWindowsも同様であった。

通常のアプリケーションだけでなく、DLLなども同様で、32ビットプロセスは64ビットDLLを使うことはできず、また64ビットプロセスも32ビットDLLを使うことはできない。

そこで、APIに互換性がない新しいWindowsで従来のアプリケーションを動作させるために導入されている。

機構

32ビットアプリケーションのシステムコール(Win32)をフックし、64ビットシステムコール(Win64)に変換するプログラムである。

具体的には、Win32アプリケーションのシステムコールをWOW64がフックし、64ビットモードに移行、引数などをWin64 API用に変換してOSに対してシステムコールを発行する。戻り値を得たら、再び元の互換動作モードに復帰し、Win32 API用に変換した戻り値をアプリケーションに対して返す。

これにより、32ビットアプリケーションはWin32環境にいるのと同様の環境が得られ、64ビットWindows上でありながらWindows XP用などのWin32アプリケーションを動かすことができる。

システムコールだけではなく、例外のディスパッチなども同様にフックし、必要な処理をしている。

具体的には、次のようなプログラムが稼働する。

  • WOW64.dll ‐ システムコールのフック等を実施
  • WOW64cpu.dll ‐ CPUのモードスイッチを管理
  • WOW64win.dll ‐ GUIシステムコールをフック

制約

WOW64はWin32アプリ用であるため、Win16アプリを動作させることは出来ない。

これは、x64では、仮想86モード機能がレガシーであるとして削除されたためである。このためWin32には16ビットアプリ実行環境WOW32が搭載されたが、Win64でのWOW64では16ビットアプリ実行環境を実装することが出来なかった。

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club