2. Base and Bounds

Address space limit:
  0 ≤ virtual_address < virtual_address_space_size
Bound limit:
  0 ≤ virtual_address < bound
Translation:
  physical_address = virtual_address + base

  0 ≤ physical_address < physical_address_space_size

Exercises from the book using relocation.py:

1. Run with seeds 1, 2, and 3, and compute whether each virtual address generated by the process is in or out of bounds. If in bounds, compute the translation.

2. Run with these flags: -s 0 -n 10. What value do you have set -l (the bounds register) to in order to ensure that all the generated virtual addresses are within bounds?

3. Run with these flags: -s 1 -n 10 -l 100. What is the maximum value that base can be set to, such that the address space still fits into physical memory in its entirety?