the os allocates memory for different programs open at the same time, keeping track of how much space is being used and how much is free
transfers programs into and out of memory, allocates free space between programs, and keeps track of memory usage
allocates memory to allow separate processes to run at the same time