Skip to content

Latest commit

 

History

History
97 lines (79 loc) · 1.63 KB

status.md

File metadata and controls

97 lines (79 loc) · 1.63 KB

ucore_os_lab port status

lab1:

  • Basic init:LocalAPIC,IOAPIC,GDT,PIC
  • Device:Keyboard,Serial,PIT,IDE
  • Interrupt & Trapframe
  • ※ Muilt-core startup

lab2: Physical memory management

  • Frame allocator:Naive
  • Frame allocator:First Fit,Best Fit,Worst Fit,Buddy,Slab
  • Higher half kernel space
  • Kernel remap

lab3: Virtual memory management

  • Page table
  • Heap allocator:LinkedList (Rust crate)
  • ※ Stack allocator:Naive
  • MM & VMA
  • Copy on write
  • Swap

lab4: Kernel thread

  • idleproc
  • initproc
  • fork
  • Scheduler thread

lab5: User thread

  • Run xv6 64bit user programs:See the list below
  • Run ucore 32bit user programs:See the list below

lab6: Schedule

  • Schedule framework
  • RRScheduler
  • StrideScheduler

lab7: Synchronization

  • Mutex
  • Semaphore
  • Monitor
  • Dinning Philosophers Problem

lab8: File system

  • Simple file system
  • Load user programs from .img
  • FS framework for process
  • Device IO

uCore 32bit user programs pass status

  • badarg
  • badsegment
  • divzero
  • exit
  • faultread
  • faultreadkernel
  • forktest
  • forktree
  • hello
  • ls
  • matrix
  • pgdir
  • priority
  • sh
  • sleep
  • sleepkill
  • softint
  • spin
  • testbss
  • waitkill
  • yield

xv6 64bit user programs pass status

  • cat
  • chmod
  • echo
  • forktest
  • grep
  • init
  • kill
  • ln
  • ls
  • mkdir
  • rm
  • sh
  • stressfs
  • usertests
  • wc
  • zombie