When a program is running, the operating system divides its memory into fixed-size blocks called .

A page table is used to map virtual addresses to addresses.

If a page is not currently in physical memory, a page fault occurs and the operating system must retrieve it from .