Let us say that A and B are 2 completely different processes. When either A or B accesses, for example, address 30 then how does kernel resolve it to the correct physical address?.
Because all the kernel has, at this point in time, is linear address 30 and nothing else? Can you explain more? I appreciate your help
On 9/3/06, Rik van Riel <riel@xxxxxxxxxxx> wrote:
pandari kashyap wrote:
> Hello fellow Kernel newbies,
>
> One of the popular text books says that the processes runnning on Linux
> on 32 bit architectures has the impression that it has 4GB of memory for
> itself. My question is:
>
> a) if every process has 4GB of Linear address space for itself, then how
> does Linux differentiate between processes?. In the sense how does linux
> differentiate between accesses to same addresses (ex address 500) in
> different processes.
At context switch time, it changes the CPU to look at
a different set of page tables.
The 4GB of linear address space is divided, the bottom
3GB are different in every process, the top 1GB is for
kernel stuff, and is the same in every process.
--
What is important? What you want to be true, or what is true?