[100 points] Problem Set
1. [20 points] (from Chapter 12) Explain why SSTF scheduling tends to favor middle
cylinders over the innermost and outermost cylinders.
2. [20 points] 12.8 Requests are not usually uniformly distributed. For example, we can
expect a cylinder containing the file-system metadata to be accessed more frequently
than a cylinder containing only files. Suppose you know that 50 percent of the
requests are for a small, fixed number of cylinders.
a. Would any of the scheduling algorithms discussed in this chapter be
particularly good for this case? Explain your answer.
b. Propose a disk-scheduling algorithm that gives even better performance by
taking advantage of this “hot spot” on the disk.
3. [40 points] 13.3 Consider the following I/O scenarios on a single-user PC:
a. A mouse used with a graphical user interface
b. A tape drive on a multitasking operating system (with no device preallocation
c. A disk drive containing user files
d. A graphics card with direct bus connection, accessible through
For each of these scenarios, would you design the operating system to use buffering,
spooling, caching, or a combination? Would you use polled I/O or interrupt-driven
I/O? Give reasons for your choices.
4. [20 points] 13.7 Typically, at the completion of a device I/O, a single interrupt is
raised and appropriately handled by the host processor. In certain settings, however,
the code that is to be executed at the completion of the I/O can be broken into two
separate pieces. The first piece executes immediately after the I/O completes and
schedules a second interrupt for the remaining piece of code to be executed at a
later time. What is the purpose of using this strategy in the design of interrupt