Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Advanced Operating Systems — Section Overview

This section dives into production-grade operating system internals that go far beyond textbook abstractions. While the introductory OS chapters cover fundamental concepts like process states, page tables, and scheduling algorithms, this section examines the actual engineering decisions, data structures, and trade-offs inside modern kernels — primarily Linux, with references to seL4, Barrelfish, and research systems.

Why This Matters for Interviews

Top-tier systems engineering roles (kernel development, infrastructure platforms, database engines, high-frequency trading) expect candidates to reason about: why EEVDF replaced CFS and what changed for tail latency; how io_uring achieves 10M+ IOPS with zero syscalls per completion; when RCU is appropriate versus a seqlock versus a read-write semaphore; how nested virtualization VM exits cascade into performance cliffs; and what happens inside the Linux memory subsystem when a 256 GB NUMA node starts thrashing.

Interview one-liner: “Advanced OS is where textbook abstractions meet silicon — scheduling theory becomes EEVDF vruntime math, memory models become acquire/release barrier ordering, I/O becomes shared ring buffers in kernel/userspace, and correctness becomes lockdep+RCU grace periods.”

Topic Map

graph TD
    ROOT["Advanced OS"] --> KA["Kernel Architectures"]
    ROOT --> VIRT["Virtualization"]
    ROOT --> FIO["Fast I/O"]
    ROOT --> SI["Scheduler Internals"]
    ROOT --> SP["Sync Primitives"]
    ROOT --> MM["Memory Models"]
    ROOT --> MI["Memory Internals"]
    ROOT --> II["I/O Internals"]

    KA --> KA1["Microkernels, Exokernels"]
    KA --> KA2["Unikernels, seL4"]
    KA --> KA3["Multikernel, Barrelfish"]

    VIRT --> V1["EPT, NPT, IOMMU"]
    VIRT --> V2["VirtIO, VFIO, SR-IOV"]
    VIRT --> V3["Nested virt, VM exits"]

    FIO --> F1["DPDK, SPDK"]
    FIO --> F2["io_uring internals"]
    FIO --> F3["async syscalls"]

    SI --> S1["CFS/EEVDF"]
    SI --> S2["PREEMPT_RT"]
    SI --> S3["SCHED_DEADLINE"]

    SP --> SP1["RCU, SRCU, QSBR"]
    SP --> SP2["futex, qspinlock"]
    SP --> SP3["hazard pointers"]

    MM --> MM1["Memory barriers"]
    MM --> MM2["Weak models"]
    MM --> MM3["False sharing"]

    MI --> M1["KPTI, ASLR"]
    MI --> M2["THP, zswap, zram"]
    MI --> M3["DAMON, PSI, OOM"]

    II --> I1["Direct I/O, DAX"]
    II --> I2["mmap internals"]
    II --> I3["fork scalability"]

Files in This Section

FileCore TopicsPrerequisite
kernel-architectures.mdMicrokernels, Exokernels, Unikernels, seL4, Barrelfish, MultikernelOverview
virtualization.mdEPT/NPT, VM exits, IOMMU, SR-IOV, VirtIO, VFIO, nested virtProcess States
fast-io.mdDPDK, SPDK, io_uring SQ/CQ, async syscalls, completion-based I/ODMA, io_uring basics
scheduler-internals.mdCFS internals, EEVDF, sched classes, PREEMPT_RT, SCHED_DEADLINE, NUMA schedulingLinux CFS
sync-primitives.mdRCU/SRCU/QSBR, hazard pointers, futex, qspinlock, MCS, lock convoyingSpinlocks, Lock-free
memory-models.mdMemory barriers, acquire/release, sequential consistency, weak models, false sharingMemory Barriers
memory-internals.mdKPTI, ASLR, THP, compaction, reclaim, page cache, PSI, OOM, DAMON, zswap, zramHuge Pages, mmap
io-internals.mdDirect I/O, buffered I/O, DAX, mmap internals, CoW, fork scalability, clone3DMA, CoW

Reading Order

For a linear study path:

  1. kernel-architectures.md — broadens perspective beyond monolithic kernels
  2. memory-models.md — hardware memory ordering fundamentals needed everywhere
  3. sync-primitives.md — builds on memory models for lock-free techniques
  4. scheduler-internals.md — deep scheduling with PREEMPT_RT implications
  5. memory-internals.md — the Linux memory subsystem in production
  6. fast-io.md — modern I/O path optimization
  7. io-internals.md — I/O internals including mmap and fork
  8. virtualization.md — hardware virtualization as the capstone topic

Cross-References