WOW64
WOW64 (Windows-32-on-Windows-64) is a Microsoft operating system emulation layer capable of running 32-bit applications and is included on all versions of 64-bit Microsoft Windows — including Windows XP Professional x64 Edition. WOW64 takes care of all the differences between 32-bit Windows and 64-bit Windows, particularly involving structural changes to Windows itself.
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 apps 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 NT kernel that translates between 32-bit and 64-bit calls, including pointer and stack manipulations; Wow64win.dll, which provides the appropriate entry points for 32-bit apps; and Wow64cpu.dll, which takes care of switching the processor from 32-bit to 64-bit mode.
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 the Intel Itanium 2 processor uses Wow64win.dll to set up the emulation of x86 instructions within the Itanium 2's unique instruction set. That's a more computationally expensive task than the Wow64win.dll's functions on the AMD64 architecture, which switches the processor hardware from its 64-bit mode to 32-bit 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 here.
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 apps with the Windows registry, which is somewhat different in 64-bit versions of the OS, and in providing an interface to the storage subsystem.
WOW64 also ensures that 32-bit apps, utilities, DLLs and other files are stored in the appropriate directories, as 64-bit Windows has separate program and system directories for those "legacy" apps.
See also
External links
- Windows On Windows 64
- WOWing Your 32-Bit Applications with 64-Bit Windows Part 1
- WOWing Your 32-Bit Applications with 64-Bit Windows Part 2
- What's So Great for Developers About the AMD64?
- First Look: Windows XP 64-Bit Edition for AMD64
Categories: Windows