cs.sakib.dev
Files related to my CS self study
View the Project on GitHub
sjsakib/cs
Operating Systems: Three Easy Pieces homework solutions
Part I: Virtualization
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)
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
Complete Virtual Memory Systems
Part II: Concurrency
Concurrency: An Introduction
Interlude: Thread API
Locks
Lock-based Concurrent Data Structures
Condition Variables
Semaphores
Common Concurrency Problems
Event-based Concurrency (Advanced)
Part III: Persistence
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