Sure there are lots of extention mechanisms - every architecture so far has used them when the limits are reached.Underneath the "flat" surface" of the water the OS is doggy paddling like crazy!
PCs (in fact any systems) are complicated because they deal with ever smaller, ever cheaper, ever more powerful and still have something to sell (and hold). If costs were the only thing driving them we'd have a watch sized PC1 (with a big magnifying glass) for the price of a handful of sand as the mainstream consumer model. Instead we have a balance of half the cost, twice the power as the perennial mainstream. Hence my conclusions on 64-bit (and Vista and linux and...)
<.> wrote in message Programmers hate segmented memory - that's why it's flat.
But there is also overlays type features in the kernel (not necesarly turned on in Vista) so programs can access more than 4MB. Also the 32 bit kernel can support up to 128 GB of main memory (windows datacentre server). There seems to be a lot of work on the NT kernel over the years on firstly extending limits, and now on removing limits.
Three major limits were made unconditional on Vista's release (being hardware limited now), system cache, and both paged and non paged pool.
Below are the memory limits. For future possibilities one just needs the maximun figure from each column. I suspect the cheapest hardware will determine future directions.
After all PC are very complicated because they are designed to be cheap, cheap in number of points to be soldered, cheap in few components, cheap as in using low cost things (like memory) and then complicated caches to make it faster (but still cheaper). This has been the design philosophy from the beginning - eg the 8 bit physical memory bus for 16 bit memory of 8088, saved 8 connectors and sets of circuits..
Memory Limits for Windows Releases
The following table specifies the limits on memory and address space for current releases of Windows. These limits vary by platform, operating system, and by whether IMAGE_FILE_LARGE_ADDRESS_AWARE and 4GT RAM Tuning (/3GB) are in use.
Memory type 32-bit Windows 64-bit Windows
User-mode virtual address space for each 32-bit process 2 GB
Up to 3 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE and /3GB
2 GB
4 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE
User-mode virtual address space for each 64-bit process N/A 2 GB
x64: 8 TB with IMAGE_FILE_LARGE_ADDRESS_AWARE
Intel IPF: 7 TB with IMAGE_FILE_LARGE_ADDRESS_AWARE
Kernel-mode virtual address space 2 GB
Up to 2 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE and /3GB
8 TB
Paged pool Limited only by kernel mode virtual address space, starting with Windows Vista.
Windows Server 2003: 650 MB
Windows XP: 490 MB
Windows 2000: 470 MB
128 GB
Non-paged pool Limited only by kernel mode virtual address space and physical memory, starting with Windows Vista.
Windows Server 2003 and Windows XP/2000: 256 MB (or 128 MB with /3GB)
128 GB
System cache virtual address space (physical size limited only by physical memory) Limited only by kernel mode virtual address space, starting with Windows Vista.
Windows Server 2003 and Windows XP/2000: 1 GB
1 TB
The following table specifies the limits on physical memory.
Physical memory limits 32-bit Windows 64-bit Windows
Windows Server "Longhorn", Datacenter Edition 128 GB
64 GB with 4GT RAM Tuning
1 TB
Windows Server "Longhorn", Enterprise Edition 64 GB 1 TB
Windows Server "Longhorn", Standard Edition 4 GB 32 GB
Windows Server "Longhorn", Datacenter Edition (Server Core installation) 128 GB 1 TB
Windows Server "Longhorn", Enterprise Edition (Server Core installation) 64 GB 1 TB
Windows Server "Longhorn", Standard Edition (Server Core installation) 4 GB 32GB
Windows Vista Ultimate 4 GB 128 GB
Windows Vista Enterprise 4 GB 128 GB
Windows Vista Business 4 GB 128 GB
Windows Vista Home Premium 4 GB 16 GB
Windows Vista Home Basic 4 GB 8 GB
Windows Vista Starter 1 GB N/A
Windows Storage Server 2003, Enterprise Edition 8 GB N/A
Windows Storage Server 2003 4 GB N/A
Windows Server 2003, Datacenter Edition SP1 128 GB
16 GB with /3GB
1 TB
Windows Server 2003, Enterprise Edition SP1 64 GB
16 GB with /3GB
1 TB
Windows Server 2003, Standard Edition SP1 4 GB 32 GB
Windows Server 2003, Datacenter Edition 128 GB
16 GB with /3GB
512 GB
Windows Server 2003, Enterprise Edition 32 GB
16 GB with /3GB
64 GB
Windows Server 2003, Standard Edition 4 GB 16 GB
Windows Server 2003, Web Edition 2 GB N/A
Windows XP 4 GB 128 GB
Windows XP Starter Edition 256 MB N/A
See Also
4GT RAM Tuning
IMAGE_FILE_LARGE_ADDRESS_AWARE
Send comments about this topic to Microsoft
Build date: 10/2/2006
See Also
4GT RAM Tuning
IMAGE_FILE_LARGE_ADDRESS_AWARE
Send comments about this topic to Microsoft
Build date: 10/2/2006