Bird
Raised Fist0
Operating Systemsknowledge~20 mins

Deadlock detection and recovery in Operating Systems - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Deadlock Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Understanding Deadlock Detection

Which of the following best describes the purpose of deadlock detection in operating systems?

ATo identify deadlocks after they have occurred and take action to resolve them
BTo avoid deadlocks by careful resource allocation before they happen
CTo prevent deadlocks by denying resource requests that could cause them
DTo ignore deadlocks since they rarely occur in modern systems
Attempts:
2 left
💡 Hint

Think about what happens after a deadlock has already happened.

📋 Factual
intermediate
2:00remaining
Deadlock Recovery Methods

Which of the following is NOT a common method used for deadlock recovery?

ATerminating one or more processes involved in the deadlock
BIncreasing the number of resources available to all processes
CPreempting resources from some processes and reallocating them
DRolling back processes to a safe state before deadlock
Attempts:
2 left
💡 Hint

Consider which option is not a direct recovery technique.

🔍 Analysis
advanced
2:00remaining
Detecting Deadlock with Resource Allocation Graphs

Given a resource allocation graph with cycles, which statement is true about deadlock detection?

ADeadlock can only be detected if the graph has no cycles
BA cycle in the graph always means a deadlock exists
CCycles are irrelevant to deadlock detection
DA cycle in the graph means deadlock exists if each resource has only one instance
Attempts:
2 left
💡 Hint

Think about how resource instances affect deadlock detection.

❓ Comparison
advanced
2:00remaining
Comparing Deadlock Detection Algorithms

Which of the following statements correctly compares the wait-for graph and the resource allocation graph methods for deadlock detection?

AResource allocation graphs are simpler and used only when each resource has one instance
BWait-for graphs represent processes and resources separately, while resource allocation graphs do not
CWait-for graphs are simpler and used when each resource has multiple instances
DResource allocation graphs cannot detect deadlocks involving multiple instances of resources
Attempts:
2 left
💡 Hint

Consider the complexity and usage scenarios of each graph type.

❓ Reasoning
expert
3:00remaining
Choosing Deadlock Recovery Strategy

An operating system detects a deadlock involving multiple processes and resources. Which recovery strategy minimizes system disruption while ensuring deadlock resolution?

APreempt resources from processes with the lowest priority and reallocate them
BTerminate all processes involved in the deadlock immediately
CIgnore the deadlock and wait for processes to timeout
DRollback all processes to their initial states
Attempts:
2 left
💡 Hint

Think about balancing system stability and deadlock resolution.

Practice

(1/5)
1. What is the main purpose of deadlock detection in operating systems?
easy
A. To find when programs are stuck waiting forever
B. To speed up program execution
C. To allocate more memory to programs
D. To prevent viruses from entering the system

Solution

  1. Step 1: Understand deadlock concept

    Deadlock happens when programs wait forever for resources held by each other.
  2. Step 2: Identify deadlock detection role

    Deadlock detection finds these stuck programs so the system can fix the problem.
  3. Final Answer:

    To find when programs are stuck waiting forever -> Option A
  4. Quick Check:

    Deadlock detection = find stuck programs [OK]
Hint: Deadlock detection means finding stuck programs [OK]
Common Mistakes:
  • Confusing detection with prevention
  • Thinking it speeds up programs
  • Mixing with security tasks
2. Which of the following is a correct method used in deadlock recovery?
easy
A. Terminating one or more processes
B. Encrypting data
C. Adding more RAM
D. Increasing CPU speed

Solution

  1. Step 1: Review deadlock recovery methods

    Recovery fixes deadlocks by freeing resources or stopping processes causing the deadlock.
  2. Step 2: Match options to recovery methods

    Terminating processes is a common way to break deadlocks by releasing resources.
  3. Final Answer:

    Terminating one or more processes -> Option A
  4. Quick Check:

    Recovery = stop processes to free resources [OK]
Hint: Recovery often stops processes to free resources [OK]
Common Mistakes:
  • Thinking hardware upgrades fix deadlocks
  • Confusing recovery with detection
  • Believing encryption helps deadlocks
3. Consider a system with three processes P1, P2, P3 and resources R1, R2. If P1 holds R1 and waits for R2, P2 holds R2 and waits for R1, and P3 is idle, what does deadlock detection report?
medium
A. No deadlock detected
B. Deadlock involving P2 and P3
C. Deadlock involving P1 and P2
D. Deadlock involving all three processes

Solution

  1. Step 1: Analyze resource holding and waiting

    P1 holds R1 and waits for R2; P2 holds R2 and waits for R1; P3 is idle (not waiting).
  2. Step 2: Identify circular wait

    P1 and P2 are waiting on each other's resources, forming a cycle causing deadlock; P3 is not involved.
  3. Final Answer:

    Deadlock involving P1 and P2 -> Option C
  4. Quick Check:

    Circular wait between P1 and P2 = deadlock [OK]
Hint: Look for circular waiting processes [OK]
Common Mistakes:
  • Including idle processes in deadlock
  • Ignoring circular wait condition
  • Assuming no deadlock if one process is idle
4. A system uses a deadlock detection algorithm but never recovers from deadlocks. What is the main problem with this approach?
medium
A. Deadlocks will be prevented automatically
B. Deadlocks will never be found
C. System will run faster
D. System will detect deadlocks but remain stuck

Solution

  1. Step 1: Understand detection without recovery

    Detection finds deadlocks but does not fix them if recovery is missing.
  2. Step 2: Identify system behavior

    The system will know deadlocks exist but processes remain stuck, causing hang or freeze.
  3. Final Answer:

    System will detect deadlocks but remain stuck -> Option D
  4. Quick Check:

    Detection alone = find deadlock, no fix [OK]
Hint: Detection finds; recovery fixes deadlocks [OK]
Common Mistakes:
  • Thinking detection prevents deadlocks
  • Assuming system runs faster without recovery
  • Believing deadlocks won't be found
5. In a system with multiple processes and resources, which strategy best combines deadlock detection and recovery to maintain system fairness and efficiency?
hard
A. Prevent deadlocks by denying all resource requests
B. Detect deadlocks periodically and terminate the process holding the most resources
C. Ignore deadlocks and restart the system when it freezes
D. Allow deadlocks and manually fix them later

Solution

  1. Step 1: Understand combined detection and recovery

    Detecting deadlocks periodically helps find problems early; recovering by terminating processes frees resources.
  2. Step 2: Evaluate options for fairness and efficiency

    Terminating the process holding most resources frees maximum resources, improving system efficiency and fairness.
  3. Final Answer:

    Detect deadlocks periodically and terminate the process holding the most resources -> Option B
  4. Quick Check:

    Periodic detection + smart recovery = fairness and efficiency [OK]
Hint: Detect often; recover by freeing max resources [OK]
Common Mistakes:
  • Preventing all requests reduces efficiency
  • Ignoring deadlocks causes system freeze
  • Manual fixes delay problem resolution
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard