Code from various chapters in OSTEP (https://www.ostep.org)
CPU Virtualization Chapters:
- Processes
- Process API
- Direct Execution
- CPU Scheduling
- Multi-level Feedback
- Lottery Scheduling
- Multi-CPU Scheduling
Memory Virtualization Chapters:
- Address Spaces
- Memory API
- Address Translation
- Segmentation
- Free Space Management
- Introduction to Paging
- Translation Lookaside Buffers
- Advanced Page Tables
- Swapping: Mechanisms
- Swapping: Policies
- Complete VM Systems
Concurrency Chapters:
- Concurrency and Threads
- Threads API
- Locks
- Locked Data Structures
- Condition Variables
- Semaphores
- Concurrency Bugs
- Event-based Concurrency
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)