Skip to main content

Section 3.6 Advanced Page Tables

In this section we discuss ways to store advanced tables more efficiently. This is [chapter 20](https://pages.cs.wisc.edu/~remzi/OSTEP/vm-smalltables.pdf). Start with section 20.1.

Practice 3.6.1.

What is the main reason for not using bigger pages?
  • We risk wasting more space internally as we are less likely to always use the whole page.
  • We can’t easily use two different page sizes.
  • Page accesses would be slower with bigger pages.
Read section 20.2, about the approach of combining paging and segments.

Practice 3.6.2.

What are disadvantages of the hybrid approach?
  • We may still end up with wasted page table space, for example if the heap is sparsely populated.
  • It is too slow to access.
  • Page tables now have variable size and that may make it harder to find suitable space for them.
Read section 20.3 about multi-level page tables. This is the main approach in use, and it is the one that our xv6-riscv operating system employs. Focus on this section.

Practice 3.6.3.

    True or False: In a multi-level page table what we find at the page directory is the physical addresses where the page tables are. An invalid entry in the page directory means that all the pages that would have been in the range represented by that particular page table are all invalid.
  • True.

  • False.

Practice 3.6.4.

    True or False: One advantage of the multi-level page table is that we don’t need to store the whole table in one large consecutive memory space.
  • True.

  • False.

Practice 3.6.5.

    True or False: A disadvantage of multi-level page tables is that TLB misses are more expensive, as they require two memory lookups to get to the right location.
  • True.

  • False.

Skim through sections 20.4-20.6.
You have attempted of activities on this page.