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

  1. The Abstraction: The Process
  2. Interlude: Process API
  3. Mechanism: Limited Direct Execution
  4. Scheduling: Introduction
  5. Scheduling: The Multi-Level Feedback Queue
  6. Scheduling: Proportional Share
  7. Multiprocessor Scheduling (Advanced)
  8. The Abstraction: Address Spaces
  9. Interlude: Memory API
  10. Mechanism: Address Translation
  11. Segmentation
  12. Free-Space Management
  13. Paging: Introduction
  14. Paging: Faster Translations (TLBs)
  15. Paging: Smaller Tables
  16. Beyond Physical Memory: Mechanisms
  17. Beyond Physical Memory: Policies
  18. Complete Virtual Memory Systems

Part II: Concurrency

  1. Concurrency: An Introduction
  2. Interlude: Thread API
  3. Locks
  4. Lock-based Concurrent Data Structures
  5. Condition Variables
  6. Semaphores
  7. Common Concurrency Problems
  8. Event-based Concurrency (Advanced)

Part III: Persistence

  1. Hard Disk Drives
  2. Redundant Arrays of Inexpensive Disks (RAIDs)
  3. Interlude: Files and Directories
  4. File System Implementation
  5. Locality and The Fast File System
  6. Crash Consistency: FSCK and Journaling
  7. Log-structured File Systems
  8. Flash-based SSDs
  9. Data Integrity and Protection