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.
|