/ostep-hw

Operating Systems: Three Easy Pieces(OSTEP) homework and project solutions ☄️

Primary LanguageCGNU General Public License v3.0GPL-3.0

OSTEP-HW

Operating Systems: Three Easy Pieces homeworks

CS-537 videos

Requirements

C/Linux Projects and Kernel Hacking Projects (xv6)

Chapters

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. Summary Dialogue on CPU Virtualization

  9. A Dialogue on Memory Virtualization

  10. The Abstraction: Address Spaces

  11. Interlude: Memory API

  12. Mechanism: Address Translation

  13. Segmentation

  14. Free-Space Management

  15. Paging: Introduction

  16. Paging: Faster Translations (TLBs)

  17. Paging: Smaller Tables

  18. Beyond Physical Memory: Mechanisms

  19. Beyond Physical Memory: Policies

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)

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

  10. Summary Dialogue on Persistence

  11. A Dialogue on Distribution

  12. Distributed Systems

  13. Sun’s Network File System (NFS)

  14. The Andrew File System (AFS)