实例介绍
操作系统实验ucore,lab1~lab6的完整版,已经完成,供需要者参考。下载后可以分析参考,最好不要直接拷贝,这样学不到多少东西。
【实例截图】
【核心代码】
3978a989-4d1b-4ce1-82de-eba06b0cbce6
└── ucore
├── ucore-lab1
│ ├── lab0-manual-20110218.pdf
│ ├── lab1-manual-20110221.pdf
│ ├── lab1-report.txt
│ ├── proj1
│ │ ├── bin
│ │ │ ├── bootblock
│ │ │ ├── sign
│ │ │ └── ucore.img
│ │ ├── boot
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ └── bootmain.c
│ │ ├── libs
│ │ │ ├── types.h
│ │ │ └── x86.h
│ │ ├── Makefile
│ │ ├── obj
│ │ │ ├── boot
│ │ │ │ ├── bootasm.d
│ │ │ │ ├── bootasm.o
│ │ │ │ ├── bootmain.d
│ │ │ │ └── bootmain.o
│ │ │ ├── bootblock.asm
│ │ │ ├── bootblock.o
│ │ │ ├── bootblock.out
│ │ │ └── sign
│ │ │ └── tools
│ │ │ ├── sign.d
│ │ │ └── sign.o
│ │ └── tools
│ │ ├── function.mk
│ │ ├── gdbinit
│ │ └── sign.c
│ ├── proj2
│ │ ├── bin
│ │ │ ├── bootblock
│ │ │ ├── sign
│ │ │ └── ucore.img
│ │ ├── boot
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ └── bootmain.c
│ │ ├── libs
│ │ │ ├── elf.h
│ │ │ ├── types.h
│ │ │ └── x86.h
│ │ ├── Makefile
│ │ ├── obj
│ │ │ ├── boot
│ │ │ │ ├── bootasm.d
│ │ │ │ ├── bootasm.o
│ │ │ │ ├── bootmain.d
│ │ │ │ └── bootmain.o
│ │ │ ├── bootblock.asm
│ │ │ ├── bootblock.o
│ │ │ ├── bootblock.out
│ │ │ └── sign
│ │ │ └── tools
│ │ │ ├── sign.d
│ │ │ └── sign.o
│ │ ├── oslab1_proj2.udb
│ │ ├── oslab1_proj3.1.udb
│ │ └── tools
│ │ ├── function.mk
│ │ ├── gdbinit
│ │ └── sign.c
│ ├── proj3
│ │ ├── bin
│ │ │ ├── bootblock
│ │ │ ├── kernel
│ │ │ ├── sign
│ │ │ └── ucore.img
│ │ ├── boot
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ └── bootmain.c
│ │ ├── kern
│ │ │ ├── driver
│ │ │ │ ├── console.c
│ │ │ │ └── console.h
│ │ │ ├── init
│ │ │ │ └── init.c
│ │ │ └── libs
│ │ │ └── stdio.c
│ │ ├── libs
│ │ │ ├── elf.h
│ │ │ ├── error.h
│ │ │ ├── printfmt.c
│ │ │ ├── stdarg.h
│ │ │ ├── stdio.h
│ │ │ ├── string.c
│ │ │ ├── string.h
│ │ │ ├── types.h
│ │ │ └── x86.h
│ │ ├── Makefile
│ │ ├── obj
│ │ │ ├── boot
│ │ │ │ ├── bootasm.d
│ │ │ │ ├── bootasm.o
│ │ │ │ ├── bootmain.d
│ │ │ │ └── bootmain.o
│ │ │ ├── bootblock.asm
│ │ │ ├── bootblock.o
│ │ │ ├── bootblock.out
│ │ │ ├── kern
│ │ │ │ ├── driver
│ │ │ │ │ ├── console.d
│ │ │ │ │ └── console.o
│ │ │ │ ├── init
│ │ │ │ │ ├── init.d
│ │ │ │ │ └── init.o
│ │ │ │ └── libs
│ │ │ │ ├── stdio.d
│ │ │ │ └── stdio.o
│ │ │ ├── kernel.asm
│ │ │ ├── kernel.sym
│ │ │ ├── libs
│ │ │ │ ├── printfmt.d
│ │ │ │ ├── printfmt.o
│ │ │ │ ├── string.d
│ │ │ │ └── string.o
│ │ │ └── sign
│ │ │ └── tools
│ │ │ ├── sign.d
│ │ │ └── sign.o
│ │ ├── oslab1_proj3.udb
│ │ └── tools
│ │ ├── function.mk
│ │ ├── gdbinit
│ │ └── sign.c
│ ├── proj3.1
│ │ ├── bin
│ │ │ ├── bootblock
│ │ │ ├── kernel
│ │ │ ├── sign
│ │ │ └── ucore.img
│ │ ├── boot
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ └── bootmain.c
│ │ ├── kern
│ │ │ ├── debug
│ │ │ │ ├── assert.h
│ │ │ │ ├── kdebug.c
│ │ │ │ ├── kdebug.h
│ │ │ │ ├── monitor.c
│ │ │ │ ├── monitor.h
│ │ │ │ ├── panic.c
│ │ │ │ └── stab.h
│ │ │ ├── driver
│ │ │ │ ├── console.c
│ │ │ │ ├── console.h
│ │ │ │ └── kbdreg.h
│ │ │ ├── init
│ │ │ │ └── init.c
│ │ │ ├── libs
│ │ │ │ ├── readline.c
│ │ │ │ └── stdio.c
│ │ │ └── trap
│ │ │ └── trap.h
│ │ ├── libs
│ │ │ ├── elf.h
│ │ │ ├── error.h
│ │ │ ├── printfmt.c
│ │ │ ├── stdarg.h
│ │ │ ├── stdio.h
│ │ │ ├── string.c
│ │ │ ├── string.h
│ │ │ ├── types.h
│ │ │ └── x86.h
│ │ ├── Makefile
│ │ ├── obj
│ │ │ ├── boot
│ │ │ │ ├── bootasm.d
│ │ │ │ ├── bootasm.o
│ │ │ │ ├── bootmain.d
│ │ │ │ └── bootmain.o
│ │ │ ├── bootblock.asm
│ │ │ ├── bootblock.o
│ │ │ ├── bootblock.out
│ │ │ ├── kern
│ │ │ │ ├── debug
│ │ │ │ │ ├── kdebug.d
│ │ │ │ │ ├── kdebug.o
│ │ │ │ │ ├── monitor.d
│ │ │ │ │ ├── monitor.o
│ │ │ │ │ ├── panic.d
│ │ │ │ │ └── panic.o
│ │ │ │ ├── driver
│ │ │ │ │ ├── console.d
│ │ │ │ │ └── console.o
│ │ │ │ ├── init
│ │ │ │ │ ├── init.d
│ │ │ │ │ └── init.o
│ │ │ │ └── libs
│ │ │ │ ├── readline.d
│ │ │ │ ├── readline.o
│ │ │ │ ├── stdio.d
│ │ │ │ └── stdio.o
│ │ │ ├── kernel.asm
│ │ │ ├── kernel.sym
│ │ │ ├── libs
│ │ │ │ ├── printfmt.d
│ │ │ │ ├── printfmt.o
│ │ │ │ ├── string.d
│ │ │ │ └── string.o
│ │ │ └── sign
│ │ │ └── tools
│ │ │ ├── sign.d
│ │ │ └── sign.o
│ │ ├── proj3.1-handin.tar.gz
│ │ └── tools
│ │ ├── function.mk
│ │ ├── gdbinit
│ │ ├── grade.sh
│ │ ├── kernel.ld
│ │ └── sign.c
│ └── proj4
│ ├── boot
│ │ ├── asm.h
│ │ ├── bootasm.S
│ │ └── bootmain.c
│ ├── kern
│ │ ├── debug
│ │ │ ├── assert.h
│ │ │ ├── kdebug.c
│ │ │ ├── kdebug.h
│ │ │ ├── monitor.c
│ │ │ ├── monitor.h
│ │ │ ├── panic.c
│ │ │ └── stab.h
│ │ ├── driver
│ │ │ ├── clock.c
│ │ │ ├── clock.h
│ │ │ ├── console.c
│ │ │ ├── console.h
│ │ │ ├── kbdreg.h
│ │ │ ├── picirq.c
│ │ │ └── picirq.h
│ │ ├── init
│ │ │ └── init.c
│ │ ├── libs
│ │ │ ├── readline.c
│ │ │ └── stdio.c
│ │ ├── mm
│ │ │ ├── memlayout.h
│ │ │ └── mmu.h
│ │ └── trap
│ │ ├── trap.c
│ │ ├── trapentry.S
│ │ ├── trap.h
│ │ └── vectors.S
│ ├── libs
│ │ ├── elf.h
│ │ ├── error.h
│ │ ├── printfmt.c
│ │ ├── stdarg.h
│ │ ├── stdio.h
│ │ ├── string.c
│ │ ├── string.h
│ │ ├── types.h
│ │ └── x86.h
│ ├── Makefile
│ ├── oslab1_proj4.udb
│ ├── proj4-handin.tar.gz
│ └── tools
│ ├── function.mk
│ ├── gdbinit
│ ├── grade.sh
│ ├── kernel.ld
│ ├── sign.c
│ └── vector.c
├── ucore-lab2
│ ├── lab2-report.txt
│ ├── manual.pdf
│ ├── proj5
│ │ ├── boot
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ └── bootmain.c
│ │ ├── kern
│ │ │ ├── debug
│ │ │ │ ├── assert.h
│ │ │ │ ├── kdebug.c
│ │ │ │ ├── kdebug.h
│ │ │ │ ├── monitor.c
│ │ │ │ ├── monitor.h
│ │ │ │ ├── panic.c
│ │ │ │ └── stab.h
│ │ │ ├── driver
│ │ │ │ ├── clock.c
│ │ │ │ ├── clock.h
│ │ │ │ ├── console.c
│ │ │ │ ├── console.h
│ │ │ │ ├── intr.c
│ │ │ │ ├── intr.h
│ │ │ │ ├── kbdreg.h
│ │ │ │ ├── picirq.c
│ │ │ │ └── picirq.h
│ │ │ ├── init
│ │ │ │ ├── entry.S
│ │ │ │ └── init.c
│ │ │ ├── libs
│ │ │ │ ├── readline.c
│ │ │ │ └── stdio.c
│ │ │ ├── mm
│ │ │ │ ├── buddy_pmm.c
│ │ │ │ ├── buddy_pmm.h
│ │ │ │ ├── memlayout.h
│ │ │ │ ├── mmu.h
│ │ │ │ ├── pmm.c
│ │ │ │ └── pmm.h
│ │ │ ├── sync
│ │ │ │ └── sync.h
│ │ │ └── trap
│ │ │ ├── trap.c
│ │ │ ├── trapentry.S
│ │ │ ├── trap.h
│ │ │ └── vectors.S
│ │ ├── libs
│ │ │ ├── atomic.h
│ │ │ ├── elf.h
│ │ │ ├── error.h
│ │ │ ├── list.h
│ │ │ ├── printfmt.c
│ │ │ ├── stdarg.h
│ │ │ ├── stdio.h
│ │ │ ├── string.c
│ │ │ ├── string.h
│ │ │ ├── types.h
│ │ │ └── x86.h
│ │ ├── Makefile
│ │ ├── oslab2_proj5.udb
│ │ ├── proj5-handin.tar.gz
│ │ └── tools
│ │ ├── function.mk
│ │ ├── gdbinit
│ │ ├── grade.sh
│ │ ├── kernel.ld
│ │ ├── sign.c
│ │ └── vector.c
│ └── proj7
│ ├── boot
│ │ ├── asm.h
│ │ ├── bootasm.S
│ │ └── bootmain.c
│ ├── kern
│ │ ├── debug
│ │ │ ├── assert.h
│ │ │ ├── kdebug.c
│ │ │ ├── kdebug.h
│ │ │ ├── monitor.c
│ │ │ ├── monitor.h
│ │ │ ├── panic.c
│ │ │ └── stab.h
│ │ ├── driver
│ │ │ ├── clock.c
│ │ │ ├── clock.h
│ │ │ ├── console.c
│ │ │ ├── console.h
│ │ │ ├── intr.c
│ │ │ ├── intr.h
│ │ │ ├── kbdreg.h
│ │ │ ├── picirq.c
│ │ │ └── picirq.h
│ │ ├── init
│ │ │ ├── entry.S
│ │ │ └── init.c
│ │ ├── libs
│ │ │ ├── rb_tree.c
│ │ │ ├── rb_tree.h
│ │ │ ├── readline.c
│ │ │ └── stdio.c
│ │ ├── mm
│ │ │ ├── buddy_pmm.c
│ │ │ ├── buddy_pmm.h
│ │ │ ├── memlayout.h
│ │ │ ├── mmu.h
│ │ │ ├── pmm.c
│ │ │ ├── pmm.h
│ │ │ ├── slab.c
│ │ │ ├── slab.h
│ │ │ ├── vmm.c
│ │ │ └── vmm.h
│ │ ├── sync
│ │ │ └── sync.h
│ │ └── trap
│ │ ├── trap.c
│ │ ├── trapentry.S
│ │ ├── trap.h
│ │ └── vectors.S
│ ├── libs
│ │ ├── atomic.h
│ │ ├── elf.h
│ │ ├── error.h
│ │ ├── list.h
│ │ ├── printfmt.c
│ │ ├── rand.c
│ │ ├── stdarg.h
│ │ ├── stdio.h
│ │ ├── stdlib.h
│ │ ├── string.c
│ │ ├── string.h
│ │ ├── types.h
│ │ └── x86.h
│ ├── Makefile
│ ├── proj7-handin.tar.gz
│ └── tools
│ ├── function.mk
│ ├── gdbinit
│ ├── grade.sh
│ ├── kernel.ld
│ ├── sign.c
│ └── vector.c
├── ucore-lab3
│ ├── lab3_20110331_v4.pdf
│ ├── lab3-report.txt
│ ├── proj10
│ │ ├── boot
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ └── bootmain.c
│ │ ├── kern
│ │ │ ├── debug
│ │ │ │ ├── assert.h
│ │ │ │ ├── kdebug.c
│ │ │ │ ├── kdebug.h
│ │ │ │ ├── monitor.c
│ │ │ │ ├── monitor.h
│ │ │ │ ├── panic.c
│ │ │ │ └── stab.h
│ │ │ ├── driver
│ │ │ │ ├── clock.c
│ │ │ │ ├── clock.h
│ │ │ │ ├── console.c
│ │ │ │ ├── console.h
│ │ │ │ ├── ide.c
│ │ │ │ ├── ide.h
│ │ │ │ ├── intr.c
│ │ │ │ ├── intr.h
│ │ │ │ ├── kbdreg.h
│ │ │ │ ├── picirq.c
│ │ │ │ └── picirq.h
│ │ │ ├── fs
│ │ │ │ ├── fs.h
│ │ │ │ ├── swapfs.c
│ │ │ │ └── swapfs.h
│ │ │ ├── init
│ │ │ │ ├── entry.S
│ │ │ │ └── init.c
│ │ │ ├── libs
│ │ │ │ ├── rb_tree.c
│ │ │ │ ├── rb_tree.h
│ │ │ │ ├── readline.c
│ │ │ │ └── stdio.c
│ │ │ ├── mm
│ │ │ │ ├── buddy_pmm.c
│ │ │ │ ├── buddy_pmm.h
│ │ │ │ ├── memlayout.h
│ │ │ │ ├── mmu.h
│ │ │ │ ├── pmm.c
│ │ │ │ ├── pmm.h
│ │ │ │ ├── shmem.c
│ │ │ │ ├── shmem.h
│ │ │ │ ├── slab.c
│ │ │ │ ├── slab.h
│ │ │ │ ├── swap.c
│ │ │ │ ├── swap.h
│ │ │ │ ├── vmm.c
│ │ │ │ └── vmm.h
│ │ │ ├── process
│ │ │ │ ├── entry.S
│ │ │ │ ├── proc.c
│ │ │ │ ├── proc.h
│ │ │ │ └── switch.S
│ │ │ ├── schedule
│ │ │ │ ├── sched.c
│ │ │ │ └── sched.h
│ │ │ ├── sync
│ │ │ │ └── sync.h
│ │ │ └── trap
│ │ │ ├── trap.c
│ │ │ ├── trapentry.S
│ │ │ ├── trap.h
│ │ │ └── vectors.S
│ │ ├── libs
│ │ │ ├── atomic.h
│ │ │ ├── elf.h
│ │ │ ├── error.h
│ │ │ ├── hash.c
│ │ │ ├── list.h
│ │ │ ├── printfmt.c
│ │ │ ├── rand.c
│ │ │ ├── stdarg.h
│ │ │ ├── stdio.h
│ │ │ ├── stdlib.h
│ │ │ ├── string.c
│ │ │ ├── string.h
│ │ │ ├── types.h
│ │ │ ├── unistd.h
│ │ │ └── x86.h
│ │ ├── Makefile
│ │ ├── oslab3_proj10.IAB
│ │ ├── oslab3_proj10.IAD
│ │ ├── oslab3_proj10.IMB
│ │ ├── oslab3_proj10.IMD
│ │ ├── oslab3_proj10.PFI
│ │ ├── oslab3_proj10.PO
│ │ ├── oslab3_proj10.PR
│ │ ├── oslab3_proj10.PRI
│ │ ├── oslab3_proj10.PS
│ │ ├── oslab3_proj10.udb
│ │ ├── oslab3_proj10.WK3
│ │ ├── proj10-handin.tar.gz
│ │ └── tools
│ │ ├── function.mk
│ │ ├── gdbinit
│ │ ├── grade.sh
│ │ ├── kernel.ld
│ │ ├── sign.c
│ │ └── vector.c
│ ├── proj10.1
│ │ ├── boot
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ └── bootmain.c
│ │ ├── kern
│ │ │ ├── debug
│ │ │ │ ├── assert.h
│ │ │ │ ├── kdebug.c
│ │ │ │ ├── kdebug.h
│ │ │ │ ├── monitor.c
│ │ │ │ ├── monitor.h
│ │ │ │ ├── panic.c
│ │ │ │ └── stab.h
│ │ │ ├── driver
│ │ │ │ ├── clock.c
│ │ │ │ ├── clock.h
│ │ │ │ ├── console.c
│ │ │ │ ├── console.h
│ │ │ │ ├── ide.c
│ │ │ │ ├── ide.h
│ │ │ │ ├── intr.c
│ │ │ │ ├── intr.h
│ │ │ │ ├── kbdreg.h
│ │ │ │ ├── picirq.c
│ │ │ │ └── picirq.h
│ │ │ ├── fs
│ │ │ │ ├── fs.h
│ │ │ │ ├── swapfs.c
│ │ │ │ └── swapfs.h
│ │ │ ├── init
│ │ │ │ ├── entry.S
│ │ │ │ └── init.c
│ │ │ ├── libs
│ │ │ │ ├── rb_tree.c
│ │ │ │ ├── rb_tree.h
│ │ │ │ ├── readline.c
│ │ │ │ └── stdio.c
│ │ │ ├── mm
│ │ │ │ ├── buddy_pmm.c
│ │ │ │ ├── buddy_pmm.h
│ │ │ │ ├── memlayout.h
│ │ │ │ ├── mmu.h
│ │ │ │ ├── pmm.c
│ │ │ │ ├── pmm.h
│ │ │ │ ├── shmem.c
│ │ │ │ ├── shmem.h
│ │ │ │ ├── slab.c
│ │ │ │ ├── slab.h
│ │ │ │ ├── swap.c
│ │ │ │ ├── swap.h
│ │ │ │ ├── vmm.c
│ │ │ │ └── vmm.h
│ │ │ ├── process
│ │ │ │ ├── entry.S
│ │ │ │ ├── proc.c
│ │ │ │ ├── proc.h
│ │ │ │ └── switch.S
│ │ │ ├── schedule
│ │ │ │ ├── sched.c
│ │ │ │ └── sched.h
│ │ │ ├── sync
│ │ │ │ └── sync.h
│ │ │ ├── syscall
│ │ │ │ ├── syscall.c
│ │ │ │ └── syscall.h
│ │ │ └── trap
│ │ │ ├── trap.c
│ │ │ ├── trapentry.S
│ │ │ ├── trap.h
│ │ │ └── vectors.S
│ │ ├── libs
│ │ │ ├── atomic.h
│ │ │ ├── elf.h
│ │ │ ├── error.h
│ │ │ ├── hash.c
│ │ │ ├── list.h
│ │ │ ├── printfmt.c
│ │ │ ├── rand.c
│ │ │ ├── stdarg.h
│ │ │ ├── stdio.h
│ │ │ ├── stdlib.h
│ │ │ ├── string.c
│ │ │ ├── string.h
│ │ │ ├── types.h
│ │ │ ├── unistd.h
│ │ │ └── x86.h
│ │ ├── Makefile
│ │ ├── oslab3_proj10.1.IAB
│ │ ├── oslab3_proj10.1.IAD
│ │ ├── oslab3_proj10.1.IMB
│ │ ├── oslab3_proj10.1.IMD
│ │ ├── oslab3_proj10.1.PFI
│ │ ├── oslab3_proj10.1.PO
│ │ ├── oslab3_proj10.1.PR
│ │ ├── oslab3_proj10.1.PRI
│ │ ├── oslab3_proj10.1.PS
│ │ ├── oslab3_proj10.1.WK3
│ │ ├── proj10.1-handin.tar.gz
│ │ ├── tools
│ │ │ ├── function.mk
│ │ │ ├── gdbinit
│ │ │ ├── grade.sh
│ │ │ ├── kernel.ld
│ │ │ ├── sign.c
│ │ │ ├── user.ld
│ │ │ └── vector.c
│ │ └── user
│ │ ├── badsegment.c
│ │ ├── divzero.c
│ │ ├── faultread.c
│ │ ├── faultreadkernel.c
│ │ ├── hello.c
│ │ ├── libs
│ │ │ ├── initcode.S
│ │ │ ├── panic.c
│ │ │ ├── stdio.c
│ │ │ ├── syscall.c
│ │ │ ├── syscall.h
│ │ │ ├── ulib.c
│ │ │ ├── ulib.h
│ │ │ └── umain.c
│ │ ├── pgdir.c
│ │ ├── softint.c
│ │ ├── testbss.c
│ │ └── yield.c
│ ├── proj10.2
│ │ ├── boot
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ └── bootmain.c
│ │ ├── kern
│ │ │ ├── debug
│ │ │ │ ├── assert.h
│ │ │ │ ├── kdebug.c
│ │ │ │ ├── kdebug.h
│ │ │ │ ├── monitor.c
│ │ │ │ ├── monitor.h
│ │ │ │ ├── panic.c
│ │ │ │ └── stab.h
│ │ │ ├── driver
│ │ │ │ ├── clock.c
│ │ │ │ ├── clock.h
│ │ │ │ ├── console.c
│ │ │ │ ├── console.h
│ │ │ │ ├── ide.c
│ │ │ │ ├── ide.h
│ │ │ │ ├── intr.c
│ │ │ │ ├── intr.h
│ │ │ │ ├── kbdreg.h
│ │ │ │ ├── picirq.c
│ │ │ │ └── picirq.h
│ │ │ ├── fs
│ │ │ │ ├── fs.h
│ │ │ │ ├── swapfs.c
│ │ │ │ └── swapfs.h
│ │ │ ├── init
│ │ │ │ ├── entry.S
│ │ │ │ └── init.c
│ │ │ ├── libs
│ │ │ │ ├── rb_tree.c
│ │ │ │ ├── rb_tree.h
│ │ │ │ ├── readline.c
│ │ │ │ └── stdio.c
│ │ │ ├── mm
│ │ │ │ ├── buddy_pmm.c
│ │ │ │ ├── buddy_pmm.h
│ │ │ │ ├── memlayout.h
│ │ │ │ ├── mmu.h
│ │ │ │ ├── pmm.c
│ │ │ │ ├── pmm.h
│ │ │ │ ├── shmem.c
│ │ │ │ ├── shmem.h
│ │ │ │ ├── slab.c
│ │ │ │ ├── slab.h
│ │ │ │ ├── swap.c
│ │ │ │ ├── swap.h
│ │ │ │ ├── vmm.c
│ │ │ │ └── vmm.h
│ │ │ ├── process
│ │ │ │ ├── entry.S
│ │ │ │ ├── proc.c
│ │ │ │ ├── proc.c.bak
│ │ │ │ ├── proc.h
│ │ │ │ └── switch.S
│ │ │ ├── schedule
│ │ │ │ ├── sched.c
│ │ │ │ └── sched.h
│ │ │ ├── sync
│ │ │ │ └── sync.h
│ │ │ ├── syscall
│ │ │ │ ├── syscall.c
│ │ │ │ └── syscall.h
│ │ │ └── trap
│ │ │ ├── trap.c
│ │ │ ├── trapentry.S
│ │ │ ├── trap.h
│ │ │ └── vectors.S
│ │ ├── libs
│ │ │ ├── atomic.h
│ │ │ ├── elf.h
│ │ │ ├── error.h
│ │ │ ├── hash.c
│ │ │ ├── list.h
│ │ │ ├── printfmt.c
│ │ │ ├── rand.c
│ │ │ ├── stdarg.h
│ │ │ ├── stdio.h
│ │ │ ├── stdlib.h
│ │ │ ├── string.c
│ │ │ ├── string.h
│ │ │ ├── types.h
│ │ │ ├── unistd.h
│ │ │ └── x86.h
│ │ ├── Makefile
│ │ ├── proj10.2-handin.tar.gz
│ │ ├── tools
│ │ │ ├── function.mk
│ │ │ ├── gdbinit
│ │ │ ├── grade.sh
│ │ │ ├── kernel.ld
│ │ │ ├── sign.c
│ │ │ ├── user.ld
│ │ │ └── vector.c
│ │ └── user
│ │ ├── badarg.c
│ │ ├── badsegment.c
│ │ ├── divzero.c
│ │ ├── exit.c
│ │ ├── faultread.c
│ │ ├── faultreadkernel.c
│ │ ├── forktest.c
│ │ ├── forktree.c
│ │ ├── hello.c
│ │ ├── libs
│ │ │ ├── initcode.S
│ │ │ ├── panic.c
│ │ │ ├── stdio.c
│ │ │ ├── syscall.c
│ │ │ ├── syscall.h
│ │ │ ├── ulib.c
│ │ │ ├── ulib.h
│ │ │ └── umain.c
│ │ ├── pgdir.c
│ │ ├── softint.c
│ │ ├── spin.c
│ │ ├── testbss.c
│ │ ├── waitkill.c
│ │ └── yield.c
│ ├── proj10.3
│ │ ├── boot
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ └── bootmain.c
│ │ ├── kern
│ │ │ ├── debug
│ │ │ │ ├── assert.h
│ │ │ │ ├── kdebug.c
│ │ │ │ ├── kdebug.h
│ │ │ │ ├── monitor.c
│ │ │ │ ├── monitor.h
│ │ │ │ ├── panic.c
│ │ │ │ └── stab.h
│ │ │ ├── driver
│ │ │ │ ├── clock.c
│ │ │ │ ├── clock.h
│ │ │ │ ├── console.c
│ │ │ │ ├── console.h
│ │ │ │ ├── ide.c
│ │ │ │ ├── ide.h
│ │ │ │ ├── intr.c
│ │ │ │ ├── intr.h
│ │ │ │ ├── kbdreg.h
│ │ │ │ ├── picirq.c
│ │ │ │ └── picirq.h
│ │ │ ├── fs
│ │ │ │ ├── fs.h
│ │ │ │ ├── swapfs.c
│ │ │ │ └── swapfs.h
│ │ │ ├── init
│ │ │ │ ├── entry.S
│ │ │ │ └── init.c
│ │ │ ├── libs
│ │ │ │ ├── rb_tree.c
│ │ │ │ ├── rb_tree.h
│ │ │ │ ├── readline.c
│ │ │ │ └── stdio.c
│ │ │ ├── mm
│ │ │ │ ├── buddy_pmm.c
│ │ │ │ ├── buddy_pmm.h
│ │ │ │ ├── memlayout.h
│ │ │ │ ├── mmu.h
│ │ │ │ ├── pmm.c
│ │ │ │ ├── pmm.h
│ │ │ │ ├── shmem.c
│ │ │ │ ├── shmem.h
│ │ │ │ ├── slab.c
│ │ │ │ ├── slab.h
│ │ │ │ ├── swap.c
│ │ │ │ ├── swap.h
│ │ │ │ ├── vmm.c
│ │ │ │ └── vmm.h
│ │ │ ├── process
│ │ │ │ ├── entry.S
│ │ │ │ ├── proc.c
│ │ │ │ ├── proc.h
│ │ │ │ └── switch.S
│ │ │ ├── schedule
│ │ │ │ ├── sched.c
│ │ │ │ └── sched.h
│ │ │ ├── sync
│ │ │ │ └── sync.h
│ │ │ ├── syscall
│ │ │ │ ├── syscall.c
│ │ │ │ └── syscall.h
│ │ │ └── trap
│ │ │ ├── trap.c
│ │ │ ├── trapentry.S
│ │ │ ├── trap.h
│ │ │ └── vectors.S
│ │ ├── libs
│ │ │ ├── atomic.h
│ │ │ ├── elf.h
│ │ │ ├── error.h
│ │ │ ├── hash.c
│ │ │ ├── list.h
│ │ │ ├── printfmt.c
│ │ │ ├── rand.c
│ │ │ ├── stdarg.h
│ │ │ ├── stdio.h
│ │ │ ├── stdlib.h
│ │ │ ├── string.c
│ │ │ ├── string.h
│ │ │ ├── types.h
│ │ │ ├── unistd.h
│ │ │ └── x86.h
│ │ ├── Makefile
│ │ ├── oslab3_proj10.3.IAB
│ │ ├── oslab3_proj10.3.IAD
│ │ ├── oslab3_proj10.3.IMB
│ │ ├── oslab3_proj10.3.IMD
│ │ ├── oslab3_proj10.3.PFI
│ │ ├── oslab3_proj10.3.PO
│ │ ├── oslab3_proj10.3.PR
│ │ ├── oslab3_proj10.3.PRI
│ │ ├── oslab3_proj10.3.PS
│ │ ├── oslab3_proj10.3.WK3
│ │ ├── proj10.3-handin.tar.gz
│ │ ├── tools
│ │ │ ├── function.mk
│ │ │ ├── gdbinit
│ │ │ ├── grade.sh
│ │ │ ├── kernel.ld
│ │ │ ├── sign.c
│ │ │ ├── user.ld
│ │ │ └── vector.c
│ │ └── user
│ │ ├── badarg.c
│ │ ├── badbrktest.c
│ │ ├── badsegment.c
│ │ ├── brkfreetest.c
│ │ ├── brktest.c
│ │ ├── divzero.c
│ │ ├── exit.c
│ │ ├── faultread.c
│ │ ├── faultreadkernel.c
│ │ ├── forktest.c
│ │ ├── forktree.c
│ │ ├── hello.c
│ │ ├── libs
│ │ │ ├── initcode.S
│ │ │ ├── malloc.c
│ │ │ ├── malloc.h
│ │ │ ├── panic.c
│ │ │ ├── stdio.c
│ │ │ ├── syscall.c
│ │ │ ├── syscall.h
│ │ │ ├── ulib.c
│ │ │ ├── ulib.h
│ │ │ └── umain.c
│ │ ├── pgdir.c
│ │ ├── softint.c
│ │ ├── spin.c
│ │ ├── testbss.c
│ │ ├── waitkill.c
│ │ └── yield.c
│ ├── proj10.4
│ │ ├── boot
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ └── bootmain.c
│ │ ├── kern
│ │ │ ├── debug
│ │ │ │ ├── assert.h
│ │ │ │ ├── kdebug.c
│ │ │ │ ├── kdebug.h
│ │ │ │ ├── monitor.c
│ │ │ │ ├── monitor.h
│ │ │ │ ├── panic.c
│ │ │ │ └── stab.h
│ │ │ ├── driver
│ │ │ │ ├── clock.c
│ │ │ │ ├── clock.h
│ │ │ │ ├── console.c
│ │ │ │ ├── console.h
│ │ │ │ ├── ide.c
│ │ │ │ ├── ide.h
│ │ │ │ ├── intr.c
│ │ │ │ ├── intr.h
│ │ │ │ ├── kbdreg.h
│ │ │ │ ├── picirq.c
│ │ │ │ └── picirq.h
│ │ │ ├── fs
│ │ │ │ ├── fs.h
│ │ │ │ ├── swapfs.c
│ │ │ │ └── swapfs.h
│ │ │ ├── init
│ │ │ │ ├── entry.S
│ │ │ │ └── init.c
│ │ │ ├── libs
│ │ │ │ ├── rb_tree.c
│ │ │ │ ├── rb_tree.h
│ │ │ │ ├── readline.c
│ │ │ │ └── stdio.c
│ │ │ ├── mm
│ │ │ │ ├── buddy_pmm.c
│ │ │ │ ├── buddy_pmm.h
│ │ │ │ ├── memlayout.h
│ │ │ │ ├── mmu.h
│ │ │ │ ├── pmm.c
│ │ │ │ ├── pmm.h
│ │ │ │ ├── shmem.c
│ │ │ │ ├── shmem.h
│ │ │ │ ├── slab.c
│ │ │ │ ├── slab.h
│ │ │ │ ├── swap.c
│ │ │ │ ├── swap.h
│ │ │ │ ├── vmm.c
│ │ │ │ └── vmm.h
│ │ │ ├── process
│ │ │ │ ├── entry.S
│ │ │ │ ├── proc.c
│ │ │ │ ├── proc.c.bak
│ │ │ │ ├── proc.h
│ │ │ │ └── switch.S
│ │ │ ├── schedule
│ │ │ │ ├── sched.c
│ │ │ │ └── sched.h
│ │ │ ├── sync
│ │ │ │ └── sync.h
│ │ │ ├── syscall
│ │ │ │ ├── syscall.c
│ │ │ │ └── syscall.h
│ │ │ └── trap
│ │ │ ├── trap.c
│ │ │ ├── trapentry.S
│ │ │ ├── trap.h
│ │ │ └── vectors.S
│ │ ├── libs
│ │ │ ├── atomic.h
│ │ │ ├── elf.h
│ │ │ ├── error.h
│ │ │ ├── hash.c
│ │ │ ├── list.h
│ │ │ ├── printfmt.c
│ │ │ ├── rand.c
│ │ │ ├── stdarg.h
│ │ │ ├── stdio.h
│ │ │ ├── stdlib.h
│ │ │ ├── string.c
│ │ │ ├── string.h
│ │ │ ├── types.h
│ │ │ ├── unistd.h
│ │ │ └── x86.h
│ │ ├── Makefile
│ │ ├── proj10.4-handin.tar.gz
│ │ ├── tools
│ │ │ ├── function.mk
│ │ │ ├── gdbinit
│ │ │ ├── grade.sh
│ │ │ ├── kernel.ld
│ │ │ ├── sign.c
│ │ │ ├── user.ld
│ │ │ └── vector.c
│ │ └── user
│ │ ├── badarg.c
│ │ ├── badbrktest.c
│ │ ├── badsegment.c
│ │ ├── brkfreetest.c
│ │ ├── brktest.c
│ │ ├── divzero.c
│ │ ├── exit.c
│ │ ├── faultread.c
│ │ ├── faultreadkernel.c
│ │ ├── forktest.c
│ │ ├── forktree.c
│ │ ├── hello.c
│ │ ├── libs
│ │ │ ├── initcode.S
│ │ │ ├── malloc.c
│ │ │ ├── malloc.h
│ │ │ ├── panic.c
│ │ │ ├── stdio.c
│ │ │ ├── syscall.c
│ │ │ ├── syscall.h
│ │ │ ├── ulib.c
│ │ │ ├── ulib.h
│ │ │ └── umain.c
│ │ ├── pgdir.c
│ │ ├── sleep.c
│ │ ├── sleepkill.c
│ │ ├── softint.c
│ │ ├── spin.c
│ │ ├── testbss.c
│ │ ├── waitkill.c
│ │ └── yield.c
│ └── proj12
│ ├── boot
│ │ ├── asm.h
│ │ ├── bootasm.S
│ │ └── bootmain.c
│ ├── kern
│ │ ├── debug
│ │ │ ├── assert.h
│ │ │ ├── kdebug.c
│ │ │ ├── kdebug.h
│ │ │ ├── monitor.c
│ │ │ ├── monitor.h
│ │ │ ├── panic.c
│ │ │ └── stab.h
│ │ ├── driver
│ │ │ ├── clock.c
│ │ │ ├── clock.h
│ │ │ ├── console.c
│ │ │ ├── console.h
│ │ │ ├── ide.c
│ │ │ ├── ide.h
│ │ │ ├── intr.c
│ │ │ ├── intr.h
│ │ │ ├── kbdreg.h
│ │ │ ├── picirq.c
│ │ │ └── picirq.h
│ │ ├── fs
│ │ │ ├── fs.h
│ │ │ ├── swapfs.c
│ │ │ └── swapfs.h
│ │ ├── init
│ │ │ ├── entry.S
│ │ │ └── init.c
│ │ ├── libs
│ │ │ ├── rb_tree.c
│ │ │ ├── rb_tree.h
│ │ │ ├── readline.c
│ │ │ └── stdio.c
│ │ ├── mm
│ │ │ ├── buddy_pmm.c
│ │ │ ├── buddy_pmm.h
│ │ │ ├── memlayout.h
│ │ │ ├── mmu.h
│ │ │ ├── pmm.c
│ │ │ ├── pmm.h
│ │ │ ├── shmem.c
│ │ │ ├── shmem.h
│ │ │ ├── slab.c
│ │ │ ├── slab.h
│ │ │ ├── swap.c
│ │ │ ├── swap.h
│ │ │ ├── vmm.c
│ │ │ └── vmm.h
│ │ ├── process
│ │ │ ├── entry.S
│ │ │ ├── proc.c
│ │ │ ├── proc.h
│ │ │ └── switch.S
│ │ ├── schedule
│ │ │ ├── sched.c
│ │ │ └── sched.h
│ │ ├── sync
│ │ │ ├── sync.h
│ │ │ ├── wait.c
│ │ │ └── wait.h
│ │ ├── syscall
│ │ │ ├── syscall.c
│ │ │ └── syscall.h
│ │ └── trap
│ │ ├── trap.c
│ │ ├── trapentry.S
│ │ ├── trap.h
│ │ └── vectors.S
│ ├── libs
│ │ ├── atomic.h
│ │ ├── elf.h
│ │ ├── error.h
│ │ ├── hash.c
│ │ ├── list.h
│ │ ├── printfmt.c
│ │ ├── rand.c
│ │ ├── stdarg.h
│ │ ├── stdio.h
│ │ ├── stdlib.h
│ │ ├── string.c
│ │ ├── string.h
│ │ ├── types.h
│ │ ├── unistd.h
│ │ └── x86.h
│ ├── Makefile
│ ├── oslab3_proj12.IAB
│ ├── oslab3_proj12.IAD
│ ├── oslab3_proj12.IMB
│ ├── oslab3_proj12.IMD
│ ├── oslab3_proj12.PFI
│ ├── oslab3_proj12.PO
│ ├── oslab3_proj12.PR
│ ├── oslab3_proj12.PRI
│ ├── oslab3_proj12.PS
│ ├── oslab3_proj12.udb
│ ├── oslab3_proj12.WK3
│ ├── proj12-handin.tar.gz
│ ├── testsprint.c
│ ├── tools
│ │ ├── function.mk
│ │ ├── gdbinit
│ │ ├── grade.sh
│ │ ├── kernel.ld
│ │ ├── sign.c
│ │ ├── user.ld
│ │ └── vector.c
│ └── user
│ ├── badarg.c
│ ├── badbrktest.c
│ ├── badsegment.c
│ ├── brkfreetest.c
│ ├── brktest.c
│ ├── buggy_wait2.c
│ ├── buggy_wait.c
│ ├── cowtest.c
│ ├── divzero.c
│ ├── exit.c
│ ├── faultread.c
│ ├── faultreadkernel.c
│ ├── forktest.c
│ ├── forktree.c
│ ├── hello.c
│ ├── libs
│ │ ├── clone.S
│ │ ├── initcode.S
│ │ ├── lock.h
│ │ ├── malloc.c
│ │ ├── malloc.h
│ │ ├── panic.c
│ │ ├── stdio.c
│ │ ├── syscall.c
│ │ ├── syscall.h
│ │ ├── thread.c
│ │ ├── thread.h
│ │ ├── ulib.c
│ │ ├── ulib.h
│ │ └── umain.c
│ ├── mmaptest.c
│ ├── pgdir.c
│ ├── primer.c
│ ├── shmemtest.c
│ ├── sleep.c
│ ├── sleepkill.c
│ ├── softint.c
│ ├── spin.c
│ ├── swaptest.c
│ ├── testbss.c
│ ├── testsprint.c
│ ├── threadfork.c
│ ├── threadtest.c
│ ├── threadwork.c
│ ├── waitkill.c
│ └── yield.c
├── ucore-lab4
│ ├── lab4.pdf
│ ├── lab4-report.txt
│ └── proj13.1
│ ├── boot
│ │ ├── asm.h
│ │ ├── bootasm.S
│ │ └── bootmain.c
│ ├── kern
│ │ ├── debug
│ │ │ ├── assert.h
│ │ │ ├── kdebug.c
│ │ │ ├── kdebug.h
│ │ │ ├── monitor.c
│ │ │ ├── monitor.h
│ │ │ ├── panic.c
│ │ │ └── stab.h
│ │ ├── driver
│ │ │ ├── clock.c
│ │ │ ├── clock.h
│ │ │ ├── console.c
│ │ │ ├── console.h
│ │ │ ├── ide.c
│ │ │ ├── ide.h
│ │ │ ├── intr.c
│ │ │ ├── intr.h
│ │ │ ├── kbdreg.h
│ │ │ ├── picirq.c
│ │ │ └── picirq.h
│ │ ├── fs
│ │ │ ├── fs.h
│ │ │ ├── swapfs.c
│ │ │ └── swapfs.h
│ │ ├── init
│ │ │ ├── entry.S
│ │ │ └── init.c
│ │ ├── libs
│ │ │ ├── rb_tree.c
│ │ │ ├── rb_tree.h
│ │ │ ├── readline.c
│ │ │ └── stdio.c
│ │ ├── mm
│ │ │ ├── buddy_pmm.c
│ │ │ ├── buddy_pmm.h
│ │ │ ├── memlayout.h
│ │ │ ├── mmu.h
│ │ │ ├── pmm.c
│ │ │ ├── pmm.h
│ │ │ ├── shmem.c
│ │ │ ├── shmem.h
│ │ │ ├── slab.c
│ │ │ ├── slab.h
│ │ │ ├── swap.c
│ │ │ ├── swap.h
│ │ │ ├── vmm.c
│ │ │ └── vmm.h
│ │ ├── process
│ │ │ ├── entry.S
│ │ │ ├── proc.c
│ │ │ ├── proc.h
│ │ │ └── switch.S
│ │ ├── schedule
│ │ │ ├── sched.c
│ │ │ ├── sched.h
│ │ │ ├── sched_RR.c
│ │ │ ├── sched_RR.h
│ │ │ ├── sched_stride.c
│ │ │ └── sched_stride.h
│ │ ├── sync
│ │ │ ├── sync.h
│ │ │ ├── wait.c
│ │ │ └── wait.h
│ │ ├── syscall
│ │ │ ├── syscall.c
│ │ │ └── syscall.h
│ │ └── trap
│ │ ├── trap.c
│ │ ├── trapentry.S
│ │ ├── trap.h
│ │ └── vectors.S
│ ├── libs
│ │ ├── atomic.h
│ │ ├── elf.h
│ │ ├── error.h
│ │ ├── hash.c
│ │ ├── list.h
│ │ ├── printfmt.c
│ │ ├── rand.c
│ │ ├── skew_heap.h
│ │ ├── stdarg.h
│ │ ├── stdio.h
│ │ ├── stdlib.h
│ │ ├── string.c
│ │ ├── string.h
│ │ ├── types.h
│ │ ├── unistd.h
│ │ └── x86.h
│ ├── Makefile
│ ├── oslab4_proj13.1.IAB
│ ├── oslab4_proj13.1.IAD
│ ├── oslab4_proj13.1.IMB
│ ├── oslab4_proj13.1.IMD
│ ├── oslab4_proj13.1.PFI
│ ├── oslab4_proj13.1.PO
│ ├── oslab4_proj13.1.PR
│ ├── oslab4_proj13.1.PRI
│ ├── oslab4_proj13.1.PS
│ ├── oslab4_proj13.1.udb
│ ├── oslab4_proj13.1.WK3
│ ├── oslab.udb
│ ├── proj13.1-handin.tar.gz
│ ├── tools
│ │ ├── function.mk
│ │ ├── gdbinit
│ │ ├── grade.sh
│ │ ├── kernel.ld
│ │ ├── sign.c
│ │ ├── user.ld
│ │ └── vector.c
│ └── user
│ ├── badarg.c
│ ├── badbrktest.c
│ ├── badsegment.c
│ ├── brkfreetest.c
│ ├── brktest.c
│ ├── buggy_wait2.c
│ ├── buggy_wait.c
│ ├── cowtest.c
│ ├── divzero.c
│ ├── exit.c
│ ├── faultread.c
│ ├── faultreadkernel.c
│ ├── forktest.c
│ ├── forktree.c
│ ├── hello.c
│ ├── libs
│ │ ├── clone.S
│ │ ├── initcode.S
│ │ ├── lock.h
│ │ ├── malloc.c
│ │ ├── malloc.h
│ │ ├── panic.c
│ │ ├── stdio.c
│ │ ├── syscall.c
│ │ ├── syscall.h
│ │ ├── thread.c
│ │ ├── thread.h
│ │ ├── ulib.c
│ │ ├── ulib.h
│ │ └── umain.c
│ ├── matrix.c
│ ├── mmaptest.c
│ ├── pgdir.c
│ ├── primer.c
│ ├── priority.c
│ ├── shmemtest.c
│ ├── sleep.c
│ ├── sleepkill.c
│ ├── softint.c
│ ├── spin.c
│ ├── swaptest.c
│ ├── testbss.c
│ ├── threadfork.c
│ ├── threadtest.c
│ ├── threadwork.c
│ ├── waitkill.c
│ └── yield.c
├── ucore-lab5
│ ├── 20110518-lab5-v2.pdf
│ ├── lab5_report.txt
│ └── proj16
│ ├── boot
│ │ ├── asm.h
│ │ ├── bootasm.S
│ │ └── bootmain.c
│ ├── init
│ ├── kern
│ │ ├── debug
│ │ │ ├── assert.h
│ │ │ ├── kdebug.c
│ │ │ ├── kdebug.h
│ │ │ ├── monitor.c
│ │ │ ├── monitor.h
│ │ │ ├── panic.c
│ │ │ └── stab.h
│ │ ├── driver
│ │ │ ├── clock.c
│ │ │ ├── clock.h
│ │ │ ├── console.c
│ │ │ ├── console.h
│ │ │ ├── ide.c
│ │ │ ├── ide.h
│ │ │ ├── intr.c
│ │ │ ├── intr.h
│ │ │ ├── kbdreg.h
│ │ │ ├── picirq.c
│ │ │ └── picirq.h
│ │ ├── fs
│ │ │ ├── fs.h
│ │ │ ├── swapfs.c
│ │ │ └── swapfs.h
│ │ ├── init
│ │ │ ├── entry.S
│ │ │ └── init.c
│ │ ├── libs
│ │ │ ├── rb_tree.c
│ │ │ ├── rb_tree.h
│ │ │ ├── readline.c
│ │ │ └── stdio.c
│ │ ├── mm
│ │ │ ├── buddy_pmm.c
│ │ │ ├── buddy_pmm.h
│ │ │ ├── memlayout.h
│ │ │ ├── mmu.h
│ │ │ ├── pmm.c
│ │ │ ├── pmm.h
│ │ │ ├── shmem.c
│ │ │ ├── shmem.h
│ │ │ ├── slab.c
│ │ │ ├── slab.h
│ │ │ ├── swap.c
│ │ │ ├── swap.h
│ │ │ ├── vmm.c
│ │ │ └── vmm.h
│ │ ├── process
│ │ │ ├── entry.S
│ │ │ ├── proc.c
│ │ │ ├── proc.h
│ │ │ └── switch.S
│ │ ├── schedule
│ │ │ ├── sched.c
│ │ │ ├── sched.h
│ │ │ ├── sched_MLFQ.c
│ │ │ ├── sched_MLFQ.h
│ │ │ ├── sched_RR.c
│ │ │ └── sched_RR.h
│ │ ├── sync
│ │ │ ├── condition.h
│ │ │ ├── event.c
│ │ │ ├── event.h
│ │ │ ├── ipc.h
│ │ │ ├── klock.h
│ │ │ ├── mbox.c
│ │ │ ├── mbox.h
│ │ │ ├── sem.c
│ │ │ ├── sem.h
│ │ │ ├── sync.c
│ │ │ ├── sync.h
│ │ │ ├── wait.c
│ │ │ └── wait.h
│ │ ├── syscall
│ │ │ ├── syscall.c
│ │ │ └── syscall.h
│ │ └── trap
│ │ ├── trap.c
│ │ ├── trapentry.S
│ │ ├── trap.h
│ │ └── vectors.S
│ ├── libs
│ │ ├── atomic.h
│ │ ├── elf.h
│ │ ├── error.h
│ │ ├── hash.c
│ │ ├── list.h
│ │ ├── mboxbuf.h
│ │ ├── printfmt.c
│ │ ├── rand.c
│ │ ├── stdarg.h
│ │ ├── stdio.h
│ │ ├── stdlib.h
│ │ ├── string.c
│ │ ├── string.h
│ │ ├── types.h
│ │ ├── unistd.h
│ │ └── x86.h
│ ├── Makefile
│ ├── oslab5_proj16.IAB
│ ├── oslab5_proj16.IAD
│ ├── oslab5_proj16.IMB
│ ├── oslab5_proj16.IMD
│ ├── oslab5_proj16.PFI
│ ├── oslab5_proj16.PO
│ ├── oslab5_proj16.PR
│ ├── oslab5_proj16.PRI
│ ├── oslab5_proj16.PS
│ ├── oslab5_proj16.udb
│ ├── oslab5_proj16.WK3
│ ├── tmp
│ ├── tools
│ │ ├── function.mk
│ │ ├── gdbinit
│ │ ├── grade.sh
│ │ ├── kernel.ld
│ │ ├── sign.c
│ │ ├── user.ld
│ │ └── vector.c
│ └── user
│ ├── badarg.c
│ ├── badbrktest.c
│ ├── badsegment.c
│ ├── brkfreetest.c
│ ├── brktest.c
│ ├── buggy_event.c
│ ├── buggy_wait2.c
│ ├── buggy_wait.c
│ ├── cdt_pc.c
│ ├── cdt_wf.c
│ ├── cowtest.c
│ ├── divzero.c
│ ├── eventtest.c
│ ├── exit.c
│ ├── faultread.c
│ ├── faultreadkernel.c
│ ├── forktest.c
│ ├── forktree.c
│ ├── hello.c
│ ├── libs
│ │ ├── clone.S
│ │ ├── initcode.S
│ │ ├── lock.h
│ │ ├── malloc.c
│ │ ├── malloc.h
│ │ ├── panic.c
│ │ ├── spipe.c
│ │ ├── spipe.h
│ │ ├── stdio.c
│ │ ├── syscall.c
│ │ ├── syscall.h
│ │ ├── thread.c
│ │ ├── thread.h
│ │ ├── ulib.c
│ │ ├── ulib.h
│ │ └── umain.c
│ ├── matrix.c
│ ├── mboxmap.c
│ ├── mboxtest.c
│ ├── mmaptest.c
│ ├── pgdir.c
│ ├── primer2.c
│ ├── primer3.c
│ ├── primer.c
│ ├── sem_rf.c
│ ├── semtest2.c
│ ├── semtest3.c
│ ├── semtest4.c
│ ├── semtest.c
│ ├── sem_wf.c
│ ├── shmemtest.c
│ ├── sleep.c
│ ├── sleepkill.c
│ ├── softint.c
│ ├── spin.c
│ ├── spipetest2.c
│ ├── spipetest.c
│ ├── swaptest.c
│ ├── testbss.c
│ ├── threadfork.c
│ ├── threadtest.c
│ ├── threadwork.c
│ ├── waitkill.c
│ └── yield.c
└── ucore-lab6
├── lab6-20110603.pdf
└── proj18
├── boot
│ ├── asm.h
│ ├── bootasm.S
│ └── bootmain.c
├── disk0
│ ├── bin
│ ├── home
│ ├── test
│ │ └── testfile
│ └── testman
│ ├── awk
│ ├── coreutils
│ │ ├── cat
│ │ ├── cp
│ │ ├── ls
│ │ ├── mv
│ │ └── rm
│ ├── cpp
│ ├── gcc
│ ├── gdb
│ ├── ld
│ ├── sed
│ └── zsh
├── kern
│ ├── debug
│ │ ├── assert.h
│ │ ├── kdebug.c
│ │ ├── kdebug.h
│ │ ├── monitor.c
│ │ ├── monitor.h
│ │ ├── panic.c
│ │ └── stab.h
│ ├── driver
│ │ ├── clock.c
│ │ ├── clock.h
│ │ ├── console.c
│ │ ├── console.h
│ │ ├── ide.c
│ │ ├── ide.h
│ │ ├── intr.c
│ │ ├── intr.h
│ │ ├── kbdreg.h
│ │ ├── picirq.c
│ │ └── picirq.h
│ ├── fs
│ │ ├── devs
│ │ │ ├── dev.c
│ │ │ ├── dev_disk0.c
│ │ │ ├── dev.h
│ │ │ ├── dev_null.c
│ │ │ ├── dev_stdin.c
│ │ │ └── dev_stdout.c
│ │ ├── file.c
│ │ ├── file.h
│ │ ├── fs.c
│ │ ├── fs.h
│ │ ├── iobuf.c
│ │ ├── iobuf.h
│ │ ├── pipe
│ │ │ ├── pipe.c
│ │ │ ├── pipe.h
│ │ │ ├── pipe_inode.c
│ │ │ ├── pipe_root.c
│ │ │ ├── pipe_state.c
│ │ │ └── pipe_state.h
│ │ ├── sfs
│ │ │ ├── bitmap.c
│ │ │ ├── bitmap.h
│ │ │ ├── sfs.c
│ │ │ ├── sfs_fs.c
│ │ │ ├── sfs.h
│ │ │ ├── sfs_inode.c
│ │ │ ├── sfs_io.c
│ │ │ └── sfs_lock.c
│ │ ├── swap
│ │ │ ├── swapfs.c
│ │ │ └── swapfs.h
│ │ ├── sysfile.c
│ │ ├── sysfile.h
│ │ └── vfs
│ │ ├── inode.c
│ │ ├── inode.h
│ │ ├── vfs.c
│ │ ├── vfsdev.c
│ │ ├── vfsfile.c
│ │ ├── vfs.h
│ │ ├── vfslookup.c
│ │ └── vfspath.c
│ ├── init
│ │ ├── entry.S
│ │ └── init.c
│ ├── libs
│ │ ├── rb_tree.c
│ │ ├── rb_tree.h
│ │ ├── readline.c
│ │ ├── stdio.c
│ │ └── string.c
│ ├── mm
│ │ ├── buddy_pmm.c
│ │ ├── buddy_pmm.h
│ │ ├── memlayout.h
│ │ ├── mmu.h
│ │ ├── pmm.c
│ │ ├── pmm.h
│ │ ├── shmem.c
│ │ ├── shmem.h
│ │ ├── slab.c
│ │ ├── slab.h
│ │ ├── swap.c
│ │ ├── swap.h
│ │ ├── vmm.c
│ │ └── vmm.h
│ ├── process
│ │ ├── entry.S
│ │ ├── proc.c
│ │ ├── proc.h
│ │ └── switch.S
│ ├── schedule
│ │ ├── sched.c
│ │ ├── sched.h
│ │ ├── sched_MLFQ.c
│ │ ├── sched_MLFQ.h
│ │ ├── sched_RR.c
│ │ └── sched_RR.h
│ ├── sync
│ │ ├── event.c
│ │ ├── event.h
│ │ ├── ipc.h
│ │ ├── mbox.c
│ │ ├── mbox.h
│ │ ├── sem.c
│ │ ├── sem.h
│ │ ├── sync.c
│ │ ├── sync.h
│ │ ├── wait.c
│ │ └── wait.h
│ ├── syscall
│ │ ├── syscall.c
│ │ └── syscall.h
│ └── trap
│ ├── trap.c
│ ├── trapentry.S
│ ├── trap.h
│ └── vectors.S
├── libs
│ ├── atomic.h
│ ├── dirent.h
│ ├── elf.h
│ ├── error.h
│ ├── hash.c
│ ├── list.h
│ ├── mboxbuf.h
│ ├── printfmt.c
│ ├── rand.c
│ ├── stat.h
│ ├── stdarg.h
│ ├── stdio.h
│ ├── stdlib.h
│ ├── string.c
│ ├── string.h
│ ├── types.h
│ ├── unistd.h
│ └── x86.h
├── Makefile
├── tools
│ ├── function.mk
│ ├── gdbinit
│ ├── grade.sh
│ ├── kernel.ld
│ ├── mksfs.c
│ ├── sign.c
│ ├── user.ld
│ └── vector.c
└── user
├── badarg.c
├── badbrktest.c
├── badsegment.c
├── brkfreetest.c
├── brktest.c
├── buggy_event.c
├── buggy_wait2.c
├── buggy_wait.c
├── cowtest.c
├── divzero.c
├── eventtest.c
├── exit.c
├── faultread.c
├── faultreadkernel.c
├── forktest.c
├── forktree.c
├── fread_test2.c
├── fread_test.c
├── fwrite_test.c
├── hello2.c
├── hello.c
├── libs
│ ├── clone.S
│ ├── dir.c
│ ├── dir.h
│ ├── file.c
│ ├── file.h
│ ├── initcode.S
│ ├── lock.h
│ ├── malloc.c
│ ├── malloc.h
│ ├── panic.c
│ ├── spipe.c
│ ├── spipe.h
│ ├── stdio.c
│ ├── string.c
│ ├── syscall.c
│ ├── syscall.h
│ ├── thread.c
│ ├── thread.h
│ ├── ulib.c
│ ├── ulib.h
│ └── umain.c
├── matrix.c
├── mboxmap.c
├── mboxtest.c
├── mmaptest.c
├── pgdir.c
├── pipetest2.c
├── pipetest.c
├── primer2.c
├── primer3.c
├── primer.c
├── sem_rf.c
├── semtest2.c
├── semtest3.c
├── semtest4.c
├── semtest.c
├── sem_wf.c
├── sfs_dirtest1.c
├── sfs_dirtest2.c
├── sfs_dirtest3.c
├── sfs_filetest1.c
├── sfs_filetest2.c
├── sfs_filetest3.c
├── shmemtest.c
├── sleep.c
├── sleepkill.c
├── softint.c
├── spin.c
├── spipetest2.c
├── spipetest.c
├── swaptest.c
├── testbss.c
├── threadfork.c
├── threadgroup1.c
├── threadgroup2.c
├── threadtest.c
├── threadwork.c
├── waitkill.c
└── yield.c
269 directories, 1547 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论