Tutorial Week 12


Q1: Suppose that a disk drive has 5000 cylinders, numbered 0 to 4999. The drive is currently serving a request at cylinder 143, and the previous request was at cylinder 125. The queue of pending requests, in FIFO order, is
86, 1470, 913, 1774, 948, 1509, 1022, 1750, 130.
Starting from the current head position, what is the total distance (in cylinders) that the disk arm moves to satisfy all the pending requests, for each of the following disk-scheduling algorithms?

  1. FIFO
  2. SSTF
  3. SCAN (Elevator)
  4. C-SCAN (Modified ELevator)

Q2: It should be clear that disk striping can improve the data transfer rate when the strip size is small compared to the I/O request size. Is should also be clear the RAID 0 provides improved perforamnce relative to a single large disk, because multiple I/O requests can be handled in parallel. However, in this latter case, is the disk striping necessary? That is, does disk striping improve I/O request rate performance compared to a similar disk array without striping?

Q3: RAID 5 has similar read performance to RAID 0 (striping), but poorer write performance. Why?

Q4: A disk has an average seek time of 5ms, a rotational speed of 15,000 rpm, and 500 sectors per track. What is the average access time to read a single sector? What is the expected time to read 500 contiguous sectors on the same track? What is the expected time to read 500 sectors scattered over the disk?

Q5: What do the terms I/O bound and CPU bound mean when used to describe a process (or thread)?

Q6: What is the difference between cooperative and pre-emptive multitasking?