A comprehensive learning roadmap covering operating system fundamentals — from process management and memory to file systems, I/O, and security. Suitable for CS students and engineers looking to deepen their systems knowledge.
§ SYLLABUS
- 01What is an Operating System?
Understand the role of an OS as a resource manager and abstraction layer between hardware and user programs.
- 02OS History & Evolution
Trace the evolution from batch systems to modern multi-user, networked operating systems.
- 03OS Structures & Architectures
Compare monolithic kernels, microkernels, hybrid kernels, and exokernels and understand their design tradeoffs.
- 04System Calls & Kernel Mode
Learn how user programs request OS services through system calls and the user-mode/kernel-mode boundary.
- 01Process Model & Lifecycle
Understand process states, PCBs, context switching, and how the OS creates and terminates processes.
- 02Threads & Concurrency
Learn the difference between processes and threads, user-level vs kernel-level threads, and threading models.
- 03Inter-Process Communication
Explore IPC mechanisms including pipes, message queues, shared memory, and signals.
- 04CPU Scheduling Algorithms
Study FCFS, SJF, Round Robin, priority scheduling, and multi-level feedback queues.
- 01Race Conditions & Critical Sections
Understand how concurrent access to shared data causes race conditions and why mutual exclusion is needed.
- 02Locks, Semaphores & Monitors
Learn the fundamental synchronization primitives and how they enforce safe concurrent access.
- 03Classic Synchronization Problems
Work through producer-consumer, readers-writers, and dining philosophers to build synchronization intuition.
- 04Deadlock Detection & Prevention
Understand the four conditions for deadlock, resource allocation graphs, and strategies to prevent or recover from deadlocks.
- 01Memory Hierarchy & Address Spaces
Understand the memory hierarchy from registers to disk and how the OS provides each process its own address space.
- 02Paging & Page Tables
Learn how paging eliminates external fragmentation and how page tables translate virtual to physical addresses.
- 03Virtual Memory & Demand Paging
Understand how the OS uses disk as an extension of RAM, handling page faults and swap space.
- 04Page Replacement Algorithms
Compare FIFO, LRU, Clock, and optimal page replacement strategies and their impact on performance.
- 05Segmentation & Memory Protection
Learn how segmentation provides logical memory divisions and how the OS enforces memory protection between processes.
- 01Files, Directories & Metadata
Understand the file abstraction, directory structures, hard/soft links, and how metadata is stored.
- 02File System Implementation
Learn about inodes, FAT, extent-based allocation, journaling, and how data is laid out on disk.
- 03Disk Scheduling & I/O
Study disk scheduling algorithms (SCAN, C-SCAN, SSTF) and how the OS optimizes storage I/O.
- 04Modern File Systems
Explore ext4, NTFS, ZFS, and Btrfs — their features like copy-on-write, snapshots, and checksumming.
- 01I/O Subsystem & Device Drivers
Understand how the OS abstracts hardware devices through a layered I/O subsystem and device drivers.
- 02Interrupts & DMA
Learn how interrupts and Direct Memory Access enable efficient communication between CPU and devices.
- 01Access Control & Permissions
Understand user authentication, access control lists, capability-based security, and the principle of least privilege.
- 02OS Security Threats & Defenses
Study buffer overflows, privilege escalation, rootkits, and OS-level defenses like ASLR, DEP, and sandboxing.
- 01Virtualization & Hypervisors
Learn how hypervisors enable multiple OS instances on one machine and the difference between Type 1 and Type 2 virtualization.
- 02Containers & OS-Level Virtualization
Understand how namespaces, cgroups, and container runtimes provide lightweight isolation without full VMs.
- 03Distributed & Networked OS Concepts
Explore how OS principles extend to distributed systems — remote procedure calls, distributed file systems, and cluster scheduling.