2002.08.20 07:31 "memory allocation", by Peter Majer

2002.09.01 17:14 "Re: OT: large memory allocation in Windows", by Peter Montgomery

I know this thread has played itself out, but I was just re-reading Jeffrey Richter's "Advanced Windows - 3rd Edition" and found something that the folks who engaged in this conversation may find interesting. The following is a direct quote from the book and appears on page 121:


You're probably thinking that it seems a little unreasonable that Windows NT should steal 2GB of your address space, and I'd have to agree. However, the MIPS R4000 CPUs require that this range be reserved. Microsoft could have implemented the Windows NT version of Win32 differently on different CPU platforms but decided that developers could port their applications more easily if the top 2GB were reserved on every Windows NT implementation of Win32.


So, there you have it. The reason that NT uses 2GB for the OS is because it is the lowest common denominator of an OS that (used to) need to work across multiple CPU architectures. You want to blame someone? Apparently you can blame the MIPS designers. It seems to me to be a very reasonable design decision to want to make the OS memory architecture consistent across all CPUs that it supports.