Operating Systems: Three Easy Pieces homework solutions
CS-537 videos
Unix-like operating system
Clang/GCC
LLDB/GDB
Valgrind
Gawk
Python
?
C/Linux Projects and Kernel Hacking Projects (xv6)
The Abstraction: The Process
Interlude: Process API
Mechanism: Limited Direct Execution
Scheduling: Introduction
Scheduling: The Multi-Level Feedback Queue
Scheduling: Proportional Share
Multiprocessor Scheduling (Advanced)
Summary Dialogue on CPU Virtualization
A Dialogue on Memory Virtualization
The Abstraction: Address Spaces
Interlude: Memory API
Mechanism: Address Translation
Segmentation
Free-Space Management
Paging: Introduction
Paging: Faster Translations (TLBs)
Paging: Smaller Tables
Beyond Physical Memory: Mechanisms
Beyond Physical Memory: Policies
Concurrency: An Introduction
Interlude: Thread API
Locks
Lock-based Concurrent Data Structures
Condition Variables
Semaphores
Common Concurrency Problems
Event-based Concurrency (Advanced)
Hard Disk Drives
Redundant Arrays of Inexpensive Disks (RAIDs)
Interlude: Files and Directories
File System Implementation
Locality and The Fast File System
Crash Consistency: FSCK and Journaling
Log-structured File Systems
Flash-based SSDs
Data Integrity and Protection
Summary Dialogue on Persistence
A Dialogue on Distribution
Distributed Systems
Sun’s Network File System (NFS)
The Andrew File System (AFS)
This work is licensed under the GPLv3 or any later version.