What does the Kernel Virtual Memory of each process contain?
Posted
by claws
on Stack Overflow
See other posts from Stack Overflow
or by claws
Published on 2010-03-15T05:17:15Z
Indexed on
2010/03/15
5:19 UTC
Read the original article
Hit count: 213
When say 3 programs (executables) are loaded into memory the layout might look something like this:
I've following questions:
Is the concept of Virtual Memory limited to user processes? Because, I am wondering where does the Operating System Kernel, Drivers live? How is its memory layout? I know its operating system specific make your choice (windows/linux).
They say, on a 32 bit machine in a 4GB address space. Half of it (or more recently 1GB) is occupied by kernel. I can see in this diagram that "Kernel Virtual memory" is occupying 0xc0000000 - 0xffffffff (= 1 GB). Are they talking about this? or is it something else? Just want to confirm.
What exactly does the
Kernel Virtual Memory
of each of these processes contain? What is its layout?When we do IPC we talk about shared memory. I don't see any memory shared between these processes. Where does it live?
Resources (files, registries in windows) are global to all processes. So, the resource/file handle table must be in some global space. Which area would that be in?
Where can I know more about this kernel side stuff.
© Stack Overflow or respective owner