Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

PKU OS course project and notes based on Nachos and XV6

NotificationsYou must be signed in to change notification settings

daviddwlee84/OperatingSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

LabSubjectDetail
Lab 0Build NachosSetup 32bit cross compile dev. env.
Lab 1Thread MechanismMulti-thread management
Lab 2Thread SchedulingCPU scheduling
Lab 3Synchronization MechanismConcurrency, mutex lock and semaphore
Lab 4Virtual MemoryTLB, demand paging, replacement algorithm and user program
Lab 5File SystemImprove current file system
Lab 6System CallImplement 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

About

PKU OS course project and notes based on Nachos and XV6

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp