diff --git a/status.md b/status.md index da7b497..b8daadb 100644 --- a/status.md +++ b/status.md @@ -1,3 +1,61 @@ +## ucore_os_lab port status +#### lab1: + +- [x] Basic init:LocalAPIC,IOAPIC,GDT,PIC +- [x] Device:Keyboard,Serial,PIT +- [ ] Device:IDE +- [x] Interrupt & Trapframe +- [x] ※ Muilt-core startup + +#### lab2: Physical memory management + +- [x] Frame allocator:Naive +- [ ] Frame allocator:First Fit,Best Fit,Worst Fit,Buddy,Slab +- [x] Higher half kernel space +- [x] Kernel remap + +#### lab3: Virtual memory management + +- [x] Page table +- [x] Heap allocator:LinkedList (Rust crate) +- [x] ※ Stack allocator:Naive +- [x] MM & VMA +- [x] Copy on write +- [ ] Swap + +#### lab4: Kernel thread + +- [x] idleproc +- [x] initproc +- [x] fork +- [ ] Scheduler thread + +#### lab5: User thread + +- [x] Run xv6 64bit user programs:See the list below +- [x] Run ucore 32bit user programs:See the list below + +#### lab6: Schedule + +- [x] Schedule framework +- [x] RRScheduler +- [x] StrideScheduler + +#### lab7: Synchronization + +- [x] Mutex:Rust core lib built-in +- [ ] Semaphore +- [ ] Monitor +- [ ] Dinning Philosophers Problem + +#### lab8: File system + +- [x] Simple file system +- [x] Load user programs from .img +- [ ] FS framework for process +- [ ] Device IO + + ## uCore 32bit user programs pass status - [ ] badarg - [ ] badsegment