= Page size choice
Why are pages 4KiB anyways?
There is a trade-off between memory wasted in:
* page tables
* extra padding memory within pages
This can be seen with the extreme cases:
* if the page size were 1 byte:
* granularity would be great, and the OS would never have to allocate unneeded padding memory
* but the page table would have 2^32 entries, and take up the entire memory!
* if the page size were 4GiB:
* we would need to swap 4GiB to disk every time a new process becomes active
* the page size would be a single entry, so it would take almost no memory at all
x86 designers have found that 4KiB pages are a good middle ground.
Back to article page