Homework #1
Due Date: Tuesday, February 8, 2000 at 11:59PM
Points: 100
- (20 points) The following table shows domains and ranges for
a system of processes along with known precedence constraints:
process |
p1 |
p2 |
p3 |
p4 |
p5 |
p6 |
p7 |
domain |
v5 |
v1, v7 |
v4 |
v4, v8 |
v2 |
v3 |
v4 |
range |
v4, v7 |
v5 |
v6 |
v2 |
v1, v3 |
v5 |
v5, v8 |
preceded by
| |
p1 |
p1 |
p2 |
p3 |
p3 |
p4, p6 |
Add the minimum number of precedence constraints to make this system
of processes determinate. Do not remove any constraints.
- (26 points) For a semaphore s, define:
init[s] is the initial value of s;
start_down[s] is the number of times down(s) has been
started;
end_down[s] is the number of times down(s) has been completed;
and
end_up[s] is the number of times dowupn(s) has been completed.
A useful semaphore invariant is:
end_down[s] = min(start_down[s], init[s] + end_up[s]);
Show that
0 < end_down[empty] - end_down[full] < n
for the version of the producer-consumer solution using semaphores in
the handout Process Synchronization and Communication,
p. 11.
- (14 points) Indicate how each of the following items could be
incorporated in the monitor mechanism (a sentence or two for each is
sufficient; you do not have to show an implementation).
- type of request
- times at which the requests were made
- request parameters
- process information
- priority relation
- local state of resource
- history information
- (20 points) Show that the ordered request policy of Havender
prevents deadlocks (text, problem 3.4).
- (20 points) Given that the mutual exclusion, hold and wait, and no
preemption conditions are in place, consider the following strategy:
All processes are given unique priorities. When more than one process
is waiting for a resource and the resource becomes available, allocate
the resource to the waiting process with the highest priority. Either
prove this prevents deadlock or give an example in which this strategy
does not prevent deadlock.
Extra Credit
- (10 points) (Tanenbaum) Cinderella and the Prince are getting
divorced. To divide their property, they have agreed on the following
algorithm. Every morning, each one may send a letter to the other's
lawyer requesting one item of property. Since it takes a day for
letters to be delivered, they have agreed that if both discover that
they have requested the same item on the same day, the next day they
will send a letter cancelling the request. Among their property is
their dog, Woofer, Woofer's doghouse, their canary Tweeter, and
Tweeter's cage. The animals love their houses, so it has been agreed
that any division of property separating an animal from its house is
invalid, requiring the whole division to start over from scratch. Both
Cinderella and the Prince desperately want Woofer. So they can go on
(separate) vacations, each spouse has programmed a personal computer to
handle the negotiation. When they come back from vacation, the computers
are still negotiating. Why? Is deadlock possible? Starvation?
Discuss.
Send email to
cs251@csif.cs.ucdavis.edu.
Department of Computer Science
University of California at Davis
Davis, CA 95616-8562
Page last modified on 1/26/2000