AlgoViz
—
← Back to trail

Address Translation (Paging)

Medium+14 XP

Watch a program's 'page 2' get turned into a real memory location by the page table — the heart of paging.

No visualization loaded.

Watch

—

i

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.

🧠Paging splits memory into fixed-size pages (virtual) and frames (physical). The page table maps each page to its frame, so a program's 'page 2' becomes a real 'frame 4' — translation it never even sees.
the program's virtual pagethe page-table lookupthe real physical frame