Lock-Free Data Structures and Memory Ordering Models
This generated surface maps a learner-facing curriculum unit to its canonical source routes.
Curriculum surface
- Open learner-facing unit
- Curriculum path:
content/curriculum/systems/semester-05-os-networking/module-03-concurrency-synchronization/concepts/cluster-05-lock-free-and-modern-concurrency/14-lock-free-data-structures-and-memory-ordering-models-primary.md - App:
systems - Semester:
semester-05-os-networking - Module:
module-03-concurrency-synchronization - Unit kind:
concept - Curation level:
module_curated
Learning objectives
- Explain Lock-Free Data Structures and Memory Ordering Models in terms of interleavings, invariants, and failure modes rather than prose alone.
- Use Lock-Free Data Structures and Memory Ordering Models to predict what can go wrong in shared-state code before reaching for an implementation fix.
- Use
ostepto connect the learner page to real synchronization APIs, scheduling effects, and recovery strategies.
Prerequisites
- Comfort with threads, process state, and interleaving from earlier operating-systems concepts.
Source books
ostep
Source routes
Ostep
- /books/ostep/chapter-28-locks-the-basic-idea via
OSTEP 28.10: Load-Linked / Store-Conditional,OSTEP 28.11: Fetch-and-Add
Supporting curriculum routes
No supporting curriculum routes linked yet.
External enrichment
- man 3 pthread_mutex_lock (
official_docs_companion) - Grounds lock and critical-section concepts in the semantics of a real API learners will encounter. - Linux Kernel Documentation: Locking (
optional_deep_dive) - Useful after the learner understands the basics and wants to see how locking issues scale in real systems.
AI companion modes
- Explain simply
- Socratic tutor
- Quiz me
- Diagnose my confusion
- Generate extra practice
Source-of-truth note
This teaching unit is learner-facing guidance. Its canonical source backbone is the referenced book ostep, and outside material should only clarify or strengthen that backbone.