Posted 07 July 2009 - 09:16 PM
The comparisons of 32 and 64 bit system are very good but miss an important point.
Probably the #1 advantage of a 64 bit OS is the vastly larger virtual address space available, but only when running native 64 bit applications. Note: this is the virtual address space and is completely independent of how much RAM is in the system.
All modern versions of Windows are based on virtual memory. In fact, the last version that did not use such a system was Windows 3.1, released in 1992. In these systems all access to memory is virtualized, direct access to physical RAM is impossible. 32 bit applications are provided with a virtual address space of 4GB, the lower 2GB being private to each process, while the upper 2GB is common to all processes and is used by the system. Note: the 2GB process address space is private and not shared with other processes. A process cannot even see the address space of other proceses, let alone write to it. Once again, this is a virtual address space and is totally independent of RAM size. The system assigns RAM to each address space as needed in a way that is totally transparent to applications. Applications have only a limited influence on this process.
All of an applications code and data, plus all DLL's accessed, must fit within it's 2GB address space. For some large applications (image and video editing, databases, and games) this can be a tight squeeze. And there are further complications. In many cases DLL's must be loaded to specific addresses, resulting in the address space being broken up into a number of smaller pieces. An application request for a large block of contiguous memory may fail, even when the total space is adequate.
Adding more RAM, even beyond 4GB when possible, does not help. The problem is a limited virtual space, not RAM. Most systems allow changing the address space division to allow 3GB for applications and 1GB for the system but this offers only limited relief. This is available only to applications that have explicitly indicated that they are compatible. Most aren't. There is a special technique available to applications but it has severe limitations and is not a real solution.
The real solution is to be found in a 64 bit OS. 64 bit Vista provides an 8 terabyte private address space for each 64 bit application. That is 4096 times the limit in 32 bit systems! The system address space is expanded to similar levels, leading to more efficient caching and avoiding a number of issues that sometimes occur. And the system need not have a great deal of RAM for applications to enjoy these benefits either. A 64 bit processor could theoretically offer an even greater space than that but there are practical issues to take into account.
But this advantage is primarily for 64 bit applications. 32 bit applications that are large address aware will receive a 4GB private address space. All others (the majority) will see no advantages, aside from the limited performance benefits.
Conclusion:
The larger virtual address space is the prime advantage of a 64 bit OS, although at present few applications can benefit from it. Just about everything alse can be had in a 32 bit OS.