作業系統›Ch5 Deadlock(死結)第 4 題/共 11 題
4. Deadlock、Safe State、Safe Sequence
#OS-05-004難DeadlockSafe StateSafe Sequence
一個狀態是「安全的(safe)」,若系統能以某種順序把資源分配給每個thread,且仍然可以避免死結。系統只有在存在「safe sequence」時才處於safe state。給定7個threads (T0, T1, T2, T3, T4, T5, T6)與3種resource types (R0, R1, R2),下表顯示系統目前的狀態:
- Available:每種resource type目前可用的數量。
- Max:每個thread的最大需求量。
- Allocation:目前已分配給每個thread的每種resource數量。
Available:
| R0 | R1 | R2 |
|---|---|---|
| 3 | 0 | 6 |
Max:
| Thread | R0 | R1 | R2 |
|---|---|---|---|
| T0 | 0 | 3 | 0 |
| T1 | 3 | 6 | 5 |
| T2 | 2 | 1 | 5 |
| T3 | 5 | 6 | 1 |
| T4 | 6 | 1 | 0 |
| T5 | 4 | 1 | 3 |
| T6 | 0 | 6 | 8 |
Allocation:
| Thread | R0 | R1 | R2 |
|---|---|---|---|
| T0 | 0 | 1 | 0 |
| T1 | 1 | 2 | 2 |
| T2 | 1 | 1 | 0 |
| T3 | 1 | 2 | 0 |
| T4 | 2 | 1 | 0 |
| T5 | 1 | 1 | 1 |
| T6 | 0 | 0 | 0 |
共有多少個safe sequences of threads?注意共有 種可能的順序。假設答案是 ,其中W、X、Y、Z是整數且 。請選出正確的敘述。
📄 台大112
▤完整推導請見《WH 資工筆記 · 作業系統》Ch5 Deadlock(死結)