- WOW64
WoW64 ("Windows-on-Windows 64-bit") is a subsystem of the Windows
operating system that is capable of running32-bit applications and is included on all64-bit versions of Windows — including Windows 2000 Limited Edition,Windows XP Professional x64 Edition ,IA-64 andx64 versions ofWindows Server 2003 and 64-bit versions ofWindows Vista andWindows Server 2008 . WoW64 takes care of all the differences between 32-bit Windows and 64-bit Windows, particularly involving structural changes to Windows itself.Translation libraries
The WoW64
subsystem is a lightweight translation layer that has similar interfaces on all 64-bit versions of Windows. Its primary purpose is to create a 32-bit environment that provides the interfaces required to allow 32-bit Windows applications to run unmodified in the 64-bit system. Technically, WOW64 is implemented using three dynamic-link libraries (DLLs):Wow64.dll
, which is the core interface to the Windows NT kernel that translates between 32-bit and 64-bit calls, includingpointer andcall stack manipulations;Wow64win.dll
, which provides the appropriate entry points for 32-bit applications; andWow64cpu.dll
, which takes care of switching the processor from 32-bit to 64-bit mode.Architectures
Despite its outwardly similar appearance on all versions of 64-bit Windows, WOW64's implementation varies depending on the target
processor architecture . For example, the version of 64-bit Windows developed for theIntel Itanium 2 processor (known atMicrosoft as IA-64 architecture) usesWow64win.dll
to set up the emulation ofx86 instructions within the Itanium 2's uniqueinstruction set . This emulation is a more computationally expensive task than theWow64win.dll
's functions on thex64 architecture, which switches the processor hardware from its 64-bit mode to compatibility mode when it's time to execute a 32-bit thread, and then handles the switch back to 64-bit mode. No emulation is required for WOW64 on x64.Registry and file system
The WOW64 subsystem also handles other key aspects of running 32-bit applications. For example, it's involved in managing the interaction of 32-bit applications with the Windows registry, which is somewhat different in 64-bit versions of the OS, and in providing an interface to the storage subsystem.
The operating system uses the
%SystemRoot% system32 directory for its 64-bit library and executable files. This is done for backwards compatibility reasons as many legacy applications arehardcoded to use that path. When executing 32-bit applications, WOW64 redirects requests for DLLs from that directory to %SystemRoot%SysWOW64, which contains legacy libraries and executables.ee also
*
Windows on Windows External links
* [http://blogs.msdn.com/craigmcmurtry/archive/2004/12/14/301155.aspx Windows On Windows 64]
* [http://forum.iopus.com/viewtopic.php?t=2746 Windows 64-bit and Visual Basic Scripting]
Wikimedia Foundation. 2010.