This week covers deadlock conditions, resource-allocation graphs, prevention, avoidance, detection, and recovery strategies in operating systems.
Week 6 studies what can go wrong when multiple processes or threads compete for resources. Students learn the four necessary deadlock conditions and practical strategies for handling deadlocks.
| Time | Activity | What Students Do | Link |
|---|---|---|---|
| Before Lecture | Preparation Reading | Read OSTEP Chapter 32 and prepare one example of circular waiting. | Book → |
| Lecture 1 | Deadlock Basics | Mutual exclusion, hold and wait, no preemption, circular wait, and resource-allocation graphs. | Slides → |
| Lecture 2 | Deadlock Handling | Prevention, avoidance, detection, recovery, lock ordering, and timeout-based approaches. | Slides → |
| Lab Session | Deadlock Lab | Create a simple deadlock using pthread mutexes, diagnose it, and fix it using lock ordering. | Lab → |
| After Lecture | Assignment 6 | Analyze several resource-allocation scenarios and identify whether deadlock can occur. | Assignment → |
| End of Week | Quiz 6 | Complete short quiz on deadlock conditions, prevention, avoidance, detection, and lock ordering. | Quiz → |
List the four deadlock conditions, identify deadlock in examples, explain prevention and avoidance, and fix simple deadlocks using lock ordering.
Slides for deadlocks. Replace this placeholder with your final PDF or Google Slides link.
Instructor notes and class summary for review after lecture and before assessment.
Placeholder for lecture recording or external video link. Replace this href with YouTube, Blackboard, or local recording URL.
Starter files, examples, and templates for the Week 6 lab and assignment.
Complete the assigned reading before lecture. Focus on definitions, mechanisms, tradeoffs, and examples that connect to the lab.
Use this reference to look up commands, system calls, library calls, and Linux behavior related to this week.
Create a simple deadlock using pthread mutexes, diagnose it, and fix it using lock ordering.
Analyze several resource-allocation scenarios and identify whether deadlock can occur. Submit source code, screenshots, and a short explanation.
Short quiz covering deadlock conditions, prevention, avoidance, detection, and lock ordering.
Central download area for slides, notes, lab, assignment, starter code, and reference files. Replace placeholder paths after uploading final files.
Week 7 focuses on memory management. Students move from CPU and concurrency management to memory abstractions.