Which of the following statements is/are TRUE with respect to deadlocks?
Circular wait is a necessary condition for the formation of deadlock.
In a system where each resource has more than one instance, a cycle in its wait-for graph indicates the presence of a deadlock.
If the current allocation of resources to processes leads the system to unsafe state, then deadlock will necessarily occur.
In the resource-allocation graph of a system, if every edge is an assignment edge, then the system is not in deadlock state.
Option A: True, There are four necessary conditions for Deadlock.
- Mutual Exclusion
- Hold & Wait
- No Preemption
- Circular Wait
Option B: False, wait-for graph is used for deadlock detection, If a cycle is present in the wait-for graph it doesn't indicate the presence of deadlock.
Option C: False, If the system is in an unsafe state, we can say that the deadlock may occur, but we cannot say that the deadlock will necessarily occur.
Option D: True, Assignment Edge indicates that the resource is already assigned. If all edges are assignment edges in RAG (Resource Allocation Graph) then the system is not in a deadlock state.