Note that there are some explanatory texts on larger screens.

plurals
  1. POWhy can't OS use entire 64-bits for addressing? Why only the 48-bits?
    primarykey
    data
    text
    <p>I'm reading "Understanding Linux Kernel". </p> <blockquote> <p><strong>Paging for 64-bit Architectures</strong></p> <p>As we have seen in the previous sections, two-level paging is commonly used by 32-bit microprocessors. Two-level paging, however, is not suitable for computers that adopt a 64-bit architecture. Let's use a thought experiment to explain why:</p> <p>Start by assuming a standard page size of 4 KB. Because 1 KB covers a range of 2<sup>10</sup> addresses, 4 KB covers 2<sup>12</sup> addresses, so the Offset field is 12 bits. This leaves up to 52 bits of the linear address to be distributed between the Table and the Directory fields. <strong><em>If we now decide to use only 48 of the 64 bits for addressing (this restriction leaves us with a comfortable 256 TB address space!)</em></strong>, the remaining 48-12 = 36 bits will have to be split among Table and the Directory fields. If we now decide to reserve 18 bits for each of these two fields, both the Page Directory and the Page Tables of each process should include 2<sup>18</sup> entries that is, more than 256,000 entries.</p> </blockquote> <ol> <li><p>"If we now decide to use only 48 of the 64 bits for addressing". Why? &amp; Why only 48 bits? Why not some other number?</p></li> <li><p>Well, I'm just a regular PC user &amp; programmer. Its just hard to believe for me that 32-bit addressing i.e. 4GB (2GB/3GB to be more correct) address space per process is a limit. If you <em>really</em> encountered this limit. Please give me example.</p></li> <li><p>What is this limit for windows?</p></li> <li><p>I know that virtual memory != physical memory &amp; processor address pins have nothing to do with virtual memory. This is a completely different question. How to know the number of address pins (= size of address bus) for a processor. <a href="http://ark.intel.com" rel="nofollow noreferrer">http://ark.intel.com</a> specifications of a processor doesn't include this spec.</p></li> </ol> <p><strong>Answer:</strong></p> <p>See <a href="https://stackoverflow.com/questions/3219562/why-cant-os-use-entire-64-bits-for-addressing-why-only-the-48-bits/3220642#3220642">Paul Betts's answer</a> for reasonable answer for 1st question.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload