Concurrency

Subpage of Operating Systems

Diving deep into the design and structure of Operating Systems.

Phase 2 — Concurrency (Weeks 5–8). This is where most students struggle. Go slow on deadlock and memory consistency models. Implement a small thread library yourself (pthreads-style) to make the primitives concrete.

As you go along, you need to finish the following topics:

Concurrency vs Parallelism
Threads — Model, Creation, Lifecycle
Locks and Mutexes
Semaphores
Condition Variables
Monitors and Higher-level Primitives
The Producer-Consumer Problem
Deadlock — Detection, Avoidance, Recovery
Starvation and Priority Inversion
Lock-Free Data Structures
Memory Consistency Models
Event-Driven vs Thread-Based Concurrency
Concurrency Bugs and Debugging

/ Continue

Follow the technical trail.

Use the dense notes as the source material, then move through the guided route, writing, or project proof when you want a cleaner entry point.