Final answer:
Deadlock avoidance (c) is the correct answer and involves making safe resource allocation decisions to avoid reaching a state where deadlock can occur. It is distinct from deadlock prevention, detection, and recovery, which prevent the conditions, identify deadlocks, or recover from them respectively.
Step-by-step explanation:
The correct answer to the question is c) Deadlock avoidance. Deadlock avoidance is a strategy used to ensure that a system will never reach a point where a deadlock can occur. This is done by making prudent decisions about resource allocation. For instance, the Banker's Algorithm is a well-known deadlock avoidance strategy that ensures a system remains in a safe state by only allowing resource allocations that will not lead to a potential deadlock.
Different from deadlock prevention, which is a set of methods for ensuring at least one of the necessary conditions for deadlock does not hold, deadlock avoidance carefully considers each request and decides whether or not it is safe to proceed with the allocation.
Deadlock detection and recovery, on the other hand, handle a deadlock after it has occurred. Deadlock detection involves constantly checking for deadlocks and identifying them when they occur, while deadlock recovery might involve processes such as terminating a process or rolling back to a safe state.