If you are running a 32-bit OS with /3GB, you can get 3GB of user space, but
ONLY if you have linked your executable with the /LARGEADDRESSAWARE linker
option. You can retroactively fix this using the imgcfg utility
imgcfg -l whatever.exe
Where the flag is hyphen-lower-case-L (hard to tell depending on what font
you have selected to read this)
In Win64, this will allow you to get nearly the whole 4GB of user-visible
address space when a 32-bit app runs.
A 32-bit app which is not LARGEADDRESSAWARE will only get 2GB of user space
no matter how much is potentially available.
joe
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jan Bottorff
Sent: Friday, January 02, 2009 5:39 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] address space
While we’re on the subject of address space, let me put a user-mode hat on
for a second. I’ve always mean to check this in a debugger, but somehow
never have.
If I’m running a 32-bit user mode app on x64 Windows, do I get a usable
user-mode addresss space of nearly 4 GB, since the kernel space is now much
higher? It seems like if an app works with the /3GB switch, it would work
with the address space expanded even more.
Jan
Table 7-10. The 64-Bit Address Space Sizes
Region IA-64 x64
x86
Process Address Space 7152 GB 8192 GB 2 to 3 GB
System PTE Space 128 GB 128 GB 1.2 GB
System Cache 128 GB 128 GB 960 MB
Paged Pool 128 GB 128 GB
470 to 650 MB
Nonpaged Pool 128GB 128 GB 256 MB
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
–
This message has been scanned for viruses and dangerous content by
MailScanner, and is believed to be clean.