Which Windows 7 Is Right for You -- 32-Bit or 64-Bit?
For most would-be Windows 7 users, a 64-bit version of Windows 7 is the right move. But if you don't have sufficient RAM (at least 4GB), or you rely on devices that don't have supporting 64-bit drivers, or you need to upgrade an existing 32-bit installation, 32-bit Windows 7 might be the better choice. A few editions of 64-bit Windows 7 provide a Windows XP Mode that solves some backward-compatibility problems, but it isn't a universal panacea. In speedy Q&A format, here's just what you need to know.
Q. Is my PC supported under 64-bit Windows 7?
A. Most PCs manufactured in the past three years (i.e. after Vista's debut) are capable of running 64-bit Windows 7. The exceptions are those that ship with low-end CPUs that don't support the AMD or Intel 64-bit extensions. Examples include Intel's Atom line of low-powered CPUs and early Intel Core CPUs, like the Core Duo (not Core 2 Duo). If you're not sure what kind of CPU is in your system, or whether the CPU supports 64-bit operation, you can use the free Intel Processor Identification Utility to find out.
Q. What about all of my peripherals?
A. As with PC support, most peripherals manufactured in the Vista era work with 64-bit Windows 7. However, legacy hardware support is a hit-or-miss proposition. Some manufacturers -- for example, vendors of network interface cards or disk storage controllers -- are more up to date than others, thanks in part to the fact that they've been supporting 64-bit computing under Windows Server since the 2002-2003 timeframe. Devices that don't have obvious ties to the datacenter (such as custom input devices, multimedia hardware, and some printers) can be harder to integrate since they were manufactured at a time when 64-bit desktops were a rarity. Your best bet is to do a Web search to see if the manufacturer has published a 64-bit device driver and, barring that, if other users have come up with a solution.
Q. Can I use a 32-bit device driver under 64-bit Windows 7?
A. No. A device driver is privileged code that runs in the same address space as the Windows kernel. As such, it needs to match the architecture of the kernel itself. Some manufacturers bundle both 32-bit and 64-bit drivers within a single installation package, leading casual observers to sometimes misreport that a 32-bit driver worked under 64-bit Windows. However, while 32-bit drivers are not directly supported in 64-bit Windows 7, 64-bit Windows 7 users can install 32-bit drivers in Windows XP Mode and use USB-based printers and other USB-based legacy devices with the Windows XP virtual machine.
Q. Can I use Windows XP Mode with 64-bit Windows 7?
A. Yes. Windows XP Mode is fully supported under 64-bit Windows 7. In fact, using a Virtual Machine Monitor (VMM), like the Windows Virtual PC 7 product that underlies Windows XP Mode, is one of the only ways to use a 32-bit device driver under 64-bit Windows. The lone caveat is that the device must use a USB interface; legacy hardware that uses a proprietary expansion card or dongle will likely not work with a VMM solution like Windows XP Mode.
Q. What exactly is Windows XP Mode, and how do I get it?
A. The simple answer is that Windows XP Mode is a virtual machine containing Windows XP SP3 that runs under Windows Virtual PC 7. It is available as a free download to users of Windows 7 Professional, Ultimate, and Enterprise editions.
The more precise answer is that Windows XP Mode is a native 64-bit application (actually, a series of 64-bit services and device drivers) that creates a separate, native 64-bit process emulating a 32-bit PC environment.
It's important to note that Windows XP Mode is limited to creating a 32-bit virtual environment. This is true even though the underlying Windows Virtual PC software is itself 64-bit and running on the x64 version of Windows 7. So, while you can install 32-bit Windows XP (or 32-bit Vista or 32-bit Windows 7) as guests inside the Windows Virtual PC environment (which is, after all, a generic VM solution with some additional integration for the Windows XP Mode image), you cannot install 64-bit Windows XP or the x64 versions of Vista or Windows 7.
Q. Can I run 32-bit Windows applications under 64-bit Windows 7?
A. Yes. Virtually any 32-bit Windows application that is supported on Windows XP can run unmodified under 64-bit Windows. This is made possible by a technology known informally as "Win32 on Win64" (WOW for short), which translates 32-bit API calls from a legacy Win32 executable into 64-bit API calls that can be serviced by the native subsystems of 64-bit Windows 7. The net result is that 32-bit applications run seamlessly on 64-bit Windows and, thanks to optimizations in current generation Intel and AMD CPUs, at or near full speed. The few exceptions to the WOW compatibility rule usually involve applications that rely on one or more proprietary legacy 32-bit device drivers that have no equivalent 64-bit versions.
Note that the WOW concept is really nothing new. A similar technique was employed by the earliest versions of Windows NT to support legacy 16-bit Windows 3.xx applications.
Q. When I install a 32-bit application under 64-bit Windows 7, I can't see its registry entries. Why is this?
A. The 64-bit versions of Vista and Windows 7 include the WOW translation layer for running 32-bit applications (see description above). In addition to translating API calls, 64-bit Windows isolates registry changes made by 32-bit applications and redirects them to a special sub-key within the appropriate registry hive.
For example, a 32-bit application that updates a key within the HKEY_LOCAL_MACHINE\Software structure will automatically have its changes redirected to the Wow6432Node key underneath the primary Software key. Expanding this key will reveal all of the 32-bit application registry keys and values that have been automatically redirected by WOW.
Q. Is there a performance advantage to using 64-bit Windows 7?
A. That depends. If you're working with large files or running applications that consume a great deal of memory, then 64-bit Windows will typically give you a slight performance advantage over 32-bit Windows running on identical hardware. This is true even when using 32-bit applications. That's because the OS and device drivers themselves benefit from the 64-bit wide registers of an Intel or AMD CPU running in 64-bit extended mode. In addition, because 64-bit Windows 7 supports more physical RAM than 32-bit Windows 7 (192GB on non-Home versions vs. 4GB for any 32-bit flavor), you can easily expand your PC's capabilities well beyond what is possible in a 32-bit world.
Q. Why does 64-bit Windows use more RAM than 32-bit Windows?
A. Any 64-bit OS will consume more memory than its 32-bit equivalent. This is due to the nature of 64-bit code: It uses larger internal structures that necessarily take up more space, both in RAM and on the hard disk. It's no surprise that the ISO image for the 64-bit versions of Vista and Windows 7 are roughly 50 to 70 percent larger than the equivalent 32-bit ISOs, or that 64-bit Windows shows 20 to 30 percent higher physical memory utilization after initial boot-up.
Q. Are there security advantages to using 64-bit Windows 7 vs. 32-bit Windows 7?
A. Yes. Many of the widely publicized kernel "hardening" initiatives Microsoft debuted with Vista are specific to the 64-bit flavor -- things like hardware-backed Data Execution Prevention and PatchGuard. Also, 64-bit Windows Vista and Windows 7 require device drivers to be digitally signed by their authors, making it tougher for hackers and root-kit developers to install their exploits covertly as kernel-mode drivers.
Q. Can I upgrade from a 32-bit flavor of Windows to 64-bit Windows 7?
A. No. Microsoft's upgrade process does not currently support moving between processor architectures. In order to upgrade from a 32-bit version of Windows you'll need to perform a "clean" installation of 64-bit Windows 7, then migrate your applications and data to the new OS.