32 bit OS 4gigs of ram

Page 3 - Seeking answers? Join the Tom's Hardware community: where nearly two million members share solutions and discuss the latest tech.

mikrev007

Distinguished
Oct 28, 2008
264
0
18,790
You are obviously here just to troll. But just so you don't fool anybody with your BS:

http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx


With the additional physical memory supported under PAE mode, an operating system can keep more of these applications in memory without paging. This is valuable in supporting server consolidation configurations, where support of multiple applications in a single server is typically required. Note that no application changes are required to support this capability.
 

theTroll

Distinguished
Sep 6, 2009
8
0
18,510
Guessing you didn't read the whole article. You might want to do that. If you read the WHOLE thing, you will see that applications need to be designed to use PAE, it does not happen by itself. Since most applications don't support it, then memory about the 4 GB limit doesn't do that average user any good.

When you get a subscription to the MSDN, come back and talk to me.

theTroll
 

Beetlebox

Distinguished
Apr 19, 2009
37
0
18,540


Well I'm not a programmer I have to work for a living ;) but even I understand the basics. If you write a 32-bit application it uses VIRTUAL memory and thus PAE and PHYSICAL memory are transparent to it. Perhaps you could tell us exactly what software application(s) you have written in the last 20 years.

Let's try to simply explain how things work.

Hardware is normally mapped from 4GB downwards so if you have 1GB of hardware addresses then it will reside in the 3GB to 4GB address range. Now if you have 4GB of RAM the first 3GB can be mapped to the 0 to 3GB addresses but the last 1GB needs to be remapped and most modern BIOSes will do this by using the 4GB to 5GB address range. Now even though PAE may be enabled by default to allow hardware DEP and hence the 32-bit Windows OS is using 64-bit page tables, Microsoft decided to IGNORE memory addresses above 4GB so even though that memory is there to be used, the client Windows OSes from XP SP2 onwards ignore it.

When an application is written for windows it uses RVA virtual addresses. We may have one process that runs from address 0x400000 and a second or more processes that also run from address 0x400000. How is it possible that they can run from the same address, because it's a virtual address and each process normally maps to different physical addresses. This is very useful because as our physical memory addresses become fragmented we can still map, for instance 4K blocks, as contiguous virtual memory.


Some points that may be relevant.

PAE has been around since 1995, long before EMT64 and if you check the CPU's that support PAE you will see they have at least 36 pins or balls for address lines which means being able to physically address 2^36 or 64GB.

Some drivers may behave badly with PAE but with certified drivers I would hope not.

If the North Bridge does not support more than a 32-bit interface then even a 64-bit system will not allow the use of a full 4GB or more of RAM.

32-bit Windows processes will generally be limited to using 2GB RAM under both a 32-bit and 64-bit OS. With large address aware processes this may be expanded to 3GB for 32-bit with 4GT and 4GB for 64-bit.

Some 32-bit desktop / client linux distro's such as Fedora 10/11 support more than 4GB of RAM by default (not 32-bit Ubuntu).

It is possible for Windows 32-bit Vista / 7 to support more than 4GB as can be tested via a fairly simple kernel modification.


And finally getting back to the OP's question IMHO it probably is a waste for most people.
 
I think what mikerev007 is saying is that with a 32-bit OS which supports PAE, if you have 8GB of physical memory then you can have four applications in memory which take 2GB each (this is an oversimplification, but you get the idea). The applications don't have to use or know about the AWE API in order to benefit from the fact that the OS can place all of them into memory at once. (Remember: PAE in the hardware lets the OS access the extra memory, AWE lets the application request the OS to map it into their 32-bit address space).

So in that sense, there CAN be a benefit to having more than 4GB of memory with a PAE-capable OS, and no application modifications are needed.

But this is all of little interest to most users since only Microsoft's server operating systems officially support PAE hardware. I see in the article there's a reference to XP's ability to use PAE in order to enforce DEP (Data Execution Protection). As far as I know XP won't use PAE to access more than 4GB of physical memory, although I would certainly bow to anyone with knowledge to the contrary.
 

