Operating Systems
Operating Systems
The OS concepts interviews actually test - processes and threads, scheduling, IPC, synchronization, deadlocks, memory and virtual memory, file systems, I/O, and Linux internals. 16 modules with interview patterns.
Operating Systems
An interview-focused operating-systems course that stays concrete: what the kernel is really doing, why it matters for the code you write, and how the questions get asked.
Sixteen modules cover processes and threads, CPU scheduling algorithms and their trade-offs, inter-process communication and signals, the critical-section problem and every classic synchronization primitive, deadlocks and how to detect or avoid them, memory management and virtual memory (paging, page replacement, thrashing), file systems and disk storage, I/O and interrupts, modern concurrency including lock-free structures, OS-level security and protection, virtualization and containers, the Linux boot process and internals, and finally how thread models shape real server architecture.
Most modules end with an interview patterns topic - the shapes these questions take and how to answer them well.
Early modules are free to preview. The full course is a one-time purchase with lifetime access.
What you will learn
- Explain processes vs threads precisely - and what a context switch really costs
- Compare CPU scheduling algorithms and reason about latency vs throughput
- Use the synchronization toolkit correctly: mutexes, semaphores, monitors, condition variables
- Detect, avoid, and prevent deadlocks - and recognise them in your own code
- Reason about virtual memory: paging, TLBs, page replacement, and thrashing
- Understand file systems, disk I/O, and why SSD behaviour changes design
- Connect OS internals to real server architecture and concurrency models
- Answer OS interview questions with the depth interviewers are probing for
Prerequisites
- Programming experience in any language
- No prior OS coursework required - module 0 starts from why it matters
Course outline
Module 1: Why Operating Systems Matter
Why Operating Systems Matter - 3 topics.
- Why Operating Systems Matter In Tech Interviews 10 min read
- What An Operating System Actually Does 12 min read
- How To Use This Course For Interview Prep 13 min read
Module 2: Processes
Processes - 8 topics.
- Every running program is a process with a unique PID 12 min read
- How A Process Is Created 12 min read
- This process is currently in the Running state 12 min read
- On Linux, /proc/[pid]/status shows PCB-like information 11 min read
- Demonstrate a zombie process 11 min read
- These high-level operations all use system calls underneath: 11 min read
- User Mode Vs Kernel Mode 10 min read
- Interview Patterns Process Questions 11 min read
Module 3: Threads
Threads - 7 topics.
- Shared variable 10 min read
- Processes Vs Threads 10 min read
- Single Threaded Vs Multi Threaded 10 min read
- User Level Vs Kernel Level Threads 11 min read
- Thread Pools 10 min read
- Green Threads And Goroutines 10 min read
- Interview Patterns Thread Questions 11 min read
Module 4: CPU Scheduling
CPU Scheduling - 8 topics.
- Why Scheduling Matters 10 min read
- Scheduling Criteria 10 min read
- Process: (name, arrival_time, burst_time) 10 min read
- Demonstrate exponential averaging for burst prediction 11 min read
- Round Robin simulation 10 min read
- Priority Scheduling 10 min read
- Multi Level Feedback Queue 11 min read
- Interview Patterns Scheduling 11 min read
Module 5: Inter-Process Communication
Inter-Process Communication - 6 topics.
- Why Processes Need To Communicate 11 min read
- Terminal 1 (writer): 11 min read
- Simulating message queue behavior 11 min read
- Create a shared memory block 11 min read
- Demonstrate Unix domain socket (server side) 11 min read
- Register a handler for SIGTERM 10 min read
Module 6: Synchronization
Synchronization - 8 topics.
- Shared variable 15 min read
- BROKEN: Check-then-act race condition 16 min read
- Demonstration 13 min read
- Signaling with a semaphore - Thread B tells Thread A that data is ready 12 min read
- BROKEN approach - busy waiting with a mutex 12 min read
- Monitors A Higher Level Abstraction 11 min read
- DEADLOCKS 12 min read
- What's wrong? 13 min read
Module 7: Deadlocks
Deadlocks - 6 topics.
- Wait with a timeout to detect deadlock 11 min read Pro lesson
- The Four Conditions For Deadlock 12 min read Pro lesson
- Detecting cycles in a wait-for graph using DFS 10 min read Pro lesson
- Conceptual: Request all resources atomically 12 min read Pro lesson
- Example 1: Deadlock - T1 → T2 → T3 → T1 12 min read Pro lesson
- Reader-writer scenario 12 min read Pro lesson
Module 8: Memory Management
Memory Management - 6 topics.
- Why Memory Management Matters 12 min read Pro lesson
- Read our own memory map 11 min read Pro lesson
- Simulating allocation strategies 10 min read Pro lesson
- Simulating internal fragmentation with size classes 11 min read Pro lesson
- Segmentation address translation simulator 10 min read Pro lesson
- Demonstrating the performance cliff 11 min read Pro lesson
Module 9: Virtual Memory
Virtual Memory - 8 topics.
- Virtual address translation example 11 min read Pro lesson
- Paging address translation 11 min read Pro lesson
- Two-level page table simulation 11 min read Pro lesson
- Effective Access Time calculator 10 min read Pro lesson
- On Linux, you can see page fault counts per process: 11 min read Pro lesson
- Optimal page replacement simulation 11 min read Pro lesson
- Monitor for thrashing on Linux 10 min read Pro lesson
- Interview-ready EAT calculator 10 min read Pro lesson
Module 10: File Systems and Storage
File Systems and Storage - 7 topics.
- Check current I/O scheduler 11 min read Pro lesson
- Create a file and examine its metadata 11 min read Pro lesson
- File Allocation Methods 11 min read Pro lesson
- Calculate which pointer level is needed for a given file block 11 min read Pro lesson
- Path resolution simulation 10 min read Pro lesson
- Journaling File Systems 10 min read Pro lesson
- Demonstrate the directory hash pattern 10 min read Pro lesson
Module 11: I/O Systems
I/O Systems - 6 topics.
- Interrupts And Polling 10 min read Pro lesson
- Run server briefly to demonstrate blocking behavior 10 min read Pro lesson
- Demonstrate epoll-style I/O multiplexing using Python's selectors 10 min read Pro lesson
- Direct Memory Access Dma 10 min read Pro lesson
- Zero Copy Io 10 min read Pro lesson
- Interview Patterns Io Questions 10 min read Pro lesson
Module 12: Modern Concurrency
Modern Concurrency - 5 topics.
- Concurrency Vs Parallelism 10 min read Pro lesson
- Simulate CAS-based atomic increment 10 min read Pro lesson
- Quantify the spin-vs-block tradeoff 11 min read Pro lesson
- Demo: concurrent reads, exclusive writes 10 min read Pro lesson
- Lock Free And Wait Free Data Structures 10 min read Pro lesson
Module 13: Protection and Security
Protection and Security - 5 topics.
- Why The Os Needs Protection Mechanisms 10 min read Pro lesson
- Simulating ls -l output to explain the permission string 10 min read Pro lesson
- Process Isolation And Memory Protection 10 min read Pro lesson
- Demonstrate ASLR: addresses change between runs 11 min read Pro lesson
- Interview Patterns Security Questions 10 min read Pro lesson
Module 14: Virtualization and Containers
Virtualization and Containers - 5 topics.
- What Is Virtualization 10 min read Pro lesson
- Demonstrate live migration memory convergence 11 min read Pro lesson
- Demonstrate cgroup resource limits concept 10 min read Pro lesson
- Vms Vs Containers When To Use Which 10 min read Pro lesson
- Interview Patterns Virtualization Questions 10 min read Pro lesson
Module 15: Linux Internals
Linux Internals - 6 topics.
- Show what the kernel command line looks like 10 min read Pro lesson
- Linux Process Management Fork Exec Wait 10 min read Pro lesson
- Show our own process status 10 min read Pro lesson
- Read page cache statistics 10 min read Pro lesson
- Create a cgroup (as root) 10 min read Pro lesson
- Interview Patterns Linux Questions 11 min read Pro lesson
Module 16: Putting It All Together
Putting It All Together - 5 topics.
- Thread-per-request 10 min read Pro lesson
- Memory And Caching At The Os Level 10 min read Pro lesson
- Performance impact 10 min read Pro lesson
- Process Isolation And Fault Tolerance 10 min read Pro lesson
- Putting It All Together Full Os Mental Model 11 min read Pro lesson