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