From: Shakthi Kannan <shakthimaan@xxxxxxxxx> Reply-To: Shakthi Kannan <shakthimaan@xxxxxxxxx> To: kernelnewbies@xxxxxxxxxxxx Subject: logical, linear, physical addresses Date: Fri, 5 Nov 2004 22:11:22 +0530
Greetings!
I need some real-time example (with values) for x86 architecture illustrating the relationship between logical, linear and physical addresses.
I did go through Chapter 2 of Understanding the Linux kernel, and Operating Systems by Harvey Deitel.
1/ I understand in the process of logical to linear address translation that segment selector (in segment registers) points to a segment descriptor in LDT/GDT. Within the segment descriptor we choose base+limit to get the linear address. But, what does this base address contain? How is it assigned? ------ (1)
Similarily, I understand that linear address is translated into physical address through page tables, and the linear address consists of page frame number and offset. ---- (2)
But, I don't see how the output of (1) corresponds to the input of (2). What am I missing here? Most books explain only these concepts rather than give a real-time example. Any pointers in this regard will be helpful.
2/ If the base (0x00000000) in the segment descriptor is the same for the different kernel segments, (code, data, et. al.) it will overlap in the linear address space. But, how can we access them separately if they start from the same address location?
Any clarification will be really helpful.
Thanks,
Shaks
-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.com/
-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/