SkillAgentSearch skills...

OperatingSystem

PKU OS course project and notes based on Nachos and XV6

Install / Use

/learn @daviddwlee84/OperatingSystem
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Operating System

PKU OS course project and notes based on Nachos and XV6.

  • Nachos - An immature OS that we can try to add wings on it.
  • XV6 - A much more functional OS that we can absorb its essence by tracing code.

Schedule

Nachos Lab

| Lab | Subject | Detail | | ----- | ------------------------------------------------------------------------ | ---------------------------------------------------------- | | Lab 0 | Build Nachos | Setup 32bit cross compile dev. env. | | Lab 1 | Thread Mechanism | Multi-thread management | | Lab 2 | Thread Scheduling | CPU scheduling | | Lab 3 | Synchronization Mechanism | Concurrency, mutex lock and semaphore | | Lab 4 | Virtual Memory | TLB, demand paging, replacement algorithm and user program | | Lab 5 | File System | Improve current file system | | Lab 6 | System Call | Implement all system calls |

Quick start with docker!! (recommend)

XV6 Source Code Reading

  1. Process and Thread (with Scheduling)
  2. Synchronization Mechanism
  3. Interrupt and System Call
  4. Memory Management
  5. File System

Additional Task

Synchronization using Semaphore and Monitor

Notes

Course Notes

Summary

Algorithm

  • Scheduling Algorithm
    • Process/Thread CPU Scheduling
    • Disk Scheduling
  • Replacement Algorithm
    • Page Replacement
    • TLB Replacement
    • Cache Replacement
  • Other Algorithm
    • Deadlock
      • Deadlock prevention
      • Deadlock avoidance
      • Deadlock discover and recover
  • Solutions
    • Concurrency
      • Semaphore
        • Dekker Solution
        • Peterson Solution
    • Deadlock
      • Banker's Algorithm

Data Structure

  • Free Space Management (for Memory or Disk)
    • Bitmap (Bit vector)
    • Free Table
    • Free Linked List
  • Concurrency
    • Semaphore
    • Monitor
      • Hoare Monitor
      • Mesa Monitor
    • Mutex Lock + Condition Variable

Hardware

  • TLB vs. Cache

Resources

Books

Nachos

MOOCs

Github

Others

View on GitHub
GitHub Stars182
CategoryDevelopment
Updated1mo ago
Forks44

Languages

C++

Security Score

85/100

Audited on Feb 11, 2026

No findings