The University of Queensland Homepage
School of ITEE ITEE Main Website

 COMP3300 - Operating Systems Tutorial 10

COMP3300 – Tutorial 10

Updated on Friday, 18 February 2005 at 4:31 PM
ITEE
 
What’s New:
There are fewer questions this time again, since some of you may still want to focus on your assignment. Should you get behind on tutorials, these questions can be worked on a week late or in lectures as time allows.


Learning objectives for this week:

  • Understand the major concepts we’ve covered, including:
    • different types of I/O hardware
    • implications of speed differences
    • solutions to performance problems
  • Apply these concepts to reasoning about I/O hardware and the interface of I/O to operating systems
  • Apply these concepts to choosing an appropriate implementation strategy
  • Understand issues in improving performance

As before, you should aim to answer all of these questions by the end of the course. Being able to answer them by the end of week 11 is a useful goal. Be prepared: if you know what you can’t do yourself, you will make most efficient use of the tutorial.


  1. Concepts
    1. Why is performance a hard problem when dealing with I/O?
    2. Why is polling not a desirable strategy?
    3. Explain why disks have largely replaced slower media like tape.
  2. Low-Level Implementation
    1. Explain why DMA can sometimes still interfere with CPU operation.
    2. Give three differences between a networked I/O operating and a disk I/O operation, and explain whether the differences are significant.
    3. Which of the following can best be described as blocking, nonblocking, or asynchronous (as defined in the textbook pp 471–472, lecture 10 slide 14)
      1. You send an I/O request to a device, and continue doing other work. You later check whether a variable has been set specifying the I/O has completed.
      2. You launch a thread to do I/O, and that specific thread can block, but others continue.
      3. You do an I/O operation, and wait for it to complete.
  3. Disk Scheduling
    1. For each of the following disk scheduling algorithms, work through the head movements for the queue
      100, 200, 300, 10, 12, 44
      1. FCFS
      2. SSTF
      3. SCAN
      4. LOOK
      5. C-LOOK
    2. Which – both in this case, and in general – is likely to result in less overall head movement? Consider what would happen if the queue could grow as requests were being serviced.
    3. If it is a lot quicker to move the head a long distance at once, than to move that same distance in smaller steps, which of the algorithms looked at before might be better than you first thought?
  4. Long-Term Trends
    Disk farms appear to have largely replaced tape drives for large-scale storage. Discuss why this is the case, and what may change in future, which may cause disks to be replaced by another technology. In the light of this discussion, is the whole section in the book (14.8) about tertiary storage irrelevant?
  5. Work through any problems you may have arising out of week 10 lectures.