CITS2002 Systems Programming  
prev
next CITS2002 CITS2002 schedule  

The Need for Address Relocation

Simple memory management schemes share one significant assumption: that, when a process is swapped-out, it will always be swapped back into memory, having access to the same memory locations as before.

This assumption actually complicates the memory management task, and contributes to memory fragmentation.

We need to define three terms:

A logical address
is a reference to a memory location independent of any current assignment of data to main memory.

A relative address
is a logical address expressed relative to a fixed (logical) location, such as the beginning of the process's image.

A physical address, or absolute address
is an actual location in main (physical) memory.

 

We've previously (implicitly) assumed that when a process is initially loaded (from disk), its relative addresses are replaced by absolute addresses.

More realistically, we enable processes to be swapped-in to any feasible range of physical memory: and this location is unlikely to be the same as before.

 


CITS2002 Systems Programming, Lecture 13, p8, 11th September 2023.