With respect to deadlocks in an operating system, which of the following statements is/are FALSE?
📖 Explanation
Statement A: Banker's algorithm is a method for deadlock avoidance, not prevention. Avoidance involves ensuring the system remains in a safe state before granting a resource request, while prevention involves breaking one of the four necessary deadlock conditions from the outset. This statement incorrectly classifies the algorithm, so it is FALSE.
Statement B: Breaking the 'Hold and Wait' condition is a valid deadlock prevention strategy. You can enforce this by either making a process request all its resources at once, or forcing it to release all held resources before requesting a new one. This statement is TRUE.
Statement C: In a Resource Allocation Graph (RAG), an assignment edge represents a resource allocated to a process. The edge is directed from the resource to the process (R→P). A request edge is directed from a process to a resource (P→R). The statement incorrectly describes the direction of the assignment edge, so it is FALSE.
Statement D: A safe state guarantees that there is at least one sequence (a safe sequence) in which all processes can complete their execution without leading to a deadlock. This is the fundamental definition of a safe state, used by algorithms like Banker's. This statement is TRUE.


