MC78 Homework 2 (Fall 1996)

Due: September 30, 1996

  1. Do problem 9 from chapter 2 of the textbook; it is on page 71.
  2. Another form of priority inversion can happen even when busy waiting is not used for locks (instead, processes waiting for a lock are removed from the pool of runnable processes until the lock becomes available), provided that there are at least three priority levels, and provided that a process's priority remains fixed rather than degrading as it runs. Assume that the scheduler never schedules a lower-priority process if there is a higher-priority process that can run.
    1. In particular, suppose there are three processes, L, M, and H, each with a statically assigned priority that is respectively low, medium, or high. Describe a scenario in which the processor will run M forever rather than H, even though with different scheduling decisions H would wind up running at least most of the time.
    2. Propose a mechanism for solving this form of priority inversion.
  3. Do problem 22 from from chapter 2 of the textbook; it is on page 73.
  4. Do problem 2 from chapter 3 of the textbook; it is on page 141.
  5. Do problem 5 from chapter 3 of the textbook; it is on page 142.

Instructor: Max Hailperin