实例介绍
ucore lab实验总结(代码+报告)
【实例截图】
【核心代码】
福利福利.tar
├── PaxHeader
│ └── 绂忓埄绂忓埄
└── 绂忓埄绂忓埄
├── 1
│ ├── 1-1.png
│ ├── 1-2.png
│ ├── 1-3.png
│ ├── 20170313-215801.png
│ ├── 20170313-215844.png
│ ├── 20170313-231111.png
│ ├── 20170313-231313.png
│ ├── 20170313-232631.png
│ ├── 20170313-232917.png
│ ├── 20170313-232947.png
│ ├── 20170313-233216.png
│ ├── 20170313-234427.png
│ ├── 20170313-235556.png
│ ├── 20170314-000051.png
│ ├── 20170314-000100.png
│ ├── 20170314-000510.png
│ ├── 20170314-004302.png
│ ├── 20170314-004317.png
│ ├── 20170314-014503.png
│ ├── 20170314-021008.png
│ ├── 20170314-021534.png
│ ├── Lab1 瀹為獙鎶ュ憡.md
│ ├── PaxHeader
│ │ ├── 1-1.png
│ │ ├── 1-2.png
│ │ ├── 1-3.png
│ │ ├── 20170313-215801.png
│ │ ├── 20170313-215844.png
│ │ ├── 20170313-231111.png
│ │ ├── 20170313-231313.png
│ │ ├── 20170313-232631.png
│ │ ├── 20170313-232917.png
│ │ ├── 20170313-232947.png
│ │ ├── 20170313-233216.png
│ │ ├── 20170313-234427.png
│ │ ├── 20170313-235556.png
│ │ ├── 20170314-000051.png
│ │ ├── 20170314-000100.png
│ │ ├── 20170314-000510.png
│ │ ├── 20170314-004302.png
│ │ ├── 20170314-004317.png
│ │ ├── 20170314-014503.png
│ │ ├── 20170314-021008.png
│ │ ├── 20170314-021534.png
│ │ ├── Lab1 瀹為獙鎶ュ憡.md
│ │ ├── report.md
│ │ └── Untitled 1.odt
│ ├── report.md
│ └── Untitled 1.odt
├── 2
│ ├── 1.png
│ ├── lab2
│ │ ├── bin
│ │ │ ├── bootblock
│ │ │ ├── kernel
│ │ │ ├── kernel_nopage
│ │ │ ├── PaxHeader
│ │ │ │ ├── bootblock
│ │ │ │ ├── kernel
│ │ │ │ ├── kernel_nopage
│ │ │ │ ├── sign
│ │ │ │ └── ucore.img
│ │ │ ├── sign
│ │ │ └── ucore.img
│ │ ├── boot
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ ├── bootmain.c
│ │ │ └── PaxHeader
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ └── bootmain.c
│ │ ├── kern
│ │ │ ├── debug
│ │ │ │ ├── assert.h
│ │ │ │ ├── kdebug.c
│ │ │ │ ├── kdebug.h
│ │ │ │ ├── kmonitor.c
│ │ │ │ ├── kmonitor.h
│ │ │ │ ├── panic.c
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── assert.h
│ │ │ │ │ ├── kdebug.c
│ │ │ │ │ ├── kdebug.h
│ │ │ │ │ ├── kmonitor.c
│ │ │ │ │ ├── kmonitor.h
│ │ │ │ │ ├── panic.c
│ │ │ │ │ └── stab.h
│ │ │ │ └── stab.h
│ │ │ ├── driver
│ │ │ │ ├── clock.c
│ │ │ │ ├── clock.h
│ │ │ │ ├── console.c
│ │ │ │ ├── console.h
│ │ │ │ ├── intr.c
│ │ │ │ ├── intr.h
│ │ │ │ ├── kbdreg.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── clock.c
│ │ │ │ │ ├── clock.h
│ │ │ │ │ ├── console.c
│ │ │ │ │ ├── console.h
│ │ │ │ │ ├── intr.c
│ │ │ │ │ ├── intr.h
│ │ │ │ │ ├── kbdreg.h
│ │ │ │ │ ├── picirq.c
│ │ │ │ │ └── picirq.h
│ │ │ │ ├── picirq.c
│ │ │ │ └── picirq.h
│ │ │ ├── init
│ │ │ │ ├── entry.S
│ │ │ │ ├── init.c
│ │ │ │ └── PaxHeader
│ │ │ │ ├── entry.S
│ │ │ │ └── init.c
│ │ │ ├── libs
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── readline.c
│ │ │ │ │ └── stdio.c
│ │ │ │ ├── readline.c
│ │ │ │ └── stdio.c
│ │ │ ├── mm
│ │ │ │ ├── default_pmm.c
│ │ │ │ ├── default_pmm.h
│ │ │ │ ├── memlayout.h
│ │ │ │ ├── mmu.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── default_pmm.c
│ │ │ │ │ ├── default_pmm.h
│ │ │ │ │ ├── memlayout.h
│ │ │ │ │ ├── mmu.h
│ │ │ │ │ ├── pmm.c
│ │ │ │ │ └── pmm.h
│ │ │ │ ├── pmm.c
│ │ │ │ └── pmm.h
│ │ │ ├── PaxHeader
│ │ │ │ ├── debug
│ │ │ │ ├── driver
│ │ │ │ ├── init
│ │ │ │ ├── libs
│ │ │ │ ├── mm
│ │ │ │ ├── sync
│ │ │ │ ├── trap
│ │ │ │ └── trap12
│ │ │ ├── sync
│ │ │ │ ├── PaxHeader
│ │ │ │ │ └── sync.h
│ │ │ │ └── sync.h
│ │ │ ├── trap
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── trap.c
│ │ │ │ │ ├── trapentry.S
│ │ │ │ │ ├── trap.h
│ │ │ │ │ └── vectors.S
│ │ │ │ ├── trap.c
│ │ │ │ ├── trapentry.S
│ │ │ │ ├── trap.h
│ │ │ │ └── vectors.S
│ │ │ └── trap12
│ │ │ ├── PaxHeader
│ │ │ │ ├── trap.c
│ │ │ │ ├── trapentry.S
│ │ │ │ ├── trap.h
│ │ │ │ └── vectors.S
│ │ │ ├── trap.c
│ │ │ ├── trapentry.S
│ │ │ ├── trap.h
│ │ │ └── vectors.S
│ │ ├── libs
│ │ │ ├── atomic.h
│ │ │ ├── defs.h
│ │ │ ├── elf.h
│ │ │ ├── error.h
│ │ │ ├── list.h
│ │ │ ├── PaxHeader
│ │ │ │ ├── atomic.h
│ │ │ │ ├── defs.h
│ │ │ │ ├── elf.h
│ │ │ │ ├── error.h
│ │ │ │ ├── list.h
│ │ │ │ ├── printfmt.c
│ │ │ │ ├── stdarg.h
│ │ │ │ ├── stdio.h
│ │ │ │ ├── string.c
│ │ │ │ ├── string.h
│ │ │ │ └── x86.h
│ │ │ ├── printfmt.c
│ │ │ ├── stdarg.h
│ │ │ ├── stdio.h
│ │ │ ├── string.c
│ │ │ ├── string.h
│ │ │ └── x86.h
│ │ ├── Makefile
│ │ ├── obj
│ │ │ ├── boot
│ │ │ │ ├── bootasm.d
│ │ │ │ ├── bootasm.o
│ │ │ │ ├── bootmain.d
│ │ │ │ ├── bootmain.o
│ │ │ │ └── PaxHeader
│ │ │ │ ├── bootasm.d
│ │ │ │ ├── bootasm.o
│ │ │ │ ├── bootmain.d
│ │ │ │ └── bootmain.o
│ │ │ ├── bootblock.asm
│ │ │ ├── bootblock.o
│ │ │ ├── bootblock.out
│ │ │ ├── kern
│ │ │ │ ├── debug
│ │ │ │ │ ├── kdebug.d
│ │ │ │ │ ├── kdebug.o
│ │ │ │ │ ├── kmonitor.d
│ │ │ │ │ ├── kmonitor.o
│ │ │ │ │ ├── panic.d
│ │ │ │ │ ├── panic.o
│ │ │ │ │ └── PaxHeader
│ │ │ │ │ ├── kdebug.d
│ │ │ │ │ ├── kdebug.o
│ │ │ │ │ ├── kmonitor.d
│ │ │ │ │ ├── kmonitor.o
│ │ │ │ │ ├── panic.d
│ │ │ │ │ └── panic.o
│ │ │ │ ├── driver
│ │ │ │ │ ├── clock.d
│ │ │ │ │ ├── clock.o
│ │ │ │ │ ├── console.d
│ │ │ │ │ ├── console.o
│ │ │ │ │ ├── intr.d
│ │ │ │ │ ├── intr.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── clock.d
│ │ │ │ │ │ ├── clock.o
│ │ │ │ │ │ ├── console.d
│ │ │ │ │ │ ├── console.o
│ │ │ │ │ │ ├── intr.d
│ │ │ │ │ │ ├── intr.o
│ │ │ │ │ │ ├── picirq.d
│ │ │ │ │ │ └── picirq.o
│ │ │ │ │ ├── picirq.d
│ │ │ │ │ └── picirq.o
│ │ │ │ ├── init
│ │ │ │ │ ├── entry.d
│ │ │ │ │ ├── entry.o
│ │ │ │ │ ├── init.d
│ │ │ │ │ ├── init.o
│ │ │ │ │ └── PaxHeader
│ │ │ │ │ ├── entry.d
│ │ │ │ │ ├── entry.o
│ │ │ │ │ ├── init.d
│ │ │ │ │ └── init.o
│ │ │ │ ├── libs
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── readline.d
│ │ │ │ │ │ ├── readline.o
│ │ │ │ │ │ ├── stdio.d
│ │ │ │ │ │ └── stdio.o
│ │ │ │ │ ├── readline.d
│ │ │ │ │ ├── readline.o
│ │ │ │ │ ├── stdio.d
│ │ │ │ │ └── stdio.o
│ │ │ │ ├── mm
│ │ │ │ │ ├── default_pmm.d
│ │ │ │ │ ├── default_pmm.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── default_pmm.d
│ │ │ │ │ │ ├── default_pmm.o
│ │ │ │ │ │ ├── pmm.d
│ │ │ │ │ │ └── pmm.o
│ │ │ │ │ ├── pmm.d
│ │ │ │ │ └── pmm.o
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── debug
│ │ │ │ │ ├── driver
│ │ │ │ │ ├── init
│ │ │ │ │ ├── libs
│ │ │ │ │ ├── mm
│ │ │ │ │ └── trap
│ │ │ │ └── trap
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── trap.d
│ │ │ │ │ ├── trapentry.d
│ │ │ │ │ ├── trapentry.o
│ │ │ │ │ ├── trap.o
│ │ │ │ │ ├── vectors.d
│ │ │ │ │ └── vectors.o
│ │ │ │ ├── trap.d
│ │ │ │ ├── trapentry.d
│ │ │ │ ├── trapentry.o
│ │ │ │ ├── trap.o
│ │ │ │ ├── vectors.d
│ │ │ │ └── vectors.o
│ │ │ ├── kernel.asm
│ │ │ ├── kernel_nopage.asm
│ │ │ ├── kernel_nopage.sym
│ │ │ ├── kernel.sym
│ │ │ ├── libs
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── printfmt.d
│ │ │ │ │ ├── printfmt.o
│ │ │ │ │ ├── string.d
│ │ │ │ │ └── string.o
│ │ │ │ ├── printfmt.d
│ │ │ │ ├── printfmt.o
│ │ │ │ ├── string.d
│ │ │ │ └── string.o
│ │ │ ├── PaxHeader
│ │ │ │ ├── boot
│ │ │ │ ├── bootblock.asm
│ │ │ │ ├── bootblock.o
│ │ │ │ ├── bootblock.out
│ │ │ │ ├── kern
│ │ │ │ ├── kernel.asm
│ │ │ │ ├── kernel_nopage.asm
│ │ │ │ ├── kernel_nopage.sym
│ │ │ │ ├── kernel.sym
│ │ │ │ ├── libs
│ │ │ │ └── sign
│ │ │ └── sign
│ │ │ ├── PaxHeader
│ │ │ │ └── tools
│ │ │ └── tools
│ │ │ ├── PaxHeader
│ │ │ │ ├── sign.d
│ │ │ │ └── sign.o
│ │ │ ├── sign.d
│ │ │ └── sign.o
│ │ ├── PaxHeader
│ │ │ ├── bin
│ │ │ ├── boot
│ │ │ ├── kern
│ │ │ ├── libs
│ │ │ ├── Makefile
│ │ │ ├── obj
│ │ │ └── tools
│ │ └── tools
│ │ ├── boot.ld
│ │ ├── function.mk
│ │ ├── gdbinit
│ │ ├── grade.sh
│ │ ├── kernel.ld
│ │ ├── kernel_nopage.ld
│ │ ├── PaxHeader
│ │ │ ├── boot.ld
│ │ │ ├── function.mk
│ │ │ ├── gdbinit
│ │ │ ├── grade.sh
│ │ │ ├── kernel.ld
│ │ │ ├── kernel_nopage.ld
│ │ │ ├── sign.c
│ │ │ └── vector.c
│ │ ├── sign.c
│ │ └── vector.c
│ ├── lab2.pdf
│ ├── lab2瀹為獙鎶ュ憡.md
│ └── PaxHeader
│ ├── 1.png
│ ├── lab2
│ ├── lab2.pdf
│ └── lab2瀹為獙鎶ュ憡.md
├── 3
│ ├── 1.png
│ ├── 2.png
│ ├── 3.png
│ ├── lab3
│ │ ├── boot
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ ├── bootmain.c
│ │ │ └── PaxHeader
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ └── bootmain.c
│ │ ├── kern
│ │ │ ├── debug
│ │ │ │ ├── assert.h
│ │ │ │ ├── kdebug.c
│ │ │ │ ├── kdebug.h
│ │ │ │ ├── kmonitor.c
│ │ │ │ ├── kmonitor.h
│ │ │ │ ├── panic.c
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── assert.h
│ │ │ │ │ ├── kdebug.c
│ │ │ │ │ ├── kdebug.h
│ │ │ │ │ ├── kmonitor.c
│ │ │ │ │ ├── kmonitor.h
│ │ │ │ │ ├── panic.c
│ │ │ │ │ └── stab.h
│ │ │ │ └── stab.h
│ │ │ ├── driver
│ │ │ │ ├── clock.c
│ │ │ │ ├── clock.h
│ │ │ │ ├── console.c
│ │ │ │ ├── console.h
│ │ │ │ ├── ide.c
│ │ │ │ ├── ide.h
│ │ │ │ ├── intr.c
│ │ │ │ ├── intr.h
│ │ │ │ ├── kbdreg.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── clock.c
│ │ │ │ │ ├── clock.h
│ │ │ │ │ ├── console.c
│ │ │ │ │ ├── console.h
│ │ │ │ │ ├── ide.c
│ │ │ │ │ ├── ide.h
│ │ │ │ │ ├── intr.c
│ │ │ │ │ ├── intr.h
│ │ │ │ │ ├── kbdreg.h
│ │ │ │ │ ├── picirq.c
│ │ │ │ │ └── picirq.h
│ │ │ │ ├── picirq.c
│ │ │ │ └── picirq.h
│ │ │ ├── fs
│ │ │ │ ├── fs.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── fs.h
│ │ │ │ │ ├── swapfs.c
│ │ │ │ │ └── swapfs.h
│ │ │ │ ├── swapfs.c
│ │ │ │ └── swapfs.h
│ │ │ ├── init
│ │ │ │ ├── entry.S
│ │ │ │ ├── init.c
│ │ │ │ └── PaxHeader
│ │ │ │ ├── entry.S
│ │ │ │ └── init.c
│ │ │ ├── libs
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── readline.c
│ │ │ │ │ └── stdio.c
│ │ │ │ ├── readline.c
│ │ │ │ └── stdio.c
│ │ │ ├── mm
│ │ │ │ ├── default_pmm.c
│ │ │ │ ├── default_pmm.h
│ │ │ │ ├── memlayout.h
│ │ │ │ ├── mmu.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── default_pmm.c
│ │ │ │ │ ├── default_pmm.h
│ │ │ │ │ ├── memlayout.h
│ │ │ │ │ ├── mmu.h
│ │ │ │ │ ├── pmm.c
│ │ │ │ │ ├── pmm.h
│ │ │ │ │ ├── swap.c
│ │ │ │ │ ├── swap_fifo.c
│ │ │ │ │ ├── swap_fifo.h
│ │ │ │ │ ├── swap.h
│ │ │ │ │ ├── vmm.c
│ │ │ │ │ └── vmm.h
│ │ │ │ ├── pmm.c
│ │ │ │ ├── pmm.h
│ │ │ │ ├── swap.c
│ │ │ │ ├── swap_fifo.c
│ │ │ │ ├── swap_fifo.h
│ │ │ │ ├── swap.h
│ │ │ │ ├── vmm.c
│ │ │ │ └── vmm.h
│ │ │ ├── PaxHeader
│ │ │ │ ├── debug
│ │ │ │ ├── driver
│ │ │ │ ├── fs
│ │ │ │ ├── init
│ │ │ │ ├── libs
│ │ │ │ ├── mm
│ │ │ │ ├── sync
│ │ │ │ └── trap
│ │ │ ├── sync
│ │ │ │ ├── PaxHeader
│ │ │ │ │ └── sync.h
│ │ │ │ └── sync.h
│ │ │ └── trap
│ │ │ ├── PaxHeader
│ │ │ │ ├── trap.c
│ │ │ │ ├── trapentry.S
│ │ │ │ ├── trap.h
│ │ │ │ └── vectors.S
│ │ │ ├── trap.c
│ │ │ ├── trapentry.S
│ │ │ ├── trap.h
│ │ │ └── vectors.S
│ │ ├── libs
│ │ │ ├── atomic.h
│ │ │ ├── defs.h
│ │ │ ├── elf.h
│ │ │ ├── error.h
│ │ │ ├── list.h
│ │ │ ├── PaxHeader
│ │ │ │ ├── atomic.h
│ │ │ │ ├── defs.h
│ │ │ │ ├── elf.h
│ │ │ │ ├── error.h
│ │ │ │ ├── list.h
│ │ │ │ ├── printfmt.c
│ │ │ │ ├── rand.c
│ │ │ │ ├── stdarg.h
│ │ │ │ ├── stdio.h
│ │ │ │ ├── stdlib.h
│ │ │ │ ├── string.c
│ │ │ │ ├── string.h
│ │ │ │ └── x86.h
│ │ │ ├── printfmt.c
│ │ │ ├── rand.c
│ │ │ ├── stdarg.h
│ │ │ ├── stdio.h
│ │ │ ├── stdlib.h
│ │ │ ├── string.c
│ │ │ ├── string.h
│ │ │ └── x86.h
│ │ ├── Makefile
│ │ ├── PaxHeader
│ │ │ ├── boot
│ │ │ ├── kern
│ │ │ ├── libs
│ │ │ ├── Makefile
│ │ │ └── tools
│ │ └── tools
│ │ ├── boot.ld
│ │ ├── function.mk
│ │ ├── gdbinit
│ │ ├── grade.sh
│ │ ├── kernel.ld
│ │ ├── PaxHeader
│ │ │ ├── boot.ld
│ │ │ ├── function.mk
│ │ │ ├── gdbinit
│ │ │ ├── grade.sh
│ │ │ ├── kernel.ld
│ │ │ ├── sign.c
│ │ │ └── vector.c
│ │ ├── sign.c
│ │ └── vector.c
│ ├── lab3.pdf
│ ├── lab3瀹為獙鎶ュ憡.md
│ └── PaxHeader
│ ├── 1.png
│ ├── 2.png
│ ├── 3.png
│ ├── lab3
│ ├── lab3.pdf
│ └── lab3瀹為獙鎶ュ憡.md
├── 4
│ ├── 1.png
│ ├── lab4.pdf
│ ├── lab4瀹為獙鎶ュ憡.md
│ ├── lab4缁堢増
│ │ ├── boot
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ ├── bootmain.c
│ │ │ └── PaxHeader
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ └── bootmain.c
│ │ ├── kern
│ │ │ ├── debug
│ │ │ │ ├── assert.h
│ │ │ │ ├── kdebug.c
│ │ │ │ ├── kdebug.h
│ │ │ │ ├── kmonitor.c
│ │ │ │ ├── kmonitor.h
│ │ │ │ ├── panic.c
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── assert.h
│ │ │ │ │ ├── kdebug.c
│ │ │ │ │ ├── kdebug.h
│ │ │ │ │ ├── kmonitor.c
│ │ │ │ │ ├── kmonitor.h
│ │ │ │ │ ├── panic.c
│ │ │ │ │ └── stab.h
│ │ │ │ └── stab.h
│ │ │ ├── driver
│ │ │ │ ├── clock.c
│ │ │ │ ├── clock.h
│ │ │ │ ├── console.c
│ │ │ │ ├── console.h
│ │ │ │ ├── ide.c
│ │ │ │ ├── ide.h
│ │ │ │ ├── intr.c
│ │ │ │ ├── intr.h
│ │ │ │ ├── kbdreg.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── clock.c
│ │ │ │ │ ├── clock.h
│ │ │ │ │ ├── console.c
│ │ │ │ │ ├── console.h
│ │ │ │ │ ├── ide.c
│ │ │ │ │ ├── ide.h
│ │ │ │ │ ├── intr.c
│ │ │ │ │ ├── intr.h
│ │ │ │ │ ├── kbdreg.h
│ │ │ │ │ ├── picirq.c
│ │ │ │ │ └── picirq.h
│ │ │ │ ├── picirq.c
│ │ │ │ └── picirq.h
│ │ │ ├── fs
│ │ │ │ ├── fs.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── fs.h
│ │ │ │ │ ├── swapfs.c
│ │ │ │ │ └── swapfs.h
│ │ │ │ ├── swapfs.c
│ │ │ │ └── swapfs.h
│ │ │ ├── init
│ │ │ │ ├── entry.S
│ │ │ │ ├── init.c
│ │ │ │ └── PaxHeader
│ │ │ │ ├── entry.S
│ │ │ │ └── init.c
│ │ │ ├── libs
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── readline.c
│ │ │ │ │ └── stdio.c
│ │ │ │ ├── readline.c
│ │ │ │ └── stdio.c
│ │ │ ├── mm
│ │ │ │ ├── default_pmm.c
│ │ │ │ ├── default_pmm.h
│ │ │ │ ├── kmalloc.c
│ │ │ │ ├── kmalloc.h
│ │ │ │ ├── memlayout.h
│ │ │ │ ├── mmu.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── default_pmm.c
│ │ │ │ │ ├── default_pmm.h
│ │ │ │ │ ├── kmalloc.c
│ │ │ │ │ ├── kmalloc.h
│ │ │ │ │ ├── memlayout.h
│ │ │ │ │ ├── mmu.h
│ │ │ │ │ ├── pmm.c
│ │ │ │ │ ├── pmm.h
│ │ │ │ │ ├── swap.c
│ │ │ │ │ ├── swap_fifo.c
│ │ │ │ │ ├── swap_fifo.h
│ │ │ │ │ ├── swap.h
│ │ │ │ │ ├── vmm.c
│ │ │ │ │ └── vmm.h
│ │ │ │ ├── pmm.c
│ │ │ │ ├── pmm.h
│ │ │ │ ├── swap.c
│ │ │ │ ├── swap_fifo.c
│ │ │ │ ├── swap_fifo.h
│ │ │ │ ├── swap.h
│ │ │ │ ├── vmm.c
│ │ │ │ └── vmm.h
│ │ │ ├── PaxHeader
│ │ │ │ ├── debug
│ │ │ │ ├── driver
│ │ │ │ ├── fs
│ │ │ │ ├── init
│ │ │ │ ├── libs
│ │ │ │ ├── mm
│ │ │ │ ├── process
│ │ │ │ ├── schedule
│ │ │ │ ├── sync
│ │ │ │ └── trap
│ │ │ ├── process
│ │ │ │ ├── entry.S
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── entry.S
│ │ │ │ │ ├── proc.c
│ │ │ │ │ ├── proc.h
│ │ │ │ │ └── switch.S
│ │ │ │ ├── proc.c
│ │ │ │ ├── proc.h
│ │ │ │ └── switch.S
│ │ │ ├── schedule
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── sched.c
│ │ │ │ │ └── sched.h
│ │ │ │ ├── sched.c
│ │ │ │ └── sched.h
│ │ │ ├── sync
│ │ │ │ ├── PaxHeader
│ │ │ │ │ └── sync.h
│ │ │ │ └── sync.h
│ │ │ └── trap
│ │ │ ├── PaxHeader
│ │ │ │ ├── trap.c
│ │ │ │ ├── trapentry.S
│ │ │ │ ├── trap.h
│ │ │ │ └── vectors.S
│ │ │ ├── trap.c
│ │ │ ├── trapentry.S
│ │ │ ├── trap.h
│ │ │ └── vectors.S
│ │ ├── libs
│ │ │ ├── atomic.h
│ │ │ ├── defs.h
│ │ │ ├── elf.h
│ │ │ ├── error.h
│ │ │ ├── hash.c
│ │ │ ├── list.h
│ │ │ ├── PaxHeader
│ │ │ │ ├── atomic.h
│ │ │ │ ├── defs.h
│ │ │ │ ├── elf.h
│ │ │ │ ├── error.h
│ │ │ │ ├── hash.c
│ │ │ │ ├── list.h
│ │ │ │ ├── printfmt.c
│ │ │ │ ├── rand.c
│ │ │ │ ├── stdarg.h
│ │ │ │ ├── stdio.h
│ │ │ │ ├── stdlib.h
│ │ │ │ ├── string.c
│ │ │ │ ├── string.h
│ │ │ │ └── x86.h
│ │ │ ├── printfmt.c
│ │ │ ├── rand.c
│ │ │ ├── stdarg.h
│ │ │ ├── stdio.h
│ │ │ ├── stdlib.h
│ │ │ ├── string.c
│ │ │ ├── string.h
│ │ │ └── x86.h
│ │ ├── Makefile
│ │ ├── PaxHeader
│ │ │ ├── boot
│ │ │ ├── kern
│ │ │ ├── libs
│ │ │ ├── Makefile
│ │ │ └── tools
│ │ └── tools
│ │ ├── boot.ld
│ │ ├── function.mk
│ │ ├── gdbinit
│ │ ├── grade.sh
│ │ ├── kernel.ld
│ │ ├── PaxHeader
│ │ │ ├── boot.ld
│ │ │ ├── function.mk
│ │ │ ├── gdbinit
│ │ │ ├── grade.sh
│ │ │ ├── kernel.ld
│ │ │ ├── sign.c
│ │ │ └── vector.c
│ │ ├── sign.c
│ │ └── vector.c
│ └── PaxHeader
│ ├── 1.png
│ ├── lab4.pdf
│ ├── lab4瀹為獙鎶ュ憡.md
│ └── lab4缁堢増
├── 5
│ ├── 1.png
│ ├── 2.png
│ ├── lab5.pdf
│ ├── lab5浠g爜缁堢増
│ │ ├── bin
│ │ │ ├── bootblock
│ │ │ ├── kernel
│ │ │ ├── PaxHeader
│ │ │ │ ├── bootblock
│ │ │ │ ├── kernel
│ │ │ │ ├── sign
│ │ │ │ ├── swap.img
│ │ │ │ └── ucore.img
│ │ │ ├── sign
│ │ │ ├── swap.img
│ │ │ └── ucore.img
│ │ ├── boot
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ ├── bootmain.c
│ │ │ └── PaxHeader
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ └── bootmain.c
│ │ ├── kern
│ │ │ ├── debug
│ │ │ │ ├── assert.h
│ │ │ │ ├── kdebug.c
│ │ │ │ ├── kdebug.h
│ │ │ │ ├── kmonitor.c
│ │ │ │ ├── kmonitor.h
│ │ │ │ ├── panic.c
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── assert.h
│ │ │ │ │ ├── kdebug.c
│ │ │ │ │ ├── kdebug.h
│ │ │ │ │ ├── kmonitor.c
│ │ │ │ │ ├── kmonitor.h
│ │ │ │ │ ├── panic.c
│ │ │ │ │ └── stab.h
│ │ │ │ └── stab.h
│ │ │ ├── driver
│ │ │ │ ├── clock.c
│ │ │ │ ├── clock.h
│ │ │ │ ├── console.c
│ │ │ │ ├── console.h
│ │ │ │ ├── ide.c
│ │ │ │ ├── ide.h
│ │ │ │ ├── intr.c
│ │ │ │ ├── intr.h
│ │ │ │ ├── kbdreg.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── clock.c
│ │ │ │ │ ├── clock.h
│ │ │ │ │ ├── console.c
│ │ │ │ │ ├── console.h
│ │ │ │ │ ├── ide.c
│ │ │ │ │ ├── ide.h
│ │ │ │ │ ├── intr.c
│ │ │ │ │ ├── intr.h
│ │ │ │ │ ├── kbdreg.h
│ │ │ │ │ ├── picirq.c
│ │ │ │ │ └── picirq.h
│ │ │ │ ├── picirq.c
│ │ │ │ └── picirq.h
│ │ │ ├── fs
│ │ │ │ ├── fs.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── fs.h
│ │ │ │ │ ├── swapfs.c
│ │ │ │ │ └── swapfs.h
│ │ │ │ ├── swapfs.c
│ │ │ │ └── swapfs.h
│ │ │ ├── init
│ │ │ │ ├── entry.S
│ │ │ │ ├── init.c
│ │ │ │ └── PaxHeader
│ │ │ │ ├── entry.S
│ │ │ │ └── init.c
│ │ │ ├── libs
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── readline.c
│ │ │ │ │ └── stdio.c
│ │ │ │ ├── readline.c
│ │ │ │ └── stdio.c
│ │ │ ├── mm
│ │ │ │ ├── default_pmm.c
│ │ │ │ ├── default_pmm.h
│ │ │ │ ├── kmalloc.c
│ │ │ │ ├── kmalloc.h
│ │ │ │ ├── memlayout.h
│ │ │ │ ├── mmu.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── default_pmm.c
│ │ │ │ │ ├── default_pmm.h
│ │ │ │ │ ├── kmalloc.c
│ │ │ │ │ ├── kmalloc.h
│ │ │ │ │ ├── memlayout.h
│ │ │ │ │ ├── mmu.h
│ │ │ │ │ ├── pmm.c
│ │ │ │ │ ├── pmm.h
│ │ │ │ │ ├── swap.c
│ │ │ │ │ ├── swap_fifo.c
│ │ │ │ │ ├── swap_fifo.h
│ │ │ │ │ ├── swap.h
│ │ │ │ │ ├── vmm.c
│ │ │ │ │ └── vmm.h
│ │ │ │ ├── pmm.c
│ │ │ │ ├── pmm.h
│ │ │ │ ├── swap.c
│ │ │ │ ├── swap_fifo.c
│ │ │ │ ├── swap_fifo.h
│ │ │ │ ├── swap.h
│ │ │ │ ├── vmm.c
│ │ │ │ └── vmm.h
│ │ │ ├── PaxHeader
│ │ │ │ ├── debug
│ │ │ │ ├── driver
│ │ │ │ ├── fs
│ │ │ │ ├── init
│ │ │ │ ├── libs
│ │ │ │ ├── mm
│ │ │ │ ├── process
│ │ │ │ ├── schedule
│ │ │ │ ├── sync
│ │ │ │ ├── syscall
│ │ │ │ └── trap
│ │ │ ├── process
│ │ │ │ ├── entry.S
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── entry.S
│ │ │ │ │ ├── proc.c
│ │ │ │ │ ├── proc.h
│ │ │ │ │ └── switch.S
│ │ │ │ ├── proc.c
│ │ │ │ ├── proc.h
│ │ │ │ └── switch.S
│ │ │ ├── schedule
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── sched.c
│ │ │ │ │ └── sched.h
│ │ │ │ ├── sched.c
│ │ │ │ └── sched.h
│ │ │ ├── sync
│ │ │ │ ├── PaxHeader
│ │ │ │ │ └── sync.h
│ │ │ │ └── sync.h
│ │ │ ├── syscall
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── syscall.c
│ │ │ │ │ └── syscall.h
│ │ │ │ ├── syscall.c
│ │ │ │ └── syscall.h
│ │ │ └── trap
│ │ │ ├── PaxHeader
│ │ │ │ ├── trap.c
│ │ │ │ ├── trapentry.S
│ │ │ │ ├── trap.h
│ │ │ │ └── vectors.S
│ │ │ ├── trap.c
│ │ │ ├── trapentry.S
│ │ │ ├── trap.h
│ │ │ └── vectors.S
│ │ ├── libs
│ │ │ ├── atomic.h
│ │ │ ├── defs.h
│ │ │ ├── elf.h
│ │ │ ├── error.h
│ │ │ ├── hash.c
│ │ │ ├── list.h
│ │ │ ├── PaxHeader
│ │ │ │ ├── atomic.h
│ │ │ │ ├── defs.h
│ │ │ │ ├── elf.h
│ │ │ │ ├── error.h
│ │ │ │ ├── hash.c
│ │ │ │ ├── list.h
│ │ │ │ ├── printfmt.c
│ │ │ │ ├── rand.c
│ │ │ │ ├── stdarg.h
│ │ │ │ ├── stdio.h
│ │ │ │ ├── stdlib.h
│ │ │ │ ├── string.c
│ │ │ │ ├── string.h
│ │ │ │ ├── unistd.h
│ │ │ │ └── x86.h
│ │ │ ├── printfmt.c
│ │ │ ├── rand.c
│ │ │ ├── stdarg.h
│ │ │ ├── stdio.h
│ │ │ ├── stdlib.h
│ │ │ ├── string.c
│ │ │ ├── string.h
│ │ │ ├── unistd.h
│ │ │ └── x86.h
│ │ ├── Makefile
│ │ ├── obj
│ │ │ ├── boot
│ │ │ │ ├── bootasm.d
│ │ │ │ ├── bootasm.o
│ │ │ │ ├── bootmain.d
│ │ │ │ ├── bootmain.o
│ │ │ │ └── PaxHeader
│ │ │ │ ├── bootasm.d
│ │ │ │ ├── bootasm.o
│ │ │ │ ├── bootmain.d
│ │ │ │ └── bootmain.o
│ │ │ ├── bootblock.asm
│ │ │ ├── bootblock.o
│ │ │ ├── bootblock.out
│ │ │ ├── kern
│ │ │ │ ├── debug
│ │ │ │ │ ├── kdebug.d
│ │ │ │ │ ├── kdebug.o
│ │ │ │ │ ├── kmonitor.d
│ │ │ │ │ ├── kmonitor.o
│ │ │ │ │ ├── panic.d
│ │ │ │ │ ├── panic.o
│ │ │ │ │ └── PaxHeader
│ │ │ │ │ ├── kdebug.d
│ │ │ │ │ ├── kdebug.o
│ │ │ │ │ ├── kmonitor.d
│ │ │ │ │ ├── kmonitor.o
│ │ │ │ │ ├── panic.d
│ │ │ │ │ └── panic.o
│ │ │ │ ├── driver
│ │ │ │ │ ├── clock.d
│ │ │ │ │ ├── clock.o
│ │ │ │ │ ├── console.d
│ │ │ │ │ ├── console.o
│ │ │ │ │ ├── ide.d
│ │ │ │ │ ├── ide.o
│ │ │ │ │ ├── intr.d
│ │ │ │ │ ├── intr.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── clock.d
│ │ │ │ │ │ ├── clock.o
│ │ │ │ │ │ ├── console.d
│ │ │ │ │ │ ├── console.o
│ │ │ │ │ │ ├── ide.d
│ │ │ │ │ │ ├── ide.o
│ │ │ │ │ │ ├── intr.d
│ │ │ │ │ │ ├── intr.o
│ │ │ │ │ │ ├── picirq.d
│ │ │ │ │ │ └── picirq.o
│ │ │ │ │ ├── picirq.d
│ │ │ │ │ └── picirq.o
│ │ │ │ ├── fs
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── swapfs.d
│ │ │ │ │ │ └── swapfs.o
│ │ │ │ │ ├── swapfs.d
│ │ │ │ │ └── swapfs.o
│ │ │ │ ├── init
│ │ │ │ │ ├── entry.d
│ │ │ │ │ ├── entry.o
│ │ │ │ │ ├── init.d
│ │ │ │ │ ├── init.o
│ │ │ │ │ └── PaxHeader
│ │ │ │ │ ├── entry.d
│ │ │ │ │ ├── entry.o
│ │ │ │ │ ├── init.d
│ │ │ │ │ └── init.o
│ │ │ │ ├── libs
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── readline.d
│ │ │ │ │ │ ├── readline.o
│ │ │ │ │ │ ├── stdio.d
│ │ │ │ │ │ └── stdio.o
│ │ │ │ │ ├── readline.d
│ │ │ │ │ ├── readline.o
│ │ │ │ │ ├── stdio.d
│ │ │ │ │ └── stdio.o
│ │ │ │ ├── mm
│ │ │ │ │ ├── default_pmm.d
│ │ │ │ │ ├── default_pmm.o
│ │ │ │ │ ├── kmalloc.d
│ │ │ │ │ ├── kmalloc.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── default_pmm.d
│ │ │ │ │ │ ├── default_pmm.o
│ │ │ │ │ │ ├── kmalloc.d
│ │ │ │ │ │ ├── kmalloc.o
│ │ │ │ │ │ ├── pmm.d
│ │ │ │ │ │ ├── pmm.o
│ │ │ │ │ │ ├── swap.d
│ │ │ │ │ │ ├── swap_fifo.d
│ │ │ │ │ │ ├── swap_fifo.o
│ │ │ │ │ │ ├── swap.o
│ │ │ │ │ │ ├── vmm.d
│ │ │ │ │ │ └── vmm.o
│ │ │ │ │ ├── pmm.d
│ │ │ │ │ ├── pmm.o
│ │ │ │ │ ├── swap.d
│ │ │ │ │ ├── swap_fifo.d
│ │ │ │ │ ├── swap_fifo.o
│ │ │ │ │ ├── swap.o
│ │ │ │ │ ├── vmm.d
│ │ │ │ │ └── vmm.o
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── debug
│ │ │ │ │ ├── driver
│ │ │ │ │ ├── fs
│ │ │ │ │ ├── init
│ │ │ │ │ ├── libs
│ │ │ │ │ ├── mm
│ │ │ │ │ ├── process
│ │ │ │ │ ├── schedule
│ │ │ │ │ ├── syscall
│ │ │ │ │ └── trap
│ │ │ │ ├── process
│ │ │ │ │ ├── entry.d
│ │ │ │ │ ├── entry.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── entry.d
│ │ │ │ │ │ ├── entry.o
│ │ │ │ │ │ ├── proc.d
│ │ │ │ │ │ ├── proc.o
│ │ │ │ │ │ ├── switch.d
│ │ │ │ │ │ └── switch.o
│ │ │ │ │ ├── proc.d
│ │ │ │ │ ├── proc.o
│ │ │ │ │ ├── switch.d
│ │ │ │ │ └── switch.o
│ │ │ │ ├── schedule
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── sched.d
│ │ │ │ │ │ └── sched.o
│ │ │ │ │ ├── sched.d
│ │ │ │ │ └── sched.o
│ │ │ │ ├── syscall
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── syscall.d
│ │ │ │ │ │ └── syscall.o
│ │ │ │ │ ├── syscall.d
│ │ │ │ │ └── syscall.o
│ │ │ │ └── trap
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── trap.d
│ │ │ │ │ ├── trapentry.d
│ │ │ │ │ ├── trapentry.o
│ │ │ │ │ ├── trap.o
│ │ │ │ │ ├── vectors.d
│ │ │ │ │ └── vectors.o
│ │ │ │ ├── trap.d
│ │ │ │ ├── trapentry.d
│ │ │ │ ├── trapentry.o
│ │ │ │ ├── trap.o
│ │ │ │ ├── vectors.d
│ │ │ │ └── vectors.o
│ │ │ ├── kernel.asm
│ │ │ ├── kernel.sym
│ │ │ ├── libs
│ │ │ │ ├── hash.d
│ │ │ │ ├── hash.o
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── hash.d
│ │ │ │ │ ├── hash.o
│ │ │ │ │ ├── printfmt.d
│ │ │ │ │ ├── printfmt.o
│ │ │ │ │ ├── rand.d
│ │ │ │ │ ├── rand.o
│ │ │ │ │ ├── string.d
│ │ │ │ │ └── string.o
│ │ │ │ ├── printfmt.d
│ │ │ │ ├── printfmt.o
│ │ │ │ ├── rand.d
│ │ │ │ ├── rand.o
│ │ │ │ ├── string.d
│ │ │ │ └── string.o
│ │ │ ├── PaxHeader
│ │ │ │ ├── boot
│ │ │ │ ├── bootblock.asm
│ │ │ │ ├── bootblock.o
│ │ │ │ ├── bootblock.out
│ │ │ │ ├── kern
│ │ │ │ ├── kernel.asm
│ │ │ │ ├── kernel.sym
│ │ │ │ ├── libs
│ │ │ │ ├── sign
│ │ │ │ ├── user
│ │ │ │ ├── __user_badarg.out
│ │ │ │ ├── __user_badsegment.out
│ │ │ │ ├── __user_divzero.out
│ │ │ │ ├── __user_exit.out
│ │ │ │ ├── __user_faultreadkernel.out
│ │ │ │ ├── __user_faultread.out
│ │ │ │ ├── __user_forktest.out
│ │ │ │ ├── __user_forktree.out
│ │ │ │ ├── __user_hello.out
│ │ │ │ ├── __user_pgdir.out
│ │ │ │ ├── __user_softint.out
│ │ │ │ ├── __user_spin.out
│ │ │ │ ├── __user_testbss.out
│ │ │ │ ├── __user_waitkill.out
│ │ │ │ └── __user_yield.out
│ │ │ ├── sign
│ │ │ │ ├── PaxHeader
│ │ │ │ │ └── tools
│ │ │ │ └── tools
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── sign.d
│ │ │ │ │ └── sign.o
│ │ │ │ ├── sign.d
│ │ │ │ └── sign.o
│ │ │ ├── user
│ │ │ │ ├── badarg.asm
│ │ │ │ ├── badarg.d
│ │ │ │ ├── badarg.o
│ │ │ │ ├── badarg.sym
│ │ │ │ ├── badsegment.asm
│ │ │ │ ├── badsegment.d
│ │ │ │ ├── badsegment.o
│ │ │ │ ├── badsegment.sym
│ │ │ │ ├── divzero.asm
│ │ │ │ ├── divzero.d
│ │ │ │ ├── divzero.o
│ │ │ │ ├── divzero.sym
│ │ │ │ ├── exit.asm
│ │ │ │ ├── exit.d
│ │ │ │ ├── exit.o
│ │ │ │ ├── exit.sym
│ │ │ │ ├── faultread.asm
│ │ │ │ ├── faultread.d
│ │ │ │ ├── faultreadkernel.asm
│ │ │ │ ├── faultreadkernel.d
│ │ │ │ ├── faultreadkernel.o
│ │ │ │ ├── faultreadkernel.sym
│ │ │ │ ├── faultread.o
│ │ │ │ ├── faultread.sym
│ │ │ │ ├── forktest.asm
│ │ │ │ ├── forktest.d
│ │ │ │ ├── forktest.o
│ │ │ │ ├── forktest.sym
│ │ │ │ ├── forktree.asm
│ │ │ │ ├── forktree.d
│ │ │ │ ├── forktree.o
│ │ │ │ ├── forktree.sym
│ │ │ │ ├── hello.asm
│ │ │ │ ├── hello.d
│ │ │ │ ├── hello.o
│ │ │ │ ├── hello.sym
│ │ │ │ ├── libs
│ │ │ │ │ ├── initcode.d
│ │ │ │ │ ├── initcode.o
│ │ │ │ │ ├── panic.d
│ │ │ │ │ ├── panic.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── initcode.d
│ │ │ │ │ │ ├── initcode.o
│ │ │ │ │ │ ├── panic.d
│ │ │ │ │ │ ├── panic.o
│ │ │ │ │ │ ├── stdio.d
│ │ │ │ │ │ ├── stdio.o
│ │ │ │ │ │ ├── syscall.d
│ │ │ │ │ │ ├── syscall.o
│ │ │ │ │ │ ├── ulib.d
│ │ │ │ │ │ ├── ulib.o
│ │ │ │ │ │ ├── umain.d
│ │ │ │ │ │ └── umain.o
│ │ │ │ │ ├── stdio.d
│ │ │ │ │ ├── stdio.o
│ │ │ │ │ ├── syscall.d
│ │ │ │ │ ├── syscall.o
│ │ │ │ │ ├── ulib.d
│ │ │ │ │ ├── ulib.o
│ │ │ │ │ ├── umain.d
│ │ │ │ │ └── umain.o
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── badarg.asm
│ │ │ │ │ ├── badarg.d
│ │ │ │ │ ├── badarg.o
│ │ │ │ │ ├── badarg.sym
│ │ │ │ │ ├── badsegment.asm
│ │ │ │ │ ├── badsegment.d
│ │ │ │ │ ├── badsegment.o
│ │ │ │ │ ├── badsegment.sym
│ │ │ │ │ ├── divzero.asm
│ │ │ │ │ ├── divzero.d
│ │ │ │ │ ├── divzero.o
│ │ │ │ │ ├── divzero.sym
│ │ │ │ │ ├── exit.asm
│ │ │ │ │ ├── exit.d
│ │ │ │ │ ├── exit.o
│ │ │ │ │ ├── exit.sym
│ │ │ │ │ ├── faultread.asm
│ │ │ │ │ ├── faultread.d
│ │ │ │ │ ├── faultreadkernel.asm
│ │ │ │ │ ├── faultreadkernel.d
│ │ │ │ │ ├── faultreadkernel.o
│ │ │ │ │ ├── faultreadkernel.sym
│ │ │ │ │ ├── faultread.o
│ │ │ │ │ ├── faultread.sym
│ │ │ │ │ ├── forktest.asm
│ │ │ │ │ ├── forktest.d
│ │ │ │ │ ├── forktest.o
│ │ │ │ │ ├── forktest.sym
│ │ │ │ │ ├── forktree.asm
│ │ │ │ │ ├── forktree.d
│ │ │ │ │ ├── forktree.o
│ │ │ │ │ ├── forktree.sym
│ │ │ │ │ ├── hello.asm
│ │ │ │ │ ├── hello.d
│ │ │ │ │ ├── hello.o
│ │ │ │ │ ├── hello.sym
│ │ │ │ │ ├── libs
│ │ │ │ │ ├── pgdir.asm
│ │ │ │ │ ├── pgdir.d
│ │ │ │ │ ├── pgdir.o
│ │ │ │ │ ├── pgdir.sym
│ │ │ │ │ ├── softint.asm
│ │ │ │ │ ├── softint.d
│ │ │ │ │ ├── softint.o
│ │ │ │ │ ├── softint.sym
│ │ │ │ │ ├── spin.asm
│ │ │ │ │ ├── spin.d
│ │ │ │ │ ├── spin.o
│ │ │ │ │ ├── spin.sym
│ │ │ │ │ ├── testbss.asm
│ │ │ │ │ ├── testbss.d
│ │ │ │ │ ├── testbss.o
│ │ │ │ │ ├── testbss.sym
│ │ │ │ │ ├── waitkill.asm
│ │ │ │ │ ├── waitkill.d
│ │ │ │ │ ├── waitkill.o
│ │ │ │ │ ├── waitkill.sym
│ │ │ │ │ ├── yield.asm
│ │ │ │ │ ├── yield.d
│ │ │ │ │ ├── yield.o
│ │ │ │ │ └── yield.sym
│ │ │ │ ├── pgdir.asm
│ │ │ │ ├── pgdir.d
│ │ │ │ ├── pgdir.o
│ │ │ │ ├── pgdir.sym
│ │ │ │ ├── softint.asm
│ │ │ │ ├── softint.d
│ │ │ │ ├── softint.o
│ │ │ │ ├── softint.sym
│ │ │ │ ├── spin.asm
│ │ │ │ ├── spin.d
│ │ │ │ ├── spin.o
│ │ │ │ ├── spin.sym
│ │ │ │ ├── testbss.asm
│ │ │ │ ├── testbss.d
│ │ │ │ ├── testbss.o
│ │ │ │ ├── testbss.sym
│ │ │ │ ├── waitkill.asm
│ │ │ │ ├── waitkill.d
│ │ │ │ ├── waitkill.o
│ │ │ │ ├── waitkill.sym
│ │ │ │ ├── yield.asm
│ │ │ │ ├── yield.d
│ │ │ │ ├── yield.o
│ │ │ │ └── yield.sym
│ │ │ ├── __user_badarg.out
│ │ │ ├── __user_badsegment.out
│ │ │ ├── __user_divzero.out
│ │ │ ├── __user_exit.out
│ │ │ ├── __user_faultreadkernel.out
│ │ │ ├── __user_faultread.out
│ │ │ ├── __user_forktest.out
│ │ │ ├── __user_forktree.out
│ │ │ ├── __user_hello.out
│ │ │ ├── __user_pgdir.out
│ │ │ ├── __user_softint.out
│ │ │ ├── __user_spin.out
│ │ │ ├── __user_testbss.out
│ │ │ ├── __user_waitkill.out
│ │ │ └── __user_yield.out
│ │ ├── PaxHeader
│ │ │ ├── bin
│ │ │ ├── boot
│ │ │ ├── kern
│ │ │ ├── libs
│ │ │ ├── Makefile
│ │ │ ├── obj
│ │ │ ├── tools
│ │ │ └── user
│ │ ├── tools
│ │ │ ├── boot.ld
│ │ │ ├── function.mk
│ │ │ ├── gdbinit
│ │ │ ├── grade.sh
│ │ │ ├── kernel.ld
│ │ │ ├── PaxHeader
│ │ │ │ ├── boot.ld
│ │ │ │ ├── function.mk
│ │ │ │ ├── gdbinit
│ │ │ │ ├── grade.sh
│ │ │ │ ├── kernel.ld
│ │ │ │ ├── sign.c
│ │ │ │ ├── user.ld
│ │ │ │ └── vector.c
│ │ │ ├── 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
│ │ │ ├── PaxHeader
│ │ │ │ ├── initcode.S
│ │ │ │ ├── panic.c
│ │ │ │ ├── stdio.c
│ │ │ │ ├── syscall.c
│ │ │ │ ├── syscall.h
│ │ │ │ ├── ulib.c
│ │ │ │ ├── ulib.h
│ │ │ │ └── umain.c
│ │ │ ├── stdio.c
│ │ │ ├── syscall.c
│ │ │ ├── syscall.h
│ │ │ ├── ulib.c
│ │ │ ├── ulib.h
│ │ │ └── umain.c
│ │ ├── PaxHeader
│ │ │ ├── badarg.c
│ │ │ ├── badsegment.c
│ │ │ ├── divzero.c
│ │ │ ├── exit.c
│ │ │ ├── faultread.c
│ │ │ ├── faultreadkernel.c
│ │ │ ├── forktest.c
│ │ │ ├── forktree.c
│ │ │ ├── hello.c
│ │ │ ├── libs
│ │ │ ├── pgdir.c
│ │ │ ├── softint.c
│ │ │ ├── spin.c
│ │ │ ├── testbss.c
│ │ │ ├── waitkill.c
│ │ │ └── yield.c
│ │ ├── pgdir.c
│ │ ├── softint.c
│ │ ├── spin.c
│ │ ├── testbss.c
│ │ ├── waitkill.c
│ │ └── yield.c
│ ├── lab5瀹為獙鎶ュ憡.md
│ ├── PaxHeader
│ │ ├── 1.png
│ │ ├── 2.png
│ │ ├── lab5.pdf
│ │ ├── lab5浠g爜缁堢増
│ │ ├── lab5瀹為獙鎶ュ憡.md
│ │ └── webwxgetmsgimg.jpg
│ └── webwxgetmsgimg.jpg
├── 6
│ ├── 1.png
│ ├── 2.png
│ ├── 3.png
│ ├── lab6.pdf
│ ├── lab6浠g爜缁堢増
│ │ ├── bin
│ │ │ ├── bootblock
│ │ │ ├── kernel
│ │ │ ├── PaxHeader
│ │ │ │ ├── bootblock
│ │ │ │ ├── kernel
│ │ │ │ ├── sign
│ │ │ │ ├── swap.img
│ │ │ │ └── ucore.img
│ │ │ ├── sign
│ │ │ ├── swap.img
│ │ │ └── ucore.img
│ │ ├── boot
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ ├── bootmain.c
│ │ │ └── PaxHeader
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ └── bootmain.c
│ │ ├── kern
│ │ │ ├── debug
│ │ │ │ ├── assert.h
│ │ │ │ ├── kdebug.c
│ │ │ │ ├── kdebug.h
│ │ │ │ ├── kmonitor.c
│ │ │ │ ├── kmonitor.h
│ │ │ │ ├── panic.c
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── assert.h
│ │ │ │ │ ├── kdebug.c
│ │ │ │ │ ├── kdebug.h
│ │ │ │ │ ├── kmonitor.c
│ │ │ │ │ ├── kmonitor.h
│ │ │ │ │ ├── panic.c
│ │ │ │ │ └── stab.h
│ │ │ │ └── stab.h
│ │ │ ├── driver
│ │ │ │ ├── clock.c
│ │ │ │ ├── clock.h
│ │ │ │ ├── console.c
│ │ │ │ ├── console.h
│ │ │ │ ├── ide.c
│ │ │ │ ├── ide.h
│ │ │ │ ├── intr.c
│ │ │ │ ├── intr.h
│ │ │ │ ├── kbdreg.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── clock.c
│ │ │ │ │ ├── clock.h
│ │ │ │ │ ├── console.c
│ │ │ │ │ ├── console.h
│ │ │ │ │ ├── ide.c
│ │ │ │ │ ├── ide.h
│ │ │ │ │ ├── intr.c
│ │ │ │ │ ├── intr.h
│ │ │ │ │ ├── kbdreg.h
│ │ │ │ │ ├── picirq.c
│ │ │ │ │ └── picirq.h
│ │ │ │ ├── picirq.c
│ │ │ │ └── picirq.h
│ │ │ ├── fs
│ │ │ │ ├── fs.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── fs.h
│ │ │ │ │ ├── swapfs.c
│ │ │ │ │ └── swapfs.h
│ │ │ │ ├── swapfs.c
│ │ │ │ └── swapfs.h
│ │ │ ├── init
│ │ │ │ ├── entry.S
│ │ │ │ ├── init.c
│ │ │ │ └── PaxHeader
│ │ │ │ ├── entry.S
│ │ │ │ └── init.c
│ │ │ ├── libs
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── readline.c
│ │ │ │ │ └── stdio.c
│ │ │ │ ├── readline.c
│ │ │ │ └── stdio.c
│ │ │ ├── mm
│ │ │ │ ├── default_pmm.c
│ │ │ │ ├── default_pmm.h
│ │ │ │ ├── kmalloc.c
│ │ │ │ ├── kmalloc.h
│ │ │ │ ├── memlayout.h
│ │ │ │ ├── mmu.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── default_pmm.c
│ │ │ │ │ ├── default_pmm.h
│ │ │ │ │ ├── kmalloc.c
│ │ │ │ │ ├── kmalloc.h
│ │ │ │ │ ├── memlayout.h
│ │ │ │ │ ├── mmu.h
│ │ │ │ │ ├── pmm.c
│ │ │ │ │ ├── pmm.h
│ │ │ │ │ ├── swap.c
│ │ │ │ │ ├── swap_fifo.c
│ │ │ │ │ ├── swap_fifo.h
│ │ │ │ │ ├── swap.h
│ │ │ │ │ ├── vmm.c
│ │ │ │ │ └── vmm.h
│ │ │ │ ├── pmm.c
│ │ │ │ ├── pmm.h
│ │ │ │ ├── swap.c
│ │ │ │ ├── swap_fifo.c
│ │ │ │ ├── swap_fifo.h
│ │ │ │ ├── swap.h
│ │ │ │ ├── vmm.c
│ │ │ │ └── vmm.h
│ │ │ ├── PaxHeader
│ │ │ │ ├── debug
│ │ │ │ ├── driver
│ │ │ │ ├── fs
│ │ │ │ ├── init
│ │ │ │ ├── libs
│ │ │ │ ├── mm
│ │ │ │ ├── process
│ │ │ │ ├── schedule
│ │ │ │ ├── sync
│ │ │ │ ├── syscall
│ │ │ │ └── trap
│ │ │ ├── process
│ │ │ │ ├── entry.S
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── entry.S
│ │ │ │ │ ├── proc.c
│ │ │ │ │ ├── proc.h
│ │ │ │ │ └── switch.S
│ │ │ │ ├── proc.c
│ │ │ │ ├── proc.h
│ │ │ │ └── switch.S
│ │ │ ├── schedule
│ │ │ │ ├── default_sched.c
│ │ │ │ ├── default_sched.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── default_sched.c
│ │ │ │ │ ├── default_sched.h
│ │ │ │ │ ├── sched.c
│ │ │ │ │ └── sched.h
│ │ │ │ ├── sched.c
│ │ │ │ └── sched.h
│ │ │ ├── sync
│ │ │ │ ├── PaxHeader
│ │ │ │ │ └── sync.h
│ │ │ │ └── sync.h
│ │ │ ├── syscall
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── syscall.c
│ │ │ │ │ └── syscall.h
│ │ │ │ ├── syscall.c
│ │ │ │ └── syscall.h
│ │ │ └── trap
│ │ │ ├── PaxHeader
│ │ │ │ ├── trap.c
│ │ │ │ ├── trapentry.S
│ │ │ │ ├── trap.h
│ │ │ │ └── vectors.S
│ │ │ ├── trap.c
│ │ │ ├── trapentry.S
│ │ │ ├── trap.h
│ │ │ └── vectors.S
│ │ ├── libs
│ │ │ ├── atomic.h
│ │ │ ├── defs.h
│ │ │ ├── elf.h
│ │ │ ├── error.h
│ │ │ ├── hash.c
│ │ │ ├── list.h
│ │ │ ├── PaxHeader
│ │ │ │ ├── atomic.h
│ │ │ │ ├── defs.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
│ │ │ │ ├── unistd.h
│ │ │ │ └── x86.h
│ │ │ ├── printfmt.c
│ │ │ ├── rand.c
│ │ │ ├── skew_heap.h
│ │ │ ├── stdarg.h
│ │ │ ├── stdio.h
│ │ │ ├── stdlib.h
│ │ │ ├── string.c
│ │ │ ├── string.h
│ │ │ ├── unistd.h
│ │ │ └── x86.h
│ │ ├── Makefile
│ │ ├── obj
│ │ │ ├── boot
│ │ │ │ ├── bootasm.d
│ │ │ │ ├── bootasm.o
│ │ │ │ ├── bootmain.d
│ │ │ │ ├── bootmain.o
│ │ │ │ └── PaxHeader
│ │ │ │ ├── bootasm.d
│ │ │ │ ├── bootasm.o
│ │ │ │ ├── bootmain.d
│ │ │ │ └── bootmain.o
│ │ │ ├── bootblock.asm
│ │ │ ├── bootblock.o
│ │ │ ├── bootblock.out
│ │ │ ├── kern
│ │ │ │ ├── debug
│ │ │ │ │ ├── kdebug.d
│ │ │ │ │ ├── kdebug.o
│ │ │ │ │ ├── kmonitor.d
│ │ │ │ │ ├── kmonitor.o
│ │ │ │ │ ├── panic.d
│ │ │ │ │ ├── panic.o
│ │ │ │ │ └── PaxHeader
│ │ │ │ │ ├── kdebug.d
│ │ │ │ │ ├── kdebug.o
│ │ │ │ │ ├── kmonitor.d
│ │ │ │ │ ├── kmonitor.o
│ │ │ │ │ ├── panic.d
│ │ │ │ │ └── panic.o
│ │ │ │ ├── driver
│ │ │ │ │ ├── clock.d
│ │ │ │ │ ├── clock.o
│ │ │ │ │ ├── console.d
│ │ │ │ │ ├── console.o
│ │ │ │ │ ├── ide.d
│ │ │ │ │ ├── ide.o
│ │ │ │ │ ├── intr.d
│ │ │ │ │ ├── intr.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── clock.d
│ │ │ │ │ │ ├── clock.o
│ │ │ │ │ │ ├── console.d
│ │ │ │ │ │ ├── console.o
│ │ │ │ │ │ ├── ide.d
│ │ │ │ │ │ ├── ide.o
│ │ │ │ │ │ ├── intr.d
│ │ │ │ │ │ ├── intr.o
│ │ │ │ │ │ ├── picirq.d
│ │ │ │ │ │ └── picirq.o
│ │ │ │ │ ├── picirq.d
│ │ │ │ │ └── picirq.o
│ │ │ │ ├── fs
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── swapfs.d
│ │ │ │ │ │ └── swapfs.o
│ │ │ │ │ ├── swapfs.d
│ │ │ │ │ └── swapfs.o
│ │ │ │ ├── init
│ │ │ │ │ ├── entry.d
│ │ │ │ │ ├── entry.o
│ │ │ │ │ ├── init.d
│ │ │ │ │ ├── init.o
│ │ │ │ │ └── PaxHeader
│ │ │ │ │ ├── entry.d
│ │ │ │ │ ├── entry.o
│ │ │ │ │ ├── init.d
│ │ │ │ │ └── init.o
│ │ │ │ ├── libs
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── readline.d
│ │ │ │ │ │ ├── readline.o
│ │ │ │ │ │ ├── stdio.d
│ │ │ │ │ │ └── stdio.o
│ │ │ │ │ ├── readline.d
│ │ │ │ │ ├── readline.o
│ │ │ │ │ ├── stdio.d
│ │ │ │ │ └── stdio.o
│ │ │ │ ├── mm
│ │ │ │ │ ├── default_pmm.d
│ │ │ │ │ ├── default_pmm.o
│ │ │ │ │ ├── kmalloc.d
│ │ │ │ │ ├── kmalloc.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── default_pmm.d
│ │ │ │ │ │ ├── default_pmm.o
│ │ │ │ │ │ ├── kmalloc.d
│ │ │ │ │ │ ├── kmalloc.o
│ │ │ │ │ │ ├── pmm.d
│ │ │ │ │ │ ├── pmm.o
│ │ │ │ │ │ ├── swap.d
│ │ │ │ │ │ ├── swap_fifo.d
│ │ │ │ │ │ ├── swap_fifo.o
│ │ │ │ │ │ ├── swap.o
│ │ │ │ │ │ ├── vmm.d
│ │ │ │ │ │ └── vmm.o
│ │ │ │ │ ├── pmm.d
│ │ │ │ │ ├── pmm.o
│ │ │ │ │ ├── swap.d
│ │ │ │ │ ├── swap_fifo.d
│ │ │ │ │ ├── swap_fifo.o
│ │ │ │ │ ├── swap.o
│ │ │ │ │ ├── vmm.d
│ │ │ │ │ └── vmm.o
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── debug
│ │ │ │ │ ├── driver
│ │ │ │ │ ├── fs
│ │ │ │ │ ├── init
│ │ │ │ │ ├── libs
│ │ │ │ │ ├── mm
│ │ │ │ │ ├── process
│ │ │ │ │ ├── schedule
│ │ │ │ │ ├── syscall
│ │ │ │ │ └── trap
│ │ │ │ ├── process
│ │ │ │ │ ├── entry.d
│ │ │ │ │ ├── entry.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── entry.d
│ │ │ │ │ │ ├── entry.o
│ │ │ │ │ │ ├── proc.d
│ │ │ │ │ │ ├── proc.o
│ │ │ │ │ │ ├── switch.d
│ │ │ │ │ │ └── switch.o
│ │ │ │ │ ├── proc.d
│ │ │ │ │ ├── proc.o
│ │ │ │ │ ├── switch.d
│ │ │ │ │ └── switch.o
│ │ │ │ ├── schedule
│ │ │ │ │ ├── default_sched.d
│ │ │ │ │ ├── default_sched.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── default_sched.d
│ │ │ │ │ │ ├── default_sched.o
│ │ │ │ │ │ ├── sched.d
│ │ │ │ │ │ └── sched.o
│ │ │ │ │ ├── sched.d
│ │ │ │ │ └── sched.o
│ │ │ │ ├── syscall
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── syscall.d
│ │ │ │ │ │ └── syscall.o
│ │ │ │ │ ├── syscall.d
│ │ │ │ │ └── syscall.o
│ │ │ │ └── trap
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── trap.d
│ │ │ │ │ ├── trapentry.d
│ │ │ │ │ ├── trapentry.o
│ │ │ │ │ ├── trap.o
│ │ │ │ │ ├── vectors.d
│ │ │ │ │ └── vectors.o
│ │ │ │ ├── trap.d
│ │ │ │ ├── trapentry.d
│ │ │ │ ├── trapentry.o
│ │ │ │ ├── trap.o
│ │ │ │ ├── vectors.d
│ │ │ │ └── vectors.o
│ │ │ ├── kernel.asm
│ │ │ ├── kernel.sym
│ │ │ ├── libs
│ │ │ │ ├── hash.d
│ │ │ │ ├── hash.o
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── hash.d
│ │ │ │ │ ├── hash.o
│ │ │ │ │ ├── printfmt.d
│ │ │ │ │ ├── printfmt.o
│ │ │ │ │ ├── rand.d
│ │ │ │ │ ├── rand.o
│ │ │ │ │ ├── string.d
│ │ │ │ │ └── string.o
│ │ │ │ ├── printfmt.d
│ │ │ │ ├── printfmt.o
│ │ │ │ ├── rand.d
│ │ │ │ ├── rand.o
│ │ │ │ ├── string.d
│ │ │ │ └── string.o
│ │ │ ├── PaxHeader
│ │ │ │ ├── boot
│ │ │ │ ├── bootblock.asm
│ │ │ │ ├── bootblock.o
│ │ │ │ ├── bootblock.out
│ │ │ │ ├── kern
│ │ │ │ ├── kernel.asm
│ │ │ │ ├── kernel.sym
│ │ │ │ ├── libs
│ │ │ │ ├── sign
│ │ │ │ ├── user
│ │ │ │ ├── __user_badarg.out
│ │ │ │ ├── __user_badsegment.out
│ │ │ │ ├── __user_divzero.out
│ │ │ │ ├── __user_exit.out
│ │ │ │ ├── __user_faultreadkernel.out
│ │ │ │ ├── __user_faultread.out
│ │ │ │ ├── __user_forktest.out
│ │ │ │ ├── __user_forktree.out
│ │ │ │ ├── __user_hello.out
│ │ │ │ ├── __user_matrix.out
│ │ │ │ ├── __user_pgdir.out
│ │ │ │ ├── __user_priority.out
│ │ │ │ ├── __user_softint.out
│ │ │ │ ├── __user_spin.out
│ │ │ │ ├── __user_testbss.out
│ │ │ │ ├── __user_waitkill.out
│ │ │ │ └── __user_yield.out
│ │ │ ├── sign
│ │ │ │ ├── PaxHeader
│ │ │ │ │ └── tools
│ │ │ │ └── tools
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── sign.d
│ │ │ │ │ └── sign.o
│ │ │ │ ├── sign.d
│ │ │ │ └── sign.o
│ │ │ ├── user
│ │ │ │ ├── badarg.asm
│ │ │ │ ├── badarg.d
│ │ │ │ ├── badarg.o
│ │ │ │ ├── badarg.sym
│ │ │ │ ├── badsegment.asm
│ │ │ │ ├── badsegment.d
│ │ │ │ ├── badsegment.o
│ │ │ │ ├── badsegment.sym
│ │ │ │ ├── divzero.asm
│ │ │ │ ├── divzero.d
│ │ │ │ ├── divzero.o
│ │ │ │ ├── divzero.sym
│ │ │ │ ├── exit.asm
│ │ │ │ ├── exit.d
│ │ │ │ ├── exit.o
│ │ │ │ ├── exit.sym
│ │ │ │ ├── faultread.asm
│ │ │ │ ├── faultread.d
│ │ │ │ ├── faultreadkernel.asm
│ │ │ │ ├── faultreadkernel.d
│ │ │ │ ├── faultreadkernel.o
│ │ │ │ ├── faultreadkernel.sym
│ │ │ │ ├── faultread.o
│ │ │ │ ├── faultread.sym
│ │ │ │ ├── forktest.asm
│ │ │ │ ├── forktest.d
│ │ │ │ ├── forktest.o
│ │ │ │ ├── forktest.sym
│ │ │ │ ├── forktree.asm
│ │ │ │ ├── forktree.d
│ │ │ │ ├── forktree.o
│ │ │ │ ├── forktree.sym
│ │ │ │ ├── hello.asm
│ │ │ │ ├── hello.d
│ │ │ │ ├── hello.o
│ │ │ │ ├── hello.sym
│ │ │ │ ├── libs
│ │ │ │ │ ├── initcode.d
│ │ │ │ │ ├── initcode.o
│ │ │ │ │ ├── panic.d
│ │ │ │ │ ├── panic.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── initcode.d
│ │ │ │ │ │ ├── initcode.o
│ │ │ │ │ │ ├── panic.d
│ │ │ │ │ │ ├── panic.o
│ │ │ │ │ │ ├── stdio.d
│ │ │ │ │ │ ├── stdio.o
│ │ │ │ │ │ ├── syscall.d
│ │ │ │ │ │ ├── syscall.o
│ │ │ │ │ │ ├── ulib.d
│ │ │ │ │ │ ├── ulib.o
│ │ │ │ │ │ ├── umain.d
│ │ │ │ │ │ └── umain.o
│ │ │ │ │ ├── stdio.d
│ │ │ │ │ ├── stdio.o
│ │ │ │ │ ├── syscall.d
│ │ │ │ │ ├── syscall.o
│ │ │ │ │ ├── ulib.d
│ │ │ │ │ ├── ulib.o
│ │ │ │ │ ├── umain.d
│ │ │ │ │ └── umain.o
│ │ │ │ ├── matrix.asm
│ │ │ │ ├── matrix.d
│ │ │ │ ├── matrix.o
│ │ │ │ ├── matrix.sym
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── badarg.asm
│ │ │ │ │ ├── badarg.d
│ │ │ │ │ ├── badarg.o
│ │ │ │ │ ├── badarg.sym
│ │ │ │ │ ├── badsegment.asm
│ │ │ │ │ ├── badsegment.d
│ │ │ │ │ ├── badsegment.o
│ │ │ │ │ ├── badsegment.sym
│ │ │ │ │ ├── divzero.asm
│ │ │ │ │ ├── divzero.d
│ │ │ │ │ ├── divzero.o
│ │ │ │ │ ├── divzero.sym
│ │ │ │ │ ├── exit.asm
│ │ │ │ │ ├── exit.d
│ │ │ │ │ ├── exit.o
│ │ │ │ │ ├── exit.sym
│ │ │ │ │ ├── faultread.asm
│ │ │ │ │ ├── faultread.d
│ │ │ │ │ ├── faultreadkernel.asm
│ │ │ │ │ ├── faultreadkernel.d
│ │ │ │ │ ├── faultreadkernel.o
│ │ │ │ │ ├── faultreadkernel.sym
│ │ │ │ │ ├── faultread.o
│ │ │ │ │ ├── faultread.sym
│ │ │ │ │ ├── forktest.asm
│ │ │ │ │ ├── forktest.d
│ │ │ │ │ ├── forktest.o
│ │ │ │ │ ├── forktest.sym
│ │ │ │ │ ├── forktree.asm
│ │ │ │ │ ├── forktree.d
│ │ │ │ │ ├── forktree.o
│ │ │ │ │ ├── forktree.sym
│ │ │ │ │ ├── hello.asm
│ │ │ │ │ ├── hello.d
│ │ │ │ │ ├── hello.o
│ │ │ │ │ ├── hello.sym
│ │ │ │ │ ├── libs
│ │ │ │ │ ├── matrix.asm
│ │ │ │ │ ├── matrix.d
│ │ │ │ │ ├── matrix.o
│ │ │ │ │ ├── matrix.sym
│ │ │ │ │ ├── pgdir.asm
│ │ │ │ │ ├── pgdir.d
│ │ │ │ │ ├── pgdir.o
│ │ │ │ │ ├── pgdir.sym
│ │ │ │ │ ├── priority.asm
│ │ │ │ │ ├── priority.d
│ │ │ │ │ ├── priority.o
│ │ │ │ │ ├── priority.sym
│ │ │ │ │ ├── softint.asm
│ │ │ │ │ ├── softint.d
│ │ │ │ │ ├── softint.o
│ │ │ │ │ ├── softint.sym
│ │ │ │ │ ├── spin.asm
│ │ │ │ │ ├── spin.d
│ │ │ │ │ ├── spin.o
│ │ │ │ │ ├── spin.sym
│ │ │ │ │ ├── testbss.asm
│ │ │ │ │ ├── testbss.d
│ │ │ │ │ ├── testbss.o
│ │ │ │ │ ├── testbss.sym
│ │ │ │ │ ├── waitkill.asm
│ │ │ │ │ ├── waitkill.d
│ │ │ │ │ ├── waitkill.o
│ │ │ │ │ ├── waitkill.sym
│ │ │ │ │ ├── yield.asm
│ │ │ │ │ ├── yield.d
│ │ │ │ │ ├── yield.o
│ │ │ │ │ └── yield.sym
│ │ │ │ ├── pgdir.asm
│ │ │ │ ├── pgdir.d
│ │ │ │ ├── pgdir.o
│ │ │ │ ├── pgdir.sym
│ │ │ │ ├── priority.asm
│ │ │ │ ├── priority.d
│ │ │ │ ├── priority.o
│ │ │ │ ├── priority.sym
│ │ │ │ ├── softint.asm
│ │ │ │ ├── softint.d
│ │ │ │ ├── softint.o
│ │ │ │ ├── softint.sym
│ │ │ │ ├── spin.asm
│ │ │ │ ├── spin.d
│ │ │ │ ├── spin.o
│ │ │ │ ├── spin.sym
│ │ │ │ ├── testbss.asm
│ │ │ │ ├── testbss.d
│ │ │ │ ├── testbss.o
│ │ │ │ ├── testbss.sym
│ │ │ │ ├── waitkill.asm
│ │ │ │ ├── waitkill.d
│ │ │ │ ├── waitkill.o
│ │ │ │ ├── waitkill.sym
│ │ │ │ ├── yield.asm
│ │ │ │ ├── yield.d
│ │ │ │ ├── yield.o
│ │ │ │ └── yield.sym
│ │ │ ├── __user_badarg.out
│ │ │ ├── __user_badsegment.out
│ │ │ ├── __user_divzero.out
│ │ │ ├── __user_exit.out
│ │ │ ├── __user_faultreadkernel.out
│ │ │ ├── __user_faultread.out
│ │ │ ├── __user_forktest.out
│ │ │ ├── __user_forktree.out
│ │ │ ├── __user_hello.out
│ │ │ ├── __user_matrix.out
│ │ │ ├── __user_pgdir.out
│ │ │ ├── __user_priority.out
│ │ │ ├── __user_softint.out
│ │ │ ├── __user_spin.out
│ │ │ ├── __user_testbss.out
│ │ │ ├── __user_waitkill.out
│ │ │ └── __user_yield.out
│ │ ├── PaxHeader
│ │ │ ├── bin
│ │ │ ├── boot
│ │ │ ├── kern
│ │ │ ├── libs
│ │ │ ├── Makefile
│ │ │ ├── obj
│ │ │ ├── tools
│ │ │ └── user
│ │ ├── tools
│ │ │ ├── boot.ld
│ │ │ ├── function.mk
│ │ │ ├── gdbinit
│ │ │ ├── grade.sh
│ │ │ ├── kernel.ld
│ │ │ ├── PaxHeader
│ │ │ │ ├── boot.ld
│ │ │ │ ├── function.mk
│ │ │ │ ├── gdbinit
│ │ │ │ ├── grade.sh
│ │ │ │ ├── kernel.ld
│ │ │ │ ├── sign.c
│ │ │ │ ├── user.ld
│ │ │ │ └── vector.c
│ │ │ ├── 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
│ │ │ ├── PaxHeader
│ │ │ │ ├── initcode.S
│ │ │ │ ├── panic.c
│ │ │ │ ├── stdio.c
│ │ │ │ ├── syscall.c
│ │ │ │ ├── syscall.h
│ │ │ │ ├── ulib.c
│ │ │ │ ├── ulib.h
│ │ │ │ └── umain.c
│ │ │ ├── stdio.c
│ │ │ ├── syscall.c
│ │ │ ├── syscall.h
│ │ │ ├── ulib.c
│ │ │ ├── ulib.h
│ │ │ └── umain.c
│ │ ├── matrix.c
│ │ ├── PaxHeader
│ │ │ ├── badarg.c
│ │ │ ├── badsegment.c
│ │ │ ├── divzero.c
│ │ │ ├── exit.c
│ │ │ ├── faultread.c
│ │ │ ├── faultreadkernel.c
│ │ │ ├── forktest.c
│ │ │ ├── forktree.c
│ │ │ ├── hello.c
│ │ │ ├── libs
│ │ │ ├── matrix.c
│ │ │ ├── pgdir.c
│ │ │ ├── priority.c
│ │ │ ├── softint.c
│ │ │ ├── spin.c
│ │ │ ├── testbss.c
│ │ │ ├── waitkill.c
│ │ │ └── yield.c
│ │ ├── pgdir.c
│ │ ├── priority.c
│ │ ├── softint.c
│ │ ├── spin.c
│ │ ├── testbss.c
│ │ ├── waitkill.c
│ │ └── yield.c
│ ├── lab6瀹為獙鎶ュ憡.md
│ └── PaxHeader
│ ├── 1.png
│ ├── 2.png
│ ├── 3.png
│ ├── lab6.pdf
│ ├── lab6浠g爜缁堢増
│ └── lab6瀹為獙鎶ュ憡.md
├── 7
│ ├── 1.png
│ ├── 2.png
│ ├── 3.png
│ ├── 4.png
│ ├── 5.png
│ ├── lab7
│ │ ├── bin
│ │ │ ├── bootblock
│ │ │ ├── kernel
│ │ │ ├── PaxHeader
│ │ │ │ ├── bootblock
│ │ │ │ ├── kernel
│ │ │ │ ├── sign
│ │ │ │ ├── swap.img
│ │ │ │ └── ucore.img
│ │ │ ├── sign
│ │ │ ├── swap.img
│ │ │ └── ucore.img
│ │ ├── boot
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ ├── bootmain.c
│ │ │ └── PaxHeader
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ └── bootmain.c
│ │ ├── kern
│ │ │ ├── debug
│ │ │ │ ├── assert.h
│ │ │ │ ├── kdebug.c
│ │ │ │ ├── kdebug.h
│ │ │ │ ├── kmonitor.c
│ │ │ │ ├── kmonitor.h
│ │ │ │ ├── panic.c
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── assert.h
│ │ │ │ │ ├── kdebug.c
│ │ │ │ │ ├── kdebug.h
│ │ │ │ │ ├── kmonitor.c
│ │ │ │ │ ├── kmonitor.h
│ │ │ │ │ ├── panic.c
│ │ │ │ │ └── stab.h
│ │ │ │ └── stab.h
│ │ │ ├── driver
│ │ │ │ ├── clock.c
│ │ │ │ ├── clock.h
│ │ │ │ ├── console.c
│ │ │ │ ├── console.h
│ │ │ │ ├── ide.c
│ │ │ │ ├── ide.h
│ │ │ │ ├── intr.c
│ │ │ │ ├── intr.h
│ │ │ │ ├── kbdreg.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── clock.c
│ │ │ │ │ ├── clock.h
│ │ │ │ │ ├── console.c
│ │ │ │ │ ├── console.h
│ │ │ │ │ ├── ide.c
│ │ │ │ │ ├── ide.h
│ │ │ │ │ ├── intr.c
│ │ │ │ │ ├── intr.h
│ │ │ │ │ ├── kbdreg.h
│ │ │ │ │ ├── picirq.c
│ │ │ │ │ └── picirq.h
│ │ │ │ ├── picirq.c
│ │ │ │ └── picirq.h
│ │ │ ├── fs
│ │ │ │ ├── fs.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── fs.h
│ │ │ │ │ ├── swapfs.c
│ │ │ │ │ └── swapfs.h
│ │ │ │ ├── swapfs.c
│ │ │ │ └── swapfs.h
│ │ │ ├── init
│ │ │ │ ├── entry.S
│ │ │ │ ├── init.c
│ │ │ │ └── PaxHeader
│ │ │ │ ├── entry.S
│ │ │ │ └── init.c
│ │ │ ├── libs
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── readline.c
│ │ │ │ │ └── stdio.c
│ │ │ │ ├── readline.c
│ │ │ │ └── stdio.c
│ │ │ ├── mm
│ │ │ │ ├── default_pmm.c
│ │ │ │ ├── default_pmm.h
│ │ │ │ ├── kmalloc.c
│ │ │ │ ├── kmalloc.h
│ │ │ │ ├── memlayout.h
│ │ │ │ ├── mmu.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── default_pmm.c
│ │ │ │ │ ├── default_pmm.h
│ │ │ │ │ ├── kmalloc.c
│ │ │ │ │ ├── kmalloc.h
│ │ │ │ │ ├── memlayout.h
│ │ │ │ │ ├── mmu.h
│ │ │ │ │ ├── pmm.c
│ │ │ │ │ ├── pmm.h
│ │ │ │ │ ├── swap.c
│ │ │ │ │ ├── swap_fifo.c
│ │ │ │ │ ├── swap_fifo.h
│ │ │ │ │ ├── swap.h
│ │ │ │ │ ├── vmm.c
│ │ │ │ │ └── vmm.h
│ │ │ │ ├── pmm.c
│ │ │ │ ├── pmm.h
│ │ │ │ ├── swap.c
│ │ │ │ ├── swap_fifo.c
│ │ │ │ ├── swap_fifo.h
│ │ │ │ ├── swap.h
│ │ │ │ ├── vmm.c
│ │ │ │ └── vmm.h
│ │ │ ├── PaxHeader
│ │ │ │ ├── debug
│ │ │ │ ├── driver
│ │ │ │ ├── fs
│ │ │ │ ├── init
│ │ │ │ ├── libs
│ │ │ │ ├── mm
│ │ │ │ ├── process
│ │ │ │ ├── schedule
│ │ │ │ ├── sync
│ │ │ │ ├── syscall
│ │ │ │ └── trap
│ │ │ ├── process
│ │ │ │ ├── entry.S
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── entry.S
│ │ │ │ │ ├── proc.c
│ │ │ │ │ ├── proc.h
│ │ │ │ │ └── switch.S
│ │ │ │ ├── proc.c
│ │ │ │ ├── proc.h
│ │ │ │ └── switch.S
│ │ │ ├── schedule
│ │ │ │ ├── default_sched.c
│ │ │ │ ├── default_sched.h
│ │ │ │ ├── default_sched_stride_c
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── default_sched.c
│ │ │ │ │ ├── default_sched.h
│ │ │ │ │ ├── default_sched_stride_c
│ │ │ │ │ ├── sched.c
│ │ │ │ │ └── sched.h
│ │ │ │ ├── sched.c
│ │ │ │ └── sched.h
│ │ │ ├── sync
│ │ │ │ ├── check_sync.c
│ │ │ │ ├── monitor.c
│ │ │ │ ├── monitor.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── check_sync.c
│ │ │ │ │ ├── monitor.c
│ │ │ │ │ ├── monitor.h
│ │ │ │ │ ├── sem.c
│ │ │ │ │ ├── sem.h
│ │ │ │ │ ├── sync.h
│ │ │ │ │ ├── wait.c
│ │ │ │ │ └── wait.h
│ │ │ │ ├── sem.c
│ │ │ │ ├── sem.h
│ │ │ │ ├── sync.h
│ │ │ │ ├── wait.c
│ │ │ │ └── wait.h
│ │ │ ├── syscall
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── syscall.c
│ │ │ │ │ └── syscall.h
│ │ │ │ ├── syscall.c
│ │ │ │ └── syscall.h
│ │ │ └── trap
│ │ │ ├── PaxHeader
│ │ │ │ ├── trap.c
│ │ │ │ ├── trapentry.S
│ │ │ │ ├── trap.h
│ │ │ │ └── vectors.S
│ │ │ ├── trap.c
│ │ │ ├── trapentry.S
│ │ │ ├── trap.h
│ │ │ └── vectors.S
│ │ ├── libs
│ │ │ ├── atomic.h
│ │ │ ├── defs.h
│ │ │ ├── elf.h
│ │ │ ├── error.h
│ │ │ ├── hash.c
│ │ │ ├── list.h
│ │ │ ├── PaxHeader
│ │ │ │ ├── atomic.h
│ │ │ │ ├── defs.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
│ │ │ │ ├── unistd.h
│ │ │ │ └── x86.h
│ │ │ ├── printfmt.c
│ │ │ ├── rand.c
│ │ │ ├── skew_heap.h
│ │ │ ├── stdarg.h
│ │ │ ├── stdio.h
│ │ │ ├── stdlib.h
│ │ │ ├── string.c
│ │ │ ├── string.h
│ │ │ ├── unistd.h
│ │ │ └── x86.h
│ │ ├── Makefile
│ │ ├── obj
│ │ │ ├── boot
│ │ │ │ ├── bootasm.d
│ │ │ │ ├── bootasm.o
│ │ │ │ ├── bootmain.d
│ │ │ │ ├── bootmain.o
│ │ │ │ └── PaxHeader
│ │ │ │ ├── bootasm.d
│ │ │ │ ├── bootasm.o
│ │ │ │ ├── bootmain.d
│ │ │ │ └── bootmain.o
│ │ │ ├── bootblock.asm
│ │ │ ├── bootblock.o
│ │ │ ├── bootblock.out
│ │ │ ├── kern
│ │ │ │ ├── debug
│ │ │ │ │ ├── kdebug.d
│ │ │ │ │ ├── kdebug.o
│ │ │ │ │ ├── kmonitor.d
│ │ │ │ │ ├── kmonitor.o
│ │ │ │ │ ├── panic.d
│ │ │ │ │ ├── panic.o
│ │ │ │ │ └── PaxHeader
│ │ │ │ │ ├── kdebug.d
│ │ │ │ │ ├── kdebug.o
│ │ │ │ │ ├── kmonitor.d
│ │ │ │ │ ├── kmonitor.o
│ │ │ │ │ ├── panic.d
│ │ │ │ │ └── panic.o
│ │ │ │ ├── driver
│ │ │ │ │ ├── clock.d
│ │ │ │ │ ├── clock.o
│ │ │ │ │ ├── console.d
│ │ │ │ │ ├── console.o
│ │ │ │ │ ├── ide.d
│ │ │ │ │ ├── ide.o
│ │ │ │ │ ├── intr.d
│ │ │ │ │ ├── intr.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── clock.d
│ │ │ │ │ │ ├── clock.o
│ │ │ │ │ │ ├── console.d
│ │ │ │ │ │ ├── console.o
│ │ │ │ │ │ ├── ide.d
│ │ │ │ │ │ ├── ide.o
│ │ │ │ │ │ ├── intr.d
│ │ │ │ │ │ ├── intr.o
│ │ │ │ │ │ ├── picirq.d
│ │ │ │ │ │ └── picirq.o
│ │ │ │ │ ├── picirq.d
│ │ │ │ │ └── picirq.o
│ │ │ │ ├── fs
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── swapfs.d
│ │ │ │ │ │ └── swapfs.o
│ │ │ │ │ ├── swapfs.d
│ │ │ │ │ └── swapfs.o
│ │ │ │ ├── init
│ │ │ │ │ ├── entry.d
│ │ │ │ │ ├── entry.o
│ │ │ │ │ ├── init.d
│ │ │ │ │ ├── init.o
│ │ │ │ │ └── PaxHeader
│ │ │ │ │ ├── entry.d
│ │ │ │ │ ├── entry.o
│ │ │ │ │ ├── init.d
│ │ │ │ │ └── init.o
│ │ │ │ ├── libs
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── readline.d
│ │ │ │ │ │ ├── readline.o
│ │ │ │ │ │ ├── stdio.d
│ │ │ │ │ │ └── stdio.o
│ │ │ │ │ ├── readline.d
│ │ │ │ │ ├── readline.o
│ │ │ │ │ ├── stdio.d
│ │ │ │ │ └── stdio.o
│ │ │ │ ├── mm
│ │ │ │ │ ├── default_pmm.d
│ │ │ │ │ ├── default_pmm.o
│ │ │ │ │ ├── kmalloc.d
│ │ │ │ │ ├── kmalloc.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── default_pmm.d
│ │ │ │ │ │ ├── default_pmm.o
│ │ │ │ │ │ ├── kmalloc.d
│ │ │ │ │ │ ├── kmalloc.o
│ │ │ │ │ │ ├── pmm.d
│ │ │ │ │ │ ├── pmm.o
│ │ │ │ │ │ ├── swap.d
│ │ │ │ │ │ ├── swap_fifo.d
│ │ │ │ │ │ ├── swap_fifo.o
│ │ │ │ │ │ ├── swap.o
│ │ │ │ │ │ ├── vmm.d
│ │ │ │ │ │ └── vmm.o
│ │ │ │ │ ├── pmm.d
│ │ │ │ │ ├── pmm.o
│ │ │ │ │ ├── swap.d
│ │ │ │ │ ├── swap_fifo.d
│ │ │ │ │ ├── swap_fifo.o
│ │ │ │ │ ├── swap.o
│ │ │ │ │ ├── vmm.d
│ │ │ │ │ └── vmm.o
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── debug
│ │ │ │ │ ├── driver
│ │ │ │ │ ├── fs
│ │ │ │ │ ├── init
│ │ │ │ │ ├── libs
│ │ │ │ │ ├── mm
│ │ │ │ │ ├── process
│ │ │ │ │ ├── schedule
│ │ │ │ │ ├── sync
│ │ │ │ │ ├── syscall
│ │ │ │ │ └── trap
│ │ │ │ ├── process
│ │ │ │ │ ├── entry.d
│ │ │ │ │ ├── entry.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── entry.d
│ │ │ │ │ │ ├── entry.o
│ │ │ │ │ │ ├── proc.d
│ │ │ │ │ │ ├── proc.o
│ │ │ │ │ │ ├── switch.d
│ │ │ │ │ │ └── switch.o
│ │ │ │ │ ├── proc.d
│ │ │ │ │ ├── proc.o
│ │ │ │ │ ├── switch.d
│ │ │ │ │ └── switch.o
│ │ │ │ ├── schedule
│ │ │ │ │ ├── default_sched.d
│ │ │ │ │ ├── default_sched.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── default_sched.d
│ │ │ │ │ │ ├── default_sched.o
│ │ │ │ │ │ ├── sched.d
│ │ │ │ │ │ └── sched.o
│ │ │ │ │ ├── sched.d
│ │ │ │ │ └── sched.o
│ │ │ │ ├── sync
│ │ │ │ │ ├── check_sync.d
│ │ │ │ │ ├── check_sync.o
│ │ │ │ │ ├── monitor.d
│ │ │ │ │ ├── monitor.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── check_sync.d
│ │ │ │ │ │ ├── check_sync.o
│ │ │ │ │ │ ├── monitor.d
│ │ │ │ │ │ ├── monitor.o
│ │ │ │ │ │ ├── sem.d
│ │ │ │ │ │ ├── sem.o
│ │ │ │ │ │ ├── wait.d
│ │ │ │ │ │ └── wait.o
│ │ │ │ │ ├── sem.d
│ │ │ │ │ ├── sem.o
│ │ │ │ │ ├── wait.d
│ │ │ │ │ └── wait.o
│ │ │ │ ├── syscall
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── syscall.d
│ │ │ │ │ │ └── syscall.o
│ │ │ │ │ ├── syscall.d
│ │ │ │ │ └── syscall.o
│ │ │ │ └── trap
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── trap.d
│ │ │ │ │ ├── trapentry.d
│ │ │ │ │ ├── trapentry.o
│ │ │ │ │ ├── trap.o
│ │ │ │ │ ├── vectors.d
│ │ │ │ │ └── vectors.o
│ │ │ │ ├── trap.d
│ │ │ │ ├── trapentry.d
│ │ │ │ ├── trapentry.o
│ │ │ │ ├── trap.o
│ │ │ │ ├── vectors.d
│ │ │ │ └── vectors.o
│ │ │ ├── kernel.asm
│ │ │ ├── kernel.sym
│ │ │ ├── libs
│ │ │ │ ├── hash.d
│ │ │ │ ├── hash.o
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── hash.d
│ │ │ │ │ ├── hash.o
│ │ │ │ │ ├── printfmt.d
│ │ │ │ │ ├── printfmt.o
│ │ │ │ │ ├── rand.d
│ │ │ │ │ ├── rand.o
│ │ │ │ │ ├── string.d
│ │ │ │ │ └── string.o
│ │ │ │ ├── printfmt.d
│ │ │ │ ├── printfmt.o
│ │ │ │ ├── rand.d
│ │ │ │ ├── rand.o
│ │ │ │ ├── string.d
│ │ │ │ └── string.o
│ │ │ ├── PaxHeader
│ │ │ │ ├── boot
│ │ │ │ ├── bootblock.asm
│ │ │ │ ├── bootblock.o
│ │ │ │ ├── bootblock.out
│ │ │ │ ├── kern
│ │ │ │ ├── kernel.asm
│ │ │ │ ├── kernel.sym
│ │ │ │ ├── libs
│ │ │ │ ├── sign
│ │ │ │ ├── user
│ │ │ │ ├── __user_badarg.out
│ │ │ │ ├── __user_badsegment.out
│ │ │ │ ├── __user_divzero.out
│ │ │ │ ├── __user_exit.out
│ │ │ │ ├── __user_faultreadkernel.out
│ │ │ │ ├── __user_faultread.out
│ │ │ │ ├── __user_forktest.out
│ │ │ │ ├── __user_forktree.out
│ │ │ │ ├── __user_hello.out
│ │ │ │ ├── __user_matrix.out
│ │ │ │ ├── __user_pgdir.out
│ │ │ │ ├── __user_priority.out
│ │ │ │ ├── __user_sleepkill.out
│ │ │ │ ├── __user_sleep.out
│ │ │ │ ├── __user_softint.out
│ │ │ │ ├── __user_spin.out
│ │ │ │ ├── __user_testbss.out
│ │ │ │ ├── __user_waitkill.out
│ │ │ │ └── __user_yield.out
│ │ │ ├── sign
│ │ │ │ ├── PaxHeader
│ │ │ │ │ └── tools
│ │ │ │ └── tools
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── sign.d
│ │ │ │ │ └── sign.o
│ │ │ │ ├── sign.d
│ │ │ │ └── sign.o
│ │ │ ├── user
│ │ │ │ ├── badarg.asm
│ │ │ │ ├── badarg.d
│ │ │ │ ├── badarg.o
│ │ │ │ ├── badarg.sym
│ │ │ │ ├── badsegment.asm
│ │ │ │ ├── badsegment.d
│ │ │ │ ├── badsegment.o
│ │ │ │ ├── badsegment.sym
│ │ │ │ ├── divzero.asm
│ │ │ │ ├── divzero.d
│ │ │ │ ├── divzero.o
│ │ │ │ ├── divzero.sym
│ │ │ │ ├── exit.asm
│ │ │ │ ├── exit.d
│ │ │ │ ├── exit.o
│ │ │ │ ├── exit.sym
│ │ │ │ ├── faultread.asm
│ │ │ │ ├── faultread.d
│ │ │ │ ├── faultreadkernel.asm
│ │ │ │ ├── faultreadkernel.d
│ │ │ │ ├── faultreadkernel.o
│ │ │ │ ├── faultreadkernel.sym
│ │ │ │ ├── faultread.o
│ │ │ │ ├── faultread.sym
│ │ │ │ ├── forktest.asm
│ │ │ │ ├── forktest.d
│ │ │ │ ├── forktest.o
│ │ │ │ ├── forktest.sym
│ │ │ │ ├── forktree.asm
│ │ │ │ ├── forktree.d
│ │ │ │ ├── forktree.o
│ │ │ │ ├── forktree.sym
│ │ │ │ ├── hello.asm
│ │ │ │ ├── hello.d
│ │ │ │ ├── hello.o
│ │ │ │ ├── hello.sym
│ │ │ │ ├── libs
│ │ │ │ │ ├── initcode.d
│ │ │ │ │ ├── initcode.o
│ │ │ │ │ ├── panic.d
│ │ │ │ │ ├── panic.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── initcode.d
│ │ │ │ │ │ ├── initcode.o
│ │ │ │ │ │ ├── panic.d
│ │ │ │ │ │ ├── panic.o
│ │ │ │ │ │ ├── stdio.d
│ │ │ │ │ │ ├── stdio.o
│ │ │ │ │ │ ├── syscall.d
│ │ │ │ │ │ ├── syscall.o
│ │ │ │ │ │ ├── ulib.d
│ │ │ │ │ │ ├── ulib.o
│ │ │ │ │ │ ├── umain.d
│ │ │ │ │ │ └── umain.o
│ │ │ │ │ ├── stdio.d
│ │ │ │ │ ├── stdio.o
│ │ │ │ │ ├── syscall.d
│ │ │ │ │ ├── syscall.o
│ │ │ │ │ ├── ulib.d
│ │ │ │ │ ├── ulib.o
│ │ │ │ │ ├── umain.d
│ │ │ │ │ └── umain.o
│ │ │ │ ├── matrix.asm
│ │ │ │ ├── matrix.d
│ │ │ │ ├── matrix.o
│ │ │ │ ├── matrix.sym
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── badarg.asm
│ │ │ │ │ ├── badarg.d
│ │ │ │ │ ├── badarg.o
│ │ │ │ │ ├── badarg.sym
│ │ │ │ │ ├── badsegment.asm
│ │ │ │ │ ├── badsegment.d
│ │ │ │ │ ├── badsegment.o
│ │ │ │ │ ├── badsegment.sym
│ │ │ │ │ ├── divzero.asm
│ │ │ │ │ ├── divzero.d
│ │ │ │ │ ├── divzero.o
│ │ │ │ │ ├── divzero.sym
│ │ │ │ │ ├── exit.asm
│ │ │ │ │ ├── exit.d
│ │ │ │ │ ├── exit.o
│ │ │ │ │ ├── exit.sym
│ │ │ │ │ ├── faultread.asm
│ │ │ │ │ ├── faultread.d
│ │ │ │ │ ├── faultreadkernel.asm
│ │ │ │ │ ├── faultreadkernel.d
│ │ │ │ │ ├── faultreadkernel.o
│ │ │ │ │ ├── faultreadkernel.sym
│ │ │ │ │ ├── faultread.o
│ │ │ │ │ ├── faultread.sym
│ │ │ │ │ ├── forktest.asm
│ │ │ │ │ ├── forktest.d
│ │ │ │ │ ├── forktest.o
│ │ │ │ │ ├── forktest.sym
│ │ │ │ │ ├── forktree.asm
│ │ │ │ │ ├── forktree.d
│ │ │ │ │ ├── forktree.o
│ │ │ │ │ ├── forktree.sym
│ │ │ │ │ ├── hello.asm
│ │ │ │ │ ├── hello.d
│ │ │ │ │ ├── hello.o
│ │ │ │ │ ├── hello.sym
│ │ │ │ │ ├── libs
│ │ │ │ │ ├── matrix.asm
│ │ │ │ │ ├── matrix.d
│ │ │ │ │ ├── matrix.o
│ │ │ │ │ ├── matrix.sym
│ │ │ │ │ ├── pgdir.asm
│ │ │ │ │ ├── pgdir.d
│ │ │ │ │ ├── pgdir.o
│ │ │ │ │ ├── pgdir.sym
│ │ │ │ │ ├── priority.asm
│ │ │ │ │ ├── priority.d
│ │ │ │ │ ├── priority.o
│ │ │ │ │ ├── priority.sym
│ │ │ │ │ ├── sleep.asm
│ │ │ │ │ ├── sleep.d
│ │ │ │ │ ├── sleepkill.asm
│ │ │ │ │ ├── sleepkill.d
│ │ │ │ │ ├── sleepkill.o
│ │ │ │ │ ├── sleepkill.sym
│ │ │ │ │ ├── sleep.o
│ │ │ │ │ ├── sleep.sym
│ │ │ │ │ ├── softint.asm
│ │ │ │ │ ├── softint.d
│ │ │ │ │ ├── softint.o
│ │ │ │ │ ├── softint.sym
│ │ │ │ │ ├── spin.asm
│ │ │ │ │ ├── spin.d
│ │ │ │ │ ├── spin.o
│ │ │ │ │ ├── spin.sym
│ │ │ │ │ ├── testbss.asm
│ │ │ │ │ ├── testbss.d
│ │ │ │ │ ├── testbss.o
│ │ │ │ │ ├── testbss.sym
│ │ │ │ │ ├── waitkill.asm
│ │ │ │ │ ├── waitkill.d
│ │ │ │ │ ├── waitkill.o
│ │ │ │ │ ├── waitkill.sym
│ │ │ │ │ ├── yield.asm
│ │ │ │ │ ├── yield.d
│ │ │ │ │ ├── yield.o
│ │ │ │ │ └── yield.sym
│ │ │ │ ├── pgdir.asm
│ │ │ │ ├── pgdir.d
│ │ │ │ ├── pgdir.o
│ │ │ │ ├── pgdir.sym
│ │ │ │ ├── priority.asm
│ │ │ │ ├── priority.d
│ │ │ │ ├── priority.o
│ │ │ │ ├── priority.sym
│ │ │ │ ├── sleep.asm
│ │ │ │ ├── sleep.d
│ │ │ │ ├── sleepkill.asm
│ │ │ │ ├── sleepkill.d
│ │ │ │ ├── sleepkill.o
│ │ │ │ ├── sleepkill.sym
│ │ │ │ ├── sleep.o
│ │ │ │ ├── sleep.sym
│ │ │ │ ├── softint.asm
│ │ │ │ ├── softint.d
│ │ │ │ ├── softint.o
│ │ │ │ ├── softint.sym
│ │ │ │ ├── spin.asm
│ │ │ │ ├── spin.d
│ │ │ │ ├── spin.o
│ │ │ │ ├── spin.sym
│ │ │ │ ├── testbss.asm
│ │ │ │ ├── testbss.d
│ │ │ │ ├── testbss.o
│ │ │ │ ├── testbss.sym
│ │ │ │ ├── waitkill.asm
│ │ │ │ ├── waitkill.d
│ │ │ │ ├── waitkill.o
│ │ │ │ ├── waitkill.sym
│ │ │ │ ├── yield.asm
│ │ │ │ ├── yield.d
│ │ │ │ ├── yield.o
│ │ │ │ └── yield.sym
│ │ │ ├── __user_badarg.out
│ │ │ ├── __user_badsegment.out
│ │ │ ├── __user_divzero.out
│ │ │ ├── __user_exit.out
│ │ │ ├── __user_faultreadkernel.out
│ │ │ ├── __user_faultread.out
│ │ │ ├── __user_forktest.out
│ │ │ ├── __user_forktree.out
│ │ │ ├── __user_hello.out
│ │ │ ├── __user_matrix.out
│ │ │ ├── __user_pgdir.out
│ │ │ ├── __user_priority.out
│ │ │ ├── __user_sleepkill.out
│ │ │ ├── __user_sleep.out
│ │ │ ├── __user_softint.out
│ │ │ ├── __user_spin.out
│ │ │ ├── __user_testbss.out
│ │ │ ├── __user_waitkill.out
│ │ │ └── __user_yield.out
│ │ ├── PaxHeader
│ │ │ ├── bin
│ │ │ ├── boot
│ │ │ ├── kern
│ │ │ ├── libs
│ │ │ ├── Makefile
│ │ │ ├── obj
│ │ │ ├── tools
│ │ │ └── user
│ │ ├── tools
│ │ │ ├── boot.ld
│ │ │ ├── function.mk
│ │ │ ├── gdbinit
│ │ │ ├── grade.sh
│ │ │ ├── kernel.ld
│ │ │ ├── PaxHeader
│ │ │ │ ├── boot.ld
│ │ │ │ ├── function.mk
│ │ │ │ ├── gdbinit
│ │ │ │ ├── grade.sh
│ │ │ │ ├── kernel.ld
│ │ │ │ ├── sign.c
│ │ │ │ ├── user.ld
│ │ │ │ └── vector.c
│ │ │ ├── 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
│ │ │ ├── PaxHeader
│ │ │ │ ├── initcode.S
│ │ │ │ ├── panic.c
│ │ │ │ ├── stdio.c
│ │ │ │ ├── syscall.c
│ │ │ │ ├── syscall.h
│ │ │ │ ├── ulib.c
│ │ │ │ ├── ulib.h
│ │ │ │ └── umain.c
│ │ │ ├── stdio.c
│ │ │ ├── syscall.c
│ │ │ ├── syscall.h
│ │ │ ├── ulib.c
│ │ │ ├── ulib.h
│ │ │ └── umain.c
│ │ ├── matrix.c
│ │ ├── PaxHeader
│ │ │ ├── badarg.c
│ │ │ ├── badsegment.c
│ │ │ ├── divzero.c
│ │ │ ├── exit.c
│ │ │ ├── faultread.c
│ │ │ ├── faultreadkernel.c
│ │ │ ├── forktest.c
│ │ │ ├── forktree.c
│ │ │ ├── hello.c
│ │ │ ├── libs
│ │ │ ├── matrix.c
│ │ │ ├── pgdir.c
│ │ │ ├── priority.c
│ │ │ ├── sleep.c
│ │ │ ├── sleepkill.c
│ │ │ ├── softint.c
│ │ │ ├── spin.c
│ │ │ ├── testbss.c
│ │ │ ├── waitkill.c
│ │ │ └── yield.c
│ │ ├── pgdir.c
│ │ ├── priority.c
│ │ ├── sleep.c
│ │ ├── sleepkill.c
│ │ ├── softint.c
│ │ ├── spin.c
│ │ ├── testbss.c
│ │ ├── waitkill.c
│ │ └── yield.c
│ ├── lab7.pdf
│ ├── lab7瀹為獙鎶ュ憡.md
│ └── PaxHeader
│ ├── 1.png
│ ├── 2.png
│ ├── 3.png
│ ├── 4.png
│ ├── 5.png
│ ├── lab7
│ ├── lab7.pdf
│ └── lab7瀹為獙鎶ュ憡.md
├── 8
│ ├── 1.jpg
│ ├── 2.png
│ ├── lab8
│ │ ├── bin
│ │ │ ├── bootblock
│ │ │ ├── kernel
│ │ │ ├── mksfs
│ │ │ ├── PaxHeader
│ │ │ │ ├── bootblock
│ │ │ │ ├── kernel
│ │ │ │ ├── mksfs
│ │ │ │ ├── sfs.img
│ │ │ │ ├── sign
│ │ │ │ ├── swap.img
│ │ │ │ └── ucore.img
│ │ │ ├── sfs.img
│ │ │ ├── sign
│ │ │ ├── swap.img
│ │ │ └── ucore.img
│ │ ├── boot
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ ├── bootmain.c
│ │ │ └── PaxHeader
│ │ │ ├── asm.h
│ │ │ ├── bootasm.S
│ │ │ └── bootmain.c
│ │ ├── disk0
│ │ │ ├── badarg
│ │ │ ├── badsegment
│ │ │ ├── divzero
│ │ │ ├── exit
│ │ │ ├── faultread
│ │ │ ├── faultreadkernel
│ │ │ ├── forktest
│ │ │ ├── forktree
│ │ │ ├── hello
│ │ │ ├── ls
│ │ │ ├── matrix
│ │ │ ├── PaxHeader
│ │ │ │ ├── badarg
│ │ │ │ ├── badsegment
│ │ │ │ ├── divzero
│ │ │ │ ├── exit
│ │ │ │ ├── faultread
│ │ │ │ ├── faultreadkernel
│ │ │ │ ├── forktest
│ │ │ │ ├── forktree
│ │ │ │ ├── hello
│ │ │ │ ├── ls
│ │ │ │ ├── matrix
│ │ │ │ ├── pgdir
│ │ │ │ ├── priority
│ │ │ │ ├── sh
│ │ │ │ ├── sleep
│ │ │ │ ├── sleepkill
│ │ │ │ ├── softint
│ │ │ │ ├── spin
│ │ │ │ ├── testbss
│ │ │ │ ├── waitkill
│ │ │ │ └── yield
│ │ │ ├── pgdir
│ │ │ ├── priority
│ │ │ ├── sh
│ │ │ ├── sleep
│ │ │ ├── sleepkill
│ │ │ ├── softint
│ │ │ ├── spin
│ │ │ ├── testbss
│ │ │ ├── waitkill
│ │ │ └── yield
│ │ ├── kern
│ │ │ ├── debug
│ │ │ │ ├── assert.h
│ │ │ │ ├── kdebug.c
│ │ │ │ ├── kdebug.h
│ │ │ │ ├── kmonitor.c
│ │ │ │ ├── kmonitor.h
│ │ │ │ ├── panic.c
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── assert.h
│ │ │ │ │ ├── kdebug.c
│ │ │ │ │ ├── kdebug.h
│ │ │ │ │ ├── kmonitor.c
│ │ │ │ │ ├── kmonitor.h
│ │ │ │ │ ├── panic.c
│ │ │ │ │ └── stab.h
│ │ │ │ └── stab.h
│ │ │ ├── driver
│ │ │ │ ├── clock.c
│ │ │ │ ├── clock.h
│ │ │ │ ├── console.c
│ │ │ │ ├── console.h
│ │ │ │ ├── ide.c
│ │ │ │ ├── ide.h
│ │ │ │ ├── intr.c
│ │ │ │ ├── intr.h
│ │ │ │ ├── kbdreg.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── clock.c
│ │ │ │ │ ├── clock.h
│ │ │ │ │ ├── console.c
│ │ │ │ │ ├── console.h
│ │ │ │ │ ├── ide.c
│ │ │ │ │ ├── ide.h
│ │ │ │ │ ├── intr.c
│ │ │ │ │ ├── intr.h
│ │ │ │ │ ├── kbdreg.h
│ │ │ │ │ ├── picirq.c
│ │ │ │ │ └── picirq.h
│ │ │ │ ├── picirq.c
│ │ │ │ └── picirq.h
│ │ │ ├── fs
│ │ │ │ ├── devs
│ │ │ │ │ ├── dev.c
│ │ │ │ │ ├── dev_disk0.c
│ │ │ │ │ ├── dev.h
│ │ │ │ │ ├── dev_stdin.c
│ │ │ │ │ ├── dev_stdout.c
│ │ │ │ │ └── PaxHeader
│ │ │ │ │ ├── dev.c
│ │ │ │ │ ├── dev_disk0.c
│ │ │ │ │ ├── dev.h
│ │ │ │ │ ├── dev_stdin.c
│ │ │ │ │ └── dev_stdout.c
│ │ │ │ ├── file.c
│ │ │ │ ├── file.h
│ │ │ │ ├── fs.c
│ │ │ │ ├── fs.h
│ │ │ │ ├── iobuf.c
│ │ │ │ ├── iobuf.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── devs
│ │ │ │ │ ├── file.c
│ │ │ │ │ ├── file.h
│ │ │ │ │ ├── fs.c
│ │ │ │ │ ├── fs.h
│ │ │ │ │ ├── iobuf.c
│ │ │ │ │ ├── iobuf.h
│ │ │ │ │ ├── sfs
│ │ │ │ │ ├── swap
│ │ │ │ │ ├── sysfile.c
│ │ │ │ │ ├── sysfile.h
│ │ │ │ │ └── vfs
│ │ │ │ ├── sfs
│ │ │ │ │ ├── bitmap.c
│ │ │ │ │ ├── bitmap.h
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── bitmap.c
│ │ │ │ │ │ ├── bitmap.h
│ │ │ │ │ │ ├── sfs.c
│ │ │ │ │ │ ├── sfs_fs.c
│ │ │ │ │ │ ├── sfs.h
│ │ │ │ │ │ ├── sfs_inode.c
│ │ │ │ │ │ ├── sfs_io.c
│ │ │ │ │ │ └── sfs_lock.c
│ │ │ │ │ ├── sfs.c
│ │ │ │ │ ├── sfs_fs.c
│ │ │ │ │ ├── sfs.h
│ │ │ │ │ ├── sfs_inode.c
│ │ │ │ │ ├── sfs_io.c
│ │ │ │ │ └── sfs_lock.c
│ │ │ │ ├── swap
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── swapfs.c
│ │ │ │ │ │ └── swapfs.h
│ │ │ │ │ ├── swapfs.c
│ │ │ │ │ └── swapfs.h
│ │ │ │ ├── sysfile.c
│ │ │ │ ├── sysfile.h
│ │ │ │ └── vfs
│ │ │ │ ├── inode.c
│ │ │ │ ├── inode.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── inode.c
│ │ │ │ │ ├── inode.h
│ │ │ │ │ ├── vfs.c
│ │ │ │ │ ├── vfsdev.c
│ │ │ │ │ ├── vfsfile.c
│ │ │ │ │ ├── vfs.h
│ │ │ │ │ ├── vfslookup.c
│ │ │ │ │ └── vfspath.c
│ │ │ │ ├── vfs.c
│ │ │ │ ├── vfsdev.c
│ │ │ │ ├── vfsfile.c
│ │ │ │ ├── vfs.h
│ │ │ │ ├── vfslookup.c
│ │ │ │ └── vfspath.c
│ │ │ ├── init
│ │ │ │ ├── entry.S
│ │ │ │ ├── init.c
│ │ │ │ └── PaxHeader
│ │ │ │ ├── entry.S
│ │ │ │ └── init.c
│ │ │ ├── libs
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── readline.c
│ │ │ │ │ ├── stdio.c
│ │ │ │ │ └── string.c
│ │ │ │ ├── readline.c
│ │ │ │ ├── stdio.c
│ │ │ │ └── string.c
│ │ │ ├── mm
│ │ │ │ ├── default_pmm.c
│ │ │ │ ├── default_pmm.h
│ │ │ │ ├── kmalloc.c
│ │ │ │ ├── kmalloc.h
│ │ │ │ ├── memlayout.h
│ │ │ │ ├── mmu.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── default_pmm.c
│ │ │ │ │ ├── default_pmm.h
│ │ │ │ │ ├── kmalloc.c
│ │ │ │ │ ├── kmalloc.h
│ │ │ │ │ ├── memlayout.h
│ │ │ │ │ ├── mmu.h
│ │ │ │ │ ├── pmm.c
│ │ │ │ │ ├── pmm.h
│ │ │ │ │ ├── swap.c
│ │ │ │ │ ├── swap_fifo.c
│ │ │ │ │ ├── swap_fifo.h
│ │ │ │ │ ├── swap.h
│ │ │ │ │ ├── vmm.c
│ │ │ │ │ └── vmm.h
│ │ │ │ ├── pmm.c
│ │ │ │ ├── pmm.h
│ │ │ │ ├── swap.c
│ │ │ │ ├── swap_fifo.c
│ │ │ │ ├── swap_fifo.h
│ │ │ │ ├── swap.h
│ │ │ │ ├── vmm.c
│ │ │ │ └── vmm.h
│ │ │ ├── PaxHeader
│ │ │ │ ├── debug
│ │ │ │ ├── driver
│ │ │ │ ├── fs
│ │ │ │ ├── init
│ │ │ │ ├── libs
│ │ │ │ ├── mm
│ │ │ │ ├── process
│ │ │ │ ├── schedule
│ │ │ │ ├── sync
│ │ │ │ ├── syscall
│ │ │ │ └── trap
│ │ │ ├── process
│ │ │ │ ├── entry.S
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── entry.S
│ │ │ │ │ ├── proc.c
│ │ │ │ │ ├── proc.h
│ │ │ │ │ └── switch.S
│ │ │ │ ├── proc.c
│ │ │ │ ├── proc.h
│ │ │ │ └── switch.S
│ │ │ ├── schedule
│ │ │ │ ├── default_sched.c
│ │ │ │ ├── default_sched.h
│ │ │ │ ├── default_sched_stride_c
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── default_sched.c
│ │ │ │ │ ├── default_sched.h
│ │ │ │ │ ├── default_sched_stride_c
│ │ │ │ │ ├── sched.c
│ │ │ │ │ └── sched.h
│ │ │ │ ├── sched.c
│ │ │ │ └── sched.h
│ │ │ ├── sync
│ │ │ │ ├── check_sync.c
│ │ │ │ ├── monitor.c
│ │ │ │ ├── monitor.h
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── check_sync.c
│ │ │ │ │ ├── monitor.c
│ │ │ │ │ ├── monitor.h
│ │ │ │ │ ├── sem.c
│ │ │ │ │ ├── sem.h
│ │ │ │ │ ├── sync.h
│ │ │ │ │ ├── wait.c
│ │ │ │ │ └── wait.h
│ │ │ │ ├── sem.c
│ │ │ │ ├── sem.h
│ │ │ │ ├── sync.h
│ │ │ │ ├── wait.c
│ │ │ │ └── wait.h
│ │ │ ├── syscall
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── syscall.c
│ │ │ │ │ └── syscall.h
│ │ │ │ ├── syscall.c
│ │ │ │ └── syscall.h
│ │ │ └── trap
│ │ │ ├── PaxHeader
│ │ │ │ ├── trap.c
│ │ │ │ ├── trapentry.S
│ │ │ │ ├── trap.h
│ │ │ │ └── vectors.S
│ │ │ ├── trap.c
│ │ │ ├── trapentry.S
│ │ │ ├── trap.h
│ │ │ └── vectors.S
│ │ ├── libs
│ │ │ ├── atomic.h
│ │ │ ├── defs.h
│ │ │ ├── dirent.h
│ │ │ ├── elf.h
│ │ │ ├── error.h
│ │ │ ├── hash.c
│ │ │ ├── list.h
│ │ │ ├── PaxHeader
│ │ │ │ ├── atomic.h
│ │ │ │ ├── defs.h
│ │ │ │ ├── dirent.h
│ │ │ │ ├── elf.h
│ │ │ │ ├── error.h
│ │ │ │ ├── hash.c
│ │ │ │ ├── list.h
│ │ │ │ ├── printfmt.c
│ │ │ │ ├── rand.c
│ │ │ │ ├── skew_heap.h
│ │ │ │ ├── stat.h
│ │ │ │ ├── stdarg.h
│ │ │ │ ├── stdio.h
│ │ │ │ ├── stdlib.h
│ │ │ │ ├── string.c
│ │ │ │ ├── string.h
│ │ │ │ ├── unistd.h
│ │ │ │ └── x86.h
│ │ │ ├── printfmt.c
│ │ │ ├── rand.c
│ │ │ ├── skew_heap.h
│ │ │ ├── stat.h
│ │ │ ├── stdarg.h
│ │ │ ├── stdio.h
│ │ │ ├── stdlib.h
│ │ │ ├── string.c
│ │ │ ├── string.h
│ │ │ ├── unistd.h
│ │ │ └── x86.h
│ │ ├── Makefile
│ │ ├── obj
│ │ │ ├── boot
│ │ │ │ ├── bootasm.d
│ │ │ │ ├── bootasm.o
│ │ │ │ ├── bootmain.d
│ │ │ │ ├── bootmain.o
│ │ │ │ └── PaxHeader
│ │ │ │ ├── bootasm.d
│ │ │ │ ├── bootasm.o
│ │ │ │ ├── bootmain.d
│ │ │ │ └── bootmain.o
│ │ │ ├── bootblock.asm
│ │ │ ├── bootblock.o
│ │ │ ├── bootblock.out
│ │ │ ├── kern
│ │ │ │ ├── debug
│ │ │ │ │ ├── kdebug.d
│ │ │ │ │ ├── kdebug.o
│ │ │ │ │ ├── kmonitor.d
│ │ │ │ │ ├── kmonitor.o
│ │ │ │ │ ├── panic.d
│ │ │ │ │ ├── panic.o
│ │ │ │ │ └── PaxHeader
│ │ │ │ │ ├── kdebug.d
│ │ │ │ │ ├── kdebug.o
│ │ │ │ │ ├── kmonitor.d
│ │ │ │ │ ├── kmonitor.o
│ │ │ │ │ ├── panic.d
│ │ │ │ │ └── panic.o
│ │ │ │ ├── driver
│ │ │ │ │ ├── clock.d
│ │ │ │ │ ├── clock.o
│ │ │ │ │ ├── console.d
│ │ │ │ │ ├── console.o
│ │ │ │ │ ├── ide.d
│ │ │ │ │ ├── ide.o
│ │ │ │ │ ├── intr.d
│ │ │ │ │ ├── intr.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── clock.d
│ │ │ │ │ │ ├── clock.o
│ │ │ │ │ │ ├── console.d
│ │ │ │ │ │ ├── console.o
│ │ │ │ │ │ ├── ide.d
│ │ │ │ │ │ ├── ide.o
│ │ │ │ │ │ ├── intr.d
│ │ │ │ │ │ ├── intr.o
│ │ │ │ │ │ ├── picirq.d
│ │ │ │ │ │ └── picirq.o
│ │ │ │ │ ├── picirq.d
│ │ │ │ │ └── picirq.o
│ │ │ │ ├── fs
│ │ │ │ │ ├── devs
│ │ │ │ │ │ ├── dev.d
│ │ │ │ │ │ ├── dev_disk0.d
│ │ │ │ │ │ ├── dev_disk0.o
│ │ │ │ │ │ ├── dev.o
│ │ │ │ │ │ ├── dev_stdin.d
│ │ │ │ │ │ ├── dev_stdin.o
│ │ │ │ │ │ ├── dev_stdout.d
│ │ │ │ │ │ ├── dev_stdout.o
│ │ │ │ │ │ └── PaxHeader
│ │ │ │ │ │ ├── dev.d
│ │ │ │ │ │ ├── dev_disk0.d
│ │ │ │ │ │ ├── dev_disk0.o
│ │ │ │ │ │ ├── dev.o
│ │ │ │ │ │ ├── dev_stdin.d
│ │ │ │ │ │ ├── dev_stdin.o
│ │ │ │ │ │ ├── dev_stdout.d
│ │ │ │ │ │ └── dev_stdout.o
│ │ │ │ │ ├── file.d
│ │ │ │ │ ├── file.o
│ │ │ │ │ ├── fs.d
│ │ │ │ │ ├── fs.o
│ │ │ │ │ ├── iobuf.d
│ │ │ │ │ ├── iobuf.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── devs
│ │ │ │ │ │ ├── file.d
│ │ │ │ │ │ ├── file.o
│ │ │ │ │ │ ├── fs.d
│ │ │ │ │ │ ├── fs.o
│ │ │ │ │ │ ├── iobuf.d
│ │ │ │ │ │ ├── iobuf.o
│ │ │ │ │ │ ├── sfs
│ │ │ │ │ │ ├── swap
│ │ │ │ │ │ ├── sysfile.d
│ │ │ │ │ │ ├── sysfile.o
│ │ │ │ │ │ └── vfs
│ │ │ │ │ ├── sfs
│ │ │ │ │ │ ├── bitmap.d
│ │ │ │ │ │ ├── bitmap.o
│ │ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ │ ├── bitmap.d
│ │ │ │ │ │ │ ├── bitmap.o
│ │ │ │ │ │ │ ├── sfs.d
│ │ │ │ │ │ │ ├── sfs_fs.d
│ │ │ │ │ │ │ ├── sfs_fs.o
│ │ │ │ │ │ │ ├── sfs_inode.d
│ │ │ │ │ │ │ ├── sfs_inode.o
│ │ │ │ │ │ │ ├── sfs_io.d
│ │ │ │ │ │ │ ├── sfs_io.o
│ │ │ │ │ │ │ ├── sfs_lock.d
│ │ │ │ │ │ │ ├── sfs_lock.o
│ │ │ │ │ │ │ └── sfs.o
│ │ │ │ │ │ ├── sfs.d
│ │ │ │ │ │ ├── sfs_fs.d
│ │ │ │ │ │ ├── sfs_fs.o
│ │ │ │ │ │ ├── sfs_inode.d
│ │ │ │ │ │ ├── sfs_inode.o
│ │ │ │ │ │ ├── sfs_io.d
│ │ │ │ │ │ ├── sfs_io.o
│ │ │ │ │ │ ├── sfs_lock.d
│ │ │ │ │ │ ├── sfs_lock.o
│ │ │ │ │ │ └── sfs.o
│ │ │ │ │ ├── swap
│ │ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ │ ├── swapfs.d
│ │ │ │ │ │ │ └── swapfs.o
│ │ │ │ │ │ ├── swapfs.d
│ │ │ │ │ │ └── swapfs.o
│ │ │ │ │ ├── sysfile.d
│ │ │ │ │ ├── sysfile.o
│ │ │ │ │ └── vfs
│ │ │ │ │ ├── inode.d
│ │ │ │ │ ├── inode.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── inode.d
│ │ │ │ │ │ ├── inode.o
│ │ │ │ │ │ ├── vfs.d
│ │ │ │ │ │ ├── vfsdev.d
│ │ │ │ │ │ ├── vfsdev.o
│ │ │ │ │ │ ├── vfsfile.d
│ │ │ │ │ │ ├── vfsfile.o
│ │ │ │ │ │ ├── vfslookup.d
│ │ │ │ │ │ ├── vfslookup.o
│ │ │ │ │ │ ├── vfs.o
│ │ │ │ │ │ ├── vfspath.d
│ │ │ │ │ │ └── vfspath.o
│ │ │ │ │ ├── vfs.d
│ │ │ │ │ ├── vfsdev.d
│ │ │ │ │ ├── vfsdev.o
│ │ │ │ │ ├── vfsfile.d
│ │ │ │ │ ├── vfsfile.o
│ │ │ │ │ ├── vfslookup.d
│ │ │ │ │ ├── vfslookup.o
│ │ │ │ │ ├── vfs.o
│ │ │ │ │ ├── vfspath.d
│ │ │ │ │ └── vfspath.o
│ │ │ │ ├── init
│ │ │ │ │ ├── entry.d
│ │ │ │ │ ├── entry.o
│ │ │ │ │ ├── init.d
│ │ │ │ │ ├── init.o
│ │ │ │ │ └── PaxHeader
│ │ │ │ │ ├── entry.d
│ │ │ │ │ ├── entry.o
│ │ │ │ │ ├── init.d
│ │ │ │ │ └── init.o
│ │ │ │ ├── libs
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── readline.d
│ │ │ │ │ │ ├── readline.o
│ │ │ │ │ │ ├── stdio.d
│ │ │ │ │ │ ├── stdio.o
│ │ │ │ │ │ ├── string.d
│ │ │ │ │ │ └── string.o
│ │ │ │ │ ├── readline.d
│ │ │ │ │ ├── readline.o
│ │ │ │ │ ├── stdio.d
│ │ │ │ │ ├── stdio.o
│ │ │ │ │ ├── string.d
│ │ │ │ │ └── string.o
│ │ │ │ ├── mm
│ │ │ │ │ ├── default_pmm.d
│ │ │ │ │ ├── default_pmm.o
│ │ │ │ │ ├── kmalloc.d
│ │ │ │ │ ├── kmalloc.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── default_pmm.d
│ │ │ │ │ │ ├── default_pmm.o
│ │ │ │ │ │ ├── kmalloc.d
│ │ │ │ │ │ ├── kmalloc.o
│ │ │ │ │ │ ├── pmm.d
│ │ │ │ │ │ ├── pmm.o
│ │ │ │ │ │ ├── swap.d
│ │ │ │ │ │ ├── swap_fifo.d
│ │ │ │ │ │ ├── swap_fifo.o
│ │ │ │ │ │ ├── swap.o
│ │ │ │ │ │ ├── vmm.d
│ │ │ │ │ │ └── vmm.o
│ │ │ │ │ ├── pmm.d
│ │ │ │ │ ├── pmm.o
│ │ │ │ │ ├── swap.d
│ │ │ │ │ ├── swap_fifo.d
│ │ │ │ │ ├── swap_fifo.o
│ │ │ │ │ ├── swap.o
│ │ │ │ │ ├── vmm.d
│ │ │ │ │ └── vmm.o
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── debug
│ │ │ │ │ ├── driver
│ │ │ │ │ ├── fs
│ │ │ │ │ ├── init
│ │ │ │ │ ├── libs
│ │ │ │ │ ├── mm
│ │ │ │ │ ├── process
│ │ │ │ │ ├── schedule
│ │ │ │ │ ├── sync
│ │ │ │ │ ├── syscall
│ │ │ │ │ └── trap
│ │ │ │ ├── process
│ │ │ │ │ ├── entry.d
│ │ │ │ │ ├── entry.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── entry.d
│ │ │ │ │ │ ├── entry.o
│ │ │ │ │ │ ├── proc.d
│ │ │ │ │ │ ├── proc.o
│ │ │ │ │ │ ├── switch.d
│ │ │ │ │ │ └── switch.o
│ │ │ │ │ ├── proc.d
│ │ │ │ │ ├── proc.o
│ │ │ │ │ ├── switch.d
│ │ │ │ │ └── switch.o
│ │ │ │ ├── schedule
│ │ │ │ │ ├── default_sched.d
│ │ │ │ │ ├── default_sched.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── default_sched.d
│ │ │ │ │ │ ├── default_sched.o
│ │ │ │ │ │ ├── sched.d
│ │ │ │ │ │ └── sched.o
│ │ │ │ │ ├── sched.d
│ │ │ │ │ └── sched.o
│ │ │ │ ├── sync
│ │ │ │ │ ├── check_sync.d
│ │ │ │ │ ├── check_sync.o
│ │ │ │ │ ├── monitor.d
│ │ │ │ │ ├── monitor.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── check_sync.d
│ │ │ │ │ │ ├── check_sync.o
│ │ │ │ │ │ ├── monitor.d
│ │ │ │ │ │ ├── monitor.o
│ │ │ │ │ │ ├── sem.d
│ │ │ │ │ │ ├── sem.o
│ │ │ │ │ │ ├── wait.d
│ │ │ │ │ │ └── wait.o
│ │ │ │ │ ├── sem.d
│ │ │ │ │ ├── sem.o
│ │ │ │ │ ├── wait.d
│ │ │ │ │ └── wait.o
│ │ │ │ ├── syscall
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── syscall.d
│ │ │ │ │ │ └── syscall.o
│ │ │ │ │ ├── syscall.d
│ │ │ │ │ └── syscall.o
│ │ │ │ └── trap
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── trap.d
│ │ │ │ │ ├── trapentry.d
│ │ │ │ │ ├── trapentry.o
│ │ │ │ │ ├── trap.o
│ │ │ │ │ ├── vectors.d
│ │ │ │ │ └── vectors.o
│ │ │ │ ├── trap.d
│ │ │ │ ├── trapentry.d
│ │ │ │ ├── trapentry.o
│ │ │ │ ├── trap.o
│ │ │ │ ├── vectors.d
│ │ │ │ └── vectors.o
│ │ │ ├── kernel.asm
│ │ │ ├── kernel.sym
│ │ │ ├── libs
│ │ │ │ ├── hash.d
│ │ │ │ ├── hash.o
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── hash.d
│ │ │ │ │ ├── hash.o
│ │ │ │ │ ├── printfmt.d
│ │ │ │ │ ├── printfmt.o
│ │ │ │ │ ├── rand.d
│ │ │ │ │ ├── rand.o
│ │ │ │ │ ├── string.d
│ │ │ │ │ └── string.o
│ │ │ │ ├── printfmt.d
│ │ │ │ ├── printfmt.o
│ │ │ │ ├── rand.d
│ │ │ │ ├── rand.o
│ │ │ │ ├── string.d
│ │ │ │ └── string.o
│ │ │ ├── mksfs
│ │ │ │ ├── PaxHeader
│ │ │ │ │ └── tools
│ │ │ │ └── tools
│ │ │ │ ├── mksfs.d
│ │ │ │ ├── mksfs.o
│ │ │ │ └── PaxHeader
│ │ │ │ ├── mksfs.d
│ │ │ │ └── mksfs.o
│ │ │ ├── PaxHeader
│ │ │ │ ├── boot
│ │ │ │ ├── bootblock.asm
│ │ │ │ ├── bootblock.o
│ │ │ │ ├── bootblock.out
│ │ │ │ ├── kern
│ │ │ │ ├── kernel.asm
│ │ │ │ ├── kernel.sym
│ │ │ │ ├── libs
│ │ │ │ ├── mksfs
│ │ │ │ ├── sign
│ │ │ │ ├── user
│ │ │ │ ├── __user_badarg.out
│ │ │ │ ├── __user_badsegment.out
│ │ │ │ ├── __user_divzero.out
│ │ │ │ ├── __user_exit.out
│ │ │ │ ├── __user_faultreadkernel.out
│ │ │ │ ├── __user_faultread.out
│ │ │ │ ├── __user_forktest.out
│ │ │ │ ├── __user_forktree.out
│ │ │ │ ├── __user_hello.out
│ │ │ │ ├── __user_ls.out
│ │ │ │ ├── __user_matrix.out
│ │ │ │ ├── __user_pgdir.out
│ │ │ │ ├── __user_priority.out
│ │ │ │ ├── __user_sh.out
│ │ │ │ ├── __user_sleepkill.out
│ │ │ │ ├── __user_sleep.out
│ │ │ │ ├── __user_softint.out
│ │ │ │ ├── __user_spin.out
│ │ │ │ ├── __user_testbss.out
│ │ │ │ ├── __user_waitkill.out
│ │ │ │ └── __user_yield.out
│ │ │ ├── sign
│ │ │ │ ├── PaxHeader
│ │ │ │ │ └── tools
│ │ │ │ └── tools
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── sign.d
│ │ │ │ │ └── sign.o
│ │ │ │ ├── sign.d
│ │ │ │ └── sign.o
│ │ │ ├── user
│ │ │ │ ├── badarg.asm
│ │ │ │ ├── badarg.d
│ │ │ │ ├── badarg.o
│ │ │ │ ├── badarg.sym
│ │ │ │ ├── badsegment.asm
│ │ │ │ ├── badsegment.d
│ │ │ │ ├── badsegment.o
│ │ │ │ ├── badsegment.sym
│ │ │ │ ├── divzero.asm
│ │ │ │ ├── divzero.d
│ │ │ │ ├── divzero.o
│ │ │ │ ├── divzero.sym
│ │ │ │ ├── exit.asm
│ │ │ │ ├── exit.d
│ │ │ │ ├── exit.o
│ │ │ │ ├── exit.sym
│ │ │ │ ├── faultread.asm
│ │ │ │ ├── faultread.d
│ │ │ │ ├── faultreadkernel.asm
│ │ │ │ ├── faultreadkernel.d
│ │ │ │ ├── faultreadkernel.o
│ │ │ │ ├── faultreadkernel.sym
│ │ │ │ ├── faultread.o
│ │ │ │ ├── faultread.sym
│ │ │ │ ├── forktest.asm
│ │ │ │ ├── forktest.d
│ │ │ │ ├── forktest.o
│ │ │ │ ├── forktest.sym
│ │ │ │ ├── forktree.asm
│ │ │ │ ├── forktree.d
│ │ │ │ ├── forktree.o
│ │ │ │ ├── forktree.sym
│ │ │ │ ├── hello.asm
│ │ │ │ ├── hello.d
│ │ │ │ ├── hello.o
│ │ │ │ ├── hello.sym
│ │ │ │ ├── libs
│ │ │ │ │ ├── dir.d
│ │ │ │ │ ├── dir.o
│ │ │ │ │ ├── file.d
│ │ │ │ │ ├── file.o
│ │ │ │ │ ├── initcode.d
│ │ │ │ │ ├── initcode.o
│ │ │ │ │ ├── panic.d
│ │ │ │ │ ├── panic.o
│ │ │ │ │ ├── PaxHeader
│ │ │ │ │ │ ├── dir.d
│ │ │ │ │ │ ├── dir.o
│ │ │ │ │ │ ├── file.d
│ │ │ │ │ │ ├── file.o
│ │ │ │ │ │ ├── initcode.d
│ │ │ │ │ │ ├── initcode.o
│ │ │ │ │ │ ├── panic.d
│ │ │ │ │ │ ├── panic.o
│ │ │ │ │ │ ├── stdio.d
│ │ │ │ │ │ ├── stdio.o
│ │ │ │ │ │ ├── syscall.d
│ │ │ │ │ │ ├── syscall.o
│ │ │ │ │ │ ├── ulib.d
│ │ │ │ │ │ ├── ulib.o
│ │ │ │ │ │ ├── umain.d
│ │ │ │ │ │ └── umain.o
│ │ │ │ │ ├── stdio.d
│ │ │ │ │ ├── stdio.o
│ │ │ │ │ ├── syscall.d
│ │ │ │ │ ├── syscall.o
│ │ │ │ │ ├── ulib.d
│ │ │ │ │ ├── ulib.o
│ │ │ │ │ ├── umain.d
│ │ │ │ │ └── umain.o
│ │ │ │ ├── ls.asm
│ │ │ │ ├── ls.d
│ │ │ │ ├── ls.o
│ │ │ │ ├── ls.sym
│ │ │ │ ├── matrix.asm
│ │ │ │ ├── matrix.d
│ │ │ │ ├── matrix.o
│ │ │ │ ├── matrix.sym
│ │ │ │ ├── PaxHeader
│ │ │ │ │ ├── badarg.asm
│ │ │ │ │ ├── badarg.d
│ │ │ │ │ ├── badarg.o
│ │ │ │ │ ├── badarg.sym
│ │ │ │ │ ├── badsegment.asm
│ │ │ │ │ ├── badsegment.d
│ │ │ │ │ ├── badsegment.o
│ │ │ │ │ ├── badsegment.sym
│ │ │ │ │ ├── divzero.asm
│ │ │ │ │ ├── divzero.d
│ │ │ │ │ ├── divzero.o
│ │ │ │ │ ├── divzero.sym
│ │ │ │ │ ├── exit.asm
│ │ │ │ │ ├── exit.d
│ │ │ │ │ ├── exit.o
│ │ │ │ │ ├── exit.sym
│ │ │ │ │ ├── faultread.asm
│ │ │ │ │ ├── faultread.d
│ │ │ │ │ ├── faultreadkernel.asm
│ │ │ │ │ ├── faultreadkernel.d
│ │ │ │ │ ├── faultreadkernel.o
│ │ │ │ │ ├── faultreadkernel.sym
│ │ │ │ │ ├── faultread.o
│ │ │ │ │ ├── faultread.sym
│ │ │ │ │ ├── forktest.asm
│ │ │ │ │ ├── forktest.d
│ │ │ │ │ ├── forktest.o
│ │ │ │ │ ├── forktest.sym
│ │ │ │ │ ├── forktree.asm
│ │ │ │ │ ├── forktree.d
│ │ │ │ │ ├── forktree.o
│ │ │ │ │ ├── forktree.sym
│ │ │ │ │ ├── hello.asm
│ │ │ │ │ ├── hello.d
│ │ │ │ │ ├── hello.o
│ │ │ │ │ ├── hello.sym
│ │ │ │ │ ├── libs
│ │ │ │ │ ├── ls.asm
│ │ │ │ │ ├── ls.d
│ │ │ │ │ ├── ls.o
│ │ │ │ │ ├── ls.sym
│ │ │ │ │ ├── matrix.asm
│ │ │ │ │ ├── matrix.d
│ │ │ │ │ ├── matrix.o
│ │ │ │ │ ├── matrix.sym
│ │ │ │ │ ├── pgdir.asm
│ │ │ │ │ ├── pgdir.d
│ │ │ │ │ ├── pgdir.o
│ │ │ │ │ ├── pgdir.sym
│ │ │ │ │ ├── priority.asm
│ │ │ │ │ ├── priority.d
│ │ │ │ │ ├── priority.o
│ │ │ │ │ ├── priority.sym
│ │ │ │ │ ├── sh.asm
│ │ │ │ │ ├── sh.d
│ │ │ │ │ ├── sh.o
│ │ │ │ │ ├── sh.sym
│ │ │ │ │ ├── sleep.asm
│ │ │ │ │ ├── sleep.d
│ │ │ │ │ ├── sleepkill.asm
│ │ │ │ │ ├── sleepkill.d
│ │ │ │ │ ├── sleepkill.o
│ │ │ │ │ ├── sleepkill.sym
│ │ │ │ │ ├── sleep.o
│ │ │ │ │ ├── sleep.sym
│ │ │ │ │ ├── softint.asm
│ │ │ │ │ ├── softint.d
│ │ │ │ │ ├── softint.o
│ │ │ │ │ ├── softint.sym
│ │ │ │ │ ├── spin.asm
│ │ │ │ │ ├── spin.d
│ │ │ │ │ ├── spin.o
│ │ │ │ │ ├── spin.sym
│ │ │ │ │ ├── testbss.asm
│ │ │ │ │ ├── testbss.d
│ │ │ │ │ ├── testbss.o
│ │ │ │ │ ├── testbss.sym
│ │ │ │ │ ├── waitkill.asm
│ │ │ │ │ ├── waitkill.d
│ │ │ │ │ ├── waitkill.o
│ │ │ │ │ ├── waitkill.sym
│ │ │ │ │ ├── yield.asm
│ │ │ │ │ ├── yield.d
│ │ │ │ │ ├── yield.o
│ │ │ │ │ └── yield.sym
│ │ │ │ ├── pgdir.asm
│ │ │ │ ├── pgdir.d
│ │ │ │ ├── pgdir.o
│ │ │ │ ├── pgdir.sym
│ │ │ │ ├── priority.asm
│ │ │ │ ├── priority.d
│ │ │ │ ├── priority.o
│ │ │ │ ├── priority.sym
│ │ │ │ ├── sh.asm
│ │ │ │ ├── sh.d
│ │ │ │ ├── sh.o
│ │ │ │ ├── sh.sym
│ │ │ │ ├── sleep.asm
│ │ │ │ ├── sleep.d
│ │ │ │ ├── sleepkill.asm
│ │ │ │ ├── sleepkill.d
│ │ │ │ ├── sleepkill.o
│ │ │ │ ├── sleepkill.sym
│ │ │ │ ├── sleep.o
│ │ │ │ ├── sleep.sym
│ │ │ │ ├── softint.asm
│ │ │ │ ├── softint.d
│ │ │ │ ├── softint.o
│ │ │ │ ├── softint.sym
│ │ │ │ ├── spin.asm
│ │ │ │ ├── spin.d
│ │ │ │ ├── spin.o
│ │ │ │ ├── spin.sym
│ │ │ │ ├── testbss.asm
│ │ │ │ ├── testbss.d
│ │ │ │ ├── testbss.o
│ │ │ │ ├── testbss.sym
│ │ │ │ ├── waitkill.asm
│ │ │ │ ├── waitkill.d
│ │ │ │ ├── waitkill.o
│ │ │ │ ├── waitkill.sym
│ │ │ │ ├── yield.asm
│ │ │ │ ├── yield.d
│ │ │ │ ├── yield.o
│ │ │ │ └── yield.sym
│ │ │ ├── __user_badarg.out
│ │ │ ├── __user_badsegment.out
│ │ │ ├── __user_divzero.out
│ │ │ ├── __user_exit.out
│ │ │ ├── __user_faultreadkernel.out
│ │ │ ├── __user_faultread.out
│ │ │ ├── __user_forktest.out
│ │ │ ├── __user_forktree.out
│ │ │ ├── __user_hello.out
│ │ │ ├── __user_ls.out
│ │ │ ├── __user_matrix.out
│ │ │ ├── __user_pgdir.out
│ │ │ ├── __user_priority.out
│ │ │ ├── __user_sh.out
│ │ │ ├── __user_sleepkill.out
│ │ │ ├── __user_sleep.out
│ │ │ ├── __user_softint.out
│ │ │ ├── __user_spin.out
│ │ │ ├── __user_testbss.out
│ │ │ ├── __user_waitkill.out
│ │ │ └── __user_yield.out
│ │ ├── PaxHeader
│ │ │ ├── bin
│ │ │ ├── boot
│ │ │ ├── disk0
│ │ │ ├── kern
│ │ │ ├── libs
│ │ │ ├── Makefile
│ │ │ ├── obj
│ │ │ ├── tools
│ │ │ └── user
│ │ ├── tools
│ │ │ ├── boot.ld
│ │ │ ├── function.mk
│ │ │ ├── gdbinit
│ │ │ ├── grade.sh
│ │ │ ├── kernel.ld
│ │ │ ├── mksfs.c
│ │ │ ├── PaxHeader
│ │ │ │ ├── boot.ld
│ │ │ │ ├── function.mk
│ │ │ │ ├── gdbinit
│ │ │ │ ├── grade.sh
│ │ │ │ ├── kernel.ld
│ │ │ │ ├── mksfs.c
│ │ │ │ ├── sign.c
│ │ │ │ ├── user.ld
│ │ │ │ └── vector.c
│ │ │ ├── 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
│ │ │ ├── dir.c
│ │ │ ├── dir.h
│ │ │ ├── file.c
│ │ │ ├── file.h
│ │ │ ├── initcode.S
│ │ │ ├── lock.h
│ │ │ ├── panic.c
│ │ │ ├── PaxHeader
│ │ │ │ ├── dir.c
│ │ │ │ ├── dir.h
│ │ │ │ ├── file.c
│ │ │ │ ├── file.h
│ │ │ │ ├── initcode.S
│ │ │ │ ├── lock.h
│ │ │ │ ├── panic.c
│ │ │ │ ├── stdio.c
│ │ │ │ ├── syscall.c
│ │ │ │ ├── syscall.h
│ │ │ │ ├── ulib.c
│ │ │ │ ├── ulib.h
│ │ │ │ └── umain.c
│ │ │ ├── stdio.c
│ │ │ ├── syscall.c
│ │ │ ├── syscall.h
│ │ │ ├── ulib.c
│ │ │ ├── ulib.h
│ │ │ └── umain.c
│ │ ├── ls.c
│ │ ├── matrix.c
│ │ ├── PaxHeader
│ │ │ ├── badarg.c
│ │ │ ├── badsegment.c
│ │ │ ├── divzero.c
│ │ │ ├── exit.c
│ │ │ ├── faultread.c
│ │ │ ├── faultreadkernel.c
│ │ │ ├── forktest.c
│ │ │ ├── forktree.c
│ │ │ ├── hello.c
│ │ │ ├── libs
│ │ │ ├── ls.c
│ │ │ ├── matrix.c
│ │ │ ├── pgdir.c
│ │ │ ├── priority.c
│ │ │ ├── sh.c
│ │ │ ├── sleep.c
│ │ │ ├── sleepkill.c
│ │ │ ├── softint.c
│ │ │ ├── spin.c
│ │ │ ├── testbss.c
│ │ │ ├── waitkill.c
│ │ │ └── yield.c
│ │ ├── pgdir.c
│ │ ├── priority.c
│ │ ├── sh.c
│ │ ├── sleep.c
│ │ ├── sleepkill.c
│ │ ├── softint.c
│ │ ├── spin.c
│ │ ├── testbss.c
│ │ ├── waitkill.c
│ │ └── yield.c
│ ├── lab8.pdf
│ ├── lab8瀹為獙鎶ュ憡.md
│ └── PaxHeader
│ ├── 1.jpg
│ ├── 2.png
│ ├── lab8
│ ├── lab8.pdf
│ └── lab8瀹為獙鎶ュ憡.md
└── PaxHeader
├── 1
├── 2
├── 3
├── 4
├── 5
├── 6
├── 7
└── 8
449 directories, 3432 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论