Section 11.2
Review Questions

Multiprogramming

  1. Define multiprogramming.
answer...
The technique of keeping more than one partially completed user program in memory at the same time and rapidly switching among them to give the illusion that the computer is working on all of them simultaneously
  1. In the following picture of a multiprogrammed, multi-user computer system where are the controllers?
answer...
  1. In the same picture, in which memory region would the OS code usually be put?
answer...
  1. What is another name for controller?
answer...
channel
  1. When a device (the main CPU or a controller) wants to access main memory, it must temporarily control it. What do we call the role that this device temporarily takes on?
answer...
master
  1. The huge disparity in speeds of which devices in a computer systems makes multiprogramming feasible?
answer...
memory devices (e.g. main memory versus secondary storage)
  1. Fill in the following table:
              To read from a ...                 It takes _____ nanoseconds
              ------------------                 --------------------------
                 register
                 main memory cell
                 hard disk sector
answer...
    To read from a ...       It takes _____ nanoseconds
    ------------------       --------------------------
       register                         70
       main memory cell                700
       hard disk sector          1,000,000
  1. Explain how an interrupt can be used to coordinate the activities of an I/O controller and the main CPU.
answer...
The main CPU can keep working until the I/O controller sends an interrupt to tell it that the operation has finished. Thus, the main CPU does not have to wait for the I/O device to finish, nor does it have to keep checking.
  1. What happens if several user jobs finish and collectively there is enough memory to start a new job, but it is broken into several noncontiguous pieces?
answer...
memory is compacted