Operating Systems in Depth book cover

Your technical library

Operating Systems in Depth

11 modules · 70 topics

About this book
Concepts · Operating Systems in Depth

Operating Systems in Depth

This course continues Operating Systems for a reader who finished it and wants the internals it deliberately passed over: what the scheduler does beyond a fair share, how the kernel allocates its own memory, the lock-free toolbox, how devices and file systems are really built, how the kernel is traced, extended and bypassed, how programs are confined and how they are still attacked, how virtual machines run on it, and the case studies — AFS and `docker run` — that need those pieces. Each topic opens with the problem it inherits and closes with what it leaves open.

The prerequisite is the introductory course, read in order or at least to the topic each lesson names: this course assumes its mechanisms are known, recalls one in a sentence where a lesson leans on it, and links the lesson that taught it. Many university "advanced operating systems" courses spend half their time on distributed systems — logical clocks, distributed mutual exclusion, agreement; here that material belongs to System Design (logical and vector clocks, consensus), and this course keeps to the single machine. The same plain-language policy holds — short paragraphs, every term defined at first use, one assumptions sentence per derivation, and real tool output over folklore.

70 of 70 topics are authored. Read Operating Systems first, then this course in dependency order. Planned lessons are labelled and excluded from progress; references cover authored material.

Course map

Read at your own pace. Each topic is one continuous page; mark it done as you finish.

Start with 01.1 · Deferred interrupt work: top halves, softirqs and workqueuesReview what you have finished