Practice question · Multiple choice
Every program is compiled as though it owns memory starting at address zero, and thousands run at once without colliding. What makes that possible?
Hints
- Two processes both use address 0x400000. Ask what the hardware does with each.
- The translation happens on every memory access. What performs it?
Show the answer
C. Virtual memory, each process getting its own translated address space
Why
The MMU translates each process's virtual addresses to distinct physical pages, so identical addresses mean different memory, which gives isolation for free and lets programs be written without knowing what else is running. A wild pointer then hits your own address space rather than someone else's, which is what makes a crash a crash and not a corruption.
Practise Performance Trade-offs
The app has 8 more questions on this lesson, and keeps your place in the course. Computer Science I is free to start.