tcsenter

Distinguished
Jun 18, 2008
448
2
18,815
Applications do not need to be explicitly coded for PAE, its all handled by the operating system and the hardware (e.g. CPU MMU/TLB). DRIVERS need to deal with an address which might extend beyond 32-bit, but an application does not.

There are pitfalls to improperly coded 32-bit applications which are never exposed under 32-bit but could be exposed under PAE, but this is very different from an application needing to "take advantage" or "support" PAE. Its just an application bug or piss-poor coding that will never become an issue until you put under PAE. Big difference.
 
G

Guest

Guest
Hence: Mike was right from the start.

He merely stated "it depends on which 32bit OS you use.

And then he was flamed and insulted by know-it-all (not) *ssholes,
and a pathetic so called experienced programmer who should stick with his pathetic VB projects.
because he knows *** about PAE.

The ignorant inherited the earth.

This thread proves it.
 
G

Guest

Guest


Not in his initial post.
He did after 10 posts or so.

So there is no defense for how they treated Mike.
Even a mod ridiculed the guy, shameful!
 

megamic

Distinguished
Dec 31, 2008
1
0
18,510
Wow what a testament to ignorance and arrogance this thread is.

I love the way mikrev007 kept his cool the whole time - probably because he knew he was correct and that the truth would finally be realized.

And I love how that douche-bag badge went quiet all of a sudden around the time PAE was mentioned - he probably wikied it for the first time in his life and realized that the OS operates in real-mode and can take advantage of whatever hardware features the CPU supports (unless it is a Windows desktop variant that has been castrated to prevent that from occurring).

And it just happens that while the registers in a modern x86 CPU are 32-bit (for 32-bit processes), the address bus is greater than 32 bits. Intel x86-32 has 36/40 bit address buses, AMD x86-32 has up to 48. See this page on the x86 architecture http://en.wikipedia.org/wiki/X86 (what, you mean I should read about the x86 architecture *before* shooting my mouth off? YES!!!!). While processes operating in protected mode are essentially constrained by the size of a register in terms of the maximum size of a pointer (actually pointers are often smaller than that depending on your architecture/language/compiler, 20-22 bits is not uncommon), the OS operates in real mode and is able to put any address it likes onto the address bus by using a series of x86 instructions - it is not forced to give the virtual-memory subsystem a pointer that fits within 32 bits like a protected mode process is.

And I cant believe no-one mentioned Mac OSX, an OS that even in it's earlier 32-bit incarnations (well, since the first Intel version) could utilize more than 4gb of physical memory (with 32-bit processes of course restricted to < 4gb or virtual memory).

In a way I don't know why people like mike bother on forums like this - let the ignorant rule their own little worlds where they are 'correct' - while the rest of the world looks on in bemusement or more likely just ignores them.





 

4745454b

Titan
Moderator
I almost agreed fully with your post Mega until you kept up the name calling and the flame at the end. If there isn't a need for name calling, why are you doing it?

I quickly left this thread when it went above my knowledge. I only post what I know about, and this is a very iffy subject for me. Yes, PAE exists. From what I've heard about it however, not all programs respond well to its use. I consider it like an adapter. You can use it, but your better off getting the real thing. For example, you can use a dual 4pin molex to 6pin PCIe adapter, but if your old PSU can't handle the load then it will quickly die. Your better off buying a new PSU that can handle the load.

In this case that means moving to 64bit windows. This used to be an issue with XPas the 64bit version wasn't very good. Vista fixed this mostly, and win7 seems to have gone even farther. Why mess with boot settings and PAE if you can just get the real thing?

As for OSX, I've heard its only 32bit Windows which has this problem. That other OSes handle address space differently. (possibly with the use of the extra registers, I have no idea.) If true I have no idea why MS didn't do something similar.
 

mikrev007

Distinguished
Oct 28, 2008
264
0
18,790
There is unbelievable much bad information about this subject floating around the internet. So it is actually no wonder so many people don't understand it.