|
Because of these two facts, namely that programs need to be moved around in memory and that computers cannot logically distinguish between instruction codes and pure data numbers, other relocation schemes had to be developed. They rely upon rewriting each memory address at run time as it is used, usually by adding a new base address to it to get the real address. The original address is sometimes called the virtual address while the calculated address is the real address. Another set of terms is logical address and physical address. Surprisingly, an early approach to relocation in the nascent years of multiprogramming was to actually rewrite the addresses so the code could use absolute addresses. However, each program had to be rewritten for the slot or region of memory in which it would be placed, which meant that these regions had to be fixed and all the same size. IBM went through a series of operating systems based on these different methods. |