CS301

Operating Systems

The software that manages the machine: processes, scheduling, virtual memory, and concurrency.

10 modules · 50 lessons · Practice after every lesson

Syllabus

  1. 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
  2. Module 2

    Processes and Execution

    • Processes and Address Spaces
    • Process Creation and Termination
    • Context Switching
    • Interprocess Communication
    • Signals, Events, and Process Control
  3. 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
  4. Module 4

    Concurrent-System Correctness

    • Safety, Liveness, and Progress
    • Deadlock Conditions
    • Deadlock Prevention and Avoidance
    • Lock Ordering and Hierarchical Locking
    • Debugging Nondeterministic Failures
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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.