The main
differences between the 32 bit version and 64 bit version of Windows is the
ability to process high volumes of calculations, the amounts of processes the
system can process, and the types of applications you need to run. To tell
which version of Windows you are running, you can go into the Control Panel of
your system, click on the System and Maintenance button and then clicking
system. You can view the type and version of Windows there and see which
version fits your needs. The home user will most likely use a 32 bit version
and the higher end business user or specialized professional will use the 64
bit version.
The bit
size of a processor refers to the size of the address space it can reference. A
32-bit processor can reference 2^32 bytes, or 4 GB of memory. These 32-bit
processors were standard at a time when 4 GB was thought to be more than enough
memory space for software applications on Windows. When a process, such as
running a program, is created on an x86 Windows computer with a 32-bit
processor, the operating system allocates its 4 GB of virtual memory,
irrespective of the actual physical memory installed on a system. Half of that
allocated memory is user-accessible memory, while the other half is for kernel
processes such as drivers. Modern computing systems increasingly confront the 4
GB ceiling thanks to memory-intensive applications and the need to store
multiple processes in memory simultaneously.
In 2003, AMD released the first widely accepted 64-bit processor aimed at consumers, the Athlon 64, and coined AMD64 as the name for the new instruction set. Microsoft refers to the instruction set as x64, which parallels the widely accepted x86 nomenclature used for the instructions that run on most 32-bit processors.
Processors capable of referencing larger address spaces provide the opportunity to use more physical memory than ever before, potentially reducing the overhead spent moving processes in and out of physical memory. The 64-bit processors are theoretically capable of referencing 2^64 locations in memory, or 16 exabytes, which is more than 4 billion times the number of memory locations 32-bit processors can reference. However, all 64-bit versions of Microsoft operating systems currently impose a 16 TB limit on address space and allow no more than 128 GB of physical memory due to the impracticality of having 16 TB of RAM. Processes created on Windows Vista x64 Edition are allotted 8 TB in virtual memory for user processes and 8 TB for kernel processes to create a virtual memory of 16 TB.
WOW64 is the x86 emulator that allows 32-bit Windows-based applications to run seamlessly on 64-bit Windows. WOW64 is provided with the operating system and does not have to be explicitly enabled.
In 2003, AMD released the first widely accepted 64-bit processor aimed at consumers, the Athlon 64, and coined AMD64 as the name for the new instruction set. Microsoft refers to the instruction set as x64, which parallels the widely accepted x86 nomenclature used for the instructions that run on most 32-bit processors.
Processors capable of referencing larger address spaces provide the opportunity to use more physical memory than ever before, potentially reducing the overhead spent moving processes in and out of physical memory. The 64-bit processors are theoretically capable of referencing 2^64 locations in memory, or 16 exabytes, which is more than 4 billion times the number of memory locations 32-bit processors can reference. However, all 64-bit versions of Microsoft operating systems currently impose a 16 TB limit on address space and allow no more than 128 GB of physical memory due to the impracticality of having 16 TB of RAM. Processes created on Windows Vista x64 Edition are allotted 8 TB in virtual memory for user processes and 8 TB for kernel processes to create a virtual memory of 16 TB.
WOW64 is the x86 emulator that allows 32-bit Windows-based applications to run seamlessly on 64-bit Windows. WOW64 is provided with the operating system and does not have to be explicitly enabled.
The system
isolates 32-bit applications from 64-bit applications, which includes
preventing file and registry collisions. Console, GUI, and service applications
are supported. The system provides interoperability across the 32/64 boundary
for scenarios such as cut and paste and COM. However, 32-bit processes cannot
load 64-bit DLLs for execution, and 64-bit processes cannot load 32-bit DLLs
for execution. This restriction does not apply to DLLs loaded as data files or
image resource files.
To summarize,
the ability of Windows x64 Edition to add address more memory space than
previous versions of Windows helps minimize the time spent swapping processes
in and out of memory by storing more of them in RAM.