CS 110 Homework Assignment 6
Due: Sunday April 29, 9PM

  1. T, 5.3, pg 237, 3 Points
    A disk is double interleaved, i.e., sectors are in the order 0, 3, 6, 1, 4, 7, 2, 5. It has eight sectors of 512 bytes per track, and a rotation rate of 300 rpm. How long does it take to read all the sectors of a track in order, assuming the arm is already correctly positioned, and 1/2 rotation is needed to get sector 0 under the head? What is the data rate? Now repeat the problem for a noninterleaved disk, i.e., sectors are in the order 0, 1, 2, 3, 4, 5, 6, 7, with the same characteristics. How much does the data rate degrade due to interleaving?
    Controllers may be able to read only every other block or maybe every second block - because of the time necessar to read a disk block, then get ready for the next block. Skipping blocks to give the controller time to transfer data to memory is called interleaving.
    Disk with 8 blocks per track, without interleaving block order - 0 1 2 3 4 5 6 7
    Disk with single interleaving block order - 0 4 1 5 2 6 3 7
    Disk with double interleaving block order - 0 3 6 1 4 7 2 5
  2. T, 5.7, pg 237, 5 Points
    In which of the four i/o software layers (Interrupt drivers, Device drivers, Device-independent os software, and User level software) is each of the following done.
    1. Computing the track, sector, and head for a disk read.
    2. Maintaining a cache of recently used blocks.
    3. Writing commands to the device registers.
    4. Checking to see if the user is permitted to use the device.
    5. Converting binary integers to ASCII for printing.
  3. T, 5.9, pg 238, 3 Points
    Disk requests come to the disk driver for cylinders 10, 22, 20, 2, 40, 6, and 38, in that order. A seek takes 6msec per cylinder moved. How much seek time is needed for:
    1. First come, first served
    2. Closet cylinder next.
    3. SCAN
    In all cases the arm is initially at 20 and moving towards track 0.
  4. T, 5.12, pg 238, 3 Points
    The clock interrupt handler on a certain computer requires 2 msec (including process switching overhead) per clock tick. The clock runs at 60Hz. What fraction of the CPU is devoted to the clock?
  5. T, 5.14, pg 238, 3 Points
    Consider how a terminal works. The driver outputs one character and then blocks. When the character has been printed, an interrupt occurs and a message is sent to the blocked drive, which outputs the next character and then blocks again. If the time to pass a message, output a character, and block is 4msec, does this method work well on 110 baud lines? How about 4800 baud lines?
  6. s, 12.2, pg 428
  7. s, 12.5, pg 428

Last modified April 5, 1999 by mike@cs.hmc.edu