<div dir="ltr">Hello,<div><br></div><div>This is my first mail on this list, so please let me know if I&#39;m erring.</div><div><br></div><div><p style="margin:0px 0px 1em;padding:0px;border:0px;clear:both;font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;line-height:19.5px">I&#39;m reading Bovet and Cesati&#39;s &quot;Understanding the Linux Kernel&quot;, specifically the chapter &quot;Memory Addressing&quot;, sub-section &quot;Kernel Page Tables&quot;. Here they describe how Linux initializes its page tables for various RAM sizes and how much of the physical address space is mapped onto the kernel virtual address space.</p><p style="margin:0px 0px 1em;padding:0px;border:0px;clear:both;font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;line-height:19.5px">I have several questions from my reading:</p><ul style="margin:0px 0px 1em 30px;padding:0px;border:0px;font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;line-height:19.5px"><li style="margin:0px 0px 0.5em;padding:0px;border:0px;word-wrap:break-word"><p style="margin:0px 0px 1em;padding:0px;border:0px;clear:both">My understanding is that the 32 bit virtual address space of a process is split into 2 parts - the first 3 GiB for the user space and the remaining 1GiB for the kernel (with the same kernel mapping being used for all processes. However, although the kernel is mapped into the higher portion of the address space, it resides in the lower 1 GiB of RAM. Is this correct?</p></li><li style="margin:0px 0px 0.5em;padding:0px;border:0px;word-wrap:break-word"><p style="margin:0px 0px 1em;padding:0px;border:0px;clear:both">There is a frequent mention of &quot;mapping RAM to the kernel address space&quot;. Is the whole RAM mapped to the kernel space? What would happen in the case of a machine having only 1 GiB of RAM?</p></li><li style="margin:0px 0px 0.5em;padding:0px;border:0px;word-wrap:break-word"><p style="margin:0px 0px 1em;padding:0px;border:0px;clear:both">Related to the above, what exactly is max_low_pfn? It is mentioned it is the &quot;Page frame number of the last page frame directly mapped by the kernel (low memory)&quot;. What would it&#39;s value be for a machine with 1 GiB RAM? For a machine with 4 GiB RAM, would it be the number of the frame covering the last portion of kernel space (896 MiB)?</p></li></ul><p style="margin:0px 0px 1em;padding:0px;border:0px;clear:both;font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;line-height:19.5px">Sorry if my questions are a bit vague. I&#39;m still new to this and having difficulty relating everything.</p></div><div><br></div><div>Thanks,</div><div>Sunny</div></div>