On 12/8/2010 11:40 PM, Ian Kelly wrote:
Since a process need not have all its pages in physical memory simultaneously, there is no reason to suppose that a single process could not consume the entirety of the available virtual memory (minus what is used by the operating system) on a 64-bit system (the same cannot be said of a 32-bit system, where the total virtual memory available may well be larger than the addressable space).
Actually, the "32-bit" x86 machines since the Pentium Pro are really 36 to 48-bit machines. They only offer 32-bit flat address spaces to user programs, but the MMU and memory interface support a larger address space. The page table design supports 64-bit physical memory, but most of the bits beyond 36 usually aren't implemented. Linux fully supported this; Windows tried, but older drivers were a problem. That's why there are 32 bit machines with more than 4GB of RAM. None of the real 64-bit architectures, from AMD64 to SPARC to Itanium, need this hack. John Nagle -- http://mail.python.org/mailman/listinfo/python-list