# ostep-code Code from various chapters in OSTEP (http://www.ostep.org) * [Introduction](https://github.com/remzi-arpacidusseau/ostep-code/tree/master/intro) ## Virtualization CPU Virtualization Chapters: * Processes * [Process API](https://github.com/remzi-arpacidusseau/ostep-code/tree/master/cpu-api) * Direct Execution * CPU Scheduling * Multi-level Feedback * Lottery Scheduling * Multi-CPU Scheduling Memory Virtualization Chapters: * [Address Spaces](https://github.com/remzi-arpacidusseau/ostep-code/tree/master/vm-intro) * Memory API * Address Translation * Segmentation * Free Space Management * Introduction to Paging * Translation Lookaside Buffers * Advanced Page Tables * Swapping: Mechanisms * Swapping: Policies * Case Study: VAX/VMS ## Concurrency Concurrency Chapters: * Concurrency and Threads * Threads API * Locks * Locked Data Structures * Condition Variables * Semaphores * Concurrency Bugs * Event-based Concurrency ## Persistence Persistence Chapters: * I/O Devices * Hard Disk Drives * Redundant Disk Arrays (RAID) * Files and Directories * File System Implementation * Fast File System (FFS) * FSCK and Journaling * Log-structured File System (LFS) * Flash-based SSDs * Data Integrity and Protection * Distributed Systems * Network File System (NFS) * Andrew File System (AFS)