The value in the relocation register is added to every address generated by a user process at the time it is sent to memory
Methods
Contiuous Memory Allocation (old method):
Each process contained in single contiguous section of memory
MMU maps logical address dynamically using base and limit registers
Base register contains value of smallest physical address
Limit register contains range of logical addresses
New process is allocated to memory from a large enough hole
Which hole to allocate:
First-fit: allocate first hole that is big enough
Best-fit: allocate the smallest hole that is big enough
Must search entire list
produces the smallest leftover holes
Worst-fit: allocate the largest hole
Must search entire list
Produces the largest leftover holes
Fragmentation issue:
external fragmentation: Total memory space exists to satisfy a request, but it is not contiguous
internal fragmentation: Allocated memory may be slightly larger than requested memory; this size difference is memory internal to a partition, but not being used, i.e., wasted