Sai*_*Das 2 operating-system memory-management
考虑具有32位虚拟地址和1KB页面的虚拟内存系统.每个页表条目需要32位.希望将页表大小限制为一页.
在这样的系统上有2 ^ 32/2 ^ 10 = 2 ^ 22页.这意味着只需要22位来寻址页面.为了简单和实用,大多数现代系统将其与32位对齐并使用额外位作为标志,因此在32位页表条目中,页表地址中有16 MB.单个页面可以容纳256个条目,因此最深层次需要总页数为2 ^ 22/256 = 16384.然后下一级将有16384/256 = 64; 最高级别适合一页,因为64 <256,因此答案是3.
如果您忽略了32位对齐(在现实世界的情况下这是不可能的),那么答案仍然是三,因为在22位时每页最多有372个条目因此,2 ^ 22/372 = 11275第一个和第二个11275/372 = 30,第三个是1.
或者你可以从上到下解释它,所以不是从最深层开始,而是从顶层开始.在这种特殊情况下,从顶部开始将导致最深层次,每页具有最多未使用的条目.这显然不是理想的,最好是在更高级别使用未使用的页表条目.
然而,在这些解释中,答案是明确的3.