Wednesday, September 19, 2007

Windows XP Professional x64 Edition

Microsoft Windows XP Professional x64 Edition released on April 25, 2005 by Microsoft is a variation of the Windows XP operating system for x86-64 personal computers.

Windows XP Professional x64 Edition is based upon Windows Server 2003 SP1 (build 5.2.3790.1830), as that was the latest version of Microsoft Windows during the operating system's development, but takes Windows XP as its name. It is designed to use the expanded 64-bit memory address space provided by the x86-64 architecture.

The primary benefit of moving to 64-bit is the increase in the maximum allocatable system memory (RAM). Windows XP 32-bit is limited to a total of 4 GB, which is, by default, equally divided between Kernel and application usage. Using the /3GB switch in the boot.ini file forces Windows to limit the kernel to the upper 1GB and provides up to 3GB for applications. Windows XP x64 can support much more memory; although the theoretical memory limit a 64-bit computer can address is about 16 exabytes (16 billion gigabytes), Windows XP x64 is currently limited to 128 GB of physical memory and 16 TB of virtual memory. Microsoft claims this limit will be increased as hardware capabilities improve. In practice, most motherboards compatible with 64-bit processors do not support anywhere close to the maximum limit, and often retain the 4 GB limit, though motherboards capable of 8GB are becoming more common.

Windows XP Professional x64 Edition is not to be confused with Windows XP 64-bit Edition, as the latter was designed for Intel Itanium processors. [1][2], although they both are commonly referred to as '64-bit Windows' by Microsoft due to their similarities from developer's point of view.

Both Windows 2003 x64 and XP x64 use identical kernels and codebase. This is evident when the System Information tool reports the current OS as Windows Server 2003 x64 and not Windows XP.



Compatibility with 32-bit applications

Windows XP Professional x64 Edition uses a technology named WOW64, which permits the execution of 32-bit x86 applications. It was first employed in Windows XP 64-bit Edition (for the Itanium), but then reused for the “x64 Editions” of Windows XP and Windows Server 2003.

Since the X86-64 architecture includes hardware-level support for 32-bit instructions, WOW64 simply switches the process between 32- and 64-bit modes. As a result, X86-64 architecture microprocessors suffer no performance loss when executing 32-bit Windows applications. On the Itanium architecture, WOW64 was required to translate 32-bit x86 instructions into their 64-bit Itanium equivalents—which in some cases were implemented in quite different ways—so that the processor could execute them. All 32-bit processes are shown with *32 in the task manager, while 64-bit processes have no extra text present.

Although 32-bit applications can be run transparently, the mixing of the two types of code within the same process is not allowed. A 64-bit application cannot link against a 32-bit library (DLL) and similarly a 32-bit application cannot link against a 64-bit library. This may lead to the need for library developers to provide both 32- and 64-bit binary versions of their libraries. Windows XP x64 Edition includes both 32- and 64-bit versions of Internet Explorer, in order to allow for the possibility that some third-party browser plugins or ActiveX controls may not yet be available in 64-bit versions.

Older 32-bit drivers and services are not supported by 64-bit Windows, but video and audio codecs such as XviD or OggDS (which are in fact 32-bit DLLs), are supported as long as the media player that uses them is 32-bit as well.

The modding website xtremesystems.org users have compiled (and continuously update) a thread on their forums verifying games / applications that run on x64 here

No comments: