在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → ucore lab实验总结(代码+报告)

ucore lab实验总结(代码+报告)

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:12.65M
  • 下载次数:7
  • 浏览次数:83
  • 发布时间:2020-10-01
  • 实例类别:一般编程问题
  • 发 布 人:robot666
  • 文件格式:.gz
  • 所需积分:2
 

实例介绍

【实例简介】
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

标签:

实例下载地址

ucore lab实验总结(代码+报告)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警