---
title: "Virtual Memory and Address Translation"
description: "Every process is given its own address space, and the hardware translates its addresses into real ones through a page table on every access. This is what stops one program reading another's memory and"
canonical: https://lightmysky.com/learn/computing/virtual-memory-and-address-translation-mt_B-PiAyderj
source: https://lightmysky.com/learn/computing/virtual-memory-and-address-translation-mt_B-PiAyderj.md
retrieved: 2026-09-12
---

> **Agent view.** This is the Markdown twin of the page, for tools and assistants.
> When to use this site, and the call that answers each job: https://lightmysky.com/agent-instructions.md
> API description (OpenAPI 3.1): https://lightmysky.com/openapi.json · Authentication: https://lightmysky.com/auth.md
> Pricing: https://lightmysky.com/pricing.md · Catalog: https://lightmysky.com/llms.txt · Full catalog: https://lightmysky.com/llms-full.txt
> Every machine-readable file on this domain: https://lightmysky.com/.well-known/ai-catalog.json
> Ask for Markdown with `Accept: text/markdown`, a `.md` address, or `?mode=agent`.

# Virtual Memory and Address Translation

Every process is given its own address space, and the hardware translates its addresses into real ones through a page table on every access. This is what stops one program reading another's memory and what lets a program use more memory than the machine has.

Subject: Computing · Area: Computer Systems · Ages 19 to 21
Page: https://lightmysky.com/learn/computing/virtual-memory-and-address-translation-mt_B-PiAyderj

## Ready when they can

- Translate a virtual address to a physical one given a page table and page size
- Explain what the translation lookaside buffer caches and why it matters
- Say what isolation the page table gives and what it does not

## Lesson: Your own address space on shared memory

Every address your program touches belongs to its address space, the full set of addresses it may use. Think of each program owning its own house with its own room numbers, while all houses share one street.

**Example.** Address translation maps your numbers to real memory on every access. Split the virtual address into a page number and an offset, look the page up in the page table to find its frame, then attach the same unchanged offset. With a page size of 100, page 3 offset 40 in frame 7 becomes spot 740.

Translation happens on every single access, so speed matters. The translation lookaside buffer caches recent page table entries and answers from the cache instead of walking the table each time.

**Tip.** Separate tables stop one program reading another by guessing numbers, and they allow more addresses than real memory holds. They do not stop a program trashing its own rooms or saving bad data.

**Recap.** Each program numbers its own space, hardware translates every access through its table, and separate tables keep programs apart.

## Practice

8 questions on this page, each with its working shown.

## Needs first

- [Processes, Context Switches and What They Cost](https://lightmysky.com/learn/computing/processes-context-switches-and-what-they-cost-mt_oiOwHKUoXG)
- [Hexadecimal as Binary Shorthand](https://lightmysky.com/learn/computing/hexadecimal-as-binary-shorthand-mt_OV6PHdnU6N)
- [Scheduling: Deciding Which Process Runs Next](https://lightmysky.com/learn/computing/scheduling-deciding-which-process-runs-next-mt_QZYzfVIcP6)

## Opens up

- [Threads and Shared Memory](https://lightmysky.com/learn/computing/threads-and-shared-memory-mt_N4EGNbN6Xh)
- [Paging, Page Faults and Replacement Policies](https://lightmysky.com/learn/computing/paging-page-faults-and-replacement-policies-mt_nEEuGL89Ze)
