所以我有页大小4kb
、32
位地址 CPU 和一个实现的 2 级页表。
我想存储1081页,所以我需要:
1024
二级页表中的条目57
另一个二级页表中的条目2
包含条目的顶级页表。
现在,我需要在内存中存储这些页表的全部大小还是它们占用的内容?
- 在第一种情况下,我会使用
4bytes * 2 + 4bytes * 1024 + 4bytes * 57
- 否则会是
1 * 4bytes * 1024 + 2 * 4bytes * 1024
有什么提示吗?
所以我有页大小4kb
、32
位地址 CPU 和一个实现的 2 级页表。
我想存储1081页,所以我需要:
1024
二级页表中的条目57
另一个二级页表中的条目2
包含条目的顶级页表。现在,我需要在内存中存储这些页表的全部大小还是它们占用的内容?
4bytes * 2 + 4bytes * 1024 + 4bytes * 57
1 * 4bytes * 1024 + 2 * 4bytes * 1024
有什么提示吗?
您的页表需要 3 页(或 12K) - 一个用于顶级页面,两个用于二级页面。仅分配当前需要的空间会比其他方法更复杂并且可能更慢。
查看 Levy 教授的幻灯片,了解有关两级分页的一些精美图片。