Memory management requirements
Relocation: Branch addresses and data references within a program memory space (user address space) have to be translated into references in the memory range a program is loaded into.
Protection: Each process should be protected against unwanted (unauthorized) interference by other processes, whether accidental or intentional. Fortunately, mechanisms that support relocation also form the base for satisfying protection requirements.