Operating systems nowadays come in 2 types. 32-bit is the standard and widely known type, and 64-bit, which is comparatively lesser known. 32 and 64 bit architectures mainly refer to the types of data units. A 64-bit architecture supports 64 bits wide data units, which allow for wider processing capabilities, compared to 32-bit architecture.
The major differences between these 2 operating system types are memory accessibility/management and security. A 64-bit operating system can theoretically access in excess of 128 GB of RAM, while a 32-bit operating system is limited to about 4 GB of RAM, due to the virtual address space being limited simply by the size of a 32-bit value. And so, the maximum memory accessible is 4096 MB, or 4 GB, as given:
2(power 32) = 4,294,967,296
4,294,967,296 / (1,024 x 1,024) = 4,096
Assuming in a 32-bit environment 4 GB of memory is available; the space is evenly divided into 2 parts. 2 GB is dedicated for kernel usage and 2 GB for application usage. Even though the application gets its own 2 GB, all applications still share the same 2 GB reserved for kernel usage. Herein lies a limitation.
Even with the fairly limited amount of memory available, a 32-bit operating system still shares the memory with attached I/O devices, which include graphic cards and other memory-mapped devices. Thus, we are left with even lesser memory. In other words, if you run applications that use more than 2 GB of memory, a 64-bit operating system is strongly recommended. Also, applications designed to take advantage of 64-bit architectures show improved performance.
In a 64-bit operating system, the physical memory limit is 192 GB and virtual address space is 8 terabytes. This means that we won’t have a shortage of physical or virtual address space anytime soon.
Intel Pentium 4 (Northwood)
AMD Athlon XP (Barton)
A 64-bit operating system can only run on a processor that supports 64-bit processing. Most modern processors support this feature and should be able to run a 64-bit operating system. Intel Pentium 4 processors from the Northwood generation, and AMD Athlon XP processors were some of the last processors to use only 32-bit (x86) architectures. 64-bit operating systems have higher requirements than 32-bit operating systems, and one has to consider a few more factors:
1. Device drivers must be digitally signed to be installed on a 64-bit OS.
2. 64-bit device drivers may not be available for older hardware; and 32-bit device drivers are not supported at all.
3. Some 32-bit programs may not be entirely compatible with a 64-bit OS.
4. Not all hardware may be compatible with a 64-bit OS.
5. 64-bit operating systems do not support 16-bit programs, while 32-bit operating systems partly support them.
In conclusion, 64-bit operating systems are the future for complex applications and improved performance, but for the common man, who has limited needs and no requirement for high end processing capabilities, 32-bit operating systems will do just fine for a few more years.