On 11/18/08, ruby <[EMAIL PROTECTED]> wrote:
> hi, all
>
>  One line I often read is each process is given a unique 32-bit or 64-bit 
> flat address space, known as process address space.
>
>  So it sounds like a process have the whole space to itself and read or write 
> as it wants, but it is not entirely true since before it can read or write, 
> it must ask kernel for it, to get a so-called memory area (represented by 
> vm_area_struct), is this understanding correct?

There is a memory management subsystem of the kernel which checks if a
read/write to
 memory is legitimate, allocates and deallocates memory for the
user-space processes.
' vm_area_struct '  is a data-structure of the mm subsystem.

>  Another related question is when people talks about 1G/3G split, 1G is for 
> kernel, 3G is for process, are they referring to the same process address 
> space?

Yes.

>  For each process's address space, in addition to its own code, data, shared 
> library code and data etc. are there any kernel code in it? that doesn't make 
> much sense.

There is a clear cut seperation of the memory space between  kernel
and user space.






-- 
Smart data structures and dumb code works a lot better than the other way
around. -Eric S Raymond

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [EMAIL PROTECTED]
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to