Hardware Address Translation
If a process may be swapped-in (back) to a different range of physical
addresses, we need to update its relative addressing. We could have software
modify all addresses found (slow),
or have hardware translate all addresses, on-the-fly,
as/when they are required.
While a process is executing,
we employ a hardware base register to indicate
the beginning of the process's partition,
and a hardware bounds register to indicate the partition's extent.
Each process requires a pair of
(hardware) base and bound registers,
and the pair must be saved and restored
as each process is swapped-out, and later swapped back in.
CITS2002 Systems Programming, Lecture 13, p9, 11th September 2023.
|