<div>Hi,</div>
<div> </div>
<div>Thanks a lot for the resources! I just had a cursory look at them and could see that they explain virtual memory and </div>
<div>address translation in depth. Just wanted to ask if they explain the concepts Memory models (flat, segmented ) and cpu modes (real,protected) equally well. I am more confused about </div>
<div>these concepts. </div>
<div> </div>
<div>Thanks</div>
<div>Vaibhav Jain<br><br></div>
<div class="gmail_quote">On Wed, Jul 13, 2011 at 10:40 AM, Anuz Pratap Singh Tomar <span dir="ltr">&lt;<a href="mailto:chambilkethakur@gmail.com">chambilkethakur@gmail.com</a>&gt;</span> wrote:<br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote"><br><br>
<div class="gmail_quote">
<div>
<div></div>
<div class="h5">On Wed, Jul 13, 2011 at 6:29 PM, Jeff Haran <span dir="ltr">&lt;<a href="mailto:jharan@bytemobile.com" target="_blank">jharan@bytemobile.com</a>&gt;</span> wrote:<br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">
<div lang="EN-US" vlink="purple" link="blue">
<div>
<p class="MsoNormal"><span style="COLOR: #1f497d; FONT-SIZE: 11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="COLOR: #1f497d; FONT-SIZE: 11pt"><u></u> <u></u></span></p>
<div style="BORDER-BOTTOM: medium none; BORDER-LEFT: blue 1.5pt solid; PADDING-BOTTOM: 0in; PADDING-LEFT: 4pt; PADDING-RIGHT: 0in; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0in">
<div>
<div style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<p class="MsoNormal"><b><span style="FONT-SIZE: 10pt">From:</span></b><span style="FONT-SIZE: 10pt"> <a href="mailto:kernelnewbies-bounces@kernelnewbies.org" target="_blank">kernelnewbies-bounces@kernelnewbies.org</a> [mailto:<a href="mailto:kernelnewbies-bounces@kernelnewbies.org" target="_blank">kernelnewbies-bounces@kernelnewbies.org</a>] <b>On Behalf Of </b>Vaibhav Jain<br>
<b>Sent:</b> Wednesday, July 13, 2011 1:38 AM<br><b>To:</b> Daniel Baluta<br><b>Cc:</b> <a href="mailto:kernelnewbies@kernelnewbies.org" target="_blank">kernelnewbies@kernelnewbies.org</a><br><b>Subject:</b> Re: Need help understanding memory models,cpu modes and address translation<u></u><u></u></span></p>
</div></div>
<div>
<div></div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<p style="MARGIN-BOTTOM: 12pt" class="MsoNormal">Hi,<br><br>Thanks for the link.I really appreciate but I need something more basic and something that <br>explains these concepts from a broader perspective and not in the context of a <br>
particular cpu architecture.Please send me more such links if you come across any.<br><br>Thanks<br>Vaibhav Jain<u></u><u></u></p>
<div>
<p class="MsoNormal">On Wed, Jul 13, 2011 at 1:14 AM, Daniel Baluta &lt;<a href="mailto:daniel.baluta@gmail.com" target="_blank">daniel.baluta@gmail.com</a>&gt; wrote:<u></u><u></u></p>
<div>
<div>
<p style="MARGIN-BOTTOM: 12pt" class="MsoNormal">Hi,<br><br>&gt; I am eager to understand the basics of Memory models  (flat, segmented etc)<br>&gt; , CPU modes (real,protected)<br>&gt; and address translation (physical to logical etc.) and how all of them work<br>
&gt; together. I am very confused<br>&gt; about this and would really appreciate if someone could provide good<br>&gt; references to these topics.<u></u><u></u></p></div></div>
<p class="MsoNormal">You may find useful information inside i366 Programmers Manual.<br>Anyhow, reading materials is the first step in understanding these<br>concepts. You will have to actually  read/write/debug pieces of code<br>
related to them.<br><br>thanks,<br>Daniel.<br><br>[1] <a href="http://pdos.csail.mit.edu/6.828/2010/readings/i386.pdf" target="_blank">pdos.csail.mit.edu/6.828/2010/readings/i386.pdf</a><u></u><u></u></p></div>
<p class="MsoNormal"><span style="COLOR: #1f497d"><u></u> <u></u></span></p></div></div>
<p class="MsoNormal"><span style="COLOR: #1f497d; FONT-SIZE: 11pt">You might want to try “Understanding the Linux Virtual Memory Manager” by Mel Gorman. It’s freely available on the web.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="COLOR: #1f497d; FONT-SIZE: 11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="COLOR: #1f497d; FONT-SIZE: 11pt">It’s Linux specific, but since Linux needs to run on a multitude of different processors with different memory management hardware, the approach it takes to doing so in inherently broad.<u></u><u></u></span></p>

<p class="MsoNormal"><span style="COLOR: #1f497d; FONT-SIZE: 11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="COLOR: rgb(31,73,125); FONT-SIZE: 11pt"> </span></p>
<p class="MsoNormal"><span style="COLOR: #1f497d; FONT-SIZE: 11pt"><br></span></p></div></div></div></blockquote></div></div>
<div>A lot of basic concepts can be learnt from JIm Turley&#39;s book on 8086<br>Other book is modern operating systems by Tanenbaum which explains everything in much detail with  code snippets. <br> <br></div></div><br>
</blockquote></div><br>