MC78 Homework 2 (Fall 1996)
Due: September 30, 1996
Do problem 9 from chapter 2 of the textbook; it is on page 71.
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.
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.
Propose a mechanism for solving this form of priority inversion.
Do problem 22 from from chapter 2 of the textbook; it is on page 73.
Do problem 2 from chapter 3 of the textbook; it is on page 141.
Do problem 5 from chapter 3 of the textbook; it is on page 142.
Instructor: Max Hailperin