OK, I'm trying to wrap my head around PAE and what it can do for some
of my users.
One of them is running XP Pro, and would like to put 6 GB or RAM in the
box to allow his apps to breathe me.
Can I do this by enabling PAE? Are there any shortcomings that I
should be aware of?
PAE requires that the application be written to use it and that the OS
supports it. When I was current on this stuff, Oracle database was
the only software i knew for sure made use of it. Maybe MS SQL server
did, too. NT didn't. You had to put a version of Windows Server on
the system. It required a server motherboard that had the hardware to
support it.
It still has the 32 bit address space limitation per-process. It
wasn't free, from a performance standpoint.
PAE was essentially extra address lines on the mobo (beyond the 32
required by 4GB of physical memory) but since the CPU had only 32 bits
and only 4GB could be mapped at any instant, PAE was cricuitry that
selected from the extra address lines, but the CPU could only see 4GB
at any instant. It was a form of expensive segment switching.
A 32 bit programming language would allow you to write code that
exceeded the 32 bit limit. With PAE you break it up into overlays and
the hardware would swap the overlays into and out of the CPU address
space. You saved the disk I/O for the paging or segment swapping, but
te context switches could suck.
Hint; Programmers really *hate* taking an existing program and
breaking it into segments. Been there, done that.
I think you should be researching 64 bit windows an a recompile of the
application. When you shop for 64 bit PC read the fine print, the
cheapest machines still had 4GB limits on the mobo, the last time I
checked.