Re: Logical, Linear and Virtual Address.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Denis Kirjanov
Date: Thursday, December 23, 2010 - 8:39 am

On Thu, Dec 23, 2010 at 6:10 PM, Gustavo da Silva
<gustavodasilva@gmail.com> wrote:


AFAIK there are 3 types of addresses: physical, kernel virtual
(one-to-one mapped),
and ...user virtual addresses...
Lets assume x86_32 for simplicity:

==========================
+kernel part (identity-mapped) +
========================== <---- PAGE_OFFSET protection boundary
+                                          +
+ user portion(THREAD_SIZE)+
+                                          +
==========================
Kernel works on behalf of the user address space (think about that one
part of the user space is
always the same for each process - kernel part). Kernel portion (at
PAGE_OFFSET and above) translates address
using simple formula:
kernel virtual addr - PAGE_OFFSET

Things are different for the bottom half of the virtual address space
(THREAD_SIZE portion).
This is a MMU time :)
Here well-known translation process (using page tables) of the virtual
address to physical one begins.




-- 
Regards,
Denis

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Logical, Linear and Virtual Address., Gustavo da Silva, (Thu Dec 23, 8:10 am)
Re: Logical, Linear and Virtual Address., Denis Kirjanov, (Thu Dec 23, 8:39 am)
Re: Logical, Linear and Virtual Address., Gustavo da Silva, (Thu Dec 23, 9:11 am)