The correct answer is A process waits indefinitely for resources held by other processes. Deadlock in an operating system is a critical situation where two or more processes are stuck, each waiting for a resource that is currently held by another process in the same cycle. This creates a circular dependency where no process can proceed because it needs a resource that another blocked process possesses. This typically involves four necessary conditions: mutual exclusion, hold and wait, no preemption, and circular wait. When these conditions are met, the system enters a deadlock state, leading to system unresponsiveness and resource starvation.
Let's examine why the other options are incorrect:
- A process terminates unexpectedly: This describes a process crash or abnormal termination, which is a different type of system failure than a deadlock. While it can be problematic, it does not involve processes waiting indefinitely for resources held by others.
- CPU is overloaded: An overloaded CPU means the processor is busy with too many tasks, leading to slow performance and delayed execution. While resource contention can contribute to an overload, it does not inherently mean a deadlock, which specifically refers to a circular waiting condition for resources.
- Memory is insufficient: Insufficient memory can lead to issues like swapping, thrashing, or processes failing to launch. While a lack of memory is a resource problem, it doesn't describe the specific scenario of processes waiting for resources held by other processes in a circular fashion, which defines a deadlock.