A. You can currently purchase 64-bit versions of recent Windows versions, including Windows XP Professional and Windows 2000 Advanced Server. Windows .NET Enterprise Sever and Windows .NET Datacenter Server will also be available in 64-bit versions.

The 64-bit versions of Windows include some file-system structure and registry differences, but the GUI looks and acts the same. The differences between the 32-bit and 64-bit versions are internal, as the following table shows:

  32-bit version 64-bit version
Memory 4GB 16GB (artificial limitation, will be 128GB on server products)
Virtual Memory 4GB 16TB
Pagefile 16TB 512TB
System Cache 1GB 1TB

The 64-bit versions of Windows run 32-bit applications in the same way that 32-bit Windows run 16-bit applications: by using an emulation layer. (However, 16-bit applications can't run on 64-bit versions of Windows.) Because of this emulation, a 32-bit application will run slowly on a 64-bit box, so you shouldn't attempt to run important 32-bit services on a 64-bit version of Windows.

A 64-bit application can't load a 32-bit DLL and vice-versa because of user memory space limitations and because 64-bit applications can access 8TB of memory whereas 32-bit applications can access only 2GB. As a result, neither the 32-bit nor 64-bit Windows versions can accurately pass memory pointers to the other version.