Re: Linux VM Question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you for your reply. So are you telling me that user mode processes (A and B) have the same set of possible linear address spaces ( 0 to 4GB). For example more realistically A has address space beginning at address 24 and ending at address 124 and B also has address space beginning at 24 and ending at 124.

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?


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux