1. Describe how the Home Adress scheme works in Monile IP.
2. Explain the difference between a hard link and a soft link in UNIX systems. Are there things that can be
done with a hard link that cannot be done with a soft link or vice versa?
3. Consider the behavior of two machines in a distributed system. Both have clocks that are supposed to
tick 1000 times per millisecond. One of them actually does, but the other ticks only 990 times per
millisecond. If UTC updates come in once a minute, what is the maximum clock skew that will occur?
4. Synchronizing clock time on a distributed system may not guarantee that an event A
preceded an event B if the timestamps ts(A) < ts(B). Briefly explain how vector clocks
attempt to remedy this situation and briefly describe how they work.
5. Suppose that we have three processors P0, P1, and P2, with vector clocks (4,3,5), (3,5,3)
and (1,3,6) respectively. Suppose P0 sends a message to P1, and P1 subsequently sends
a message to P2. Show the vector clocks after these events.
. 6. a) Describe how mutual exclusion can be enforced by possession of a TOKEN.
b) If we assume that no processor fails, or goes into an infinite loop, explain how this
TOKEN scheme can guarantee fairness (non-starvation).
c) If we don’t assume that the system is failure-free, explain how blocking while waiting for
a TOKEN request to be fulfilled can lead to a problem.
d) Suggest how to remedy this problem.