Skip to content

The Kernel Chronicles: OSTEP Deep-Dive

Welcome to my journey through "Operating Systems: Three Easy Pieces" (OSTEP) by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau. This series documents my exploration of the fundamental abstractions—Virtualization, Concurrency, and Persistence—that form the bedrock of modern computing.


Roadmap and Progress

I am studying this book to understand how hardware and software collaborate to manage resources, provide isolation, and ensure data integrity.

Introduction

  • [x] Chapter 2: Introduction to Operating Systems

Part I: Virtualization

  • [x] Chapter 4: The Abstraction: The Process
  • [x] Chapter 5: Interlude: Process API
  • [ ] Chapter 6: Mechanism: Limited Direct Execution
  • [ ] Chapter 7: Scheduling: Introduction
  • [ ] Chapter 8: Scheduling: The Multi-Level Feedback Queue
  • [ ] Chapter 9: Scheduling: Proportional Share
  • [ ] Chapter 10: Multiprocessor Scheduling (Advanced)
  • [ ] Chapter 13: The Abstraction: Address Spaces
  • [ ] Chapter 14: Interlude: Memory API
  • [ ] Chapter 15: Mechanism: Address Translation
  • [ ] Chapter 16: Segmentation
  • [ ] Chapter 17: Free-Space Management
  • [ ] Chapter 18: Paging: Introduction
  • [ ] Chapter 19: Paging: Faster Translations (TLBs)
  • [ ] Chapter 20: Paging: Smaller Tables
  • [ ] Chapter 21: Beyond Physical Memory: Mechanisms
  • [ ] Chapter 22: Beyond Physical Memory: Policies

Part II: Concurrency

  • [ ] Chapter 26: Concurrency: An Introduction
  • [ ] Chapter 27: Interlude: Thread API
  • [ ] Chapter 28: Locks
  • [ ] Chapter 29: Lock-based Data Structures
  • [ ] Chapter 30: Condition Variables
  • [ ] Chapter 31: Semaphores
  • [ ] Chapter 32: Common Concurrency Bugs
  • [ ] Chapter 33: Event-based Concurrency (Advanced)

Part III: Persistence

  • [ ] Chapter 36: I/O Devices
  • [ ] Chapter 37: Hard Disk Drives
  • [ ] Chapter 38: Redundant Arrays of Inexpensive Disks (RAID)
  • [ ] Chapter 39: Interlude: Files and Directories
  • [ ] Chapter 40: File System Implementation
  • [ ] Chapter 41: Locality and The Fast File System
  • [ ] Chapter 42: Crash Consistency: FSCK and Journaling
  • [ ] Chapter 43: Log-structured File Systems

Implementation Corner

Theory is solidified through code. Here are the "Pieces" I'm building along the way:

Chapter Concept Project / Implementation
Ch 5 Process API WOMM-Sh: Minimal Shell (mysh)
Ch 28 Locking Planned: User-level Mutex
Ch 40 File Systems Planned: Toy File System

Design Philosophy

Each chapter deep-dive includes: - The Crux: The fundamental problem the OS is trying to solve. - Visuals: Mermaid diagrams of context switches, memory layouts, and scheduling. - The "So What?": Why these low-level details matter for application performance. - C-Level Insights: Snippets of kernel-style C code and system calls.

Comments