正在计算 2 级页面的大小 table

Calculating the size of a 2-level page table

所以我的页面大小为 4kb32 位地址 CPU 和一个已实现的 2 级页面 table。

我要存储1081页,所以我需要:

  1. 1024 二级页面条目-table
  2. 57 另一个二级页面中的条目 table
  3. 顶级页面 table 包含 2 个条目。

现在,我需要在内存中存储这些页面的全部大小 table 还是只存储它们占用的大小?

  1. 在第一种情况下,我会使用 4bytes * 2 + 4bytes * 1024 + 4bytes * 57
  2. 否则就是1 * 4bytes * 1024 + 2 * 4bytes * 1024

有什么提示吗?

您的页面需要 3 页(或 12K)table - 一个用于顶级页面,两个二级页面。仅分配当前需要的 space 会比替代方法更复杂,而且可能更慢。

查看 Levy 教授的 slides 两级分页上的一些精美图片。