You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.7 KiB

ucore_os_lab port status

lab1:

  • Basic initLocalAPICIOAPICGDTPIC
  • DeviceKeyboardSerialPITIDE
  • Interrupt & Trapframe
  • ※ Muilt-core startup

lab2: Physical memory management

  • Frame allocatorNaive
  • Frame allocatorFirst FitBest FitWorst FitBuddySlab
  • Higher half kernel space
  • Kernel remap

lab3: Virtual memory management

  • Page table
  • Heap allocatorLinkedList (Rust crate)
  • ※ Stack allocatorNaive
  • MM & VMA
  • Copy on write
  • Swap

lab4: Kernel thread

  • idleproc
  • initproc
  • fork
  • Scheduler thread

lab5: User thread

  • Run xv6 64bit user programsSee the list below
  • Run ucore 32bit user programsSee the list below

lab6: Schedule

  • Schedule framework
  • RRScheduler
  • StrideScheduler

lab7: Synchronization

  • MutexRust core lib built-in
  • 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