7.2 7.5 7.6 7.7 7.11

7.2 Consider the deadlock situation that could occur in the dining-philosophers problem when the philosophers obtain the chopsticks one at a time. Discuss how the four necessary conditions for deadlock indeed hold in this setting. Discuss how deadlocks could be avoided by eliminating any one of the four conditions.

• 互斥条件。资源具有排他锁。

• 占有和等待条件。已经得到了某个资源的进程可以再请求新的资源。

• 不可抢占条件。已经分配给一个进程的资源不能强制性地被抢占，它只能被占有它的进程显式地释放。

• 环路等待条件。死锁发生时，系统中一定有由两个或两个以上的进程组成的一条环路，该环路中的每个进程都在等待着下一个进程所占有的资源。

7.5 In a real computer system, neither the resources available nor the demands of processes for resources are consistent overlong periods(months).Resources break or are replaced, new processes come and go, new resources are bought and added to the system. If deadlock is controlled by the banker’s algorithm, which of the following changes can be made safely (without introducing the possibility of deadlock), and under what circumstances?

a. Increase Available (new resources added).

b. Decrease Available (resource permanently removed from system)

c. Increase Max for one process (the process needs more resources than allowed, it may want more)

d. Decrease Max for one process (the process decides it does not need that many resources)e. Increase the number of processes.

f. Decrease the number of processes.

7.6 Consider a system consisting of four resources of the same type that are shared by three processes, each of which needs at most two resources. Show that the system is deadlock-free.

7.7 Consider a system consisting of m resources of the same type, being shared by n processes. Resources can be requested and released by processes only one at a time. Show that the system is deadlock free if the following two conditions hold:

7.11 Consider the following snapshot of a system:

a. What is the content of the matrix Need?

$$\begin{pmatrix}0&0&1&2\\ 1&7&5&0\\ 2&3&5&6\\ 0&6&5&2\\ 0&6&5&6\end{pmatrix}-\begin{pmatrix}0&0&1&2\\ 1&0&0&0\\ 1&3&5&4\\ 0&6&3&2\\ 0&0&1&4\end{pmatrix}=\begin{pmatrix}0&0&0&0\\ 0&7&5&0\\ 1&0&0&2\\ 0&0&2&0\\ 0&6&4&2\end{pmatrix}$$

b. Is the system in a safe state?

[1 5 2 0] + [0 6 4 2] = [1 6 6 2]，从而可以分配给 p2

[1 6 6 2] + [2 3 5 6] = [3 9 11 8]，从而可以分配给 p1, p4

c. If a request from process P1 arrives for (0,4,2,0), can the requestbe granted immediately?