• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

How does Server2003 Enterprise Edition support 32+GB RAM

acole1

Golden Member
Link to MS's Comparison chart.

I noticed on the chart linked above, that the 32bit versions of Server 2003 Enterprise and Datacenter both have support for 32GB and 64GB of RAM, while the lower versions only have support for up to 2GB or 4GB.

My perhaps naive question is:
How do they support more than 4GB of RAM in 32bit mode.

Isn't the 32bit RAM limitation a hardware constraint as much as it is an OS constraint?

Wouldn't the motherboard not even see more than 4GB?

Or would it see more than 4GB if it was 64bit hardware, and only the OS would be the limitation at that point.

I see how it would work in this situation. Is this the situation they are referring to on their chart?

Thanks!!
 
Originally posted by: acole1

Thats kind of what I was referring to in the last couple of comments I made.

...but PAE still requires the hardware (and BIOS) to support all 32 or 64GB. Correct?

The mainboards you would be using would support 32/64gb of RAM with FB-DIMMs. My P5B-D (desktop board) can support 8 (4x2) so I'm not sure where you are coming from. If you were using more than 8 or 16GB you would be using server hardware.
 
Isn't the 32bit RAM limitation a hardware constraint as much as it is an OS constraint?

No, if the hardware can see all of the memory PAE can be used to address it. Each process will still be limited to 4G of VM, but the kernel can address all of the physical memory. The only 32-bit limitation is on virtual memory not physical memory.

Wouldn't the motherboard not even see more than 4GB?

Only if it's an extremely cheap or buggy board.

Or would it see more than 4GB if it was 64bit hardware, and only the OS would be the limitation at that point.

IIRC Intel has supported PAE since the PII, a 64-bit processor isn't required at all.

Using a 64-bit system would be a much better solution since you wouldn't have any of the 32-bit 4G VM limitations but it isn't always an option, especially if you're stuck using closed software that can't be ported.
 
Fully implemented PAE produces physical 36-bit addresses. Inside the CPU, addressing is not linear though, so this isn't very popular with application developers.

AMD's 64-bit mode (also adopted by Intel) is linear, and currently uses 40-bit physical addressing (36 on Intel processors).
 
Inside the CPU, addressing is not linear though, so this isn't very popular with application developers.

I'm not sure what that's supposed to mean but addressing in PAE is linear just like it is without PAE enabled. The problem is that individual processes still only see a 32-bit address space so they still have to constantly map/unmap things out of their address space if they need to fit more in it. APIs like AWE on Windows help this a bit but it's still necessary.
 
Originally posted by: Peter
Fully implemented PAE produces physical 36-bit addresses. Inside the CPU, addressing is not linear though, so this isn't very popular with application developers.

You need to take the virtual address space into account. This is the address space the application sees, and is always linear, and is always fixed at 4GB.

So it doesn't matter where in physical address space it lies. And it doesn't matter how fragmented it is (Windows operates in paging mode), the virtual to physical translation is transparent for applications
 
Back
Top