Windows on Windows(WoW):旧式16ビットWindowsプログラムの互換性
Windows on Windows(WoW)は、Windows NTのx86版に搭載された互換性レイヤーであり、Windows 3.x以前向けに作られた多くの16ビットプログラムを新しいWindowsシステムで実行できるようにします。
概要
Windows on Windowsは、一般にWoWと略される互換性サブシステムで、x86版のWindows NT系オペレーティングシステムに搭載されています。その目的は、主にWindows 3.x以前向けに作成された多数の旧式16ビットアプリケーションを、全面的に書き直すことなく、最新のWindows環境で実行可能にすることです。
仕組み
WoWは、旧来の16ビットプログラムが想定する動作を、現在のオペレーティングシステムのサービスに対応付ける実行環境を提供します。16ビットコードと32ビットコードの間で呼び出しを変換し、旧式プロセスをシステムコンポーネントから分離するとともに、必要に応じて互換性シムを提供します。プロセッサモードおよび特定のx86機能に依存するため、WoWはアーキテクチャに依存しており、x86以外のビルドには搭載されません。
歴史と開発
MicrosoftはNT系統の開発時に後方互換性を設計目標の一つとしていたため、初期リリースには旧来のWindowsアプリケーションを実行する仕組みが組み込まれました。その後、互換性レイヤーは一般的なアプリケーションの利用形態に対応し、旧式プログラムと現代のセキュリティおよびメモリモデルとの競合を緩和するよう進化しました。後には、64ビットWindows上で32ビットアプリケーションを実行するために、WoW64と呼ばれる関連するものの別個のサブシステムも導入されました。
用途と例
組織や個人ユーザーは、新しいWindowsバージョンへのアップグレード時にも、業務用ツール、インストーラー、一部の旧作ゲームといった重要な旧式ソフトウェアを利用し続けるためにWoWを活用してきました。代表的な用途には、現代的な更新が提供されていない独自ユーティリティへのアクセスを維持することや、ソフトウェアの書き直しまたは置き換えに高い費用がかかる場合に段階的な移行を可能にすることが含まれます。
制限と重要な相違点
- すべての16ビットプログラムが正常に動作するわけではありません。リアルモードでのハードウェアアクセス、古いドライバー、または文書化されていない動作に依存するプログラムは失敗する場合があります。
- 64ビット版Windowsには通常、16ビットWindowsプログラムのサポートが含まれていないため、WoWの機能は実質的に32ビットx86システムに限定されます。
- WoWは異なる実行モデルを橋渡しする必要があるため、一部の旧式プログラムでは、本来の環境と比べて安定性が低下したり動作が変化したりすることがあります。
今日、旧式ソフトウェアを実行する必要がある管理者やユーザーにとっては、古いWindows環境をエミュレートする仮想マシンの使用や、サポート対象プラットフォームへのアプリケーション移植が代替手段となります。WoWを理解することは、一部の旧式アプリケーションが最新のWindowsでも動作し続ける一方、別のものでは追加の移行作業が必要となる理由を説明する助けになります。
関連項目
著者
AlegsaOnline.com Windows on Windows(WoW):旧式16ビットWindowsプログラムの互換性 Leandro Alegsa
URL: https://ja.alegsaonline.com/art/108530
出典
- support.microsoft.com : "WOW Environment Remains in Memory After Quitting 16-Bit Program"
- support.microsoft.com : "Starting 16-Bit WOW Subsystem on Windows NT Server"
- support.microsoft.com : "Disabling the MSDOS and WOWEXEC Subsystems on Terminal Server"
- support.microsoft.com : "Windows NT Subsystems and Associated Files"
- support.microsoft.com : "PRB: Relocation of Ntvdm.exe Fails on Multiprocessor Computers"
- technet.microsoft.com : "Application Compatibility"
- support.microsoft.com : "Application Compatibility Update for Windows 7 and Windows Server 2008 R2: August 2010"