DevilsPGD said:
In message
<fc074deb-9668-4774-9cac-09abe5521f60@q36g2000yqn.googlegroups.com> Des
Up to 4GB of memory address space is available. In practice, your
motherboard and other hardware will need some address space, so
typically 3.2GB-3.4GB is the limit.
Actually, there is a different answer to this question now.
http://memory.dataram.com/products-and-services/software/ramdisk?
http://communities.vmware.com/servlet/JiveServlet/showImage/2-1638171-11317/RAMDISK.png
I've tested that. I used WinXP Pro SP3 x32, installed 6GB of RAM on
my Core2 machine. Using that software, I was able to set up a RAMDISK
of 2GB capacity. And that was *above* the 4GB mark. It means I could
launch programs, up to about 3.3GB, at the same time as I had a 2GB
RAMDisk above the 4GB mark. Apparently this can work, because the
Dataram product runs as a driver, and has access to kernel space.
This is the RAMdisk, in action, as benchmarked in HDTune. My last
attempt to do this months ago, led to a system crash. Now, this
test works. So they fixed that bug.
http://img196.imageshack.us/img196/8694/hdtunedataram2gbabove.gif
The next thing I tried, was placing the paging file on that
device. I tested it for a total of four days. I removed the
paging file from C:. And used the Dataram RAMdisk for paging.
Pros:
1) Seamless swapping. Any time the OS needed to page, there
was no screwing around that I normally experience with a
page file on C:. That means, using RAM above 4GB for a RAMDisk,
is overall a positive thing, if you already have the memory.
If you don't currently own that memory, don't waste money
buying extra memory. I was able to easily launch over 4GB of
programs, and they'd page back in when I accessed them. Normally,
there would have been a 60 second delay, if the page file was
still on my C: drive.
Cons:
1) In the four day test period, I encountered two failures. First
the OS stayed running, and there were *no* Windows problems to be
seen. But I had one case, where I tried to iconify Firefox, and
Firefox *disappeared* from the Taskbar. In Task Manager, I could still
see Firefox running, but there was no browser window. The second
failure involved a game. I was half way through a 3D game, and the game
went *poof* out to the desktop. I didn't see a minidump file.
I rolled my system back (restored from backup) after the experiment
was complete.
The conclusion would be:
1) It *is* possible to use more than 4GB of RAM with a 32 bit OS.
The Dataram software shows how. It's not usage in the normal
sense, but it does gain some value from memory that would
otherwise be wasted.
2) The product still isn't ready for prime time. It is a hell of a
lot more stable than the last time I tested it. But I can't be
sure it is completely bug or side-effect free.
So I think the "standard answer" needs to be reworded a bit. I don't
know if I'll do a very good job of it.
1) The OS supports the usage of addresses below 4GB, for the combined
usage of bus addresses (for video card memory), as well as system
memory. On my system right now, this is 1GB for system addresses
(like my 512MB video card), leaving 3GB to be used to address memory.
The 3GB is "physical memory". Microsoft doesn't want us using physical
memory above 4GB, because of the (perceived) dangers with PCI cards
handling DMA buffers above 4GB. (Or, at least, that was the initial excuse
for the restriction.)
2) The virtual address space, extends past the 4GB limit. But being able
to page out gobs of programs, is normally a useless function. So even if
the virtual address space was 7GB, only being able to have 3GB resident is
still a big limitation. And that is because normal hard drive paging
files are so slow, having a larger virtual address space is only of
academic interest. (Someone pointed this out a few weeks ago, by asking
about virtual memory, and it hadn't even occurred to me up to that time,
that virtual memory could go past 4GB. So I tested it.)
3) The dataram product, has demonstrated how memory outside of those
limitations can be used. Such a scheme was mentioned as being possible
in MacOSX a while back, but at the time, I didn't believe it (it sounded
like so much BS). And now, someone has done it with Windows. I expect
the reason this works, is by running at the driver level, they have
access to page tables, and can muck about with mappings.
*******
The topic is also addressed here, and this is an interesting read
on the topic of why it's like this.
http://www.geoffchappell.com/viewer.htm?doc=notes/windows/license/memory.htm
Geoff has also managed to surpass the 4GB limit. But it's because
he is a wizard, with a pointy hat.
HTH,
Paul