Address Translation (Paging)
Medium+14 XPWatch a program's 'page 2' get turned into a real memory location by the page table — the heart of paging.
No visualization loaded.
Watch
—
Press Run to begin.
In paging, the address a program uses isn't where its data really sits. The OS keeps a 'page table' that maps the program's virtual pages to real physical frames. Press Run to watch one virtual page get translated into its real location.
▸What's a page vs. a frame?
Same size, different sides of the map. A 'page' is a fixed-size chunk of the program's virtual memory; a 'frame' is a fixed-size slot in the real physical RAM. The page table says which frame each page currently lives in.
▸What's the page table doing?
It's the lookup list. The program says 'page 2'; the page table has a row for page 2 that reads 'frame 4'. So the OS follows that to the real spot. Every program has its own page table — its own private map.
▸Why not let the program use the real address directly?
Because then programs would have to know where they physically sit and avoid each other — fragile and unsafe. With translation, every program can pretend it owns a clean, simple memory starting at page 0, and the OS secretly places those pages wherever there's room.
▸Why split memory into fixed-size pages?
So any page fits in any free frame — no awkward gaps. If chunks were different sizes, you'd get leftover holes too small to use. Equal-sized pages and frames slot together neatly, like same-size LEGO bricks.