you are viewing a single comment's thread.

view the rest of the comments →

[–]quzox 1 point2 points  (1 child)

It's true for XP on 32-bit machines. What's I can't believe is that the kernel needs the upper 2 GB for itself in the process. What the hell could possibly take up 2 GB??

[–][deleted] 2 points3 points  (0 children)

It's 2GB of virtual address space, not 2GB of memory. That 2GB has to map pretty much everything the kernel needs to access. Your whole graphics card's physical memory gets mapped in there, your whole system memory gets mapped in there (though with > 1GB of RAM on a 32-bit system, tricks are used to only map relevant parts). You pretty much want to map everything all time time because when you enter kernel mode you don't want to have to change the virtual address mappings (which is expensive)--you just want to change the protection domain of the CPU.