Correct Answer:
B. Deadlock
This question describes a classic problem in concurrent programming and operating systems related to resource management. When multiple processes share resources, conflicts can arise.
The correct answer is Deadlock. Deadlock occurs when two or more processes are permanently blocked because each is waiting for a resource that is held by another process in the same set. This creates a circular waiting condition where no process can proceed, leading to a system standstill. For example, Process A holds Resource X and waits for Resource Y, while Process B holds Resource Y and waits for Resource X.
- Starvation is a situation where a process is repeatedly denied access to a resource it needs, even though the resource becomes available. Unlike deadlock, the resource eventually becomes free, but the process never gets it due to unfair scheduling or priority issues.
- Paging is a memory management scheme that allows an operating system to retrieve data from secondary storage and use it in main memory. It's related to virtual memory, not resource contention between processes.
- Spooling (Simultaneous Peripheral Operations Online) is a process of placing data in a temporary working area (the spool) for another program to process. It's commonly used for managing print jobs or other I/O operations, not a state of blocked processes waiting for each other.