- when a program is linked, the linker must know at what address the program will begin in the memory
 
- In order to provide basic protection among programs sharing the memory, partitioning techniques use a hardware capability known as memory address mapping, or address translation
 
- suppose that the first instruction is a call to a procedure at absolute address 100 within the binary file produced by the linker
 
- if this program is loaded in partition 1 (at address 100 K, see the Fig. 4.4), that instruction will jump to to absolute address 100, which is inside the operating system
 
- what is needed is a  call to 100K+100
 
- this problem is known as the relocation problem
possible solution is is to modify the instructions as the program loaded into memory
 
- relocation during loading does not solve the protection problem
 
- A solution to both the relocation and protection  problems is to equip the machine with two special hardware registers, called the base and limits registers
 
Figure 4.5:
Address Translation.
| 
 | 
 
2004-05-25