Learn
Newsletter
Roadmaps
New
Search
⌘K
Toggle theme
Toggle theme
Toggle menu
Operating Systems Roadmap
What is an Operating System
System Calls & APIs
Boot Process
Foundations
History & Types of OS (Batch, Time-sharing, Real-time, Distributed)
Kernel vs User Space
Processes & Process Control Block (PCB)
Threads vs Processes
Scheduling Algorithms (FCFS, SJF, Round Robin, Priority)
Processes & Threads
Process States & Lifecycle
Context Switching
Inter-Process Communication (Pipes, Message Queues, Shared Memory)
Race Conditions
Locks & Semaphores
Deadlocks (Prevention, Avoidance, Detection, Recovery)
Concurrency & Synchronization
Critical Sections
Monitors & Condition Variables
Physical & Virtual Memory
Page Replacement Algorithms (FIFO, LRU, Optimal)
Memory Allocation (First Fit, Best Fit, Worst Fit)
Memory Management
Paging & Segmentation
Thrashing
MMU (Memory Management Unit)
File Concepts (Metadata, File Descriptors)
Directory Implementation
Disk Scheduling Algorithms (FCFS, SSTF, SCAN, C-SCAN)
File Systems & Storage
File System Structure
Inodes
Journaling File Systems
I/O Devices & Controllers
DMA (Direct Memory Access)
Buffering & Caching in I/O
I/O & Device Management
Interrupts
Device Drivers
User Authentication
Capabilities
Sandboxing & Isolation
Security & Protection
Access Control Lists
Encryption in OS
Client-Server Model
Distributed File Systems (NFS, HDFS)
Consensus in OS (Paxos, Raft)
Distributed OS Concepts
Process Migration
Clock Synchronization (Lamport, Vector Clocks)
Virtualization & Hypervisors
NUMA (Non-Uniform Memory Access)
Modern OS Internals (Linux, Windows, macOS)
Advanced Topics
Containers vs VMs (Docker, Kubernetes)
Real-Time Operating Systems (RTOS)
Write a Simple Shell
Implement a Virtual Memory Manager
Mini OS Kernel (Educational)
Projects
Build a Process Scheduler Simulator
File System Simulation Project
OS Fundamentals Q&A
Deadlocks & Synchronization Problems
File System & Disk Management Questions
Interview Preparation
Processes & Threads Questions
Memory Management Questions
Case Studies (Linux, Windows Scheduling)