Explanation
Each deadlock handling strategy is defined as follows:
A. Deadlock Prevention → 1: Ensures that deadlock never occurs by constraining resource requests to invalidate at least one of the four essential Coffman conditions (Mutual Exclusion, Hold and Wait, No Preemption, Circular Wait).
B. Deadlock Avoidance → 2: Dynamically tracks resource availability and process claims (using algorithms like the Banker's Algorithm) to ensure the system always remains in a safe state before granting a resource.
C. Deadlock Detection → 3: Allows the system to enter a deadlock state and periodically executes detection mechanisms (such as analyzing a Wait-For-Graph for single-instance resources) to identify deadlocks and trigger recovery algorithms.
D. Ostrich Algorithm → 4: Pretends the problem does not exist and completely ignores deadlocks under the assumption that they occur very rarely and the cost of prevention/detection outweighs the risk (used by most general-purpose operating systems like Linux and Windows).
Therefore, the correct mapping is A-1, B-2, C-3, D-4.