通信用語の基礎知識 IPv4
戻る
参加者募集中

WOW64

辞書:電算用語の基礎知識 計算機内部固件編 (TCAPI)
読み:ワウろくじゅうよん
外語:WOW64: Windows On Windows 64 英語
品詞:名詞
2005/10/23 作成
2013/06/20 更新

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.03 (16-May-2019)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club