Memory management requirements

Process is swapped out of execution, when it’s swapped back in it will likely no longer be in the same location in main memory
Processes should be protected from interference from other processes
Processes should be able to share memory – eg. multiple processes running the same program, or common system resources etc…
Logical organisation
Memory is linear – programs are not. Segmentation is used to solve this problem
Physical organisation
Virtual memory – organise flow of information between main and secondary memory
Achieve high level of Multiprogramming
Use memory efficiently and allow for a reasonable supply of “ready” resources