The Full Wiki

WoW64: Wikis

  
  

Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.

Encyclopedia

From Wikipedia, the free encyclopedia

Contents

WoW64 (Windows-on-Windows 64-bit) is a subsystem of the Windows operating system that is capable of running 32-bit applications and is included on all 64-bit versions of Windows — including Windows 2000 Limited Edition, Windows XP Professional x64 Edition, IA-64 and x64 versions of Windows Server 2003, 64-bit versions of Windows Vista and Windows Server 2008, as well as the 64 bit edition of Windows 7. In Windows Server 2008 R2 Server Core, it's an optional component. WoW64 is designed to take care of many of 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 compatibility 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, including pointer and call stack manipulations; Wow64win.dll, which provides the appropriate entry points for 32-bit applications; and Wow64cpu.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 the Intel Itanium 2 processor (known at Microsoft as IA-64 architecture) uses Wow64win.dll to set up the emulation of x86 instructions within the Itanium 2's unique instruction set. This emulation is a more computationally expensive task than the Wow64win.dll's functions on the x86-64 (x64) 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 x86-64 (x64).

Registry and file system

The WOW64 subsystem also handles other key aspects of running 64-bit applications. For example, it's involved in managing the interaction of 32-bit applications with the Windows registry, which is somewhat different in 32-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 are hardcoded 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.

Incompatible applications

32-bit applications that include kernel-mode device drivers, or that plug into the process space of components such that are implemented purely as 64-bit processes (e.g. Windows services or Windows Explorer) cannot be executed on a 64-bit platform.

Internet Explorer is implemented as both a 32-bit and a 64-bit application because of the large number of 32-bit Active-X components on the Internet that would not be able to plug into the 64-bit version.

See also

External links








Got something to say? Make a comment.
Your name
Your email address
Message