CS301
Operating Systems
The software that manages the machine: processes, scheduling, virtual memory, and concurrency.
10 modules · 50 lessons · Practice after every lesson
Take first
Syllabus
Module 1
Operating-System Structure
- What an Operating System Provides
- Kernel and User Mode
- System Calls and API Boundaries
- Monolithic, Microkernel, and Modular Designs
- Boot, Initialization, and Kernel Control Flow
Module 2
Processes and Execution
- Processes and Address Spaces
- Process Creation and Termination
- Context Switching
- Interprocess Communication
- Signals, Events, and Process Control
Module 3
Threads and Concurrency
- Threads and Shared State
- Race Conditions and Atomicity
- Locks and Mutual Exclusion
- Condition Variables and Monitors
- Semaphores and Coordination Patterns
Module 4
Concurrent-System Correctness
- Safety, Liveness, and Progress
- Deadlock Conditions
- Deadlock Prevention and Avoidance
- Lock Ordering and Hierarchical Locking
- Debugging Nondeterministic Failures
Module 5
CPU Scheduling
- Scheduling Goals and Workload Models
- First-Come and Round-Robin Scheduling
- Priority and Multilevel Feedback Queues
- Real-Time Scheduling
- Multicore Scheduling and Affinity
Module 6
Virtual Memory
- Address Spaces and Translation
- Paging and Page Tables
- Translation Lookaside Buffers
- Demand Paging and Page Faults
- Page Replacement and Working Sets
Module 7
Memory Management
- Kernel Memory Allocation
- User-Level Allocation
- Copy-on-Write and Memory Mapping
- Shared Memory
- Memory Pressure, Thrashing, and Out-of-Memory Policy
Module 8
Files and Persistent Storage
- File Abstractions and Naming
- Directories and Path Resolution
- Inodes and Allocation
- Buffer Caches and Writeback
- Crash Consistency and Journaling
Module 9
Devices, Protection, and Virtualization
- Device Drivers and Interrupt Handling
- I/O Scheduling
- Protection Domains and Access Control
- Virtual Machines and Hypervisors
- Containers and Namespace Isolation
Module 10
Modern Operating Systems
- Multicore Synchronization and Scalability
- Energy-Aware Resource Management
- Kernel Security and Attack Surfaces
- Observability and Performance Diagnosis
- Operating-System Design Trade-Offs
Start Operating Systems.
No setup, nothing to install. Try the first lessons before you sign up.