Question

    Which of the following is a key challenge in handling

    deadlocks in an operating system?
    A Allocating resources in a fair manner. Correct Answer Incorrect Answer
    B Preventing starvation of low-priority processes. Correct Answer Incorrect Answer
    C Detecting a cycle in the resource allocation graph Correct Answer Incorrect Answer
    D Implementing First-Come-First-Serve (FCFS) scheduling Correct Answer Incorrect Answer
    E Managing shared memory among multiple processes. Correct Answer Incorrect Answer

    Solution

    Detailed Explanation: Deadlocks occur when a set of processes is blocked because each process is holding a resource and waiting for another resource held by another process. One of the primary methods for detecting deadlocks is using the resource allocation graph (RAG) . A cycle in this graph indicates a potential deadlock when resources are not reusable or preemptible. Detecting cycles involves examining the directed graph of resources and processes to find circular dependencies. Algorithms like Depth First Search (DFS) are commonly used for this purpose in deadlock detection. Deadlock detection is critical in systems where prevention or avoidance mechanisms are impractical, such as distributed systems. Once detected, the system must recover by terminating one or more processes or preempting resources, which can be complex and resource-intensive. Why Other Options Are Incorrect:

    • Option A: Allocating resources fairly is more related to system performance and fairness policies rather than deadlock handling. Fairness does not directly address circular wait or hold-and-wait conditions.
    • Option B: Preventing starvation is a separate issue. Starvation happens when low-priority processes wait indefinitely, often due to poor scheduling, not necessarily because of deadlocks.
    • Option D: FCFS is a scheduling algorithm that manages the sequence of process execution but does not directly address or solve deadlocks.
    • Option E: Managing shared memory involves synchronization and mutual exclusion issues but is not inherently about detecting cycles in deadlocks.

    Practice Next