allows a program to run with only a subset of its assigned address space in main memory
allows programs to run even when they are only partially in main memory
-early schemes required the entire program be loaded  into main memory -programs had to be loaded into contiguous memory  locations -modern memory management solves these problems