Section 11.5
Review Questions

Protection

  1. In a system that uses base+offset run-time memory relocation, why is it impossible for an errant program to hurt memory another program that is "downwind" of it (resides in lower memory)?
  1. How is the IBM key-protection mechanism more flexible than the base+offset method?
  1. And how is the key-protection mechanism less flexible than base+offset?
  1. The following picture shows three programs in memory in a system that uses key-protection. Circle the operations below that will result in errors.
          A reads memory cell 13000
          B reads memory cell 13000
          C writes memory cell 20480
          OS writes memory cell 25000
          A writes memory cell 1024
          A read cell 29000
  1. The following picture shows three programs in memory in a system that uses base+offset protection. Below circle which operations, caused by which jobs, will result in errors. Be careful! Don't be fooled by the fact that the virtual addresses which programs use start at 0!
          A reads memory cell 2500
          A reads memory cell 500
          B reads memory cell 3801
          C writes memory cell 0
          OS writes memory cell 4730
          A writes memory cell 0
          B reads memory cell 0
          B reads memory cell 3600
  1. What adjective do we use when all of a program's memory cells are in the same area of physical memory, as they must be in a system that uses base+offset relocation?
  1. In the following diagram of the hardware that base+offset systems use, put + into one of the circles and - into the other.
  1. What is the subtractor used for in the base+offset hardware?
  1. Why do the virtual addresses of a base+offset system start at 0?
  1. Suppose that in a base+offset system, the field length register was replaced by one that contained the ending address, as in the picture below. Why is such a system not used?