My Apologies for top posting. Now in continuation to my previous question. Is there a method to know whether segmentation unit is enabled or disabled either from Kernel space or user space. <br><br>Thanks,<br>Prabhu<br><br>
<br><div class="gmail_quote">On Mon, Apr 25, 2011 at 10:08 PM, mindentropy <span dir="ltr">&lt;<a href="mailto:mindentropy@gmail.com">mindentropy@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">On Monday 25 Apr 2011 2:25:10 pm Prabhu nath wrote:<br>
&gt; I understand about Linear virtual address and Physical address. How is the<br>
&gt; logical address generated ? Can you please explain.<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Prabhu<br>
&gt;<br>
&gt; On Wed, Apr 20, 2011 at 9:33 PM, mindentropy &lt;<a href="mailto:mindentropy@gmail.com">mindentropy@gmail.com</a>&gt; wrote:<br>
&gt; &gt; On Wednesday 20 Apr 2011 4:31:08 pm limp wrote:<br>
&gt; &gt; &gt; Thanks a lot Dace and Vladimir for your replies.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; First of all, I forgot to mention that I am talking for x86<br>
&gt; &gt; &gt; architecture.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; The CPU registers will contain the virtual addresses. Each and every<br>
&gt; &gt; &gt; &gt; time that the CPU tries to access a virtual memory location, then the<br>
&gt; &gt; &gt; &gt; address will be translated by the MMU into a physical address.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; So, AFAIU the translation to physical memory takes place *only* when<br>
&gt; &gt; &gt; the ALU of the processor has to do some operation which has memory<br>
&gt; &gt; &gt; operands (in this case the CPU needs to deal with the *real*<br>
&gt; &gt; &gt; addresses) but not prior to that.<br>
&gt; &gt;<br>
&gt; &gt; The address translation happens in the following way:<br>
&gt; &gt;<br>
&gt; &gt; Logical Addr--&gt;|Segmentation Unit|--&gt;Linear Addr --&gt;|Paging unit|--&gt;<br>
&gt; &gt; Physical<br>
&gt; &gt; Addr.<br>
&gt; &gt;<br>
&gt; &gt; If the paging unit is not setup then the linear addr is the physical<br>
&gt; &gt; addr.<br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; Kernelnewbies mailing list<br>
&gt; &gt; <a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
&gt; &gt; <a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
<br>
</div></div>In the segmented memory model the memory appears as segments. In this model<br>
the program issues a logical address which comprises of a segment:offset<br>
address. The offset selects a byte in the segment. The segmentation unit<br>
converts it to a linear address. If the paging unit is enabled the linear<br>
address passes through the paging unit for further translation.<br>
<br>
<br>
Also please do not top post :)<br>
</blockquote></div><br>