Syllabus
- What is an Operating System?
- Four Fundamental OS Concepts
- Abstractions
- Threads, Processes
- Files, IO
- IPC, Pipes, Sockets
- Synchronization
- Concurrency, Context Switching
- Atomic Instructions, Mutual Exclusion, Critical Section
- Locks, Semaphores, Monitors
- Lock Implementation, Readers/Writers
- Scheduling
- Concepts
- Classic Policies and Case Studies
- Fairness, Real Time
- Starvation, Deadlock
- Memory
- Address Translation, Virtual Memory
- Caching, TLB
- Demand Paging
- IO
- IO Device Types, IO Controllers, IO Buses
- HDD, SSD
- File System
- Files, Directories, Naming
- File System Case Studies
- Buffering, Reliability, Transactions