- Instructors: David Mazières
- Textbook: Operating System Concepts (8th edition)
- URL: http://www.scs.stanford.edu/18wi-cs140/
- Experiment: CS140e
- by Dawson Engler (writing OS with rust)
- https://web.stanford.edu/class/cs140e/
- Introduction
- Threads and processes
- Concurrency
- Scheduling
- Virtual memory hardware
- Virtual memory OS techniques
- Synchronization (1)
- Multicore cache coherence
- MESI protocol
- cc-NUMA
- Spinlock
- Memory consistency
- Amdahl's law
- Locking granularity
- Reader/writer problem
- Shared lock
- Atomic instruction
- Memory reordering
- GCC extension: FSF
- Spinlock on alpha
- Memory barriers/fences
- C11 atomics
- Avoiding locks
- Lock-free producer/consumer
- Non-blocking synchronization
- Wait-free stack
- Synchronization (2)
- RCU
- MCS lock
- Kernel support for synchronization
- Futex
- Deadlock
- RAG
- Preventing deadlock
- Detecting deadlock
- Fixing & debugging deadlock
- Transaction memory
- HLE (Hardware lock elision)
- Scalable OS interface: commutative
- Memory allocation
- Linking
- I/O and disks
- File systems
- Advanced file systems
- Networking
- Protection
- Security
- Virtual machines