Operating Systems
Learn about processes, threads, memory management, scheduling, and kernel internals.
Many of the hardest bugs—deadlocks, stalls, OOMs, and unpredictable latency—are symptoms of deeper operating system behavior. They arise from scheduling decisions, memory management, and I/O coordination, not just code paths.
The topics below focus on building an accurate mental model of processes, threads, virtual memory, and kernel boundaries, enabling you to reason about performance and failure under real-world constraints—and articulate those interactions clearly when it matters most.
Topics in this category
OS Architecture (Monolithic vs Microkernel)
Read →Compare monolithic and microkernel operating system architectures and their trade-offs.
Process vs Thread
Read →Understand the fundamental differences between processes and threads: isolation, memory sharing, context switching, and when to use each.
Context Switching: Concepts, Internals & Interview Use Cases
Read →Understand how the OS switches between processes: saving and restoring CPU state, PCB (Process Control Block), and performance implications.
PCB (Process Control Block)
Read →Learn Process Control Block structure that stores process state and context information for process management and context switching.
Scheduling Algorithms (RR, FCFS, SJF, Priority)
Read →Master CPU scheduling algorithms: Round Robin (RR), First Come First Served (FCFS), Shortest Job First (SJF), and Priority scheduling. Understand their characte
Memory Management: Concepts, Internals & Interview Use Cases
Read →Learn how operating systems manage memory: allocation, deallocation, protection, virtual memory, and memory hierarchy.
Virtual Memory: Concepts, Internals & Interview Use Cases
Read →Understand virtual memory: how operating systems provide larger address space than physical memory using paging, swapping, and address translation.
Paging & Segmentation
Read →Master memory management techniques: paging (fixed-size) and segmentation (variable-size), their advantages, disadvantages, and when to use each.
Page Faults & Page Replacement Algorithms
Read →Learn page faults and replacement algorithms: LRU, FIFO, Optimal for virtual memory management and efficient page swapping.
Caching in OS (L1/L2/L3)
Read →Understand CPU cache hierarchy: L1, L2, L3 caches and cache coherence.
Synchronization (Mutex, Semaphore)
Read →Learn synchronization primitives: mutexes and semaphores for thread synchronization, preventing race conditions, and coordinating access to shared resources.
Deadlock (Conditions, Prevention)
Read →Understand deadlock conditions (mutual exclusion, hold and wait, no preemption, circular wait) and prevention strategies.
Shared Memory vs Message Passing
Read →Compare inter-process communication: shared memory (fast) vs message passing (safe).
System Calls: Concepts, Internals & Interview Use Cases
Read →Understand system calls: interface between user programs and the operating system kernel. Learn how programs request OS services, the overhead involved, and com
Kernel Mode vs User Mode
Read →Learn CPU privilege levels: kernel mode (privileged) vs user mode (restricted) for security.
Interrupts & Traps
Read →Understand interrupts (hardware events) and traps (software exceptions) in operating systems.
Signals: Concepts, Internals & Interview Use Cases
Read →Learn Unix signals: software interrupts for inter-process communication and control.
I/O Management: Concepts, Internals & Interview Use Cases
Read →Learn I/O management: device drivers, I/O scheduling, and interrupt handling.
DMA (Direct Memory Access)
Read →Learn DMA: allows devices to access memory directly without CPU intervention.
Disk Scheduling (SCAN, C-SCAN)
Read →Master disk scheduling algorithms: SCAN, C-SCAN, FCFS, SSTF for optimizing disk I/O.
File Systems (EXT4, NTFS, FAT32)
Read →Compare file systems: EXT4 (Linux), NTFS (Windows), FAT32 and their characteristics, features, and use cases.
Inodes: Concepts, Internals & Interview Use Cases
Read →Learn inodes: data structures that store file metadata in Unix/Linux file systems.
Networking Stack in OS (Socket APIs)
Read →Understand the networking stack in OS: socket APIs, TCP/IP implementation, and network layers.
Threads Models (1:1, N:1, M:N)
Read →Compare thread models: 1:1 (kernel threads), N:1 (user threads), M:N (hybrid).
Containers vs VMs (Namespaces, Cgroups)
Read →Compare containers and VMs: namespaces, cgroups, and virtualization technologies. Understand isolation, resource management, and when to use each.
Boot Process: Concepts, Internals & Interview Use Cases
Read →Understand the operating system boot process: BIOS/UEFI, bootloader, kernel initialization.
Shell vs Kernel
Read →Understand the difference between shell (user interface) and kernel (core OS).
Linux Basic Commands
Read →Learn essential Linux commands: file operations, process management, networking, and system info.