Question:medium

Consider a three-level page table to translate a 39-bit virtual address to a physical address as shown. The page size is 4KB and page table entry size at every level is 8 bytes. A process \( P \) is currently using 2GB virtual memory mapped to 2GB physical memory. The minimum amount of memory required for the page table of \( P \) across all levels is \(\underline{\hspace{2cm}}\) KB.

Show Hint

In multi-level paging, only required page tables are allocated, minimizing memory usage.
Updated On: Feb 2, 2026
Show Solution

Correct Answer: 4108

Solution and Explanation

To find the minimum amount of memory required for the page table of process \( P \), let's analyze the details given:

  • Virtual Address: 39 bits
  • Page Size: 4KB (meaning the page offset is 12 bits since \(2^{12} = 4096\) bytes)
  • Page Table Entry Size: 8 bytes
  • Total Virtual Memory Used: 2GB

The virtual address is divided into:

  • Level 1 offset: 9 bits
  • Level 2 offset: 9 bits
  • Level 3 offset: 9 bits
  • Page offset: 12 bits

The number of pages in virtual memory \(= \frac{2GB}{4KB} = \frac{2 \times 2^{30}}{2^{12}} = 2^{19}\) pages.

This implies \(2^{19}\) different page table entries at level 3.

Each level 3 table entry is 8 bytes, so total Level 3 table memory = \(2^{19} \times 8\) bytes = \(2^{19} \times 2^3\) = \(2^{22}\) bytes = 4096 KB.

Since each Level 3 entry requires a Level 2 entry, and each Level 2 entry requires a Level 1 entry:

  • Level 1 page table memory and Level 2 page table memory contribute insignificantly compared to Level 3 (largest table).

Thus, the minimum required memory for the page table of \( P\) across all levels is:

  • 4096 KB

This value falls within the expected range: 4108,4108.

Was this answer helpful?
0