The State Of The 64-Bit Union
Are You Running a 64-bit OS?
If you don’t know the answer, then you probably aren’t. First of all, 32-bit and 64-bit Windows versions do not behave differently; they look and feel the same. The easiest way to find out the exact version of your operating system is to look at the system properties under Control Panel -> System (right-click on your Computer and select “Properties”). The window that appears will tell you the details of your Windows version, your hardware, and the system type (see the screen shot above). In this case, it’s a “64-bit Operating System." But what’s the difference between 32 and 64 bits?
Differences Between 32-Bit and 64-Bit Systems
When we talk about 64-bit systems, we have to differentiate between 64-bit computing (processing), which is important for achieving high performance, and 64-bit addressing to support large amounts of memory. A 64-bit system has 64-bit wide registers, supporting 64-bit data types, and it addresses data in 64 bits internally (16 exabytes max, instead of 4 gigabytes). External addressing and buses may be different, though; an example is memory addressing, which is typically limited to 40 or 48 bits.
A 64-bit OS requires a 64-bit processor to operate. Most 64-bit systems can execute 32-bit software in a so-called “compatibility mode,” which is really important due to the fact that native 64-bit applications are still rather rare. Running a 32-bit OS on a 64-bit CPU typically means that the processor runs in legacy mode all the time. While 64-bit software can perform better on 64-bit operating systems if it is well implemented, 32-bit applications run at roughly the same performance on 64-bit systems.
There are a few items that need to be mentioned, as 64-bit systems do in fact have several advantages that go beyond the issues of processing and addressing. First, a 32-bit version of Windows is limited to a maximum of 4 GB RAM, and so will not give you the full memory for your applications—operating system processes are mapped into the address space, resulting in an effective memory capacity of 3 GB, or sometimes a bit more. Effectively, the maximum memory capacity is limited to only 3+ GB. A 64-bit version of Windows will give you access to more available memory as you add it.
Secondly, the handling of large files is simpler on 64-bit systems with lots of memory. Think of a 5 GB file on a 32-bit Windows system with only 3 GB of available RAM: the system has to remap the required region of the file into the available memory, and might end up remapping all the time.
The downsides to 64-bit computing are more complex memory handling, effectively leading to higher memory capacity requirements, and a lack of 64-bit software in general. On the one hand, not all applications benefit from being ported to 64 bits. On the other hand, low-level components, such as drivers, are still not available for all of the devices that you might need to operate. Drivers operate between the hardware and the operating system, which prevents almost all of them from being executed in 32-bit compatibility mode. In other words: if there are no 64-bit drivers for a scanner, printer, video editing card or other device, you will not be able to use it in a 64-bit environment.