Four Megabytes Of Nothing

A machine has a 32-bit virtual address space, 4 KB pages, and a linear page table with 4-byte entries. A process runs int main(void) { return 0; } and touches perhaps eight pages in its life.

Select every statement that is true. More than one applies.

A

Marking the unused entries invalid saves physical frames for the pages, but saves nothing in the page table itself.

B

Each entry has to store the 12-bit page offset alongside the frame number, which is where a quarter of the 4 bytes goes.

C

The table has 2202^{20} entries and occupies 4 MB, regardless of how few pages the process actually touches.

D

Running 100 such processes costs about 400 MB of physical memory for translations alone.

E

The table shrinks to match what the process touches, because entries exist only for pages that have been mapped.