From 15f7ebf37bff6ff04be4a8e5a055011cd0fd01be Mon Sep 17 00:00:00 2001
From: chyyuu <chyyuu@gmail.com>
Date: Wed, 22 Aug 2012 12:32:13 +0800
Subject: [PATCH] initial version

---
 LICENSE                                        |  388 ++++++
 code/lab1/Makefile                             |  250 ++++
 code/lab1/boot/asm.h                           |   26 +
 code/lab1/boot/bootasm.S                       |   89 ++
 code/lab1/boot/bootmain.c                      |  116 ++
 code/lab1/kern/debug/assert.h                  |   27 +
 code/lab1/kern/debug/kdebug.c                  |  306 +++++
 code/lab1/kern/debug/kdebug.h                  |   11 +
 code/lab1/kern/debug/monitor.c                 |  128 ++
 code/lab1/kern/debug/monitor.h                 |   13 +
 code/lab1/kern/debug/panic.c                   |   49 +
 code/lab1/kern/debug/stab.h                    |   54 +
 code/lab1/kern/driver/clock.c                  |   45 +
 code/lab1/kern/driver/clock.h                  |   11 +
 code/lab1/kern/driver/console.c                |  455 +++++++
 code/lab1/kern/driver/console.h                |   11 +
 code/lab1/kern/driver/intr.c                   |   15 +
 code/lab1/kern/driver/intr.h                   |    8 +
 code/lab1/kern/driver/kbdreg.h                 |   84 ++
 code/lab1/kern/driver/picirq.c                 |   86 ++
 code/lab1/kern/driver/picirq.h                 |   10 +
 code/lab1/kern/init/init.c                     |  104 ++
 code/lab1/kern/libs/readline.c                 |   50 +
 code/lab1/kern/libs/stdio.c                    |   78 ++
 code/lab1/kern/mm/memlayout.h                  |   29 +
 code/lab1/kern/mm/mmu.h                        |  174 +++
 code/lab1/kern/mm/pmm.c                        |   99 ++
 code/lab1/kern/mm/pmm.h                        |    7 +
 code/lab1/kern/trap/trap.c                     |  187 +++
 code/lab1/kern/trap/trap.h                     |   91 ++
 code/lab1/kern/trap/trapentry.S                |   44 +
 code/lab1/kern/trap/vectors.S                  | 1536 ++++++++++++++++++++++++
 code/lab1/libs/defs.h                          |   68 ++
 code/lab1/libs/elf.h                           |   40 +
 code/lab1/libs/error.h                         |   16 +
 code/lab1/libs/printfmt.c                      |  340 ++++++
 code/lab1/libs/stdarg.h                        |   12 +
 code/lab1/libs/stdio.h                         |   24 +
 code/lab1/libs/string.c                        |  367 ++++++
 code/lab1/libs/string.h                        |   25 +
 code/lab1/libs/x86.h                           |  191 +++
 code/lab1/tools/function.mk                    |   95 ++
 code/lab1/tools/gdbinit                        |    4 +
 code/lab1/tools/grade.sh                       |  348 ++++++
 code/lab1/tools/kernel.ld                      |   58 +
 code/lab1/tools/sign.c                         |   43 +
 code/lab1/tools/vector.c                       |   28 +
 code/lab2/Makefile                             |  261 ++++
 code/lab2/boot/asm.h                           |   26 +
 code/lab2/boot/bootasm.S                       |  107 ++
 code/lab2/boot/bootmain.c                      |  116 ++
 code/lab2/kern/debug/assert.h                  |   27 +
 code/lab2/kern/debug/kdebug.c                  |  309 +++++
 code/lab2/kern/debug/kdebug.h                  |   12 +
 code/lab2/kern/debug/monitor.c                 |  132 ++
 code/lab2/kern/debug/monitor.h                 |   19 +
 code/lab2/kern/debug/panic.c                   |   49 +
 code/lab2/kern/debug/stab.h                    |   54 +
 code/lab2/kern/driver/clock.c                  |   45 +
 code/lab2/kern/driver/clock.h                  |   11 +
 code/lab2/kern/driver/console.c                |  465 +++++++
 code/lab2/kern/driver/console.h                |   11 +
 code/lab2/kern/driver/intr.c                   |   15 +
 code/lab2/kern/driver/intr.h                   |    8 +
 code/lab2/kern/driver/kbdreg.h                 |   84 ++
 code/lab2/kern/driver/picirq.c                 |   86 ++
 code/lab2/kern/driver/picirq.h                 |   10 +
 code/lab2/kern/init/entry.S                    |   49 +
 code/lab2/kern/init/init.c                     |  104 ++
 code/lab2/kern/libs/readline.c                 |   50 +
 code/lab2/kern/libs/stdio.c                    |   78 ++
 code/lab2/kern/mm/default_pmm.c                |  272 +++++
 code/lab2/kern/mm/default_pmm.h                |    9 +
 code/lab2/kern/mm/memlayout.h                  |  130 ++
 code/lab2/kern/mm/mmu.h                        |  272 +++++
 code/lab2/kern/mm/pmm.c                        |  627 ++++++++++
 code/lab2/kern/mm/pmm.h                        |  141 +++
 code/lab2/kern/sync/sync.h                     |   28 +
 code/lab2/kern/trap/trap.c                     |  187 +++
 code/lab2/kern/trap/trap.h                     |   91 ++
 code/lab2/kern/trap/trapentry.S                |   44 +
 code/lab2/kern/trap/vectors.S                  | 1536 ++++++++++++++++++++++++
 code/lab2/libs/atomic.h                        |  251 ++++
 code/lab2/libs/defs.h                          |   68 ++
 code/lab2/libs/elf.h                           |   40 +
 code/lab2/libs/error.h                         |   16 +
 code/lab2/libs/list.h                          |  163 +++
 code/lab2/libs/printfmt.c                      |  340 ++++++
 code/lab2/libs/stdarg.h                        |   12 +
 code/lab2/libs/stdio.h                         |   24 +
 code/lab2/libs/string.c                        |  367 ++++++
 code/lab2/libs/string.h                        |   25 +
 code/lab2/libs/x86.h                           |  302 +++++
 code/lab2/tools/boot.ld                        |   15 +
 code/lab2/tools/function.mk                    |   95 ++
 code/lab2/tools/gdbinit                        |    3 +
 code/lab2/tools/grade.sh                       |  340 ++++++
 code/lab2/tools/kernel.ld                      |   58 +
 code/lab2/tools/sign.c                         |   43 +
 code/lab2/tools/vector.c                       |   29 +
 code/lab3/Makefile                             |  271 +++++
 code/lab3/boot/asm.h                           |   26 +
 code/lab3/boot/bootasm.S                       |  107 ++
 code/lab3/boot/bootmain.c                      |  116 ++
 code/lab3/kern/debug/assert.h                  |   27 +
 code/lab3/kern/debug/kdebug.c                  |  309 +++++
 code/lab3/kern/debug/kdebug.h                  |   12 +
 code/lab3/kern/debug/monitor.c                 |  132 ++
 code/lab3/kern/debug/monitor.h                 |   19 +
 code/lab3/kern/debug/panic.c                   |   49 +
 code/lab3/kern/debug/stab.h                    |   54 +
 code/lab3/kern/driver/clock.c                  |   45 +
 code/lab3/kern/driver/clock.h                  |   11 +
 code/lab3/kern/driver/console.c                |  465 +++++++
 code/lab3/kern/driver/console.h                |   11 +
 code/lab3/kern/driver/ide.c                    |  214 ++++
 code/lab3/kern/driver/ide.h                    |   14 +
 code/lab3/kern/driver/intr.c                   |   15 +
 code/lab3/kern/driver/intr.h                   |    8 +
 code/lab3/kern/driver/kbdreg.h                 |   84 ++
 code/lab3/kern/driver/picirq.c                 |   86 ++
 code/lab3/kern/driver/picirq.h                 |   10 +
 code/lab3/kern/fs/fs.h                         |   12 +
 code/lab3/kern/fs/swapfs.c                     |   27 +
 code/lab3/kern/fs/swapfs.h                     |   12 +
 code/lab3/kern/init/entry.S                    |   49 +
 code/lab3/kern/init/init.c                     |  112 ++
 code/lab3/kern/libs/readline.c                 |   50 +
 code/lab3/kern/libs/stdio.c                    |   78 ++
 code/lab3/kern/mm/default_pmm.c                |  272 +++++
 code/lab3/kern/mm/default_pmm.h                |    9 +
 code/lab3/kern/mm/memlayout.h                  |  133 ++
 code/lab3/kern/mm/mmu.h                        |  272 +++++
 code/lab3/kern/mm/pmm.c                        |  684 +++++++++++
 code/lab3/kern/mm/pmm.h                        |  144 +++
 code/lab3/kern/mm/swap.c                       |  279 +++++
 code/lab3/kern/mm/swap.h                       |   65 +
 code/lab3/kern/mm/swap_fifo.c                  |  136 +++
 code/lab3/kern/mm/swap_fifo.h                  |    7 +
 code/lab3/kern/mm/vmm.c                        |  389 ++++++
 code/lab3/kern/mm/vmm.h                        |   51 +
 code/lab3/kern/sync/sync.h                     |   28 +
 code/lab3/kern/trap/trap.c                     |  226 ++++
 code/lab3/kern/trap/trap.h                     |   91 ++
 code/lab3/kern/trap/trapentry.S                |   44 +
 code/lab3/kern/trap/vectors.S                  | 1536 ++++++++++++++++++++++++
 code/lab3/libs/atomic.h                        |  251 ++++
 code/lab3/libs/defs.h                          |   68 ++
 code/lab3/libs/elf.h                           |   40 +
 code/lab3/libs/error.h                         |   16 +
 code/lab3/libs/list.h                          |  163 +++
 code/lab3/libs/printfmt.c                      |  340 ++++++
 code/lab3/libs/rand.c                          |   26 +
 code/lab3/libs/stdarg.h                        |   12 +
 code/lab3/libs/stdio.h                         |   24 +
 code/lab3/libs/stdlib.h                        |   12 +
 code/lab3/libs/string.c                        |  367 ++++++
 code/lab3/libs/string.h                        |   25 +
 code/lab3/libs/x86.h                           |  302 +++++
 code/lab3/tools/boot.ld                        |   15 +
 code/lab3/tools/function.mk                    |   95 ++
 code/lab3/tools/gdbinit                        |    3 +
 code/lab3/tools/grade.sh                       |  364 ++++++
 code/lab3/tools/kernel.ld                      |   58 +
 code/lab3/tools/sign.c                         |   43 +
 code/lab3/tools/vector.c                       |   29 +
 code/lab4/Makefile                             |  275 +++++
 code/lab4/boot/asm.h                           |   26 +
 code/lab4/boot/bootasm.S                       |  107 ++
 code/lab4/boot/bootmain.c                      |  116 ++
 code/lab4/kern/debug/assert.h                  |   27 +
 code/lab4/kern/debug/kdebug.c                  |  309 +++++
 code/lab4/kern/debug/kdebug.h                  |   12 +
 code/lab4/kern/debug/monitor.c                 |  132 ++
 code/lab4/kern/debug/monitor.h                 |   19 +
 code/lab4/kern/debug/panic.c                   |   49 +
 code/lab4/kern/debug/stab.h                    |   54 +
 code/lab4/kern/driver/clock.c                  |   45 +
 code/lab4/kern/driver/clock.h                  |   11 +
 code/lab4/kern/driver/console.c                |  465 +++++++
 code/lab4/kern/driver/console.h                |   11 +
 code/lab4/kern/driver/ide.c                    |  214 ++++
 code/lab4/kern/driver/ide.h                    |   14 +
 code/lab4/kern/driver/intr.c                   |   15 +
 code/lab4/kern/driver/intr.h                   |    8 +
 code/lab4/kern/driver/kbdreg.h                 |   84 ++
 code/lab4/kern/driver/picirq.c                 |   86 ++
 code/lab4/kern/driver/picirq.h                 |   10 +
 code/lab4/kern/fs/fs.h                         |   12 +
 code/lab4/kern/fs/swapfs.c                     |   27 +
 code/lab4/kern/fs/swapfs.h                     |   12 +
 code/lab4/kern/init/entry.S                    |   49 +
 code/lab4/kern/init/init.c                     |  113 ++
 code/lab4/kern/libs/rb_tree.c                  |  528 ++++++++
 code/lab4/kern/libs/rb_tree.h                  |   32 +
 code/lab4/kern/libs/readline.c                 |   50 +
 code/lab4/kern/libs/stdio.c                    |   78 ++
 code/lab4/kern/mm/default_pmm.c                |  272 +++++
 code/lab4/kern/mm/default_pmm.h                |    9 +
 code/lab4/kern/mm/kmalloc.c                    |  635 ++++++++++
 code/lab4/kern/mm/kmalloc.h                    |   14 +
 code/lab4/kern/mm/memlayout.h                  |  140 +++
 code/lab4/kern/mm/mmu.h                        |  272 +++++
 code/lab4/kern/mm/pmm.c                        |  665 ++++++++++
 code/lab4/kern/mm/pmm.h                        |  146 +++
 code/lab4/kern/mm/swap.c                       |  279 +++++
 code/lab4/kern/mm/swap.h                       |   65 +
 code/lab4/kern/mm/swap_fifo.c                  |  136 +++
 code/lab4/kern/mm/swap_fifo.h                  |    7 +
 code/lab4/kern/mm/vmm.c                        |  390 ++++++
 code/lab4/kern/mm/vmm.h                        |   51 +
 code/lab4/kern/process/entry.S                 |   10 +
 code/lab4/kern/process/proc.c                  |  372 ++++++
 code/lab4/kern/process/proc.h                  |   77 ++
 code/lab4/kern/process/switch.S                |   30 +
 code/lab4/kern/schedule/sched.c                |   41 +
 code/lab4/kern/schedule/sched.h                |   10 +
 code/lab4/kern/sync/sync.h                     |   28 +
 code/lab4/kern/trap/trap.c                     |  226 ++++
 code/lab4/kern/trap/trap.h                     |   91 ++
 code/lab4/kern/trap/trapentry.S                |   49 +
 code/lab4/kern/trap/vectors.S                  | 1536 ++++++++++++++++++++++++
 code/lab4/libs/atomic.h                        |  251 ++++
 code/lab4/libs/defs.h                          |   68 ++
 code/lab4/libs/elf.h                           |   40 +
 code/lab4/libs/error.h                         |   16 +
 code/lab4/libs/hash.c                          |   18 +
 code/lab4/libs/list.h                          |  163 +++
 code/lab4/libs/printfmt.c                      |  340 ++++++
 code/lab4/libs/rand.c                          |   26 +
 code/lab4/libs/stdarg.h                        |   12 +
 code/lab4/libs/stdio.h                         |   24 +
 code/lab4/libs/stdlib.h                        |   17 +
 code/lab4/libs/string.c                        |  367 ++++++
 code/lab4/libs/string.h                        |   25 +
 code/lab4/libs/x86.h                           |  302 +++++
 code/lab4/tools/boot.ld                        |   15 +
 code/lab4/tools/function.mk                    |   95 ++
 code/lab4/tools/gdbinit                        |    3 +
 code/lab4/tools/grade.sh                       |  351 ++++++
 code/lab4/tools/kernel.ld                      |   58 +
 code/lab4/tools/sign.c                         |   43 +
 code/lab4/tools/vector.c                       |   29 +
 code/lab5/Makefile                             |  323 +++++
 code/lab5/boot/asm.h                           |   26 +
 code/lab5/boot/bootasm.S                       |  107 ++
 code/lab5/boot/bootmain.c                      |  116 ++
 code/lab5/kern/debug/assert.h                  |   27 +
 code/lab5/kern/debug/kdebug.c                  |  351 ++++++
 code/lab5/kern/debug/kdebug.h                  |   12 +
 code/lab5/kern/debug/monitor.c                 |  132 ++
 code/lab5/kern/debug/monitor.h                 |   19 +
 code/lab5/kern/debug/panic.c                   |   49 +
 code/lab5/kern/debug/stab.h                    |   54 +
 code/lab5/kern/driver/clock.c                  |   45 +
 code/lab5/kern/driver/clock.h                  |   11 +
 code/lab5/kern/driver/console.c                |  465 +++++++
 code/lab5/kern/driver/console.h                |   11 +
 code/lab5/kern/driver/ide.c                    |  214 ++++
 code/lab5/kern/driver/ide.h                    |   14 +
 code/lab5/kern/driver/intr.c                   |   15 +
 code/lab5/kern/driver/intr.h                   |    8 +
 code/lab5/kern/driver/kbdreg.h                 |   84 ++
 code/lab5/kern/driver/picirq.c                 |   86 ++
 code/lab5/kern/driver/picirq.h                 |   10 +
 code/lab5/kern/fs/fs.h                         |   12 +
 code/lab5/kern/fs/swapfs.c                     |   27 +
 code/lab5/kern/fs/swapfs.h                     |   12 +
 code/lab5/kern/init/entry.S                    |   49 +
 code/lab5/kern/init/init.c                     |  113 ++
 code/lab5/kern/libs/rb_tree.c                  |  528 ++++++++
 code/lab5/kern/libs/rb_tree.h                  |   32 +
 code/lab5/kern/libs/readline.c                 |   50 +
 code/lab5/kern/libs/stdio.c                    |   78 ++
 code/lab5/kern/mm/default_pmm.c                |  272 +++++
 code/lab5/kern/mm/default_pmm.h                |    9 +
 code/lab5/kern/mm/kmalloc.c                    |  640 ++++++++++
 code/lab5/kern/mm/kmalloc.h                    |   16 +
 code/lab5/kern/mm/memlayout.h                  |  169 +++
 code/lab5/kern/mm/mmu.h                        |  272 +++++
 code/lab5/kern/mm/pmm.c                        |  759 ++++++++++++
 code/lab5/kern/mm/pmm.h                        |  145 +++
 code/lab5/kern/mm/swap.c                       |  284 +++++
 code/lab5/kern/mm/swap.h                       |   65 +
 code/lab5/kern/mm/swap_fifo.c                  |  136 +++
 code/lab5/kern/mm/swap_fifo.h                  |    7 +
 code/lab5/kern/mm/vmm.c                        |  508 ++++++++
 code/lab5/kern/mm/vmm.h                        |  100 ++
 code/lab5/kern/process/entry.S                 |   10 +
 code/lab5/kern/process/proc.c                  |  841 +++++++++++++
 code/lab5/kern/process/proc.h                  |   89 ++
 code/lab5/kern/process/switch.S                |   30 +
 code/lab5/kern/schedule/sched.c                |   52 +
 code/lab5/kern/schedule/sched.h                |   10 +
 code/lab5/kern/sync/sync.h                     |   57 +
 code/lab5/kern/syscall/syscall.c               |  101 ++
 code/lab5/kern/syscall/syscall.h               |    7 +
 code/lab5/kern/trap/trap.c                     |  289 +++++
 code/lab5/kern/trap/trap.h                     |   89 ++
 code/lab5/kern/trap/trapentry.S                |   49 +
 code/lab5/kern/trap/vectors.S                  | 1536 ++++++++++++++++++++++++
 code/lab5/libs/atomic.h                        |  251 ++++
 code/lab5/libs/defs.h                          |   68 ++
 code/lab5/libs/elf.h                           |   48 +
 code/lab5/libs/error.h                         |   33 +
 code/lab5/libs/hash.c                          |   18 +
 code/lab5/libs/list.h                          |  163 +++
 code/lab5/libs/printfmt.c                      |  343 ++++++
 code/lab5/libs/rand.c                          |   26 +
 code/lab5/libs/stdarg.h                        |   12 +
 code/lab5/libs/stdio.h                         |   24 +
 code/lab5/libs/stdlib.h                        |   17 +
 code/lab5/libs/string.c                        |  367 ++++++
 code/lab5/libs/string.h                        |   25 +
 code/lab5/libs/unistd.h                        |   29 +
 code/lab5/libs/x86.h                           |  302 +++++
 code/lab5/tools/boot.ld                        |   15 +
 code/lab5/tools/function.mk                    |   95 ++
 code/lab5/tools/gdbinit                        |    3 +
 code/lab5/tools/grade.sh                       |  517 ++++++++
 code/lab5/tools/kernel.ld                      |   58 +
 code/lab5/tools/sign.c                         |   43 +
 code/lab5/tools/user.ld                        |   71 ++
 code/lab5/tools/vector.c                       |   29 +
 code/lab5/user/badarg.c                        |   22 +
 code/lab5/user/badsegment.c                    |   11 +
 code/lab5/user/divzero.c                       |   11 +
 code/lab5/user/exit.c                          |   34 +
 code/lab5/user/faultread.c                     |    9 +
 code/lab5/user/faultreadkernel.c               |    9 +
 code/lab5/user/forktest.c                      |   34 +
 code/lab5/user/forktree.c                      |   37 +
 code/lab5/user/hello.c                         |   11 +
 code/lab5/user/libs/initcode.S                 |   14 +
 code/lab5/user/libs/panic.c                    |   28 +
 code/lab5/user/libs/stdio.c                    |   62 +
 code/lab5/user/libs/syscall.c                  |   72 ++
 code/lab5/user/libs/syscall.h                  |   14 +
 code/lab5/user/libs/ulib.c                     |   48 +
 code/lab5/user/libs/ulib.h                     |   36 +
 code/lab5/user/libs/umain.c                    |   10 +
 code/lab5/user/pgdir.c                         |   11 +
 code/lab5/user/softint.c                       |    9 +
 code/lab5/user/spin.c                          |   29 +
 code/lab5/user/testbss.c                       |   33 +
 code/lab5/user/waitkill.c                      |   59 +
 code/lab5/user/yield.c                         |   16 +
 code/lab6/Makefile                             |  323 +++++
 code/lab6/boot/asm.h                           |   26 +
 code/lab6/boot/bootasm.S                       |  107 ++
 code/lab6/boot/bootmain.c                      |  116 ++
 code/lab6/kern/debug/assert.h                  |   27 +
 code/lab6/kern/debug/kdebug.c                  |  351 ++++++
 code/lab6/kern/debug/kdebug.h                  |   12 +
 code/lab6/kern/debug/monitor.c                 |  132 ++
 code/lab6/kern/debug/monitor.h                 |   19 +
 code/lab6/kern/debug/panic.c                   |   49 +
 code/lab6/kern/debug/stab.h                    |   54 +
 code/lab6/kern/driver/clock.c                  |   45 +
 code/lab6/kern/driver/clock.h                  |   11 +
 code/lab6/kern/driver/console.c                |  465 +++++++
 code/lab6/kern/driver/console.h                |   11 +
 code/lab6/kern/driver/ide.c                    |  214 ++++
 code/lab6/kern/driver/ide.h                    |   14 +
 code/lab6/kern/driver/intr.c                   |   15 +
 code/lab6/kern/driver/intr.h                   |    8 +
 code/lab6/kern/driver/kbdreg.h                 |   84 ++
 code/lab6/kern/driver/picirq.c                 |   86 ++
 code/lab6/kern/driver/picirq.h                 |   10 +
 code/lab6/kern/fs/fs.h                         |   12 +
 code/lab6/kern/fs/swapfs.c                     |   27 +
 code/lab6/kern/fs/swapfs.h                     |   12 +
 code/lab6/kern/init/entry.S                    |   49 +
 code/lab6/kern/init/init.c                     |  114 ++
 code/lab6/kern/libs/rb_tree.c                  |  528 ++++++++
 code/lab6/kern/libs/rb_tree.h                  |   32 +
 code/lab6/kern/libs/readline.c                 |   50 +
 code/lab6/kern/libs/stdio.c                    |   78 ++
 code/lab6/kern/mm/default_pmm.c                |  272 +++++
 code/lab6/kern/mm/default_pmm.h                |    9 +
 code/lab6/kern/mm/kmalloc.c                    |  640 ++++++++++
 code/lab6/kern/mm/kmalloc.h                    |   16 +
 code/lab6/kern/mm/memlayout.h                  |  169 +++
 code/lab6/kern/mm/mmu.h                        |  272 +++++
 code/lab6/kern/mm/pmm.c                        |  759 ++++++++++++
 code/lab6/kern/mm/pmm.h                        |  145 +++
 code/lab6/kern/mm/swap.c                       |  284 +++++
 code/lab6/kern/mm/swap.h                       |   65 +
 code/lab6/kern/mm/swap_fifo.c                  |  136 +++
 code/lab6/kern/mm/swap_fifo.h                  |    7 +
 code/lab6/kern/mm/vmm.c                        |  508 ++++++++
 code/lab6/kern/mm/vmm.h                        |  100 ++
 code/lab6/kern/process/entry.S                 |   10 +
 code/lab6/kern/process/proc.c                  |  849 +++++++++++++
 code/lab6/kern/process/proc.h                  |   99 ++
 code/lab6/kern/process/switch.S                |   30 +
 code/lab6/kern/schedule/default_sched.c        |   58 +
 code/lab6/kern/schedule/default_sched.h        |    9 +
 code/lab6/kern/schedule/default_sched_stride_c |  133 ++
 code/lab6/kern/schedule/sched.c                |  172 +++
 code/lab6/kern/schedule/sched.h                |   70 ++
 code/lab6/kern/sync/sync.h                     |   57 +
 code/lab6/kern/syscall/syscall.c               |  116 ++
 code/lab6/kern/syscall/syscall.h               |    7 +
 code/lab6/kern/trap/trap.c                     |  290 +++++
 code/lab6/kern/trap/trap.h                     |   89 ++
 code/lab6/kern/trap/trapentry.S                |   49 +
 code/lab6/kern/trap/vectors.S                  | 1536 ++++++++++++++++++++++++
 code/lab6/libs/atomic.h                        |  251 ++++
 code/lab6/libs/defs.h                          |   68 ++
 code/lab6/libs/elf.h                           |   48 +
 code/lab6/libs/error.h                         |   33 +
 code/lab6/libs/hash.c                          |   18 +
 code/lab6/libs/list.h                          |  163 +++
 code/lab6/libs/printfmt.c                      |  343 ++++++
 code/lab6/libs/rand.c                          |   26 +
 code/lab6/libs/skew_heap.h                     |   87 ++
 code/lab6/libs/stdarg.h                        |   12 +
 code/lab6/libs/stdio.h                         |   24 +
 code/lab6/libs/stdlib.h                        |   17 +
 code/lab6/libs/string.c                        |  367 ++++++
 code/lab6/libs/string.h                        |   25 +
 code/lab6/libs/unistd.h                        |   31 +
 code/lab6/libs/x86.h                           |  302 +++++
 code/lab6/tools/boot.ld                        |   15 +
 code/lab6/tools/function.mk                    |   95 ++
 code/lab6/tools/gdbinit                        |    3 +
 code/lab6/tools/grade.sh                       |  582 +++++++++
 code/lab6/tools/kernel.ld                      |   58 +
 code/lab6/tools/sign.c                         |   43 +
 code/lab6/tools/user.ld                        |   71 ++
 code/lab6/tools/vector.c                       |   29 +
 code/lab6/user/badarg.c                        |   22 +
 code/lab6/user/badsegment.c                    |   11 +
 code/lab6/user/divzero.c                       |   11 +
 code/lab6/user/exit.c                          |   34 +
 code/lab6/user/faultread.c                     |    9 +
 code/lab6/user/faultreadkernel.c               |    9 +
 code/lab6/user/forktest.c                      |   34 +
 code/lab6/user/forktree.c                      |   37 +
 code/lab6/user/hello.c                         |   11 +
 code/lab6/user/libs/initcode.S                 |   14 +
 code/lab6/user/libs/panic.c                    |   28 +
 code/lab6/user/libs/stdio.c                    |   62 +
 code/lab6/user/libs/syscall.c                  |   82 ++
 code/lab6/user/libs/syscall.h                  |   16 +
 code/lab6/user/libs/ulib.c                     |   58 +
 code/lab6/user/libs/ulib.h                     |   38 +
 code/lab6/user/libs/umain.c                    |   10 +
 code/lab6/user/matrix.c                        |   84 ++
 code/lab6/user/pgdir.c                         |   11 +
 code/lab6/user/priority.c                      |   77 ++
 code/lab6/user/softint.c                       |    9 +
 code/lab6/user/spin.c                          |   29 +
 code/lab6/user/testbss.c                       |   33 +
 code/lab6/user/waitkill.c                      |   59 +
 code/lab6/user/yield.c                         |   16 +
 code/lab7/Makefile                             |  323 +++++
 code/lab7/boot/asm.h                           |   26 +
 code/lab7/boot/bootasm.S                       |  107 ++
 code/lab7/boot/bootmain.c                      |  116 ++
 code/lab7/kern/debug/assert.h                  |   27 +
 code/lab7/kern/debug/kdebug.c                  |  351 ++++++
 code/lab7/kern/debug/kdebug.h                  |   12 +
 code/lab7/kern/debug/monitor.c                 |  132 ++
 code/lab7/kern/debug/monitor.h                 |   19 +
 code/lab7/kern/debug/panic.c                   |   49 +
 code/lab7/kern/debug/stab.h                    |   54 +
 code/lab7/kern/driver/clock.c                  |   45 +
 code/lab7/kern/driver/clock.h                  |   11 +
 code/lab7/kern/driver/console.c                |  465 +++++++
 code/lab7/kern/driver/console.h                |   11 +
 code/lab7/kern/driver/ide.c                    |  214 ++++
 code/lab7/kern/driver/ide.h                    |   14 +
 code/lab7/kern/driver/intr.c                   |   15 +
 code/lab7/kern/driver/intr.h                   |    8 +
 code/lab7/kern/driver/kbdreg.h                 |   84 ++
 code/lab7/kern/driver/picirq.c                 |   86 ++
 code/lab7/kern/driver/picirq.h                 |   10 +
 code/lab7/kern/fs/fs.h                         |   12 +
 code/lab7/kern/fs/swapfs.c                     |   27 +
 code/lab7/kern/fs/swapfs.h                     |   12 +
 code/lab7/kern/init/entry.S                    |   49 +
 code/lab7/kern/init/init.c                     |  114 ++
 code/lab7/kern/libs/rb_tree.c                  |  528 ++++++++
 code/lab7/kern/libs/rb_tree.h                  |   32 +
 code/lab7/kern/libs/readline.c                 |   50 +
 code/lab7/kern/libs/stdio.c                    |   78 ++
 code/lab7/kern/mm/default_pmm.c                |  272 +++++
 code/lab7/kern/mm/default_pmm.h                |    9 +
 code/lab7/kern/mm/kmalloc.c                    |  640 ++++++++++
 code/lab7/kern/mm/kmalloc.h                    |   16 +
 code/lab7/kern/mm/memlayout.h                  |  169 +++
 code/lab7/kern/mm/mmu.h                        |  272 +++++
 code/lab7/kern/mm/pmm.c                        |  759 ++++++++++++
 code/lab7/kern/mm/pmm.h                        |  145 +++
 code/lab7/kern/mm/swap.c                       |  284 +++++
 code/lab7/kern/mm/swap.h                       |   65 +
 code/lab7/kern/mm/swap_fifo.c                  |  136 +++
 code/lab7/kern/mm/swap_fifo.h                  |    7 +
 code/lab7/kern/mm/vmm.c                        |  508 ++++++++
 code/lab7/kern/mm/vmm.h                        |  108 ++
 code/lab7/kern/process/entry.S                 |   10 +
 code/lab7/kern/process/proc.c                  |  872 ++++++++++++++
 code/lab7/kern/process/proc.h                  |  100 ++
 code/lab7/kern/process/switch.S                |   30 +
 code/lab7/kern/schedule/default_sched.c        |   58 +
 code/lab7/kern/schedule/default_sched.h        |    9 +
 code/lab7/kern/schedule/default_sched_stride_c |  133 ++
 code/lab7/kern/schedule/sched.c                |  172 +++
 code/lab7/kern/schedule/sched.h                |   70 ++
 code/lab7/kern/sync/check_sync.c               |  196 +++
 code/lab7/kern/sync/monitor.c                  |   59 +
 code/lab7/kern/sync/monitor.h                  |   90 ++
 code/lab7/kern/sync/sem.c                      |   77 ++
 code/lab7/kern/sync/sem.h                      |   19 +
 code/lab7/kern/sync/sync.h                     |   31 +
 code/lab7/kern/sync/wait.c                     |  122 ++
 code/lab7/kern/sync/wait.h                     |   48 +
 code/lab7/kern/syscall/syscall.c               |  123 ++
 code/lab7/kern/syscall/syscall.h               |    7 +
 code/lab7/kern/trap/trap.c                     |  290 +++++
 code/lab7/kern/trap/trap.h                     |   89 ++
 code/lab7/kern/trap/trapentry.S                |   49 +
 code/lab7/kern/trap/vectors.S                  | 1536 ++++++++++++++++++++++++
 code/lab7/libs/atomic.h                        |  251 ++++
 code/lab7/libs/defs.h                          |   68 ++
 code/lab7/libs/elf.h                           |   48 +
 code/lab7/libs/error.h                         |   33 +
 code/lab7/libs/hash.c                          |   18 +
 code/lab7/libs/list.h                          |  163 +++
 code/lab7/libs/printfmt.c                      |  343 ++++++
 code/lab7/libs/rand.c                          |   26 +
 code/lab7/libs/skew_heap.h                     |   87 ++
 code/lab7/libs/stdarg.h                        |   12 +
 code/lab7/libs/stdio.h                         |   24 +
 code/lab7/libs/stdlib.h                        |   17 +
 code/lab7/libs/string.c                        |  367 ++++++
 code/lab7/libs/string.h                        |   25 +
 code/lab7/libs/unistd.h                        |   31 +
 code/lab7/libs/x86.h                           |  302 +++++
 code/lab7/tools/boot.ld                        |   15 +
 code/lab7/tools/function.mk                    |   95 ++
 code/lab7/tools/gdbinit                        |    3 +
 code/lab7/tools/grade.sh                       |  636 ++++++++++
 code/lab7/tools/kernel.ld                      |   58 +
 code/lab7/tools/sign.c                         |   43 +
 code/lab7/tools/user.ld                        |   71 ++
 code/lab7/tools/vector.c                       |   29 +
 code/lab7/user/badarg.c                        |   22 +
 code/lab7/user/badsegment.c                    |   11 +
 code/lab7/user/divzero.c                       |   11 +
 code/lab7/user/exit.c                          |   34 +
 code/lab7/user/faultread.c                     |    9 +
 code/lab7/user/faultreadkernel.c               |    9 +
 code/lab7/user/forktest.c                      |   34 +
 code/lab7/user/forktree.c                      |   39 +
 code/lab7/user/hello.c                         |   11 +
 code/lab7/user/libs/initcode.S                 |   14 +
 code/lab7/user/libs/panic.c                    |   28 +
 code/lab7/user/libs/stdio.c                    |   62 +
 code/lab7/user/libs/syscall.c                  |   87 ++
 code/lab7/user/libs/syscall.h                  |   18 +
 code/lab7/user/libs/ulib.c                     |   63 +
 code/lab7/user/libs/ulib.h                     |   39 +
 code/lab7/user/libs/umain.c                    |   10 +
 code/lab7/user/matrix.c                        |   84 ++
 code/lab7/user/pgdir.c                         |   11 +
 code/lab7/user/priority.c                      |   80 ++
 code/lab7/user/sleep.c                         |   28 +
 code/lab7/user/sleepkill.c                     |   18 +
 code/lab7/user/softint.c                       |    9 +
 code/lab7/user/spin.c                          |   32 +
 code/lab7/user/testbss.c                       |   33 +
 code/lab7/user/waitkill.c                      |   59 +
 code/lab7/user/yield.c                         |   16 +
 code/lab8/Makefile                             |  369 ++++++
 code/lab8/boot/asm.h                           |   26 +
 code/lab8/boot/bootasm.S                       |  107 ++
 code/lab8/boot/bootmain.c                      |  116 ++
 code/lab8/kern/debug/assert.h                  |   27 +
 code/lab8/kern/debug/kdebug.c                  |  351 ++++++
 code/lab8/kern/debug/kdebug.h                  |   12 +
 code/lab8/kern/debug/monitor.c                 |  132 ++
 code/lab8/kern/debug/monitor.h                 |   19 +
 code/lab8/kern/debug/panic.c                   |   49 +
 code/lab8/kern/debug/stab.h                    |   54 +
 code/lab8/kern/driver/clock.c                  |   49 +
 code/lab8/kern/driver/clock.h                  |   14 +
 code/lab8/kern/driver/console.c                |  465 +++++++
 code/lab8/kern/driver/console.h                |   11 +
 code/lab8/kern/driver/ide.c                    |  214 ++++
 code/lab8/kern/driver/ide.h                    |   14 +
 code/lab8/kern/driver/intr.c                   |   15 +
 code/lab8/kern/driver/intr.h                   |    8 +
 code/lab8/kern/driver/kbdreg.h                 |   84 ++
 code/lab8/kern/driver/picirq.c                 |   86 ++
 code/lab8/kern/driver/picirq.h                 |   10 +
 code/lab8/kern/fs/devs/dev.c                   |  167 +++
 code/lab8/kern/fs/devs/dev.h                   |   31 +
 code/lab8/kern/fs/devs/dev_disk0.c             |  144 +++
 code/lab8/kern/fs/devs/dev_stdin.c             |  126 ++
 code/lab8/kern/fs/devs/dev_stdout.c            |   64 +
 code/lab8/kern/fs/file.c                       |  356 ++++++
 code/lab8/kern/fs/file.h                       |   60 +
 code/lab8/kern/fs/fs.c                         |   99 ++
 code/lab8/kern/fs/fs.h                         |   59 +
 code/lab8/kern/fs/iobuf.c                      |   77 ++
 code/lab8/kern/fs/iobuf.h                      |   24 +
 code/lab8/kern/fs/sfs/bitmap.c                 |  114 ++
 code/lab8/kern/fs/sfs/bitmap.h                 |   32 +
 code/lab8/kern/fs/sfs/sfs.c                    |   19 +
 code/lab8/kern/fs/sfs/sfs.h                    |  129 ++
 code/lab8/kern/fs/sfs/sfs_fs.c                 |  258 ++++
 code/lab8/kern/fs/sfs/sfs_inode.c              |  987 +++++++++++++++
 code/lab8/kern/fs/sfs/sfs_io.c                 |  167 +++
 code/lab8/kern/fs/sfs/sfs_lock.c               |   44 +
 code/lab8/kern/fs/swap/swapfs.c                |   27 +
 code/lab8/kern/fs/swap/swapfs.h                |   12 +
 code/lab8/kern/fs/sysfile.c                    |  317 +++++
 code/lab8/kern/fs/sysfile.h                    |   28 +
 code/lab8/kern/fs/vfs/inode.c                  |  110 ++
 code/lab8/kern/fs/vfs/inode.h                  |  248 ++++
 code/lab8/kern/fs/vfs/vfs.c                    |   97 ++
 code/lab8/kern/fs/vfs/vfs.h                    |  191 +++
 code/lab8/kern/fs/vfs/vfsdev.c                 |  309 +++++
 code/lab8/kern/fs/vfs/vfsfile.c                |  110 ++
 code/lab8/kern/fs/vfs/vfslookup.c              |  101 ++
 code/lab8/kern/fs/vfs/vfspath.c                |  126 ++
 code/lab8/kern/init/entry.S                    |   49 +
 code/lab8/kern/init/init.c                     |  116 ++
 code/lab8/kern/libs/rb_tree.c                  |  528 ++++++++
 code/lab8/kern/libs/rb_tree.h                  |   32 +
 code/lab8/kern/libs/readline.c                 |   50 +
 code/lab8/kern/libs/stdio.c                    |   78 ++
 code/lab8/kern/libs/string.c                   |   26 +
 code/lab8/kern/mm/default_pmm.c                |  272 +++++
 code/lab8/kern/mm/default_pmm.h                |    9 +
 code/lab8/kern/mm/kmalloc.c                    |  640 ++++++++++
 code/lab8/kern/mm/kmalloc.h                    |   16 +
 code/lab8/kern/mm/memlayout.h                  |  169 +++
 code/lab8/kern/mm/mmu.h                        |  272 +++++
 code/lab8/kern/mm/pmm.c                        |  759 ++++++++++++
 code/lab8/kern/mm/pmm.h                        |  145 +++
 code/lab8/kern/mm/swap.c                       |  284 +++++
 code/lab8/kern/mm/swap.h                       |   65 +
 code/lab8/kern/mm/swap_fifo.c                  |  136 +++
 code/lab8/kern/mm/swap_fifo.h                  |    7 +
 code/lab8/kern/mm/vmm.c                        |  530 ++++++++
 code/lab8/kern/mm/vmm.h                        |  109 ++
 code/lab8/kern/process/entry.S                 |   10 +
 code/lab8/kern/process/proc.c                  |  896 ++++++++++++++
 code/lab8/kern/process/proc.h                  |  105 ++
 code/lab8/kern/process/switch.S                |   30 +
 code/lab8/kern/schedule/default_sched.c        |   58 +
 code/lab8/kern/schedule/default_sched.h        |    9 +
 code/lab8/kern/schedule/default_sched_stride_c |  133 ++
 code/lab8/kern/schedule/sched.c                |  172 +++
 code/lab8/kern/schedule/sched.h                |   70 ++
 code/lab8/kern/sync/check_sync.c               |  196 +++
 code/lab8/kern/sync/monitor.c                  |   59 +
 code/lab8/kern/sync/monitor.h                  |   90 ++
 code/lab8/kern/sync/sem.c                      |   77 ++
 code/lab8/kern/sync/sem.h                      |   19 +
 code/lab8/kern/sync/sync.h                     |   31 +
 code/lab8/kern/sync/wait.c                     |  122 ++
 code/lab8/kern/sync/wait.h                     |   48 +
 code/lab8/kern/syscall/syscall.c               |  207 ++++
 code/lab8/kern/syscall/syscall.h               |    7 +
 code/lab8/kern/trap/trap.c                     |  290 +++++
 code/lab8/kern/trap/trap.h                     |   89 ++
 code/lab8/kern/trap/trapentry.S                |   49 +
 code/lab8/kern/trap/vectors.S                  | 1536 ++++++++++++++++++++++++
 code/lab8/libs/atomic.h                        |  251 ++++
 code/lab8/libs/defs.h                          |   79 ++
 code/lab8/libs/dirent.h                        |   13 +
 code/lab8/libs/elf.h                           |   48 +
 code/lab8/libs/error.h                         |   33 +
 code/lab8/libs/hash.c                          |   18 +
 code/lab8/libs/list.h                          |  163 +++
 code/lab8/libs/printfmt.c                      |  359 ++++++
 code/lab8/libs/rand.c                          |   26 +
 code/lab8/libs/skew_heap.h                     |   87 ++
 code/lab8/libs/stat.h                          |   27 +
 code/lab8/libs/stdarg.h                        |   12 +
 code/lab8/libs/stdio.h                         |   24 +
 code/lab8/libs/stdlib.h                        |   17 +
 code/lab8/libs/string.c                        |  380 ++++++
 code/lab8/libs/string.h                        |   28 +
 code/lab8/libs/unistd.h                        |   68 ++
 code/lab8/libs/x86.h                           |  310 +++++
 code/lab8/tools/boot.ld                        |   15 +
 code/lab8/tools/function.mk                    |   95 ++
 code/lab8/tools/gdbinit                        |    3 +
 code/lab8/tools/grade.sh                       |  636 ++++++++++
 code/lab8/tools/kernel.ld                      |   58 +
 code/lab8/tools/mksfs.c                        |  582 +++++++++
 code/lab8/tools/sign.c                         |   43 +
 code/lab8/tools/user.ld                        |   71 ++
 code/lab8/tools/vector.c                       |   29 +
 code/lab8/user/badarg.c                        |   22 +
 code/lab8/user/badsegment.c                    |   11 +
 code/lab8/user/divzero.c                       |   11 +
 code/lab8/user/exit.c                          |   34 +
 code/lab8/user/faultread.c                     |    9 +
 code/lab8/user/faultreadkernel.c               |    9 +
 code/lab8/user/forktest.c                      |   34 +
 code/lab8/user/forktree.c                      |   37 +
 code/lab8/user/hello.c                         |   11 +
 code/lab8/user/libs/dir.c                      |   46 +
 code/lab8/user/libs/dir.h                      |   19 +
 code/lab8/user/libs/file.c                     |   68 ++
 code/lab8/user/libs/file.h                     |   23 +
 code/lab8/user/libs/initcode.S                 |   24 +
 code/lab8/user/libs/lock.h                     |   42 +
 code/lab8/user/libs/panic.c                    |   28 +
 code/lab8/user/libs/stdio.c                    |   89 ++
 code/lab8/user/libs/syscall.c                  |  145 +++
 code/lab8/user/libs/syscall.h                  |   33 +
 code/lab8/user/libs/ulib.c                     |   87 ++
 code/lab8/user/libs/ulib.h                     |   49 +
 code/lab8/user/libs/umain.c                    |   34 +
 code/lab8/user/ls.c                            |  118 ++
 code/lab8/user/matrix.c                        |   84 ++
 code/lab8/user/pgdir.c                         |   11 +
 code/lab8/user/priority.c                      |   80 ++
 code/lab8/user/sh.c                            |  254 ++++
 code/lab8/user/sleep.c                         |   28 +
 code/lab8/user/sleepkill.c                     |   18 +
 code/lab8/user/softint.c                       |    9 +
 code/lab8/user/spin.c                          |   29 +
 code/lab8/user/testbss.c                       |   33 +
 code/lab8/user/waitkill.c                      |   59 +
 code/lab8/user/yield.c                         |   16 +
 doc/lab0.pdf                                   |  Bin 0 -> 953677 bytes
 doc/lab1.pdf                                   |  Bin 0 -> 933686 bytes
 doc/lab2.pdf                                   |  Bin 0 -> 708103 bytes
 doc/lab3.pdf                                   |  Bin 0 -> 465307 bytes
 doc/lab4.pdf                                   |  Bin 0 -> 480594 bytes
 doc/lab5.pdf                                   |  Bin 0 -> 459658 bytes
 doc/lab6.pdf                                   |  Bin 0 -> 414183 bytes
 doc/lab7.pdf                                   |  Bin 0 -> 391195 bytes
 doc/lab8.pdf                                   |  Bin 0 -> 669168 bytes
 743 files changed, 94930 insertions(+)
 create mode 100644 LICENSE
 create mode 100644 code/lab1/Makefile
 create mode 100644 code/lab1/boot/asm.h
 create mode 100644 code/lab1/boot/bootasm.S
 create mode 100644 code/lab1/boot/bootmain.c
 create mode 100644 code/lab1/kern/debug/assert.h
 create mode 100644 code/lab1/kern/debug/kdebug.c
 create mode 100644 code/lab1/kern/debug/kdebug.h
 create mode 100644 code/lab1/kern/debug/monitor.c
 create mode 100644 code/lab1/kern/debug/monitor.h
 create mode 100644 code/lab1/kern/debug/panic.c
 create mode 100644 code/lab1/kern/debug/stab.h
 create mode 100644 code/lab1/kern/driver/clock.c
 create mode 100644 code/lab1/kern/driver/clock.h
 create mode 100644 code/lab1/kern/driver/console.c
 create mode 100644 code/lab1/kern/driver/console.h
 create mode 100644 code/lab1/kern/driver/intr.c
 create mode 100644 code/lab1/kern/driver/intr.h
 create mode 100644 code/lab1/kern/driver/kbdreg.h
 create mode 100644 code/lab1/kern/driver/picirq.c
 create mode 100644 code/lab1/kern/driver/picirq.h
 create mode 100644 code/lab1/kern/init/init.c
 create mode 100644 code/lab1/kern/libs/readline.c
 create mode 100644 code/lab1/kern/libs/stdio.c
 create mode 100644 code/lab1/kern/mm/memlayout.h
 create mode 100644 code/lab1/kern/mm/mmu.h
 create mode 100644 code/lab1/kern/mm/pmm.c
 create mode 100644 code/lab1/kern/mm/pmm.h
 create mode 100644 code/lab1/kern/trap/trap.c
 create mode 100644 code/lab1/kern/trap/trap.h
 create mode 100644 code/lab1/kern/trap/trapentry.S
 create mode 100644 code/lab1/kern/trap/vectors.S
 create mode 100644 code/lab1/libs/defs.h
 create mode 100644 code/lab1/libs/elf.h
 create mode 100644 code/lab1/libs/error.h
 create mode 100644 code/lab1/libs/printfmt.c
 create mode 100644 code/lab1/libs/stdarg.h
 create mode 100644 code/lab1/libs/stdio.h
 create mode 100644 code/lab1/libs/string.c
 create mode 100644 code/lab1/libs/string.h
 create mode 100644 code/lab1/libs/x86.h
 create mode 100644 code/lab1/tools/function.mk
 create mode 100644 code/lab1/tools/gdbinit
 create mode 100644 code/lab1/tools/grade.sh
 create mode 100644 code/lab1/tools/kernel.ld
 create mode 100644 code/lab1/tools/sign.c
 create mode 100644 code/lab1/tools/vector.c
 create mode 100644 code/lab2/Makefile
 create mode 100644 code/lab2/boot/asm.h
 create mode 100644 code/lab2/boot/bootasm.S
 create mode 100644 code/lab2/boot/bootmain.c
 create mode 100644 code/lab2/kern/debug/assert.h
 create mode 100644 code/lab2/kern/debug/kdebug.c
 create mode 100644 code/lab2/kern/debug/kdebug.h
 create mode 100644 code/lab2/kern/debug/monitor.c
 create mode 100644 code/lab2/kern/debug/monitor.h
 create mode 100644 code/lab2/kern/debug/panic.c
 create mode 100644 code/lab2/kern/debug/stab.h
 create mode 100644 code/lab2/kern/driver/clock.c
 create mode 100644 code/lab2/kern/driver/clock.h
 create mode 100644 code/lab2/kern/driver/console.c
 create mode 100644 code/lab2/kern/driver/console.h
 create mode 100644 code/lab2/kern/driver/intr.c
 create mode 100644 code/lab2/kern/driver/intr.h
 create mode 100644 code/lab2/kern/driver/kbdreg.h
 create mode 100644 code/lab2/kern/driver/picirq.c
 create mode 100644 code/lab2/kern/driver/picirq.h
 create mode 100644 code/lab2/kern/init/entry.S
 create mode 100644 code/lab2/kern/init/init.c
 create mode 100644 code/lab2/kern/libs/readline.c
 create mode 100644 code/lab2/kern/libs/stdio.c
 create mode 100644 code/lab2/kern/mm/default_pmm.c
 create mode 100644 code/lab2/kern/mm/default_pmm.h
 create mode 100644 code/lab2/kern/mm/memlayout.h
 create mode 100644 code/lab2/kern/mm/mmu.h
 create mode 100644 code/lab2/kern/mm/pmm.c
 create mode 100644 code/lab2/kern/mm/pmm.h
 create mode 100644 code/lab2/kern/sync/sync.h
 create mode 100644 code/lab2/kern/trap/trap.c
 create mode 100644 code/lab2/kern/trap/trap.h
 create mode 100644 code/lab2/kern/trap/trapentry.S
 create mode 100644 code/lab2/kern/trap/vectors.S
 create mode 100644 code/lab2/libs/atomic.h
 create mode 100644 code/lab2/libs/defs.h
 create mode 100644 code/lab2/libs/elf.h
 create mode 100644 code/lab2/libs/error.h
 create mode 100644 code/lab2/libs/list.h
 create mode 100644 code/lab2/libs/printfmt.c
 create mode 100644 code/lab2/libs/stdarg.h
 create mode 100644 code/lab2/libs/stdio.h
 create mode 100644 code/lab2/libs/string.c
 create mode 100644 code/lab2/libs/string.h
 create mode 100644 code/lab2/libs/x86.h
 create mode 100644 code/lab2/tools/boot.ld
 create mode 100644 code/lab2/tools/function.mk
 create mode 100644 code/lab2/tools/gdbinit
 create mode 100644 code/lab2/tools/grade.sh
 create mode 100644 code/lab2/tools/kernel.ld
 create mode 100644 code/lab2/tools/sign.c
 create mode 100644 code/lab2/tools/vector.c
 create mode 100644 code/lab3/Makefile
 create mode 100644 code/lab3/boot/asm.h
 create mode 100644 code/lab3/boot/bootasm.S
 create mode 100644 code/lab3/boot/bootmain.c
 create mode 100644 code/lab3/kern/debug/assert.h
 create mode 100644 code/lab3/kern/debug/kdebug.c
 create mode 100644 code/lab3/kern/debug/kdebug.h
 create mode 100644 code/lab3/kern/debug/monitor.c
 create mode 100644 code/lab3/kern/debug/monitor.h
 create mode 100644 code/lab3/kern/debug/panic.c
 create mode 100644 code/lab3/kern/debug/stab.h
 create mode 100644 code/lab3/kern/driver/clock.c
 create mode 100644 code/lab3/kern/driver/clock.h
 create mode 100644 code/lab3/kern/driver/console.c
 create mode 100644 code/lab3/kern/driver/console.h
 create mode 100644 code/lab3/kern/driver/ide.c
 create mode 100644 code/lab3/kern/driver/ide.h
 create mode 100644 code/lab3/kern/driver/intr.c
 create mode 100644 code/lab3/kern/driver/intr.h
 create mode 100644 code/lab3/kern/driver/kbdreg.h
 create mode 100644 code/lab3/kern/driver/picirq.c
 create mode 100644 code/lab3/kern/driver/picirq.h
 create mode 100644 code/lab3/kern/fs/fs.h
 create mode 100644 code/lab3/kern/fs/swapfs.c
 create mode 100644 code/lab3/kern/fs/swapfs.h
 create mode 100644 code/lab3/kern/init/entry.S
 create mode 100644 code/lab3/kern/init/init.c
 create mode 100644 code/lab3/kern/libs/readline.c
 create mode 100644 code/lab3/kern/libs/stdio.c
 create mode 100644 code/lab3/kern/mm/default_pmm.c
 create mode 100644 code/lab3/kern/mm/default_pmm.h
 create mode 100644 code/lab3/kern/mm/memlayout.h
 create mode 100644 code/lab3/kern/mm/mmu.h
 create mode 100644 code/lab3/kern/mm/pmm.c
 create mode 100644 code/lab3/kern/mm/pmm.h
 create mode 100644 code/lab3/kern/mm/swap.c
 create mode 100644 code/lab3/kern/mm/swap.h
 create mode 100644 code/lab3/kern/mm/swap_fifo.c
 create mode 100644 code/lab3/kern/mm/swap_fifo.h
 create mode 100644 code/lab3/kern/mm/vmm.c
 create mode 100644 code/lab3/kern/mm/vmm.h
 create mode 100644 code/lab3/kern/sync/sync.h
 create mode 100644 code/lab3/kern/trap/trap.c
 create mode 100644 code/lab3/kern/trap/trap.h
 create mode 100644 code/lab3/kern/trap/trapentry.S
 create mode 100644 code/lab3/kern/trap/vectors.S
 create mode 100644 code/lab3/libs/atomic.h
 create mode 100644 code/lab3/libs/defs.h
 create mode 100644 code/lab3/libs/elf.h
 create mode 100644 code/lab3/libs/error.h
 create mode 100644 code/lab3/libs/list.h
 create mode 100644 code/lab3/libs/printfmt.c
 create mode 100644 code/lab3/libs/rand.c
 create mode 100644 code/lab3/libs/stdarg.h
 create mode 100644 code/lab3/libs/stdio.h
 create mode 100644 code/lab3/libs/stdlib.h
 create mode 100644 code/lab3/libs/string.c
 create mode 100644 code/lab3/libs/string.h
 create mode 100644 code/lab3/libs/x86.h
 create mode 100644 code/lab3/tools/boot.ld
 create mode 100644 code/lab3/tools/function.mk
 create mode 100644 code/lab3/tools/gdbinit
 create mode 100644 code/lab3/tools/grade.sh
 create mode 100644 code/lab3/tools/kernel.ld
 create mode 100644 code/lab3/tools/sign.c
 create mode 100644 code/lab3/tools/vector.c
 create mode 100644 code/lab4/Makefile
 create mode 100644 code/lab4/boot/asm.h
 create mode 100644 code/lab4/boot/bootasm.S
 create mode 100644 code/lab4/boot/bootmain.c
 create mode 100644 code/lab4/kern/debug/assert.h
 create mode 100644 code/lab4/kern/debug/kdebug.c
 create mode 100644 code/lab4/kern/debug/kdebug.h
 create mode 100644 code/lab4/kern/debug/monitor.c
 create mode 100644 code/lab4/kern/debug/monitor.h
 create mode 100644 code/lab4/kern/debug/panic.c
 create mode 100644 code/lab4/kern/debug/stab.h
 create mode 100644 code/lab4/kern/driver/clock.c
 create mode 100644 code/lab4/kern/driver/clock.h
 create mode 100644 code/lab4/kern/driver/console.c
 create mode 100644 code/lab4/kern/driver/console.h
 create mode 100644 code/lab4/kern/driver/ide.c
 create mode 100644 code/lab4/kern/driver/ide.h
 create mode 100644 code/lab4/kern/driver/intr.c
 create mode 100644 code/lab4/kern/driver/intr.h
 create mode 100644 code/lab4/kern/driver/kbdreg.h
 create mode 100644 code/lab4/kern/driver/picirq.c
 create mode 100644 code/lab4/kern/driver/picirq.h
 create mode 100644 code/lab4/kern/fs/fs.h
 create mode 100644 code/lab4/kern/fs/swapfs.c
 create mode 100644 code/lab4/kern/fs/swapfs.h
 create mode 100644 code/lab4/kern/init/entry.S
 create mode 100644 code/lab4/kern/init/init.c
 create mode 100644 code/lab4/kern/libs/rb_tree.c
 create mode 100644 code/lab4/kern/libs/rb_tree.h
 create mode 100644 code/lab4/kern/libs/readline.c
 create mode 100644 code/lab4/kern/libs/stdio.c
 create mode 100644 code/lab4/kern/mm/default_pmm.c
 create mode 100644 code/lab4/kern/mm/default_pmm.h
 create mode 100644 code/lab4/kern/mm/kmalloc.c
 create mode 100644 code/lab4/kern/mm/kmalloc.h
 create mode 100644 code/lab4/kern/mm/memlayout.h
 create mode 100644 code/lab4/kern/mm/mmu.h
 create mode 100644 code/lab4/kern/mm/pmm.c
 create mode 100644 code/lab4/kern/mm/pmm.h
 create mode 100644 code/lab4/kern/mm/swap.c
 create mode 100644 code/lab4/kern/mm/swap.h
 create mode 100644 code/lab4/kern/mm/swap_fifo.c
 create mode 100644 code/lab4/kern/mm/swap_fifo.h
 create mode 100644 code/lab4/kern/mm/vmm.c
 create mode 100644 code/lab4/kern/mm/vmm.h
 create mode 100644 code/lab4/kern/process/entry.S
 create mode 100644 code/lab4/kern/process/proc.c
 create mode 100644 code/lab4/kern/process/proc.h
 create mode 100644 code/lab4/kern/process/switch.S
 create mode 100644 code/lab4/kern/schedule/sched.c
 create mode 100644 code/lab4/kern/schedule/sched.h
 create mode 100644 code/lab4/kern/sync/sync.h
 create mode 100644 code/lab4/kern/trap/trap.c
 create mode 100644 code/lab4/kern/trap/trap.h
 create mode 100644 code/lab4/kern/trap/trapentry.S
 create mode 100644 code/lab4/kern/trap/vectors.S
 create mode 100644 code/lab4/libs/atomic.h
 create mode 100644 code/lab4/libs/defs.h
 create mode 100644 code/lab4/libs/elf.h
 create mode 100644 code/lab4/libs/error.h
 create mode 100644 code/lab4/libs/hash.c
 create mode 100644 code/lab4/libs/list.h
 create mode 100644 code/lab4/libs/printfmt.c
 create mode 100644 code/lab4/libs/rand.c
 create mode 100644 code/lab4/libs/stdarg.h
 create mode 100644 code/lab4/libs/stdio.h
 create mode 100644 code/lab4/libs/stdlib.h
 create mode 100644 code/lab4/libs/string.c
 create mode 100644 code/lab4/libs/string.h
 create mode 100644 code/lab4/libs/x86.h
 create mode 100644 code/lab4/tools/boot.ld
 create mode 100644 code/lab4/tools/function.mk
 create mode 100644 code/lab4/tools/gdbinit
 create mode 100644 code/lab4/tools/grade.sh
 create mode 100644 code/lab4/tools/kernel.ld
 create mode 100644 code/lab4/tools/sign.c
 create mode 100644 code/lab4/tools/vector.c
 create mode 100644 code/lab5/Makefile
 create mode 100644 code/lab5/boot/asm.h
 create mode 100644 code/lab5/boot/bootasm.S
 create mode 100644 code/lab5/boot/bootmain.c
 create mode 100644 code/lab5/kern/debug/assert.h
 create mode 100644 code/lab5/kern/debug/kdebug.c
 create mode 100644 code/lab5/kern/debug/kdebug.h
 create mode 100644 code/lab5/kern/debug/monitor.c
 create mode 100644 code/lab5/kern/debug/monitor.h
 create mode 100644 code/lab5/kern/debug/panic.c
 create mode 100644 code/lab5/kern/debug/stab.h
 create mode 100644 code/lab5/kern/driver/clock.c
 create mode 100644 code/lab5/kern/driver/clock.h
 create mode 100644 code/lab5/kern/driver/console.c
 create mode 100644 code/lab5/kern/driver/console.h
 create mode 100644 code/lab5/kern/driver/ide.c
 create mode 100644 code/lab5/kern/driver/ide.h
 create mode 100644 code/lab5/kern/driver/intr.c
 create mode 100644 code/lab5/kern/driver/intr.h
 create mode 100644 code/lab5/kern/driver/kbdreg.h
 create mode 100644 code/lab5/kern/driver/picirq.c
 create mode 100644 code/lab5/kern/driver/picirq.h
 create mode 100644 code/lab5/kern/fs/fs.h
 create mode 100644 code/lab5/kern/fs/swapfs.c
 create mode 100644 code/lab5/kern/fs/swapfs.h
 create mode 100644 code/lab5/kern/init/entry.S
 create mode 100644 code/lab5/kern/init/init.c
 create mode 100644 code/lab5/kern/libs/rb_tree.c
 create mode 100644 code/lab5/kern/libs/rb_tree.h
 create mode 100644 code/lab5/kern/libs/readline.c
 create mode 100644 code/lab5/kern/libs/stdio.c
 create mode 100644 code/lab5/kern/mm/default_pmm.c
 create mode 100644 code/lab5/kern/mm/default_pmm.h
 create mode 100644 code/lab5/kern/mm/kmalloc.c
 create mode 100644 code/lab5/kern/mm/kmalloc.h
 create mode 100644 code/lab5/kern/mm/memlayout.h
 create mode 100644 code/lab5/kern/mm/mmu.h
 create mode 100644 code/lab5/kern/mm/pmm.c
 create mode 100644 code/lab5/kern/mm/pmm.h
 create mode 100644 code/lab5/kern/mm/swap.c
 create mode 100644 code/lab5/kern/mm/swap.h
 create mode 100644 code/lab5/kern/mm/swap_fifo.c
 create mode 100644 code/lab5/kern/mm/swap_fifo.h
 create mode 100644 code/lab5/kern/mm/vmm.c
 create mode 100644 code/lab5/kern/mm/vmm.h
 create mode 100644 code/lab5/kern/process/entry.S
 create mode 100644 code/lab5/kern/process/proc.c
 create mode 100644 code/lab5/kern/process/proc.h
 create mode 100644 code/lab5/kern/process/switch.S
 create mode 100644 code/lab5/kern/schedule/sched.c
 create mode 100644 code/lab5/kern/schedule/sched.h
 create mode 100644 code/lab5/kern/sync/sync.h
 create mode 100644 code/lab5/kern/syscall/syscall.c
 create mode 100644 code/lab5/kern/syscall/syscall.h
 create mode 100644 code/lab5/kern/trap/trap.c
 create mode 100644 code/lab5/kern/trap/trap.h
 create mode 100644 code/lab5/kern/trap/trapentry.S
 create mode 100644 code/lab5/kern/trap/vectors.S
 create mode 100644 code/lab5/libs/atomic.h
 create mode 100644 code/lab5/libs/defs.h
 create mode 100644 code/lab5/libs/elf.h
 create mode 100644 code/lab5/libs/error.h
 create mode 100644 code/lab5/libs/hash.c
 create mode 100644 code/lab5/libs/list.h
 create mode 100644 code/lab5/libs/printfmt.c
 create mode 100644 code/lab5/libs/rand.c
 create mode 100644 code/lab5/libs/stdarg.h
 create mode 100644 code/lab5/libs/stdio.h
 create mode 100644 code/lab5/libs/stdlib.h
 create mode 100644 code/lab5/libs/string.c
 create mode 100644 code/lab5/libs/string.h
 create mode 100644 code/lab5/libs/unistd.h
 create mode 100644 code/lab5/libs/x86.h
 create mode 100644 code/lab5/tools/boot.ld
 create mode 100644 code/lab5/tools/function.mk
 create mode 100644 code/lab5/tools/gdbinit
 create mode 100644 code/lab5/tools/grade.sh
 create mode 100644 code/lab5/tools/kernel.ld
 create mode 100644 code/lab5/tools/sign.c
 create mode 100644 code/lab5/tools/user.ld
 create mode 100644 code/lab5/tools/vector.c
 create mode 100644 code/lab5/user/badarg.c
 create mode 100644 code/lab5/user/badsegment.c
 create mode 100644 code/lab5/user/divzero.c
 create mode 100644 code/lab5/user/exit.c
 create mode 100644 code/lab5/user/faultread.c
 create mode 100644 code/lab5/user/faultreadkernel.c
 create mode 100644 code/lab5/user/forktest.c
 create mode 100644 code/lab5/user/forktree.c
 create mode 100644 code/lab5/user/hello.c
 create mode 100644 code/lab5/user/libs/initcode.S
 create mode 100644 code/lab5/user/libs/panic.c
 create mode 100644 code/lab5/user/libs/stdio.c
 create mode 100644 code/lab5/user/libs/syscall.c
 create mode 100644 code/lab5/user/libs/syscall.h
 create mode 100644 code/lab5/user/libs/ulib.c
 create mode 100644 code/lab5/user/libs/ulib.h
 create mode 100644 code/lab5/user/libs/umain.c
 create mode 100644 code/lab5/user/pgdir.c
 create mode 100644 code/lab5/user/softint.c
 create mode 100644 code/lab5/user/spin.c
 create mode 100644 code/lab5/user/testbss.c
 create mode 100644 code/lab5/user/waitkill.c
 create mode 100644 code/lab5/user/yield.c
 create mode 100644 code/lab6/Makefile
 create mode 100644 code/lab6/boot/asm.h
 create mode 100644 code/lab6/boot/bootasm.S
 create mode 100644 code/lab6/boot/bootmain.c
 create mode 100644 code/lab6/kern/debug/assert.h
 create mode 100644 code/lab6/kern/debug/kdebug.c
 create mode 100644 code/lab6/kern/debug/kdebug.h
 create mode 100644 code/lab6/kern/debug/monitor.c
 create mode 100644 code/lab6/kern/debug/monitor.h
 create mode 100644 code/lab6/kern/debug/panic.c
 create mode 100644 code/lab6/kern/debug/stab.h
 create mode 100644 code/lab6/kern/driver/clock.c
 create mode 100644 code/lab6/kern/driver/clock.h
 create mode 100644 code/lab6/kern/driver/console.c
 create mode 100644 code/lab6/kern/driver/console.h
 create mode 100644 code/lab6/kern/driver/ide.c
 create mode 100644 code/lab6/kern/driver/ide.h
 create mode 100644 code/lab6/kern/driver/intr.c
 create mode 100644 code/lab6/kern/driver/intr.h
 create mode 100644 code/lab6/kern/driver/kbdreg.h
 create mode 100644 code/lab6/kern/driver/picirq.c
 create mode 100644 code/lab6/kern/driver/picirq.h
 create mode 100644 code/lab6/kern/fs/fs.h
 create mode 100644 code/lab6/kern/fs/swapfs.c
 create mode 100644 code/lab6/kern/fs/swapfs.h
 create mode 100644 code/lab6/kern/init/entry.S
 create mode 100644 code/lab6/kern/init/init.c
 create mode 100644 code/lab6/kern/libs/rb_tree.c
 create mode 100644 code/lab6/kern/libs/rb_tree.h
 create mode 100644 code/lab6/kern/libs/readline.c
 create mode 100644 code/lab6/kern/libs/stdio.c
 create mode 100644 code/lab6/kern/mm/default_pmm.c
 create mode 100644 code/lab6/kern/mm/default_pmm.h
 create mode 100644 code/lab6/kern/mm/kmalloc.c
 create mode 100644 code/lab6/kern/mm/kmalloc.h
 create mode 100644 code/lab6/kern/mm/memlayout.h
 create mode 100644 code/lab6/kern/mm/mmu.h
 create mode 100644 code/lab6/kern/mm/pmm.c
 create mode 100644 code/lab6/kern/mm/pmm.h
 create mode 100644 code/lab6/kern/mm/swap.c
 create mode 100644 code/lab6/kern/mm/swap.h
 create mode 100644 code/lab6/kern/mm/swap_fifo.c
 create mode 100644 code/lab6/kern/mm/swap_fifo.h
 create mode 100644 code/lab6/kern/mm/vmm.c
 create mode 100644 code/lab6/kern/mm/vmm.h
 create mode 100644 code/lab6/kern/process/entry.S
 create mode 100644 code/lab6/kern/process/proc.c
 create mode 100644 code/lab6/kern/process/proc.h
 create mode 100644 code/lab6/kern/process/switch.S
 create mode 100644 code/lab6/kern/schedule/default_sched.c
 create mode 100644 code/lab6/kern/schedule/default_sched.h
 create mode 100644 code/lab6/kern/schedule/default_sched_stride_c
 create mode 100644 code/lab6/kern/schedule/sched.c
 create mode 100644 code/lab6/kern/schedule/sched.h
 create mode 100644 code/lab6/kern/sync/sync.h
 create mode 100644 code/lab6/kern/syscall/syscall.c
 create mode 100644 code/lab6/kern/syscall/syscall.h
 create mode 100644 code/lab6/kern/trap/trap.c
 create mode 100644 code/lab6/kern/trap/trap.h
 create mode 100644 code/lab6/kern/trap/trapentry.S
 create mode 100644 code/lab6/kern/trap/vectors.S
 create mode 100644 code/lab6/libs/atomic.h
 create mode 100644 code/lab6/libs/defs.h
 create mode 100644 code/lab6/libs/elf.h
 create mode 100644 code/lab6/libs/error.h
 create mode 100644 code/lab6/libs/hash.c
 create mode 100644 code/lab6/libs/list.h
 create mode 100644 code/lab6/libs/printfmt.c
 create mode 100644 code/lab6/libs/rand.c
 create mode 100644 code/lab6/libs/skew_heap.h
 create mode 100644 code/lab6/libs/stdarg.h
 create mode 100644 code/lab6/libs/stdio.h
 create mode 100644 code/lab6/libs/stdlib.h
 create mode 100644 code/lab6/libs/string.c
 create mode 100644 code/lab6/libs/string.h
 create mode 100644 code/lab6/libs/unistd.h
 create mode 100644 code/lab6/libs/x86.h
 create mode 100644 code/lab6/tools/boot.ld
 create mode 100644 code/lab6/tools/function.mk
 create mode 100644 code/lab6/tools/gdbinit
 create mode 100644 code/lab6/tools/grade.sh
 create mode 100644 code/lab6/tools/kernel.ld
 create mode 100644 code/lab6/tools/sign.c
 create mode 100644 code/lab6/tools/user.ld
 create mode 100644 code/lab6/tools/vector.c
 create mode 100644 code/lab6/user/badarg.c
 create mode 100644 code/lab6/user/badsegment.c
 create mode 100644 code/lab6/user/divzero.c
 create mode 100644 code/lab6/user/exit.c
 create mode 100644 code/lab6/user/faultread.c
 create mode 100644 code/lab6/user/faultreadkernel.c
 create mode 100644 code/lab6/user/forktest.c
 create mode 100644 code/lab6/user/forktree.c
 create mode 100644 code/lab6/user/hello.c
 create mode 100644 code/lab6/user/libs/initcode.S
 create mode 100644 code/lab6/user/libs/panic.c
 create mode 100644 code/lab6/user/libs/stdio.c
 create mode 100644 code/lab6/user/libs/syscall.c
 create mode 100644 code/lab6/user/libs/syscall.h
 create mode 100644 code/lab6/user/libs/ulib.c
 create mode 100644 code/lab6/user/libs/ulib.h
 create mode 100644 code/lab6/user/libs/umain.c
 create mode 100644 code/lab6/user/matrix.c
 create mode 100644 code/lab6/user/pgdir.c
 create mode 100644 code/lab6/user/priority.c
 create mode 100644 code/lab6/user/softint.c
 create mode 100644 code/lab6/user/spin.c
 create mode 100644 code/lab6/user/testbss.c
 create mode 100644 code/lab6/user/waitkill.c
 create mode 100644 code/lab6/user/yield.c
 create mode 100644 code/lab7/Makefile
 create mode 100644 code/lab7/boot/asm.h
 create mode 100644 code/lab7/boot/bootasm.S
 create mode 100644 code/lab7/boot/bootmain.c
 create mode 100644 code/lab7/kern/debug/assert.h
 create mode 100644 code/lab7/kern/debug/kdebug.c
 create mode 100644 code/lab7/kern/debug/kdebug.h
 create mode 100644 code/lab7/kern/debug/monitor.c
 create mode 100644 code/lab7/kern/debug/monitor.h
 create mode 100644 code/lab7/kern/debug/panic.c
 create mode 100644 code/lab7/kern/debug/stab.h
 create mode 100644 code/lab7/kern/driver/clock.c
 create mode 100644 code/lab7/kern/driver/clock.h
 create mode 100644 code/lab7/kern/driver/console.c
 create mode 100644 code/lab7/kern/driver/console.h
 create mode 100644 code/lab7/kern/driver/ide.c
 create mode 100644 code/lab7/kern/driver/ide.h
 create mode 100644 code/lab7/kern/driver/intr.c
 create mode 100644 code/lab7/kern/driver/intr.h
 create mode 100644 code/lab7/kern/driver/kbdreg.h
 create mode 100644 code/lab7/kern/driver/picirq.c
 create mode 100644 code/lab7/kern/driver/picirq.h
 create mode 100644 code/lab7/kern/fs/fs.h
 create mode 100644 code/lab7/kern/fs/swapfs.c
 create mode 100644 code/lab7/kern/fs/swapfs.h
 create mode 100644 code/lab7/kern/init/entry.S
 create mode 100644 code/lab7/kern/init/init.c
 create mode 100644 code/lab7/kern/libs/rb_tree.c
 create mode 100644 code/lab7/kern/libs/rb_tree.h
 create mode 100644 code/lab7/kern/libs/readline.c
 create mode 100644 code/lab7/kern/libs/stdio.c
 create mode 100644 code/lab7/kern/mm/default_pmm.c
 create mode 100644 code/lab7/kern/mm/default_pmm.h
 create mode 100644 code/lab7/kern/mm/kmalloc.c
 create mode 100644 code/lab7/kern/mm/kmalloc.h
 create mode 100644 code/lab7/kern/mm/memlayout.h
 create mode 100644 code/lab7/kern/mm/mmu.h
 create mode 100644 code/lab7/kern/mm/pmm.c
 create mode 100644 code/lab7/kern/mm/pmm.h
 create mode 100644 code/lab7/kern/mm/swap.c
 create mode 100644 code/lab7/kern/mm/swap.h
 create mode 100644 code/lab7/kern/mm/swap_fifo.c
 create mode 100644 code/lab7/kern/mm/swap_fifo.h
 create mode 100644 code/lab7/kern/mm/vmm.c
 create mode 100644 code/lab7/kern/mm/vmm.h
 create mode 100644 code/lab7/kern/process/entry.S
 create mode 100644 code/lab7/kern/process/proc.c
 create mode 100644 code/lab7/kern/process/proc.h
 create mode 100644 code/lab7/kern/process/switch.S
 create mode 100644 code/lab7/kern/schedule/default_sched.c
 create mode 100644 code/lab7/kern/schedule/default_sched.h
 create mode 100644 code/lab7/kern/schedule/default_sched_stride_c
 create mode 100644 code/lab7/kern/schedule/sched.c
 create mode 100644 code/lab7/kern/schedule/sched.h
 create mode 100644 code/lab7/kern/sync/check_sync.c
 create mode 100644 code/lab7/kern/sync/monitor.c
 create mode 100644 code/lab7/kern/sync/monitor.h
 create mode 100644 code/lab7/kern/sync/sem.c
 create mode 100644 code/lab7/kern/sync/sem.h
 create mode 100644 code/lab7/kern/sync/sync.h
 create mode 100644 code/lab7/kern/sync/wait.c
 create mode 100644 code/lab7/kern/sync/wait.h
 create mode 100644 code/lab7/kern/syscall/syscall.c
 create mode 100644 code/lab7/kern/syscall/syscall.h
 create mode 100644 code/lab7/kern/trap/trap.c
 create mode 100644 code/lab7/kern/trap/trap.h
 create mode 100644 code/lab7/kern/trap/trapentry.S
 create mode 100644 code/lab7/kern/trap/vectors.S
 create mode 100644 code/lab7/libs/atomic.h
 create mode 100644 code/lab7/libs/defs.h
 create mode 100644 code/lab7/libs/elf.h
 create mode 100644 code/lab7/libs/error.h
 create mode 100644 code/lab7/libs/hash.c
 create mode 100644 code/lab7/libs/list.h
 create mode 100644 code/lab7/libs/printfmt.c
 create mode 100644 code/lab7/libs/rand.c
 create mode 100644 code/lab7/libs/skew_heap.h
 create mode 100644 code/lab7/libs/stdarg.h
 create mode 100644 code/lab7/libs/stdio.h
 create mode 100644 code/lab7/libs/stdlib.h
 create mode 100644 code/lab7/libs/string.c
 create mode 100644 code/lab7/libs/string.h
 create mode 100644 code/lab7/libs/unistd.h
 create mode 100644 code/lab7/libs/x86.h
 create mode 100644 code/lab7/tools/boot.ld
 create mode 100644 code/lab7/tools/function.mk
 create mode 100644 code/lab7/tools/gdbinit
 create mode 100644 code/lab7/tools/grade.sh
 create mode 100644 code/lab7/tools/kernel.ld
 create mode 100644 code/lab7/tools/sign.c
 create mode 100644 code/lab7/tools/user.ld
 create mode 100644 code/lab7/tools/vector.c
 create mode 100644 code/lab7/user/badarg.c
 create mode 100644 code/lab7/user/badsegment.c
 create mode 100644 code/lab7/user/divzero.c
 create mode 100644 code/lab7/user/exit.c
 create mode 100644 code/lab7/user/faultread.c
 create mode 100644 code/lab7/user/faultreadkernel.c
 create mode 100644 code/lab7/user/forktest.c
 create mode 100644 code/lab7/user/forktree.c
 create mode 100644 code/lab7/user/hello.c
 create mode 100644 code/lab7/user/libs/initcode.S
 create mode 100644 code/lab7/user/libs/panic.c
 create mode 100644 code/lab7/user/libs/stdio.c
 create mode 100644 code/lab7/user/libs/syscall.c
 create mode 100644 code/lab7/user/libs/syscall.h
 create mode 100644 code/lab7/user/libs/ulib.c
 create mode 100644 code/lab7/user/libs/ulib.h
 create mode 100644 code/lab7/user/libs/umain.c
 create mode 100644 code/lab7/user/matrix.c
 create mode 100644 code/lab7/user/pgdir.c
 create mode 100644 code/lab7/user/priority.c
 create mode 100644 code/lab7/user/sleep.c
 create mode 100644 code/lab7/user/sleepkill.c
 create mode 100644 code/lab7/user/softint.c
 create mode 100644 code/lab7/user/spin.c
 create mode 100644 code/lab7/user/testbss.c
 create mode 100644 code/lab7/user/waitkill.c
 create mode 100644 code/lab7/user/yield.c
 create mode 100644 code/lab8/Makefile
 create mode 100644 code/lab8/boot/asm.h
 create mode 100644 code/lab8/boot/bootasm.S
 create mode 100644 code/lab8/boot/bootmain.c
 create mode 100644 code/lab8/kern/debug/assert.h
 create mode 100644 code/lab8/kern/debug/kdebug.c
 create mode 100644 code/lab8/kern/debug/kdebug.h
 create mode 100644 code/lab8/kern/debug/monitor.c
 create mode 100644 code/lab8/kern/debug/monitor.h
 create mode 100644 code/lab8/kern/debug/panic.c
 create mode 100644 code/lab8/kern/debug/stab.h
 create mode 100644 code/lab8/kern/driver/clock.c
 create mode 100644 code/lab8/kern/driver/clock.h
 create mode 100644 code/lab8/kern/driver/console.c
 create mode 100644 code/lab8/kern/driver/console.h
 create mode 100644 code/lab8/kern/driver/ide.c
 create mode 100644 code/lab8/kern/driver/ide.h
 create mode 100644 code/lab8/kern/driver/intr.c
 create mode 100644 code/lab8/kern/driver/intr.h
 create mode 100644 code/lab8/kern/driver/kbdreg.h
 create mode 100644 code/lab8/kern/driver/picirq.c
 create mode 100644 code/lab8/kern/driver/picirq.h
 create mode 100644 code/lab8/kern/fs/devs/dev.c
 create mode 100644 code/lab8/kern/fs/devs/dev.h
 create mode 100644 code/lab8/kern/fs/devs/dev_disk0.c
 create mode 100644 code/lab8/kern/fs/devs/dev_stdin.c
 create mode 100644 code/lab8/kern/fs/devs/dev_stdout.c
 create mode 100644 code/lab8/kern/fs/file.c
 create mode 100644 code/lab8/kern/fs/file.h
 create mode 100644 code/lab8/kern/fs/fs.c
 create mode 100644 code/lab8/kern/fs/fs.h
 create mode 100644 code/lab8/kern/fs/iobuf.c
 create mode 100644 code/lab8/kern/fs/iobuf.h
 create mode 100644 code/lab8/kern/fs/sfs/bitmap.c
 create mode 100644 code/lab8/kern/fs/sfs/bitmap.h
 create mode 100644 code/lab8/kern/fs/sfs/sfs.c
 create mode 100644 code/lab8/kern/fs/sfs/sfs.h
 create mode 100644 code/lab8/kern/fs/sfs/sfs_fs.c
 create mode 100644 code/lab8/kern/fs/sfs/sfs_inode.c
 create mode 100644 code/lab8/kern/fs/sfs/sfs_io.c
 create mode 100644 code/lab8/kern/fs/sfs/sfs_lock.c
 create mode 100644 code/lab8/kern/fs/swap/swapfs.c
 create mode 100644 code/lab8/kern/fs/swap/swapfs.h
 create mode 100644 code/lab8/kern/fs/sysfile.c
 create mode 100644 code/lab8/kern/fs/sysfile.h
 create mode 100644 code/lab8/kern/fs/vfs/inode.c
 create mode 100644 code/lab8/kern/fs/vfs/inode.h
 create mode 100644 code/lab8/kern/fs/vfs/vfs.c
 create mode 100644 code/lab8/kern/fs/vfs/vfs.h
 create mode 100644 code/lab8/kern/fs/vfs/vfsdev.c
 create mode 100644 code/lab8/kern/fs/vfs/vfsfile.c
 create mode 100644 code/lab8/kern/fs/vfs/vfslookup.c
 create mode 100644 code/lab8/kern/fs/vfs/vfspath.c
 create mode 100644 code/lab8/kern/init/entry.S
 create mode 100644 code/lab8/kern/init/init.c
 create mode 100644 code/lab8/kern/libs/rb_tree.c
 create mode 100644 code/lab8/kern/libs/rb_tree.h
 create mode 100644 code/lab8/kern/libs/readline.c
 create mode 100644 code/lab8/kern/libs/stdio.c
 create mode 100644 code/lab8/kern/libs/string.c
 create mode 100644 code/lab8/kern/mm/default_pmm.c
 create mode 100644 code/lab8/kern/mm/default_pmm.h
 create mode 100644 code/lab8/kern/mm/kmalloc.c
 create mode 100644 code/lab8/kern/mm/kmalloc.h
 create mode 100644 code/lab8/kern/mm/memlayout.h
 create mode 100644 code/lab8/kern/mm/mmu.h
 create mode 100644 code/lab8/kern/mm/pmm.c
 create mode 100644 code/lab8/kern/mm/pmm.h
 create mode 100644 code/lab8/kern/mm/swap.c
 create mode 100644 code/lab8/kern/mm/swap.h
 create mode 100644 code/lab8/kern/mm/swap_fifo.c
 create mode 100644 code/lab8/kern/mm/swap_fifo.h
 create mode 100644 code/lab8/kern/mm/vmm.c
 create mode 100644 code/lab8/kern/mm/vmm.h
 create mode 100644 code/lab8/kern/process/entry.S
 create mode 100644 code/lab8/kern/process/proc.c
 create mode 100644 code/lab8/kern/process/proc.h
 create mode 100644 code/lab8/kern/process/switch.S
 create mode 100644 code/lab8/kern/schedule/default_sched.c
 create mode 100644 code/lab8/kern/schedule/default_sched.h
 create mode 100644 code/lab8/kern/schedule/default_sched_stride_c
 create mode 100644 code/lab8/kern/schedule/sched.c
 create mode 100644 code/lab8/kern/schedule/sched.h
 create mode 100644 code/lab8/kern/sync/check_sync.c
 create mode 100644 code/lab8/kern/sync/monitor.c
 create mode 100644 code/lab8/kern/sync/monitor.h
 create mode 100644 code/lab8/kern/sync/sem.c
 create mode 100644 code/lab8/kern/sync/sem.h
 create mode 100644 code/lab8/kern/sync/sync.h
 create mode 100644 code/lab8/kern/sync/wait.c
 create mode 100644 code/lab8/kern/sync/wait.h
 create mode 100644 code/lab8/kern/syscall/syscall.c
 create mode 100644 code/lab8/kern/syscall/syscall.h
 create mode 100644 code/lab8/kern/trap/trap.c
 create mode 100644 code/lab8/kern/trap/trap.h
 create mode 100644 code/lab8/kern/trap/trapentry.S
 create mode 100644 code/lab8/kern/trap/vectors.S
 create mode 100644 code/lab8/libs/atomic.h
 create mode 100644 code/lab8/libs/defs.h
 create mode 100644 code/lab8/libs/dirent.h
 create mode 100644 code/lab8/libs/elf.h
 create mode 100644 code/lab8/libs/error.h
 create mode 100644 code/lab8/libs/hash.c
 create mode 100644 code/lab8/libs/list.h
 create mode 100644 code/lab8/libs/printfmt.c
 create mode 100644 code/lab8/libs/rand.c
 create mode 100644 code/lab8/libs/skew_heap.h
 create mode 100644 code/lab8/libs/stat.h
 create mode 100644 code/lab8/libs/stdarg.h
 create mode 100644 code/lab8/libs/stdio.h
 create mode 100644 code/lab8/libs/stdlib.h
 create mode 100644 code/lab8/libs/string.c
 create mode 100644 code/lab8/libs/string.h
 create mode 100644 code/lab8/libs/unistd.h
 create mode 100644 code/lab8/libs/x86.h
 create mode 100644 code/lab8/tools/boot.ld
 create mode 100644 code/lab8/tools/function.mk
 create mode 100644 code/lab8/tools/gdbinit
 create mode 100644 code/lab8/tools/grade.sh
 create mode 100644 code/lab8/tools/kernel.ld
 create mode 100644 code/lab8/tools/mksfs.c
 create mode 100644 code/lab8/tools/sign.c
 create mode 100644 code/lab8/tools/user.ld
 create mode 100644 code/lab8/tools/vector.c
 create mode 100644 code/lab8/user/badarg.c
 create mode 100644 code/lab8/user/badsegment.c
 create mode 100644 code/lab8/user/divzero.c
 create mode 100644 code/lab8/user/exit.c
 create mode 100644 code/lab8/user/faultread.c
 create mode 100644 code/lab8/user/faultreadkernel.c
 create mode 100644 code/lab8/user/forktest.c
 create mode 100644 code/lab8/user/forktree.c
 create mode 100644 code/lab8/user/hello.c
 create mode 100644 code/lab8/user/libs/dir.c
 create mode 100644 code/lab8/user/libs/dir.h
 create mode 100644 code/lab8/user/libs/file.c
 create mode 100644 code/lab8/user/libs/file.h
 create mode 100644 code/lab8/user/libs/initcode.S
 create mode 100644 code/lab8/user/libs/lock.h
 create mode 100644 code/lab8/user/libs/panic.c
 create mode 100644 code/lab8/user/libs/stdio.c
 create mode 100644 code/lab8/user/libs/syscall.c
 create mode 100644 code/lab8/user/libs/syscall.h
 create mode 100644 code/lab8/user/libs/ulib.c
 create mode 100644 code/lab8/user/libs/ulib.h
 create mode 100644 code/lab8/user/libs/umain.c
 create mode 100644 code/lab8/user/ls.c
 create mode 100644 code/lab8/user/matrix.c
 create mode 100644 code/lab8/user/pgdir.c
 create mode 100644 code/lab8/user/priority.c
 create mode 100644 code/lab8/user/sh.c
 create mode 100644 code/lab8/user/sleep.c
 create mode 100644 code/lab8/user/sleepkill.c
 create mode 100644 code/lab8/user/softint.c
 create mode 100644 code/lab8/user/spin.c
 create mode 100644 code/lab8/user/testbss.c
 create mode 100644 code/lab8/user/waitkill.c
 create mode 100644 code/lab8/user/yield.c
 create mode 100644 doc/lab0.pdf
 create mode 100644 doc/lab1.pdf
 create mode 100644 doc/lab2.pdf
 create mode 100644 doc/lab3.pdf
 create mode 100644 doc/lab4.pdf
 create mode 100644 doc/lab5.pdf
 create mode 100644 doc/lab6.pdf
 create mode 100644 doc/lab7.pdf
 create mode 100644 doc/lab8.pdf

diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..39dca48
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,388 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) 19yy  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) 19yy name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
+--------------------------------------------------------------------------------------------
+Copyright (c) 2006-2007 Frans Kaashoek, Robert Morris, and Russ Cox
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+--------------------------------------------------------------------------------------------
+Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009
+ The President and Fellows of Harvard College.
+ 
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+  3. Neither the name of the University nor the names of its contributors
+     may be used to endorse or promote products derived from this software
+     without specific prior written permission.
+ 
+  THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY AND CONTRIBUTORS ``AS IS'' AND
+  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE UNIVERSITY OR CONTRIBUTORS BE LIABLE
+  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+  SUCH DAMAGE.
+-------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/code/lab1/Makefile b/code/lab1/Makefile
new file mode 100644
index 0000000..a828239
--- /dev/null
+++ b/code/lab1/Makefile
@@ -0,0 +1,250 @@
+PROJ	:= challenge
+EMPTY	:=
+SPACE	:= $(EMPTY) $(EMPTY)
+SLASH	:= /
+
+V       := @
+
+# try to infer the correct GCCPREFX
+ifndef GCCPREFIX
+GCCPREFIX := $(shell if i386-elf-objdump -i 2>&1 | grep '^elf32-i386$$' >/dev/null 2>&1; \
+	then echo 'i386-elf-'; \
+	elif objdump -i 2>&1 | grep 'elf32-i386' >/dev/null 2>&1; \
+	then echo ''; \
+	else echo "***" 1>&2; \
+	echo "*** Error: Couldn't find an i386-elf version of GCC/binutils." 1>&2; \
+	echo "*** Is the directory with i386-elf-gcc in your PATH?" 1>&2; \
+	echo "*** If your i386-elf toolchain is installed with a command" 1>&2; \
+	echo "*** prefix other than 'i386-elf-', set your GCCPREFIX" 1>&2; \
+	echo "*** environment variable to that prefix and run 'make' again." 1>&2; \
+	echo "*** To turn off this error, run 'gmake GCCPREFIX= ...'." 1>&2; \
+	echo "***" 1>&2; exit 1; fi)
+endif
+
+# try to infer the correct QEMU
+ifndef QEMU
+QEMU := $(shell if which qemu > /dev/null; \
+	then echo 'qemu'; exit; \
+	elif which i386-elf-qemu > /dev/null; \
+	then echo 'i386-elf-qemu'; exit; \
+	else \
+	echo "***" 1>&2; \
+	echo "*** Error: Couldn't find a working QEMU executable." 1>&2; \
+	echo "*** Is the directory containing the qemu binary in your PATH" 1>&2; \
+	echo "***" 1>&2; exit 1; fi)
+endif
+
+# eliminate default suffix rules
+.SUFFIXES: .c .S .h
+
+# delete target files if there is an error (or make is interrupted)
+.DELETE_ON_ERROR:
+
+# define compiler and flags
+
+HOSTCC		:= gcc
+HOSTCFLAGS	:= -g -Wall -O2
+
+CC		:= $(GCCPREFIX)gcc
+CFLAGS	:= -fno-builtin -Wall -ggdb -m32 -gstabs -nostdinc $(DEFS)
+CFLAGS	+= $(shell $(CC) -fno-stack-protector -E -x c /dev/null >/dev/null 2>&1 && echo -fno-stack-protector)
+CTYPE	:= c S
+
+LD      := $(GCCPREFIX)ld
+LDFLAGS	:= -m $(shell $(LD) -V | grep elf_i386 2>/dev/null)
+LDFLAGS	+= -nostdlib
+
+OBJCOPY := $(GCCPREFIX)objcopy
+OBJDUMP := $(GCCPREFIX)objdump
+
+COPY	:= cp
+MKDIR   := mkdir -p
+MV		:= mv
+RM		:= rm -f
+AWK		:= awk
+SED		:= sed
+SH		:= sh
+TR		:= tr
+TOUCH	:= touch -c
+
+OBJDIR	:= obj
+BINDIR	:= bin
+
+ALLOBJS	:=
+ALLDEPS	:=
+TARGETS	:=
+
+include tools/function.mk
+
+listf_cc = $(call listf,$(1),$(CTYPE))
+
+# for cc
+add_files_cc = $(call add_files,$(1),$(CC),$(CFLAGS) $(3),$(2),$(4))
+create_target_cc = $(call create_target,$(1),$(2),$(3),$(CC),$(CFLAGS))
+
+# for hostcc
+add_files_host = $(call add_files,$(1),$(HOSTCC),$(HOSTCFLAGS),$(2),$(3))
+create_target_host = $(call create_target,$(1),$(2),$(3),$(HOSTCC),$(HOSTCFLAGS))
+
+cgtype = $(patsubst %.$(2),%.$(3),$(1))
+objfile = $(call toobj,$(1))
+asmfile = $(call cgtype,$(call toobj,$(1)),o,asm)
+outfile = $(call cgtype,$(call toobj,$(1)),o,out)
+symfile = $(call cgtype,$(call toobj,$(1)),o,sym)
+
+# for match pattern
+match = $(shell echo $(2) | $(AWK) '{for(i=1;i<=NF;i++){if(match("$(1)","^"$$(i)"$$")){exit 1;}}}'; echo $$?)
+
+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+# include kernel/user
+
+INCLUDE	+= libs/
+
+CFLAGS	+= $(addprefix -I,$(INCLUDE))
+
+LIBDIR	+= libs
+
+$(call add_files_cc,$(call listf_cc,$(LIBDIR)),libs,)
+
+# -------------------------------------------------------------------
+# kernel
+
+KINCLUDE	+= kern/debug/ \
+			   kern/driver/ \
+			   kern/trap/ \
+			   kern/mm/
+
+KSRCDIR		+= kern/init \
+			   kern/libs \
+			   kern/debug \
+			   kern/driver \
+			   kern/trap \
+			   kern/mm
+
+KCFLAGS		+= $(addprefix -I,$(KINCLUDE))
+
+$(call add_files_cc,$(call listf_cc,$(KSRCDIR)),kernel,$(KCFLAGS))
+
+KOBJS	= $(call read_packet,kernel libs)
+
+# create kernel target
+kernel = $(call totarget,kernel)
+
+$(kernel): tools/kernel.ld
+
+$(kernel): $(KOBJS)
+	@echo + ld $@
+	$(V)$(LD) $(LDFLAGS) -T tools/kernel.ld -o $@ $(KOBJS)
+	@$(OBJDUMP) -S $@ > $(call asmfile,kernel)
+	@$(OBJDUMP) -t $@ | $(SED) '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > $(call symfile,kernel)
+
+$(call create_target,kernel)
+
+# -------------------------------------------------------------------
+
+# create bootblock
+bootfiles = $(call listf_cc,boot)
+$(foreach f,$(bootfiles),$(call cc_compile,$(f),$(CC),$(CFLAGS) -Os -nostdinc))
+
+bootblock = $(call totarget,bootblock)
+
+$(bootblock): $(call toobj,$(bootfiles)) | $(call totarget,sign)
+	@echo + ld $@
+	$(V)$(LD) $(LDFLAGS) -N -e start -Ttext 0x7C00 $^ -o $(call toobj,bootblock)
+	@$(OBJDUMP) -S $(call objfile,bootblock) > $(call asmfile,bootblock)
+	@$(OBJCOPY) -S -O binary $(call objfile,bootblock) $(call outfile,bootblock)
+	@$(call totarget,sign) $(call outfile,bootblock) $(bootblock)
+
+$(call create_target,bootblock)
+
+# -------------------------------------------------------------------
+
+# create 'sign' tools
+$(call add_files_host,tools/sign.c,sign,sign)
+$(call create_target_host,sign,sign)
+
+# -------------------------------------------------------------------
+
+# create ucore.img
+UCOREIMG	:= $(call totarget,ucore.img)
+
+$(UCOREIMG): $(kernel) $(bootblock)
+	$(V)dd if=/dev/zero of=$@ count=10000
+	$(V)dd if=$(bootblock) of=$@ conv=notrunc
+	$(V)dd if=$(kernel) of=$@ seek=1 conv=notrunc
+
+$(call create_target,ucore.img)
+
+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+$(call finish_all)
+
+IGNORE_ALLDEPS	= clean \
+				  dist-clean \
+				  grade \
+				  touch \
+				  print-.+ \
+				  handin
+
+ifeq ($(call match,$(MAKECMDGOALS),$(IGNORE_ALLDEPS)),0)
+-include $(ALLDEPS)
+endif
+
+# files for grade script
+
+TARGETS: $(TARGETS)
+
+.DEFAULT_GOAL := TARGETS
+
+.PHONY: qemu qemu-nox debug debug-nox
+qemu: $(UCOREIMG)
+	$(V)$(QEMU) -parallel stdio -hda $< -serial null
+
+qemu-nox: $(UCOREIMG)
+	$(V)$(QEMU) -serial mon:stdio -hda $< -nographic
+TERMINAL        :=gnome-terminal
+debug: $(UCOREIMG)
+	$(V)$(QEMU) -S -s -parallel stdio -hda $< -serial null &
+	$(V)sleep 2
+	$(V)$(TERMINAL) -e "gdb -q -x tools/gdbinit"
+	
+debug-nox: $(UCOREIMG)
+	$(V)$(QEMU) -S -s -serial mon:stdio -hda $< -nographic &
+	$(V)sleep 2
+	$(V)$(TERMINAL) -e "gdb -q -x tools/gdbinit"
+
+.PHONY: grade touch
+
+GRADE_GDB_IN	:= .gdb.in
+GRADE_QEMU_OUT	:= .qemu.out
+HANDIN			:= proj$(PROJ)-handin.tar.gz
+
+TOUCH_FILES		:= kern/trap/trap.c
+
+MAKEOPTS		:= --quiet --no-print-directory
+
+grade:
+	$(V)$(MAKE) $(MAKEOPTS) clean
+	$(V)$(SH) tools/grade.sh
+
+touch:
+	$(V)$(foreach f,$(TOUCH_FILES),$(TOUCH) $(f))
+
+print-%:
+	@echo $($(shell echo $(patsubst print-%,%,$@) | $(TR) [a-z] [A-Z]))
+
+.PHONY: clean dist-clean handin packall
+clean:
+	$(V)$(RM) $(GRADE_GDB_IN) $(GRADE_QEMU_OUT)
+	-$(RM) -r $(OBJDIR) $(BINDIR)
+
+dist-clean: clean
+	-$(RM) $(HANDIN)
+
+handin: packall
+	@echo Please visit http://learn.tsinghua.edu.cn and upload $(HANDIN). Thanks!
+
+packall: clean
+	@$(RM) -f $(HANDIN)
+	@tar -czf $(HANDIN) `find . -type f -o -type d | grep -v '^\.*$$' | grep -vF '$(HANDIN)'`
+
diff --git a/code/lab1/boot/asm.h b/code/lab1/boot/asm.h
new file mode 100644
index 0000000..8e0405a
--- /dev/null
+++ b/code/lab1/boot/asm.h
@@ -0,0 +1,26 @@
+#ifndef __BOOT_ASM_H__
+#define __BOOT_ASM_H__
+
+/* Assembler macros to create x86 segments */
+
+/* Normal segment */
+#define SEG_NULLASM                                             \
+    .word 0, 0;                                                 \
+    .byte 0, 0, 0, 0
+
+#define SEG_ASM(type,base,lim)                                  \
+    .word (((lim) >> 12) & 0xffff), ((base) & 0xffff);          \
+    .byte (((base) >> 16) & 0xff), (0x90 | (type)),             \
+        (0xC0 | (((lim) >> 28) & 0xf)), (((base) >> 24) & 0xff)
+
+
+/* Application segment type bits */
+#define STA_X       0x8     // Executable segment
+#define STA_E       0x4     // Expand down (non-executable segments)
+#define STA_C       0x4     // Conforming code segment (executable only)
+#define STA_W       0x2     // Writeable (non-executable segments)
+#define STA_R       0x2     // Readable (executable segments)
+#define STA_A       0x1     // Accessed
+
+#endif /* !__BOOT_ASM_H__ */
+
diff --git a/code/lab1/boot/bootasm.S b/code/lab1/boot/bootasm.S
new file mode 100644
index 0000000..35647f5
--- /dev/null
+++ b/code/lab1/boot/bootasm.S
@@ -0,0 +1,89 @@
+#include <asm.h>
+
+# Start the CPU: switch to 32-bit protected mode, jump into C.
+# The BIOS loads this code from the first sector of the hard disk into
+# memory at physical address 0x7c00 and starts executing in real mode
+# with %cs=0 %ip=7c00.
+
+.set PROT_MODE_CSEG,        0x8                     # kernel code segment selector
+.set PROT_MODE_DSEG,        0x10                    # kernel data segment selector
+.set CR0_PE_ON,             0x1                     # protected mode enable flag
+
+# start address should be 0:7c00, in real mode, the beginning address of the running bootloader
+.globl start
+start:
+.code16                                             # Assemble for 16-bit mode
+    cli                                             # Disable interrupts
+    cld                                             # String operations increment
+
+    # Set up the important data segment registers (DS, ES, SS).
+    xorw %ax, %ax                                   # Segment number zero
+    movw %ax, %ds                                   # -> Data Segment
+    movw %ax, %es                                   # -> Extra Segment
+    movw %ax, %ss                                   # -> Stack Segment
+
+    # Enable A20:
+    #  For backwards compatibility with the earliest PCs, physical
+    #  address line 20 is tied low, so that addresses higher than
+    #  1MB wrap around to zero by default. This code undoes this.
+seta20.1:
+    inb $0x64, %al                                  # Wait for not busy
+    testb $0x2, %al
+    jnz seta20.1
+
+    movb $0xd1, %al                                 # 0xd1 -> port 0x64
+    outb %al, $0x64
+
+seta20.2:
+    inb $0x64, %al                                  # Wait for not busy
+    testb $0x2, %al
+    jnz seta20.2
+
+    movb $0xdf, %al                                 # 0xdf -> port 0x60
+    outb %al, $0x60
+
+    movb $0xdf, %al                                    # 0xdf -> port 0x60
+    outb %al, $0x60
+
+    # Switch from real to protected mode, using a bootstrap GDT
+    # and segment translation that makes virtual addresses
+    # identical to physical addresses, so that the
+    # effective memory map does not change during the switch.
+    lgdt gdtdesc
+    movl %cr0, %eax
+    orl $CR0_PE_ON, %eax
+    movl %eax, %cr0
+
+    # Jump to next instruction, but in 32-bit code segment.
+    # Switches processor into 32-bit mode.
+    ljmp $PROT_MODE_CSEG, $protcseg
+
+.code32                                             # Assemble for 32-bit mode
+protcseg:
+    # Set up the protected-mode data segment registers
+    movw $PROT_MODE_DSEG, %ax                       # Our data segment selector
+    movw %ax, %ds                                   # -> DS: Data Segment
+    movw %ax, %es                                   # -> ES: Extra Segment
+    movw %ax, %fs                                   # -> FS
+    movw %ax, %gs                                   # -> GS
+    movw %ax, %ss                                   # -> SS: Stack Segment
+
+    # Set up the stack pointer and call into C. The stack region is from 0--start(0x7c00)
+    movl $0x0, %ebp
+    movl $start, %esp
+    call bootmain
+
+    # If bootmain returns (it shouldn't), loop.
+spin:
+    jmp spin
+
+# Bootstrap GDT
+.p2align 2                                          # force 4 byte alignment
+gdt:
+    SEG_NULLASM                                     # null seg
+    SEG_ASM(STA_X|STA_R, 0x0, 0xffffffff)           # code seg for bootloader and kernel
+    SEG_ASM(STA_W, 0x0, 0xffffffff)                 # data seg for bootloader and kernel
+
+gdtdesc:
+    .word 0x17                                      # sizeof(gdt) - 1
+    .long gdt                                       # address gdt
diff --git a/code/lab1/boot/bootmain.c b/code/lab1/boot/bootmain.c
new file mode 100644
index 0000000..4b55eb7
--- /dev/null
+++ b/code/lab1/boot/bootmain.c
@@ -0,0 +1,116 @@
+#include <defs.h>
+#include <x86.h>
+#include <elf.h>
+
+/* *********************************************************************
+ * This a dirt simple boot loader, whose sole job is to boot
+ * an ELF kernel image from the first IDE hard disk.
+ *
+ * DISK LAYOUT
+ *  * This program(bootasm.S and bootmain.c) is the bootloader.
+ *    It should be stored in the first sector of the disk.
+ *
+ *  * The 2nd sector onward holds the kernel image.
+ *
+ *  * The kernel image must be in ELF format.
+ *
+ * BOOT UP STEPS
+ *  * when the CPU boots it loads the BIOS into memory and executes it
+ *
+ *  * the BIOS intializes devices, sets of the interrupt routines, and
+ *    reads the first sector of the boot device(e.g., hard-drive)
+ *    into memory and jumps to it.
+ *
+ *  * Assuming this boot loader is stored in the first sector of the
+ *    hard-drive, this code takes over...
+ *
+ *  * control starts in bootasm.S -- which sets up protected mode,
+ *    and a stack so C code then run, then calls bootmain()
+ *
+ *  * bootmain() in this file takes over, reads in the kernel and jumps to it.
+ * */
+
+#define SECTSIZE        512
+#define ELFHDR          ((struct elfhdr *)0x10000)      // scratch space
+
+/* waitdisk - wait for disk ready */
+static void
+waitdisk(void) {
+    while ((inb(0x1F7) & 0xC0) != 0x40)
+        /* do nothing */;
+}
+
+/* readsect - read a single sector at @secno into @dst */
+static void
+readsect(void *dst, uint32_t secno) {
+    // wait for disk to be ready
+    waitdisk();
+
+    outb(0x1F2, 1);                         // count = 1
+    outb(0x1F3, secno & 0xFF);
+    outb(0x1F4, (secno >> 8) & 0xFF);
+    outb(0x1F5, (secno >> 16) & 0xFF);
+    outb(0x1F6, ((secno >> 24) & 0xF) | 0xE0);
+    outb(0x1F7, 0x20);                      // cmd 0x20 - read sectors
+
+    // wait for disk to be ready
+    waitdisk();
+
+    // read a sector
+    insl(0x1F0, dst, SECTSIZE / 4);
+}
+
+/* *
+ * readseg - read @count bytes at @offset from kernel into virtual address @va,
+ * might copy more than asked.
+ * */
+static void
+readseg(uintptr_t va, uint32_t count, uint32_t offset) {
+    uintptr_t end_va = va + count;
+
+    // round down to sector boundary
+    va -= offset % SECTSIZE;
+
+    // translate from bytes to sectors; kernel starts at sector 1
+    uint32_t secno = (offset / SECTSIZE) + 1;
+
+    // If this is too slow, we could read lots of sectors at a time.
+    // We'd write more to memory than asked, but it doesn't matter --
+    // we load in increasing order.
+    for (; va < end_va; va += SECTSIZE, secno ++) {
+        readsect((void *)va, secno);
+    }
+}
+
+/* bootmain - the entry of bootloader */
+void
+bootmain(void) {
+    // read the 1st page off disk
+    readseg((uintptr_t)ELFHDR, SECTSIZE * 8, 0);
+
+    // is this a valid ELF?
+    if (ELFHDR->e_magic != ELF_MAGIC) {
+        goto bad;
+    }
+
+    struct proghdr *ph, *eph;
+
+    // load each program segment (ignores ph flags)
+    ph = (struct proghdr *)((uintptr_t)ELFHDR + ELFHDR->e_phoff);
+    eph = ph + ELFHDR->e_phnum;
+    for (; ph < eph; ph ++) {
+        readseg(ph->p_va & 0xFFFFFF, ph->p_memsz, ph->p_offset);
+    }
+
+    // call the entry point from the ELF header
+    // note: does not return
+    ((void (*)(void))(ELFHDR->e_entry & 0xFFFFFF))();
+
+bad:
+    outw(0x8A00, 0x8A00);
+    outw(0x8A00, 0x8E00);
+
+    /* do nothing */
+    while (1);
+}
+
diff --git a/code/lab1/kern/debug/assert.h b/code/lab1/kern/debug/assert.h
new file mode 100644
index 0000000..ac1a966
--- /dev/null
+++ b/code/lab1/kern/debug/assert.h
@@ -0,0 +1,27 @@
+#ifndef __KERN_DEBUG_ASSERT_H__
+#define __KERN_DEBUG_ASSERT_H__
+
+#include <defs.h>
+
+void __warn(const char *file, int line, const char *fmt, ...);
+void __noreturn __panic(const char *file, int line, const char *fmt, ...);
+
+#define warn(...)                                       \
+    __warn(__FILE__, __LINE__, __VA_ARGS__)
+
+#define panic(...)                                      \
+    __panic(__FILE__, __LINE__, __VA_ARGS__)
+
+#define assert(x)                                       \
+    do {                                                \
+        if (!(x)) {                                     \
+            panic("assertion failed: %s", #x);          \
+        }                                               \
+    } while (0)
+
+// static_assert(x) will generate a compile-time error if 'x' is false.
+#define static_assert(x)                                \
+    switch (x) { case 0: case (x): ; }
+
+#endif /* !__KERN_DEBUG_ASSERT_H__ */
+
diff --git a/code/lab1/kern/debug/kdebug.c b/code/lab1/kern/debug/kdebug.c
new file mode 100644
index 0000000..27dded0
--- /dev/null
+++ b/code/lab1/kern/debug/kdebug.c
@@ -0,0 +1,306 @@
+#include <defs.h>
+#include <x86.h>
+#include <stab.h>
+#include <stdio.h>
+#include <string.h>
+#include <kdebug.h>
+
+#define STACKFRAME_DEPTH 20
+
+extern const struct stab __STAB_BEGIN__[];  // beginning of stabs table
+extern const struct stab __STAB_END__[];    // end of stabs table
+extern const char __STABSTR_BEGIN__[];      // beginning of string table
+extern const char __STABSTR_END__[];        // end of string table
+
+/* debug information about a particular instruction pointer */
+struct eipdebuginfo {
+    const char *eip_file;                   // source code filename for eip
+    int eip_line;                           // source code line number for eip
+    const char *eip_fn_name;                // name of function containing eip
+    int eip_fn_namelen;                     // length of function's name
+    uintptr_t eip_fn_addr;                  // start address of function
+    int eip_fn_narg;                        // number of function arguments
+};
+
+/* *
+ * stab_binsearch - according to the input, the initial value of
+ * range [*@region_left, *@region_right], find a single stab entry
+ * that includes the address @addr and matches the type @type,
+ * and then save its boundary to the locations that pointed
+ * by @region_left and @region_right.
+ *
+ * Some stab types are arranged in increasing order by instruction address.
+ * For example, N_FUN stabs (stab entries with n_type == N_FUN), which
+ * mark functions, and N_SO stabs, which mark source files.
+ *
+ * Given an instruction address, this function finds the single stab entry
+ * of type @type that contains that address.
+ *
+ * The search takes place within the range [*@region_left, *@region_right].
+ * Thus, to search an entire set of N stabs, you might do:
+ *
+ *      left = 0;
+ *      right = N - 1;    (rightmost stab)
+ *      stab_binsearch(stabs, &left, &right, type, addr);
+ *
+ * The search modifies *region_left and *region_right to bracket the @addr.
+ * *@region_left points to the matching stab that contains @addr,
+ * and *@region_right points just before the next stab.
+ * If *@region_left > *region_right, then @addr is not contained in any
+ * matching stab.
+ *
+ * For example, given these N_SO stabs:
+ *      Index  Type   Address
+ *      0      SO     f0100000
+ *      13     SO     f0100040
+ *      117    SO     f0100176
+ *      118    SO     f0100178
+ *      555    SO     f0100652
+ *      556    SO     f0100654
+ *      657    SO     f0100849
+ * this code:
+ *      left = 0, right = 657;
+ *      stab_binsearch(stabs, &left, &right, N_SO, 0xf0100184);
+ * will exit setting left = 118, right = 554.
+ * */
+static void
+stab_binsearch(const struct stab *stabs, int *region_left, int *region_right,
+           int type, uintptr_t addr) {
+    int l = *region_left, r = *region_right, any_matches = 0;
+
+    while (l <= r) {
+        int true_m = (l + r) / 2, m = true_m;
+
+        // search for earliest stab with right type
+        while (m >= l && stabs[m].n_type != type) {
+            m --;
+        }
+        if (m < l) {    // no match in [l, m]
+            l = true_m + 1;
+            continue;
+        }
+
+        // actual binary search
+        any_matches = 1;
+        if (stabs[m].n_value < addr) {
+            *region_left = m;
+            l = true_m + 1;
+        } else if (stabs[m].n_value > addr) {
+            *region_right = m - 1;
+            r = m - 1;
+        } else {
+            // exact match for 'addr', but continue loop to find
+            // *region_right
+            *region_left = m;
+            l = m;
+            addr ++;
+        }
+    }
+
+    if (!any_matches) {
+        *region_right = *region_left - 1;
+    }
+    else {
+        // find rightmost region containing 'addr'
+        l = *region_right;
+        for (; l > *region_left && stabs[l].n_type != type; l --)
+            /* do nothing */;
+        *region_left = l;
+    }
+}
+
+/* *
+ * debuginfo_eip - Fill in the @info structure with information about
+ * the specified instruction address, @addr.  Returns 0 if information
+ * was found, and negative if not.  But even if it returns negative it
+ * has stored some information into '*info'.
+ * */
+int
+debuginfo_eip(uintptr_t addr, struct eipdebuginfo *info) {
+    const struct stab *stabs, *stab_end;
+    const char *stabstr, *stabstr_end;
+
+    info->eip_file = "<unknown>";
+    info->eip_line = 0;
+    info->eip_fn_name = "<unknown>";
+    info->eip_fn_namelen = 9;
+    info->eip_fn_addr = addr;
+    info->eip_fn_narg = 0;
+
+    stabs = __STAB_BEGIN__;
+    stab_end = __STAB_END__;
+    stabstr = __STABSTR_BEGIN__;
+    stabstr_end = __STABSTR_END__;
+
+    // String table validity checks
+    if (stabstr_end <= stabstr || stabstr_end[-1] != 0) {
+        return -1;
+    }
+
+    // Now we find the right stabs that define the function containing
+    // 'eip'.  First, we find the basic source file containing 'eip'.
+    // Then, we look in that source file for the function.  Then we look
+    // for the line number.
+
+    // Search the entire set of stabs for the source file (type N_SO).
+    int lfile = 0, rfile = (stab_end - stabs) - 1;
+    stab_binsearch(stabs, &lfile, &rfile, N_SO, addr);
+    if (lfile == 0)
+        return -1;
+
+    // Search within that file's stabs for the function definition
+    // (N_FUN).
+    int lfun = lfile, rfun = rfile;
+    int lline, rline;
+    stab_binsearch(stabs, &lfun, &rfun, N_FUN, addr);
+
+    if (lfun <= rfun) {
+        // stabs[lfun] points to the function name
+        // in the string table, but check bounds just in case.
+        if (stabs[lfun].n_strx < stabstr_end - stabstr) {
+            info->eip_fn_name = stabstr + stabs[lfun].n_strx;
+        }
+        info->eip_fn_addr = stabs[lfun].n_value;
+        addr -= info->eip_fn_addr;
+        // Search within the function definition for the line number.
+        lline = lfun;
+        rline = rfun;
+    } else {
+        // Couldn't find function stab!  Maybe we're in an assembly
+        // file.  Search the whole file for the line number.
+        info->eip_fn_addr = addr;
+        lline = lfile;
+        rline = rfile;
+    }
+    info->eip_fn_namelen = strfind(info->eip_fn_name, ':') - info->eip_fn_name;
+
+    // Search within [lline, rline] for the line number stab.
+    // If found, set info->eip_line to the right line number.
+    // If not found, return -1.
+    stab_binsearch(stabs, &lline, &rline, N_SLINE, addr);
+    if (lline <= rline) {
+        info->eip_line = stabs[rline].n_desc;
+    } else {
+        return -1;
+    }
+
+    // Search backwards from the line number for the relevant filename stab.
+    // We can't just use the "lfile" stab because inlined functions
+    // can interpolate code from a different file!
+    // Such included source files use the N_SOL stab type.
+    while (lline >= lfile
+           && stabs[lline].n_type != N_SOL
+           && (stabs[lline].n_type != N_SO || !stabs[lline].n_value)) {
+        lline --;
+    }
+    if (lline >= lfile && stabs[lline].n_strx < stabstr_end - stabstr) {
+        info->eip_file = stabstr + stabs[lline].n_strx;
+    }
+
+    // Set eip_fn_narg to the number of arguments taken by the function,
+    // or 0 if there was no containing function.
+    if (lfun < rfun) {
+        for (lline = lfun + 1;
+             lline < rfun && stabs[lline].n_type == N_PSYM;
+             lline ++) {
+            info->eip_fn_narg ++;
+        }
+    }
+    return 0;
+}
+
+/* *
+ * print_kerninfo - print the information about kernel, including the location
+ * of kernel entry, the start addresses of data and text segements, the start
+ * address of free memory and how many memory that kernel has used.
+ * */
+void
+print_kerninfo(void) {
+    extern char etext[], edata[], end[], kern_init[];
+    cprintf("Special kernel symbols:\n");
+    cprintf("  entry  0x%08x (phys)\n", kern_init);
+    cprintf("  etext  0x%08x (phys)\n", etext);
+    cprintf("  edata  0x%08x (phys)\n", edata);
+    cprintf("  end    0x%08x (phys)\n", end);
+    cprintf("Kernel executable memory footprint: %dKB\n", (end - kern_init + 1023)/1024);
+}
+
+/* *
+ * print_debuginfo - read and print the stat information for the address @eip,
+ * and info.eip_fn_addr should be the first address of the related function.
+ * */
+void
+print_debuginfo(uintptr_t eip) {
+    struct eipdebuginfo info;
+    if (debuginfo_eip(eip, &info) != 0) {
+        cprintf("    <unknow>: -- 0x%08x --\n", eip);
+    }
+    else {
+        char fnname[256];
+        int j;
+        for (j = 0; j < info.eip_fn_namelen; j ++) {
+            fnname[j] = info.eip_fn_name[j];
+        }
+        fnname[j] = '\0';
+        cprintf("    %s:%d: %s+%d\n", info.eip_file, info.eip_line,
+                fnname, eip - info.eip_fn_addr);
+    }
+}
+
+static __noinline uint32_t
+read_eip(void) {
+    uint32_t eip;
+    asm volatile("movl 4(%%ebp), %0" : "=r" (eip));
+    return eip;
+}
+
+/* *
+ * print_stackframe - print a list of the saved eip values from the nested 'call'
+ * instructions that led to the current point of execution
+ *
+ * The x86 stack pointer, namely esp, points to the lowest location on the stack
+ * that is currently in use. Everything below that location in stack is free. Pushing
+ * a value onto the stack will invole decreasing the stack pointer and then writing
+ * the value to the place that stack pointer pointes to. And popping a value do the
+ * opposite.
+ *
+ * The ebp (base pointer) register, in contrast, is associated with the stack
+ * primarily by software convention. On entry to a C function, the function's
+ * prologue code normally saves the previous function's base pointer by pushing
+ * it onto the stack, and then copies the current esp value into ebp for the duration
+ * of the function. If all the functions in a program obey this convention,
+ * then at any given point during the program's execution, it is possible to trace
+ * back through the stack by following the chain of saved ebp pointers and determining
+ * exactly what nested sequence of function calls caused this particular point in the
+ * program to be reached. This capability can be particularly useful, for example,
+ * when a particular function causes an assert failure or panic because bad arguments
+ * were passed to it, but you aren't sure who passed the bad arguments. A stack
+ * backtrace lets you find the offending function.
+ *
+ * The inline function read_ebp() can tell us the value of current ebp. And the
+ * non-inline function read_eip() is useful, it can read the value of current eip,
+ * since while calling this function, read_eip() can read the caller's eip from
+ * stack easily.
+ *
+ * In print_debuginfo(), the function debuginfo_eip() can get enough information about
+ * calling-chain. Finally print_stackframe() will trace and print them for debugging.
+ *
+ * Note that, the length of ebp-chain is limited. In boot/bootasm.S, before jumping
+ * to the kernel entry, the value of ebp has been set to zero, that's the boundary.
+ * */
+void
+print_stackframe(void) {
+     /* LAB1 YOUR CODE : STEP 1 */
+     /* (1) call read_ebp() to get the value of ebp. the type is (uint32_t);
+      * (2) call read_eip() to get the value of eip. the type is (uint32_t);
+      * (3) from 0 .. STACKFRAME_DEPTH
+      *    (3.1) printf value of ebp, eip
+      *    (3.2) (uint32_t)calling arguments [0..4] = the contents in address (unit32_t)ebp +2 [0..4]
+      *    (3.3) cprintf("\n");
+      *    (3.4) call print_debuginfo(eip-1) to print the C calling function name and line number, etc.
+      *    (3.5) popup a calling stackframe
+      *           NOTICE: the calling funciton's return addr eip  = ss:[ebp+4]
+      *                   the calling funciton's ebp = ss:[ebp]
+      */
+}
+
diff --git a/code/lab1/kern/debug/kdebug.h b/code/lab1/kern/debug/kdebug.h
new file mode 100644
index 0000000..5f4d2c8
--- /dev/null
+++ b/code/lab1/kern/debug/kdebug.h
@@ -0,0 +1,11 @@
+#ifndef __KERN_DEBUG_KDEBUG_H__
+#define __KERN_DEBUG_KDEBUG_H__
+
+#include <defs.h>
+
+void print_kerninfo(void);
+void print_stackframe(void);
+void print_debuginfo(uintptr_t eip);
+
+#endif /* !__KERN_DEBUG_KDEBUG_H__ */
+
diff --git a/code/lab1/kern/debug/monitor.c b/code/lab1/kern/debug/monitor.c
new file mode 100644
index 0000000..644b3a6
--- /dev/null
+++ b/code/lab1/kern/debug/monitor.c
@@ -0,0 +1,128 @@
+#include <stdio.h>
+#include <string.h>
+#include <trap.h>
+#include <monitor.h>
+#include <kdebug.h>
+
+/* *
+ * Simple command-line kernel monitor useful for controlling the
+ * kernel and exploring the system interactively.
+ * */
+
+struct command {
+    const char *name;
+    const char *desc;
+    // return -1 to force monitor to exit
+    int(*func)(int argc, char **argv, struct trapframe *tf);
+};
+
+static struct command commands[] = {
+    {"help", "Display this list of commands.", mon_help},
+    {"kerninfo", "Display information about the kernel.", mon_kerninfo},
+    {"backtrace", "Print backtrace of stack frame.", mon_backtrace},
+};
+
+#define NCOMMANDS (sizeof(commands)/sizeof(struct command))
+
+/***** Kernel monitor command interpreter *****/
+
+#define MAXARGS         16
+#define WHITESPACE      " \t\n\r"
+
+/* parse - parse the command buffer into whitespace-separated arguments */
+static int
+parse(char *buf, char **argv) {
+    int argc = 0;
+    while (1) {
+        // find global whitespace
+        while (*buf != '\0' && strchr(WHITESPACE, *buf) != NULL) {
+            *buf ++ = '\0';
+        }
+        if (*buf == '\0') {
+            break;
+        }
+
+        // save and scan past next arg
+        if (argc == MAXARGS - 1) {
+            cprintf("Too many arguments (max %d).\n", MAXARGS);
+        }
+        argv[argc ++] = buf;
+        while (*buf != '\0' && strchr(WHITESPACE, *buf) == NULL) {
+            buf ++;
+        }
+    }
+    return argc;
+}
+
+/* *
+ * runcmd - parse the input string, split it into separated arguments
+ * and then lookup and invoke some related commands/
+ * */
+static int
+runcmd(char *buf, struct trapframe *tf) {
+    char *argv[MAXARGS];
+    int argc = parse(buf, argv);
+    if (argc == 0) {
+        return 0;
+    }
+    int i;
+    for (i = 0; i < NCOMMANDS; i ++) {
+        if (strcmp(commands[i].name, argv[0]) == 0) {
+            return commands[i].func(argc - 1, argv + 1, tf);
+        }
+    }
+    cprintf("Unknown command '%s'\n", argv[0]);
+    return 0;
+}
+
+/***** Implementations of basic kernel monitor commands *****/
+
+void
+monitor(struct trapframe *tf) {
+    cprintf("Welcome to the kernel debug monitor!!\n");
+    cprintf("Type 'help' for a list of commands.\n");
+
+    if (tf != NULL) {
+        print_trapframe(tf);
+    }
+
+    char *buf;
+    while (1) {
+        if ((buf = readline("K> ")) != NULL) {
+            if (runcmd(buf, tf) < 0) {
+                break;
+            }
+        }
+    }
+}
+
+/* mon_help - print the information about mon_* functions */
+int
+mon_help(int argc, char **argv, struct trapframe *tf) {
+    int i;
+    for (i = 0; i < NCOMMANDS; i ++) {
+        cprintf("%s - %s\n", commands[i].name, commands[i].desc);
+    }
+    return 0;
+}
+
+/* *
+ * mon_kerninfo - call print_kerninfo in kern/debug/kdebug.c to
+ * print the memory occupancy in kernel.
+ * */
+int
+mon_kerninfo(int argc, char **argv, struct trapframe *tf) {
+    print_kerninfo();
+    return 0;
+}
+
+/* *
+ * mon_backtrace - call print_stackframe in kern/debug/kdebug.c to
+ * print a backtrace of the stack.
+ * */
+int
+mon_backtrace(int argc, char **argv, struct trapframe *tf) {
+    print_stackframe();
+    return 0;
+}
+
diff --git a/code/lab1/kern/debug/monitor.h b/code/lab1/kern/debug/monitor.h
new file mode 100644
index 0000000..afc3f5d
--- /dev/null
+++ b/code/lab1/kern/debug/monitor.h
@@ -0,0 +1,13 @@
+#ifndef __KERN_DEBUG_MONITOR_H__
+#define __KERN_DEBUG_MONITOR_H__
+
+#include <trap.h>
+
+void monitor(struct trapframe *tf);
+
+int mon_help(int argc, char **argv, struct trapframe *tf);
+int mon_kerninfo(int argc, char **argv, struct trapframe *tf);
+int mon_backtrace(int argc, char **argv, struct trapframe *tf);
+
+#endif /* !__KERN_DEBUG_MONITOR_H__ */
+
diff --git a/code/lab1/kern/debug/panic.c b/code/lab1/kern/debug/panic.c
new file mode 100644
index 0000000..9be6c0b
--- /dev/null
+++ b/code/lab1/kern/debug/panic.c
@@ -0,0 +1,49 @@
+#include <defs.h>
+#include <stdio.h>
+#include <intr.h>
+#include <monitor.h>
+
+static bool is_panic = 0;
+
+/* *
+ * __panic - __panic is called on unresolvable fatal errors. it prints
+ * "panic: 'message'", and then enters the kernel monitor.
+ * */
+void
+__panic(const char *file, int line, const char *fmt, ...) {
+    if (is_panic) {
+        goto panic_dead;
+    }
+    is_panic = 1;
+
+    // print the 'message'
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("kernel panic at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+
+panic_dead:
+    intr_disable();
+    while (1) {
+        monitor(NULL);
+    }
+}
+
+/* __warn - like panic, but don't */
+void
+__warn(const char *file, int line, const char *fmt, ...) {
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("kernel warning at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+}
+
+bool
+is_kernel_panic(void) {
+    return is_panic;
+}
+
diff --git a/code/lab1/kern/debug/stab.h b/code/lab1/kern/debug/stab.h
new file mode 100644
index 0000000..8d5cea3
--- /dev/null
+++ b/code/lab1/kern/debug/stab.h
@@ -0,0 +1,54 @@
+#ifndef __KERN_DEBUG_STAB_H__
+#define __KERN_DEBUG_STAB_H__
+
+#include <defs.h>
+
+/* *
+ * STABS debugging info
+ *
+ * The kernel debugger can understand some debugging information in
+ * the STABS format.  For more information on this format, see
+ * http://sources.redhat.com/gdb/onlinedocs/stabs_toc.html
+ *
+ * The constants below define some symbol types used by various debuggers
+ * and compilers.  Kernel uses the N_SO, N_SOL, N_FUN, and N_SLINE types.
+ * */
+
+#define N_GSYM      0x20    // global symbol
+#define N_FNAME     0x22    // F77 function name
+#define N_FUN       0x24    // procedure name
+#define N_STSYM     0x26    // data segment variable
+#define N_LCSYM     0x28    // bss segment variable
+#define N_MAIN      0x2a    // main function name
+#define N_PC        0x30    // global Pascal symbol
+#define N_RSYM      0x40    // register variable
+#define N_SLINE     0x44    // text segment line number
+#define N_DSLINE    0x46    // data segment line number
+#define N_BSLINE    0x48    // bss segment line number
+#define N_SSYM      0x60    // structure/union element
+#define N_SO        0x64    // main source file name
+#define N_LSYM      0x80    // stack variable
+#define N_BINCL     0x82    // include file beginning
+#define N_SOL       0x84    // included source file name
+#define N_PSYM      0xa0    // parameter variable
+#define N_EINCL     0xa2    // include file end
+#define N_ENTRY     0xa4    // alternate entry point
+#define N_LBRAC     0xc0    // left bracket
+#define N_EXCL      0xc2    // deleted include file
+#define N_RBRAC     0xe0    // right bracket
+#define N_BCOMM     0xe2    // begin common
+#define N_ECOMM     0xe4    // end common
+#define N_ECOML     0xe8    // end common (local name)
+#define N_LENG      0xfe    // length of preceding entry
+
+/* Entries in the STABS table are formatted as follows. */
+struct stab {
+    uint32_t n_strx;        // index into string table of name
+    uint8_t n_type;         // type of symbol
+    uint8_t n_other;        // misc info (usually empty)
+    uint16_t n_desc;        // description field
+    uintptr_t n_value;      // value of symbol
+};
+
+#endif /* !__KERN_DEBUG_STAB_H__ */
+
diff --git a/code/lab1/kern/driver/clock.c b/code/lab1/kern/driver/clock.c
new file mode 100644
index 0000000..4e67c3b
--- /dev/null
+++ b/code/lab1/kern/driver/clock.c
@@ -0,0 +1,45 @@
+#include <x86.h>
+#include <trap.h>
+#include <stdio.h>
+#include <picirq.h>
+
+/* *
+ * Support for time-related hardware gadgets - the 8253 timer,
+ * which generates interruptes on IRQ-0.
+ * */
+
+#define IO_TIMER1           0x040               // 8253 Timer #1
+
+/* *
+ * Frequency of all three count-down timers; (TIMER_FREQ/freq)
+ * is the appropriate count to generate a frequency of freq Hz.
+ * */
+
+#define TIMER_FREQ      1193182
+#define TIMER_DIV(x)    ((TIMER_FREQ + (x) / 2) / (x))
+
+#define TIMER_MODE      (IO_TIMER1 + 3)         // timer mode port
+#define TIMER_SEL0      0x00                    // select counter 0
+#define TIMER_RATEGEN   0x04                    // mode 2, rate generator
+#define TIMER_16BIT     0x30                    // r/w counter 16 bits, LSB first
+
+volatile size_t ticks;
+
+/* *
+ * clock_init - initialize 8253 clock to interrupt 100 times per second,
+ * and then enable IRQ_TIMER.
+ * */
+void
+clock_init(void) {
+    // set 8253 timer-chip
+    outb(TIMER_MODE, TIMER_SEL0 | TIMER_RATEGEN | TIMER_16BIT);
+    outb(IO_TIMER1, TIMER_DIV(100) % 256);
+    outb(IO_TIMER1, TIMER_DIV(100) / 256);
+
+    // initialize time counter 'ticks' to zero
+    ticks = 0;
+
+    cprintf("++ setup timer interrupts\n");
+    pic_enable(IRQ_TIMER);
+}
+
diff --git a/code/lab1/kern/driver/clock.h b/code/lab1/kern/driver/clock.h
new file mode 100644
index 0000000..e22f393
--- /dev/null
+++ b/code/lab1/kern/driver/clock.h
@@ -0,0 +1,11 @@
+#ifndef __KERN_DRIVER_CLOCK_H__
+#define __KERN_DRIVER_CLOCK_H__
+
+#include <defs.h>
+
+extern volatile size_t ticks;
+
+void clock_init(void);
+
+#endif /* !__KERN_DRIVER_CLOCK_H__ */
+
diff --git a/code/lab1/kern/driver/console.c b/code/lab1/kern/driver/console.c
new file mode 100644
index 0000000..8ab42b8
--- /dev/null
+++ b/code/lab1/kern/driver/console.c
@@ -0,0 +1,455 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <kbdreg.h>
+#include <picirq.h>
+#include <trap.h>
+
+/* stupid I/O delay routine necessitated by historical PC design flaws */
+static void
+delay(void) {
+    inb(0x84);
+    inb(0x84);
+    inb(0x84);
+    inb(0x84);
+}
+
+/***** Serial I/O code *****/
+#define COM1            0x3F8
+
+#define COM_RX          0       // In:  Receive buffer (DLAB=0)
+#define COM_TX          0       // Out: Transmit buffer (DLAB=0)
+#define COM_DLL         0       // Out: Divisor Latch Low (DLAB=1)
+#define COM_DLM         1       // Out: Divisor Latch High (DLAB=1)
+#define COM_IER         1       // Out: Interrupt Enable Register
+#define COM_IER_RDI     0x01    // Enable receiver data interrupt
+#define COM_IIR         2       // In:  Interrupt ID Register
+#define COM_FCR         2       // Out: FIFO Control Register
+#define COM_LCR         3       // Out: Line Control Register
+#define COM_LCR_DLAB    0x80    // Divisor latch access bit
+#define COM_LCR_WLEN8   0x03    // Wordlength: 8 bits
+#define COM_MCR         4       // Out: Modem Control Register
+#define COM_MCR_RTS     0x02    // RTS complement
+#define COM_MCR_DTR     0x01    // DTR complement
+#define COM_MCR_OUT2    0x08    // Out2 complement
+#define COM_LSR         5       // In:  Line Status Register
+#define COM_LSR_DATA    0x01    // Data available
+#define COM_LSR_TXRDY   0x20    // Transmit buffer avail
+#define COM_LSR_TSRE    0x40    // Transmitter off
+
+#define MONO_BASE       0x3B4
+#define MONO_BUF        0xB0000
+#define CGA_BASE        0x3D4
+#define CGA_BUF         0xB8000
+#define CRT_ROWS        25
+#define CRT_COLS        80
+#define CRT_SIZE        (CRT_ROWS * CRT_COLS)
+
+#define LPTPORT         0x378
+
+static uint16_t *crt_buf;
+static uint16_t crt_pos;
+static uint16_t addr_6845;
+
+/* TEXT-mode CGA/VGA display output */
+
+static void
+cga_init(void) {
+    volatile uint16_t *cp = (uint16_t *)CGA_BUF;
+    uint16_t was = *cp;
+    *cp = (uint16_t) 0xA55A;
+    if (*cp != 0xA55A) {
+        cp = (uint16_t*)MONO_BUF;
+        addr_6845 = MONO_BASE;
+    } else {
+        *cp = was;
+        addr_6845 = CGA_BASE;
+    }
+
+    // Extract cursor location
+    uint32_t pos;
+    outb(addr_6845, 14);
+    pos = inb(addr_6845 + 1) << 8;
+    outb(addr_6845, 15);
+    pos |= inb(addr_6845 + 1);
+
+    crt_buf = (uint16_t*) cp;
+    crt_pos = pos;
+}
+
+static bool serial_exists = 0;
+
+static void
+serial_init(void) {
+    // Turn off the FIFO
+    outb(COM1 + COM_FCR, 0);
+
+    // Set speed; requires DLAB latch
+    outb(COM1 + COM_LCR, COM_LCR_DLAB);
+    outb(COM1 + COM_DLL, (uint8_t) (115200 / 9600));
+    outb(COM1 + COM_DLM, 0);
+
+    // 8 data bits, 1 stop bit, parity off; turn off DLAB latch
+    outb(COM1 + COM_LCR, COM_LCR_WLEN8 & ~COM_LCR_DLAB);
+
+    // No modem controls
+    outb(COM1 + COM_MCR, 0);
+    // Enable rcv interrupts
+    outb(COM1 + COM_IER, COM_IER_RDI);
+
+    // Clear any preexisting overrun indications and interrupts
+    // Serial port doesn't exist if COM_LSR returns 0xFF
+    serial_exists = (inb(COM1 + COM_LSR) != 0xFF);
+    (void) inb(COM1+COM_IIR);
+    (void) inb(COM1+COM_RX);
+
+    if (serial_exists) {
+        pic_enable(IRQ_COM1);
+    }
+}
+
+static void
+lpt_putc_sub(int c) {
+    int i;
+    for (i = 0; !(inb(LPTPORT + 1) & 0x80) && i < 12800; i ++) {
+        delay();
+    }
+    outb(LPTPORT + 0, c);
+    outb(LPTPORT + 2, 0x08 | 0x04 | 0x01);
+    outb(LPTPORT + 2, 0x08);
+}
+
+/* lpt_putc - copy console output to parallel port */
+static void
+lpt_putc(int c) {
+    if (c != '\b') {
+        lpt_putc_sub(c);
+    }
+    else {
+        lpt_putc_sub('\b');
+        lpt_putc_sub(' ');
+        lpt_putc_sub('\b');
+    }
+}
+
+/* cga_putc - print character to console */
+static void
+cga_putc(int c) {
+    // set black on white
+    if (!(c & ~0xFF)) {
+        c |= 0x0700;
+    }
+
+    switch (c & 0xff) {
+    case '\b':
+        if (crt_pos > 0) {
+            crt_pos --;
+            crt_buf[crt_pos] = (c & ~0xff) | ' ';
+        }
+        break;
+    case '\n':
+        crt_pos += CRT_COLS;
+    case '\r':
+        crt_pos -= (crt_pos % CRT_COLS);
+        break;
+    default:
+        crt_buf[crt_pos ++] = c;     // write the character
+        break;
+    }
+
+    // What is the purpose of this?
+    if (crt_pos >= CRT_SIZE) {
+        int i;
+        memmove(crt_buf, crt_buf + CRT_COLS, (CRT_SIZE - CRT_COLS) * sizeof(uint16_t));
+        for (i = CRT_SIZE - CRT_COLS; i < CRT_SIZE; i ++) {
+            crt_buf[i] = 0x0700 | ' ';
+        }
+        crt_pos -= CRT_COLS;
+    }
+
+    // move that little blinky thing
+    outb(addr_6845, 14);
+    outb(addr_6845 + 1, crt_pos >> 8);
+    outb(addr_6845, 15);
+    outb(addr_6845 + 1, crt_pos);
+}
+
+static void
+serial_putc_sub(int c) {
+    int i;
+    for (i = 0; !(inb(COM1 + COM_LSR) & COM_LSR_TXRDY) && i < 12800; i ++) {
+        delay();
+    }
+    outb(COM1 + COM_TX, c);
+}
+
+/* serial_putc - print character to serial port */
+static void
+serial_putc(int c) {
+    if (c != '\b') {
+        serial_putc_sub(c);
+    }
+    else {
+        serial_putc_sub('\b');
+        serial_putc_sub(' ');
+        serial_putc_sub('\b');
+    }
+}
+
+/* *
+ * Here we manage the console input buffer, where we stash characters
+ * received from the keyboard or serial port whenever the corresponding
+ * interrupt occurs.
+ * */
+
+#define CONSBUFSIZE 512
+
+static struct {
+    uint8_t buf[CONSBUFSIZE];
+    uint32_t rpos;
+    uint32_t wpos;
+} cons;
+
+/* *
+ * cons_intr - called by device interrupt routines to feed input
+ * characters into the circular console input buffer.
+ * */
+static void
+cons_intr(int (*proc)(void)) {
+    int c;
+    while ((c = (*proc)()) != -1) {
+        if (c != 0) {
+            cons.buf[cons.wpos ++] = c;
+            if (cons.wpos == CONSBUFSIZE) {
+                cons.wpos = 0;
+            }
+        }
+    }
+}
+
+/* serial_proc_data - get data from serial port */
+static int
+serial_proc_data(void) {
+    if (!(inb(COM1 + COM_LSR) & COM_LSR_DATA)) {
+        return -1;
+    }
+    int c = inb(COM1 + COM_RX);
+    if (c == 127) {
+        c = '\b';
+    }
+    return c;
+}
+
+/* serial_intr - try to feed input characters from serial port */
+void
+serial_intr(void) {
+    if (serial_exists) {
+        cons_intr(serial_proc_data);
+    }
+}
+
+/***** Keyboard input code *****/
+
+#define NO              0
+
+#define SHIFT           (1<<0)
+#define CTL             (1<<1)
+#define ALT             (1<<2)
+
+#define CAPSLOCK        (1<<3)
+#define NUMLOCK         (1<<4)
+#define SCROLLLOCK      (1<<5)
+
+#define E0ESC           (1<<6)
+
+static uint8_t shiftcode[256] = {
+    [0x1D] CTL,
+    [0x2A] SHIFT,
+    [0x36] SHIFT,
+    [0x38] ALT,
+    [0x9D] CTL,
+    [0xB8] ALT
+};
+
+static uint8_t togglecode[256] = {
+    [0x3A] CAPSLOCK,
+    [0x45] NUMLOCK,
+    [0x46] SCROLLLOCK
+};
+
+static uint8_t normalmap[256] = {
+    NO,   0x1B, '1',  '2',  '3',  '4',  '5',  '6',  // 0x00
+    '7',  '8',  '9',  '0',  '-',  '=',  '\b', '\t',
+    'q',  'w',  'e',  'r',  't',  'y',  'u',  'i',  // 0x10
+    'o',  'p',  '[',  ']',  '\n', NO,   'a',  's',
+    'd',  'f',  'g',  'h',  'j',  'k',  'l',  ';',  // 0x20
+    '\'', '`',  NO,   '\\', 'z',  'x',  'c',  'v',
+    'b',  'n',  'm',  ',',  '.',  '/',  NO,   '*',  // 0x30
+    NO,   ' ',  NO,   NO,   NO,   NO,   NO,   NO,
+    NO,   NO,   NO,   NO,   NO,   NO,   NO,   '7',  // 0x40
+    '8',  '9',  '-',  '4',  '5',  '6',  '+',  '1',
+    '2',  '3',  '0',  '.',  NO,   NO,   NO,   NO,   // 0x50
+    [0xC7] KEY_HOME,    [0x9C] '\n' /*KP_Enter*/,
+    [0xB5] '/' /*KP_Div*/,  [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+static uint8_t shiftmap[256] = {
+    NO,   033,  '!',  '@',  '#',  '$',  '%',  '^',  // 0x00
+    '&',  '*',  '(',  ')',  '_',  '+',  '\b', '\t',
+    'Q',  'W',  'E',  'R',  'T',  'Y',  'U',  'I',  // 0x10
+    'O',  'P',  '{',  '}',  '\n', NO,   'A',  'S',
+    'D',  'F',  'G',  'H',  'J',  'K',  'L',  ':',  // 0x20
+    '"',  '~',  NO,   '|',  'Z',  'X',  'C',  'V',
+    'B',  'N',  'M',  '<',  '>',  '?',  NO,   '*',  // 0x30
+    NO,   ' ',  NO,   NO,   NO,   NO,   NO,   NO,
+    NO,   NO,   NO,   NO,   NO,   NO,   NO,   '7',  // 0x40
+    '8',  '9',  '-',  '4',  '5',  '6',  '+',  '1',
+    '2',  '3',  '0',  '.',  NO,   NO,   NO,   NO,   // 0x50
+    [0xC7] KEY_HOME,    [0x9C] '\n' /*KP_Enter*/,
+    [0xB5] '/' /*KP_Div*/,  [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+#define C(x) (x - '@')
+
+static uint8_t ctlmap[256] = {
+    NO,      NO,      NO,      NO,      NO,      NO,      NO,      NO,
+    NO,      NO,      NO,      NO,      NO,      NO,      NO,      NO,
+    C('Q'),  C('W'),  C('E'),  C('R'),  C('T'),  C('Y'),  C('U'),  C('I'),
+    C('O'),  C('P'),  NO,      NO,      '\r',    NO,      C('A'),  C('S'),
+    C('D'),  C('F'),  C('G'),  C('H'),  C('J'),  C('K'),  C('L'),  NO,
+    NO,      NO,      NO,      C('\\'), C('Z'),  C('X'),  C('C'),  C('V'),
+    C('B'),  C('N'),  C('M'),  NO,      NO,      C('/'),  NO,      NO,
+    [0x97] KEY_HOME,
+    [0xB5] C('/'),      [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+static uint8_t *charcode[4] = {
+    normalmap,
+    shiftmap,
+    ctlmap,
+    ctlmap
+};
+
+/* *
+ * kbd_proc_data - get data from keyboard
+ *
+ * The kbd_proc_data() function gets data from the keyboard.
+ * If we finish a character, return it, else 0. And return -1 if no data.
+ * */
+static int
+kbd_proc_data(void) {
+    int c;
+    uint8_t data;
+    static uint32_t shift;
+
+    if ((inb(KBSTATP) & KBS_DIB) == 0) {
+        return -1;
+    }
+
+    data = inb(KBDATAP);
+
+    if (data == 0xE0) {
+        // E0 escape character
+        shift |= E0ESC;
+        return 0;
+    } else if (data & 0x80) {
+        // Key released
+        data = (shift & E0ESC ? data : data & 0x7F);
+        shift &= ~(shiftcode[data] | E0ESC);
+        return 0;
+    } else if (shift & E0ESC) {
+        // Last character was an E0 escape; or with 0x80
+        data |= 0x80;
+        shift &= ~E0ESC;
+    }
+
+    shift |= shiftcode[data];
+    shift ^= togglecode[data];
+
+    c = charcode[shift & (CTL | SHIFT)][data];
+    if (shift & CAPSLOCK) {
+        if ('a' <= c && c <= 'z')
+            c += 'A' - 'a';
+        else if ('A' <= c && c <= 'Z')
+            c += 'a' - 'A';
+    }
+
+    // Process special keys
+    // Ctrl-Alt-Del: reboot
+    if (!(~shift & (CTL | ALT)) && c == KEY_DEL) {
+        cprintf("Rebooting!\n");
+        outb(0x92, 0x3); // courtesy of Chris Frost
+    }
+    return c;
+}
+
+/* kbd_intr - try to feed input characters from keyboard */
+static void
+kbd_intr(void) {
+    cons_intr(kbd_proc_data);
+}
+
+static void
+kbd_init(void) {
+    // drain the kbd buffer
+    kbd_intr();
+    pic_enable(IRQ_KBD);
+}
+
+/* cons_init - initializes the console devices */
+void
+cons_init(void) {
+    cga_init();
+    serial_init();
+    kbd_init();
+    if (!serial_exists) {
+        cprintf("serial port does not exist!!\n");
+    }
+}
+
+/* cons_putc - print a single character @c to console devices */
+void
+cons_putc(int c) {
+    lpt_putc(c);
+    cga_putc(c);
+    serial_putc(c);
+}
+
+/* *
+ * cons_getc - return the next input character from console,
+ * or 0 if none waiting.
+ * */
+int
+cons_getc(void) {
+    int c;
+
+    // poll for any pending input characters,
+    // so that this function works even when interrupts are disabled
+    // (e.g., when called from the kernel monitor).
+    serial_intr();
+    kbd_intr();
+
+    // grab the next character from the input buffer.
+    if (cons.rpos != cons.wpos) {
+        c = cons.buf[cons.rpos ++];
+        if (cons.rpos == CONSBUFSIZE) {
+            cons.rpos = 0;
+        }
+        return c;
+    }
+    return 0;
+}
+
diff --git a/code/lab1/kern/driver/console.h b/code/lab1/kern/driver/console.h
new file mode 100644
index 0000000..72e6167
--- /dev/null
+++ b/code/lab1/kern/driver/console.h
@@ -0,0 +1,11 @@
+#ifndef __KERN_DRIVER_CONSOLE_H__
+#define __KERN_DRIVER_CONSOLE_H__
+
+void cons_init(void);
+void cons_putc(int c);
+int cons_getc(void);
+void serial_intr(void);
+void kbd_intr(void);
+
+#endif /* !__KERN_DRIVER_CONSOLE_H__ */
+
diff --git a/code/lab1/kern/driver/intr.c b/code/lab1/kern/driver/intr.c
new file mode 100644
index 0000000..e64da62
--- /dev/null
+++ b/code/lab1/kern/driver/intr.c
@@ -0,0 +1,15 @@
+#include <x86.h>
+#include <intr.h>
+
+/* intr_enable - enable irq interrupt */
+void
+intr_enable(void) {
+    sti();
+}
+
+/* intr_disable - disable irq interrupt */
+void
+intr_disable(void) {
+    cli();
+}
+
diff --git a/code/lab1/kern/driver/intr.h b/code/lab1/kern/driver/intr.h
new file mode 100644
index 0000000..5fdf7a5
--- /dev/null
+++ b/code/lab1/kern/driver/intr.h
@@ -0,0 +1,8 @@
+#ifndef __KERN_DRIVER_INTR_H__
+#define __KERN_DRIVER_INTR_H__
+
+void intr_enable(void);
+void intr_disable(void);
+
+#endif /* !__KERN_DRIVER_INTR_H__ */
+
diff --git a/code/lab1/kern/driver/kbdreg.h b/code/lab1/kern/driver/kbdreg.h
new file mode 100644
index 0000000..00dc49a
--- /dev/null
+++ b/code/lab1/kern/driver/kbdreg.h
@@ -0,0 +1,84 @@
+#ifndef __KERN_DRIVER_KBDREG_H__
+#define __KERN_DRIVER_KBDREG_H__
+
+// Special keycodes
+#define KEY_HOME            0xE0
+#define KEY_END             0xE1
+#define KEY_UP              0xE2
+#define KEY_DN              0xE3
+#define KEY_LF              0xE4
+#define KEY_RT              0xE5
+#define KEY_PGUP            0xE6
+#define KEY_PGDN            0xE7
+#define KEY_INS             0xE8
+#define KEY_DEL             0xE9
+
+
+/* This is i8042reg.h + kbdreg.h from NetBSD. */
+
+#define KBSTATP             0x64    // kbd controller status port(I)
+#define KBS_DIB             0x01    // kbd data in buffer
+#define KBS_IBF             0x02    // kbd input buffer low
+#define KBS_WARM            0x04    // kbd input buffer low
+#define BS_OCMD             0x08    // kbd output buffer has command
+#define KBS_NOSEC           0x10    // kbd security lock not engaged
+#define KBS_TERR            0x20    // kbd transmission error
+#define KBS_RERR            0x40    // kbd receive error
+#define KBS_PERR            0x80    // kbd parity error
+
+#define KBCMDP              0x64    // kbd controller port(O)
+#define KBC_RAMREAD         0x20    // read from RAM
+#define KBC_RAMWRITE        0x60    // write to RAM
+#define KBC_AUXDISABLE      0xa7    // disable auxiliary port
+#define KBC_AUXENABLE       0xa8    // enable auxiliary port
+#define KBC_AUXTEST         0xa9    // test auxiliary port
+#define KBC_KBDECHO         0xd2    // echo to keyboard port
+#define KBC_AUXECHO         0xd3    // echo to auxiliary port
+#define KBC_AUXWRITE        0xd4    // write to auxiliary port
+#define KBC_SELFTEST        0xaa    // start self-test
+#define KBC_KBDTEST         0xab    // test keyboard port
+#define KBC_KBDDISABLE      0xad    // disable keyboard port
+#define KBC_KBDENABLE       0xae    // enable keyboard port
+#define KBC_PULSE0          0xfe    // pulse output bit 0
+#define KBC_PULSE1          0xfd    // pulse output bit 1
+#define KBC_PULSE2          0xfb    // pulse output bit 2
+#define KBC_PULSE3          0xf7    // pulse output bit 3
+
+#define KBDATAP             0x60    // kbd data port(I)
+#define KBOUTP              0x60    // kbd data port(O)
+
+#define K_RDCMDBYTE         0x20
+#define K_LDCMDBYTE         0x60
+
+#define KC8_TRANS           0x40    // convert to old scan codes
+#define KC8_MDISABLE        0x20    // disable mouse
+#define KC8_KDISABLE        0x10    // disable keyboard
+#define KC8_IGNSEC          0x08    // ignore security lock
+#define KC8_CPU             0x04    // exit from protected mode reset
+#define KC8_MENABLE         0x02    // enable mouse interrupt
+#define KC8_KENABLE         0x01    // enable keyboard interrupt
+#define CMDBYTE             (KC8_TRANS|KC8_CPU|KC8_MENABLE|KC8_KENABLE)
+
+/* keyboard commands */
+#define KBC_RESET           0xFF    // reset the keyboard
+#define KBC_RESEND          0xFE    // request the keyboard resend the last byte
+#define KBC_SETDEFAULT      0xF6    // resets keyboard to its power-on defaults
+#define KBC_DISABLE         0xF5    // as per KBC_SETDEFAULT, but also disable key scanning
+#define KBC_ENABLE          0xF4    // enable key scanning
+#define KBC_TYPEMATIC       0xF3    // set typematic rate and delay
+#define KBC_SETTABLE        0xF0    // set scancode translation table
+#define KBC_MODEIND         0xED    // set mode indicators(i.e. LEDs)
+#define KBC_ECHO            0xEE    // request an echo from the keyboard
+
+/* keyboard responses */
+#define KBR_EXTENDED        0xE0    // extended key sequence
+#define KBR_RESEND          0xFE    // needs resend of command
+#define KBR_ACK             0xFA    // received a valid command
+#define KBR_OVERRUN         0x00    // flooded
+#define KBR_FAILURE         0xFD    // diagnosic failure
+#define KBR_BREAK           0xF0    // break code prefix - sent on key release
+#define KBR_RSTDONE         0xAA    // reset complete
+#define KBR_ECHO            0xEE    // echo response
+
+#endif /* !__KERN_DRIVER_KBDREG_H__ */
+
diff --git a/code/lab1/kern/driver/picirq.c b/code/lab1/kern/driver/picirq.c
new file mode 100644
index 0000000..e7f7063
--- /dev/null
+++ b/code/lab1/kern/driver/picirq.c
@@ -0,0 +1,86 @@
+#include <defs.h>
+#include <x86.h>
+#include <picirq.h>
+
+// I/O Addresses of the two programmable interrupt controllers
+#define IO_PIC1             0x20    // Master (IRQs 0-7)
+#define IO_PIC2             0xA0    // Slave (IRQs 8-15)
+
+#define IRQ_SLAVE           2       // IRQ at which slave connects to master
+
+// Current IRQ mask.
+// Initial IRQ mask has interrupt 2 enabled (for slave 8259A).
+static uint16_t irq_mask = 0xFFFF & ~(1 << IRQ_SLAVE);
+static bool did_init = 0;
+
+static void
+pic_setmask(uint16_t mask) {
+    irq_mask = mask;
+    if (did_init) {
+        outb(IO_PIC1 + 1, mask);
+        outb(IO_PIC2 + 1, mask >> 8);
+    }
+}
+
+void
+pic_enable(unsigned int irq) {
+    pic_setmask(irq_mask & ~(1 << irq));
+}
+
+/* pic_init - initialize the 8259A interrupt controllers */
+void
+pic_init(void) {
+    did_init = 1;
+
+    // mask all interrupts
+    outb(IO_PIC1 + 1, 0xFF);
+    outb(IO_PIC2 + 1, 0xFF);
+
+    // Set up master (8259A-1)
+
+    // ICW1:  0001g0hi
+    //    g:  0 = edge triggering, 1 = level triggering
+    //    h:  0 = cascaded PICs, 1 = master only
+    //    i:  0 = no ICW4, 1 = ICW4 required
+    outb(IO_PIC1, 0x11);
+
+    // ICW2:  Vector offset
+    outb(IO_PIC1 + 1, IRQ_OFFSET);
+
+    // ICW3:  (master PIC) bit mask of IR lines connected to slaves
+    //        (slave PIC) 3-bit # of slave's connection to master
+    outb(IO_PIC1 + 1, 1 << IRQ_SLAVE);
+
+    // ICW4:  000nbmap
+    //    n:  1 = special fully nested mode
+    //    b:  1 = buffered mode
+    //    m:  0 = slave PIC, 1 = master PIC
+    //        (ignored when b is 0, as the master/slave role
+    //         can be hardwired).
+    //    a:  1 = Automatic EOI mode
+    //    p:  0 = MCS-80/85 mode, 1 = intel x86 mode
+    outb(IO_PIC1 + 1, 0x3);
+
+    // Set up slave (8259A-2)
+    outb(IO_PIC2, 0x11);    // ICW1
+    outb(IO_PIC2 + 1, IRQ_OFFSET + 8);  // ICW2
+    outb(IO_PIC2 + 1, IRQ_SLAVE);       // ICW3
+    // NB Automatic EOI mode doesn't tend to work on the slave.
+    // Linux source code says it's "to be investigated".
+    outb(IO_PIC2 + 1, 0x3);             // ICW4
+
+    // OCW3:  0ef01prs
+    //   ef:  0x = NOP, 10 = clear specific mask, 11 = set specific mask
+    //    p:  0 = no polling, 1 = polling mode
+    //   rs:  0x = NOP, 10 = read IRR, 11 = read ISR
+    outb(IO_PIC1, 0x68);    // clear specific mask
+    outb(IO_PIC1, 0x0a);    // read IRR by default
+
+    outb(IO_PIC2, 0x68);    // OCW3
+    outb(IO_PIC2, 0x0a);    // OCW3
+
+    if (irq_mask != 0xFFFF) {
+        pic_setmask(irq_mask);
+    }
+}
+
diff --git a/code/lab1/kern/driver/picirq.h b/code/lab1/kern/driver/picirq.h
new file mode 100644
index 0000000..b61e72e
--- /dev/null
+++ b/code/lab1/kern/driver/picirq.h
@@ -0,0 +1,10 @@
+#ifndef __KERN_DRIVER_PICIRQ_H__
+#define __KERN_DRIVER_PICIRQ_H__
+
+void pic_init(void);
+void pic_enable(unsigned int irq);
+
+#define IRQ_OFFSET      32
+
+#endif /* !__KERN_DRIVER_PICIRQ_H__ */
+
diff --git a/code/lab1/kern/init/init.c b/code/lab1/kern/init/init.c
new file mode 100644
index 0000000..a1f3595
--- /dev/null
+++ b/code/lab1/kern/init/init.c
@@ -0,0 +1,104 @@
+#include <defs.h>
+#include <stdio.h>
+#include <string.h>
+#include <console.h>
+#include <kdebug.h>
+#include <picirq.h>
+#include <trap.h>
+#include <clock.h>
+#include <intr.h>
+#include <pmm.h>
+
+int kern_init(void) __attribute__((noreturn));
+
+static void lab1_switch_test(void);
+
+int
+kern_init(void) {
+    extern char edata[], end[];
+    memset(edata, 0, end - edata);
+
+    cons_init();                // init the console
+
+    const char *message = "(THU.CST) os is loading ...";
+    cprintf("%s\n\n", message);
+
+    print_kerninfo();
+
+    grade_backtrace();
+
+    pmm_init();                 // init physical memory management
+
+    pic_init();                 // init interrupt controller
+    idt_init();                 // init interrupt descriptor table
+
+    clock_init();               // init clock interrupt
+    intr_enable();              // enable irq interrupt
+
+    //LAB1: CAHLLENGE 1 If you try to do it, uncomment lab1_switch_test()
+    // user/kernel mode switch test
+    //lab1_switch_test();
+
+    /* do nothing */
+    while (1);
+}
+
+void __attribute__((noinline))
+grade_backtrace2(int arg0, int arg1, int arg2, int arg3) {
+    mon_backtrace(0, NULL, NULL);
+}
+
+void __attribute__((noinline))
+grade_backtrace1(int arg0, int arg1) {
+    grade_backtrace2(arg0, (int)&arg0, arg1, (int)&arg1);
+}
+
+void __attribute__((noinline))
+grade_backtrace0(int arg0, int arg1, int arg2) {
+    grade_backtrace1(arg0, arg2);
+}
+
+void
+grade_backtrace(void) {
+    grade_backtrace0(0, (int)kern_init, 0xffff0000);
+}
+
+static void
+lab1_print_cur_status(void) {
+    static int round = 0;
+    uint16_t reg1, reg2, reg3, reg4;
+    asm volatile (
+            "mov %%cs, %0;"
+            "mov %%ds, %1;"
+            "mov %%es, %2;"
+            "mov %%ss, %3;"
+            : "=m"(reg1), "=m"(reg2), "=m"(reg3), "=m"(reg4));
+    cprintf("%d: @ring %d\n", round, reg1 & 3);
+    cprintf("%d:  cs = %x\n", round, reg1);
+    cprintf("%d:  ds = %x\n", round, reg2);
+    cprintf("%d:  es = %x\n", round, reg3);
+    cprintf("%d:  ss = %x\n", round, reg4);
+    round ++;
+}
+
+static void
+lab1_switch_to_user(void) {
+    //LAB1 CHALLENGE 1 : TODO
+}
+
+static void
+lab1_switch_to_kernel(void) {
+    //LAB1 CHALLENGE 1 :  TODO
+}
+
+static void
+lab1_switch_test(void) {
+    lab1_print_cur_status();
+    cprintf("+++ switch to  user  mode +++\n");
+    lab1_switch_to_user();
+    lab1_print_cur_status();
+    cprintf("+++ switch to kernel mode +++\n");
+    lab1_switch_to_kernel();
+    lab1_print_cur_status();
+}
+
diff --git a/code/lab1/kern/libs/readline.c b/code/lab1/kern/libs/readline.c
new file mode 100644
index 0000000..67489e3
--- /dev/null
+++ b/code/lab1/kern/libs/readline.c
@@ -0,0 +1,50 @@
+#include <stdio.h>
+
+#define BUFSIZE    1024
+static char buf[BUFSIZE];
+
+/* *
+ * readline - get a line from stdin
+ * @prompt:        the string to be written to stdout
+ *
+ * The readline() function will write the input string @prompt to
+ * stdout first. If the @prompt is NULL or the empty string,
+ * no prompt is issued.
+ *
+ * This function will keep on reading characters and saving them to buffer
+ * 'buf' until '\n' or '\r' is encountered.
+ *
+ * Note that, if the length of string that will be read is longer than
+ * buffer size, the end of string will be discarded.
+ *
+ * The readline() function returns the text of the line read. If some errors
+ * are happened, NULL is returned. The return value is a global variable,
+ * thus it should be copied before it is used.
+ * */
+char *
+readline(const char *prompt) {
+    if (prompt != NULL) {
+        cprintf("%s", prompt);
+    }
+    int i = 0, c;
+    while (1) {
+        c = getchar();
+        if (c < 0) {
+            return NULL;
+        }
+        else if (c >= ' ' && i < BUFSIZE - 1) {
+            cputchar(c);
+            buf[i ++] = c;
+        }
+        else if (c == '\b' && i > 0) {
+            cputchar(c);
+            i --;
+        }
+        else if (c == '\n' || c == '\r') {
+            cputchar(c);
+            buf[i] = '\0';
+            return buf;
+        }
+    }
+}
+
diff --git a/code/lab1/kern/libs/stdio.c b/code/lab1/kern/libs/stdio.c
new file mode 100644
index 0000000..5efefcd
--- /dev/null
+++ b/code/lab1/kern/libs/stdio.c
@@ -0,0 +1,78 @@
+#include <defs.h>
+#include <stdio.h>
+#include <console.h>
+
+/* HIGH level console I/O */
+
+/* *
+ * cputch - writes a single character @c to stdout, and it will
+ * increace the value of counter pointed by @cnt.
+ * */
+static void
+cputch(int c, int *cnt) {
+    cons_putc(c);
+    (*cnt) ++;
+}
+
+/* *
+ * vcprintf - format a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want cprintf() instead.
+ * */
+int
+vcprintf(const char *fmt, va_list ap) {
+    int cnt = 0;
+    vprintfmt((void*)cputch, &cnt, fmt, ap);
+    return cnt;
+}
+
+/* *
+ * cprintf - formats a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ * */
+int
+cprintf(const char *fmt, ...) {
+    va_list ap;
+    int cnt;
+    va_start(ap, fmt);
+    cnt = vcprintf(fmt, ap);
+    va_end(ap);
+    return cnt;
+}
+
+/* cputchar - writes a single character to stdout */
+void
+cputchar(int c) {
+    cons_putc(c);
+}
+
+/* *
+ * cputs- writes the string pointed by @str to stdout and
+ * appends a newline character.
+ * */
+int
+cputs(const char *str) {
+    int cnt = 0;
+    char c;
+    while ((c = *str ++) != '\0') {
+        cputch(c, &cnt);
+    }
+    cputch('\n', &cnt);
+    return cnt;
+}
+
+/* getchar - reads a single non-zero character from stdin */
+int
+getchar(void) {
+    int c;
+    while ((c = cons_getc()) == 0)
+        /* do nothing */;
+    return c;
+}
+
diff --git a/code/lab1/kern/mm/memlayout.h b/code/lab1/kern/mm/memlayout.h
new file mode 100644
index 0000000..2d8455d
--- /dev/null
+++ b/code/lab1/kern/mm/memlayout.h
@@ -0,0 +1,29 @@
+#ifndef __KERN_MM_MEMLAYOUT_H__
+#define __KERN_MM_MEMLAYOUT_H__
+
+/* This file contains the definitions for memory management in our OS. */
+
+/* global segment number */
+#define SEG_KTEXT    1
+#define SEG_KDATA    2
+#define SEG_UTEXT    3
+#define SEG_UDATA    4
+#define SEG_TSS        5
+
+/* global descrptor numbers */
+#define GD_KTEXT    ((SEG_KTEXT) << 3)        // kernel text
+#define GD_KDATA    ((SEG_KDATA) << 3)        // kernel data
+#define GD_UTEXT    ((SEG_UTEXT) << 3)        // user text
+#define GD_UDATA    ((SEG_UDATA) << 3)        // user data
+#define GD_TSS        ((SEG_TSS) << 3)        // task segment selector
+
+#define DPL_KERNEL    (0)
+#define DPL_USER    (3)
+
+#define KERNEL_CS    ((GD_KTEXT) | DPL_KERNEL)
+#define KERNEL_DS    ((GD_KDATA) | DPL_KERNEL)
+#define USER_CS        ((GD_UTEXT) | DPL_USER)
+#define USER_DS        ((GD_UDATA) | DPL_USER)
+
+#endif /* !__KERN_MM_MEMLAYOUT_H__ */
+
diff --git a/code/lab1/kern/mm/mmu.h b/code/lab1/kern/mm/mmu.h
new file mode 100644
index 0000000..4ff779c
--- /dev/null
+++ b/code/lab1/kern/mm/mmu.h
@@ -0,0 +1,174 @@
+#ifndef __KERN_MM_MMU_H__
+#define __KERN_MM_MMU_H__
+
+/* Eflags register */
+#define FL_CF            0x00000001    // Carry Flag
+#define FL_PF            0x00000004    // Parity Flag
+#define FL_AF            0x00000010    // Auxiliary carry Flag
+#define FL_ZF            0x00000040    // Zero Flag
+#define FL_SF            0x00000080    // Sign Flag
+#define FL_TF            0x00000100    // Trap Flag
+#define FL_IF            0x00000200    // Interrupt Flag
+#define FL_DF            0x00000400    // Direction Flag
+#define FL_OF            0x00000800    // Overflow Flag
+#define FL_IOPL_MASK    0x00003000    // I/O Privilege Level bitmask
+#define FL_IOPL_0        0x00000000    //   IOPL == 0
+#define FL_IOPL_1        0x00001000    //   IOPL == 1
+#define FL_IOPL_2        0x00002000    //   IOPL == 2
+#define FL_IOPL_3        0x00003000    //   IOPL == 3
+#define FL_NT            0x00004000    // Nested Task
+#define FL_RF            0x00010000    // Resume Flag
+#define FL_VM            0x00020000    // Virtual 8086 mode
+#define FL_AC            0x00040000    // Alignment Check
+#define FL_VIF            0x00080000    // Virtual Interrupt Flag
+#define FL_VIP            0x00100000    // Virtual Interrupt Pending
+#define FL_ID            0x00200000    // ID flag
+
+/* Application segment type bits */
+#define STA_X            0x8            // Executable segment
+#define STA_E            0x4            // Expand down (non-executable segments)
+#define STA_C            0x4            // Conforming code segment (executable only)
+#define STA_W            0x2            // Writeable (non-executable segments)
+#define STA_R            0x2            // Readable (executable segments)
+#define STA_A            0x1            // Accessed
+
+/* System segment type bits */
+#define STS_T16A        0x1            // Available 16-bit TSS
+#define STS_LDT            0x2            // Local Descriptor Table
+#define STS_T16B        0x3            // Busy 16-bit TSS
+#define STS_CG16        0x4            // 16-bit Call Gate
+#define STS_TG            0x5            // Task Gate / Coum Transmitions
+#define STS_IG16        0x6            // 16-bit Interrupt Gate
+#define STS_TG16        0x7            // 16-bit Trap Gate
+#define STS_T32A        0x9            // Available 32-bit TSS
+#define STS_T32B        0xB            // Busy 32-bit TSS
+#define STS_CG32        0xC            // 32-bit Call Gate
+#define STS_IG32        0xE            // 32-bit Interrupt Gate
+#define STS_TG32        0xF            // 32-bit Trap Gate
+
+/* Gate descriptors for interrupts and traps */
+struct gatedesc {
+    unsigned gd_off_15_0 : 16;        // low 16 bits of offset in segment
+    unsigned gd_ss : 16;            // segment selector
+    unsigned gd_args : 5;            // # args, 0 for interrupt/trap gates
+    unsigned gd_rsv1 : 3;            // reserved(should be zero I guess)
+    unsigned gd_type : 4;            // type(STS_{TG,IG32,TG32})
+    unsigned gd_s : 1;                // must be 0 (system)
+    unsigned gd_dpl : 2;            // descriptor(meaning new) privilege level
+    unsigned gd_p : 1;                // Present
+    unsigned gd_off_31_16 : 16;        // high bits of offset in segment
+};
+
+/* *
+ * Set up a normal interrupt/trap gate descriptor
+ *   - istrap: 1 for a trap (= exception) gate, 0 for an interrupt gate
+ *   - sel: Code segment selector for interrupt/trap handler
+ *   - off: Offset in code segment for interrupt/trap handler
+ *   - dpl: Descriptor Privilege Level - the privilege level required
+ *          for software to invoke this interrupt/trap gate explicitly
+ *          using an int instruction.
+ * */
+#define SETGATE(gate, istrap, sel, off, dpl) {            \
+    (gate).gd_off_15_0 = (uint32_t)(off) & 0xffff;        \
+    (gate).gd_ss = (sel);                                \
+    (gate).gd_args = 0;                                    \
+    (gate).gd_rsv1 = 0;                                    \
+    (gate).gd_type = (istrap) ? STS_TG32 : STS_IG32;    \
+    (gate).gd_s = 0;                                    \
+    (gate).gd_dpl = (dpl);                                \
+    (gate).gd_p = 1;                                    \
+    (gate).gd_off_31_16 = (uint32_t)(off) >> 16;        \
+}
+
+/* Set up a call gate descriptor */
+#define SETCALLGATE(gate, ss, off, dpl) {                \
+    (gate).gd_off_15_0 = (uint32_t)(off) & 0xffff;        \
+    (gate).gd_ss = (ss);                                \
+    (gate).gd_args = 0;                                    \
+    (gate).gd_rsv1 = 0;                                    \
+    (gate).gd_type = STS_CG32;                            \
+    (gate).gd_s = 0;                                    \
+    (gate).gd_dpl = (dpl);                                \
+    (gate).gd_p = 1;                                    \
+    (gate).gd_off_31_16 = (uint32_t)(off) >> 16;        \
+}
+
+/* segment descriptors */
+struct segdesc {
+    unsigned sd_lim_15_0 : 16;        // low bits of segment limit
+    unsigned sd_base_15_0 : 16;        // low bits of segment base address
+    unsigned sd_base_23_16 : 8;        // middle bits of segment base address
+    unsigned sd_type : 4;            // segment type (see STS_ constants)
+    unsigned sd_s : 1;                // 0 = system, 1 = application
+    unsigned sd_dpl : 2;            // descriptor Privilege Level
+    unsigned sd_p : 1;                // present
+    unsigned sd_lim_19_16 : 4;        // high bits of segment limit
+    unsigned sd_avl : 1;            // unused (available for software use)
+    unsigned sd_rsv1 : 1;            // reserved
+    unsigned sd_db : 1;                // 0 = 16-bit segment, 1 = 32-bit segment
+    unsigned sd_g : 1;                // granularity: limit scaled by 4K when set
+    unsigned sd_base_31_24 : 8;        // high bits of segment base address
+};
+
+#define SEG_NULL                                            \
+    (struct segdesc){0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+
+#define SEG(type, base, lim, dpl)                        \
+    (struct segdesc){                                    \
+        ((lim) >> 12) & 0xffff, (base) & 0xffff,        \
+        ((base) >> 16) & 0xff, type, 1, dpl, 1,            \
+        (unsigned)(lim) >> 28, 0, 0, 1, 1,                \
+        (unsigned) (base) >> 24                            \
+    }
+
+#define SEG16(type, base, lim, dpl)                        \
+    (struct segdesc){                                    \
+        (lim) & 0xffff, (base) & 0xffff,                \
+        ((base) >> 16) & 0xff, type, 1, dpl, 1,            \
+        (unsigned) (lim) >> 16, 0, 0, 1, 0,                \
+        (unsigned) (base) >> 24                            \
+    }
+
+/* task state segment format (as described by the Pentium architecture book) */
+struct taskstate {
+    uint32_t ts_link;        // old ts selector
+    uintptr_t ts_esp0;        // stack pointers and segment selectors
+    uint16_t ts_ss0;        // after an increase in privilege level
+    uint16_t ts_padding1;
+    uintptr_t ts_esp1;
+    uint16_t ts_ss1;
+    uint16_t ts_padding2;
+    uintptr_t ts_esp2;
+    uint16_t ts_ss2;
+    uint16_t ts_padding3;
+    uintptr_t ts_cr3;        // page directory base
+    uintptr_t ts_eip;        // saved state from last task switch
+    uint32_t ts_eflags;
+    uint32_t ts_eax;        // more saved state (registers)
+    uint32_t ts_ecx;
+    uint32_t ts_edx;
+    uint32_t ts_ebx;
+    uintptr_t ts_esp;
+    uintptr_t ts_ebp;
+    uint32_t ts_esi;
+    uint32_t ts_edi;
+    uint16_t ts_es;            // even more saved state (segment selectors)
+    uint16_t ts_padding4;
+    uint16_t ts_cs;
+    uint16_t ts_padding5;
+    uint16_t ts_ss;
+    uint16_t ts_padding6;
+    uint16_t ts_ds;
+    uint16_t ts_padding7;
+    uint16_t ts_fs;
+    uint16_t ts_padding8;
+    uint16_t ts_gs;
+    uint16_t ts_padding9;
+    uint16_t ts_ldt;
+    uint16_t ts_padding10;
+    uint16_t ts_t;            // trap on task switch
+    uint16_t ts_iomb;        // i/o map base address
+};
+
+#endif /* !__KERN_MM_MMU_H__ */
+
diff --git a/code/lab1/kern/mm/pmm.c b/code/lab1/kern/mm/pmm.c
new file mode 100644
index 0000000..238cd14
--- /dev/null
+++ b/code/lab1/kern/mm/pmm.c
@@ -0,0 +1,99 @@
+#include <defs.h>
+#include <x86.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <pmm.h>
+
+/* *
+ * Task State Segment:
+ *
+ * The TSS may reside anywhere in memory. A special segment register called
+ * the Task Register (TR) holds a segment selector that points a valid TSS
+ * segment descriptor which resides in the GDT. Therefore, to use a TSS
+ * the following must be done in function gdt_init:
+ *   - create a TSS descriptor entry in GDT
+ *   - add enough information to the TSS in memory as needed
+ *   - load the TR register with a segment selector for that segment
+ *
+ * There are several fileds in TSS for specifying the new stack pointer when a
+ * privilege level change happens. But only the fields SS0 and ESP0 are useful
+ * in our os kernel.
+ *
+ * The field SS0 contains the stack segment selector for CPL = 0, and the ESP0
+ * contains the new ESP value for CPL = 0. When an interrupt happens in protected
+ * mode, the x86 CPU will look in the TSS for SS0 and ESP0 and load their value
+ * into SS and ESP respectively.
+ * */
+static struct taskstate ts = {0};
+
+/* *
+ * Global Descriptor Table:
+ *
+ * The kernel and user segments are identical (except for the DPL). To load
+ * the %ss register, the CPL must equal the DPL. Thus, we must duplicate the
+ * segments for the user and the kernel. Defined as follows:
+ *   - 0x0 :  unused (always faults -- for trapping NULL far pointers)
+ *   - 0x8 :  kernel code segment
+ *   - 0x10:  kernel data segment
+ *   - 0x18:  user code segment
+ *   - 0x20:  user data segment
+ *   - 0x28:  defined for tss, initialized in gdt_init
+ * */
+static struct segdesc gdt[] = {
+    SEG_NULL,
+    [SEG_KTEXT] = SEG(STA_X | STA_R, 0x0, 0xFFFFFFFF, DPL_KERNEL),
+    [SEG_KDATA] = SEG(STA_W, 0x0, 0xFFFFFFFF, DPL_KERNEL),
+    [SEG_UTEXT] = SEG(STA_X | STA_R, 0x0, 0xFFFFFFFF, DPL_USER),
+    [SEG_UDATA] = SEG(STA_W, 0x0, 0xFFFFFFFF, DPL_USER),
+    [SEG_TSS]    = SEG_NULL,
+};
+
+static struct pseudodesc gdt_pd = {
+    sizeof(gdt) - 1, (uint32_t)gdt
+};
+
+/* *
+ * lgdt - load the global descriptor table register and reset the
+ * data/code segement registers for kernel.
+ * */
+static inline void
+lgdt(struct pseudodesc *pd) {
+    asm volatile ("lgdt (%0)" :: "r" (pd));
+    asm volatile ("movw %%ax, %%gs" :: "a" (USER_DS));
+    asm volatile ("movw %%ax, %%fs" :: "a" (USER_DS));
+    asm volatile ("movw %%ax, %%es" :: "a" (KERNEL_DS));
+    asm volatile ("movw %%ax, %%ds" :: "a" (KERNEL_DS));
+    asm volatile ("movw %%ax, %%ss" :: "a" (KERNEL_DS));
+    // reload cs
+    asm volatile ("ljmp %0, $1f\n 1:\n" :: "i" (KERNEL_CS));
+}
+
+/* temporary kernel stack */
+uint8_t stack0[1024];
+
+/* gdt_init - initialize the default GDT and TSS */
+static void
+gdt_init(void) {
+    // Setup a TSS so that we can get the right stack when we trap from
+    // user to the kernel. But not safe here, it's only a temporary value,
+    // it will be set to KSTACKTOP in lab2.
+    ts.ts_esp0 = (uint32_t)&stack0 + sizeof(stack0);
+    ts.ts_ss0 = KERNEL_DS;
+
+    // initialize the TSS filed of the gdt
+    gdt[SEG_TSS] = SEG16(STS_T32A, (uint32_t)&ts, sizeof(ts), DPL_KERNEL);
+    gdt[SEG_TSS].sd_s = 0;
+
+    // reload all segment registers
+    lgdt(&gdt_pd);
+
+    // load the TSS
+    ltr(GD_TSS);
+}
+
+/* pmm_init - initialize the physical memory management */
+void
+pmm_init(void) {
+    gdt_init();
+}
+
diff --git a/code/lab1/kern/mm/pmm.h b/code/lab1/kern/mm/pmm.h
new file mode 100644
index 0000000..9b2898e
--- /dev/null
+++ b/code/lab1/kern/mm/pmm.h
@@ -0,0 +1,7 @@
+#ifndef __KERN_MM_PMM_H__
+#define __KERN_MM_PMM_H__
+
+void pmm_init(void);
+
+#endif /* !__KERN_MM_PMM_H__ */
+
diff --git a/code/lab1/kern/trap/trap.c b/code/lab1/kern/trap/trap.c
new file mode 100644
index 0000000..af78676
--- /dev/null
+++ b/code/lab1/kern/trap/trap.c
@@ -0,0 +1,187 @@
+#include <defs.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <clock.h>
+#include <trap.h>
+#include <x86.h>
+#include <stdio.h>
+#include <assert.h>
+#include <console.h>
+#include <kdebug.h>
+
+#define TICK_NUM 100
+
+static void print_ticks() {
+    cprintf("%d ticks\n",TICK_NUM);
+#ifdef DEBUG_GRADE
+    cprintf("End of Test.\n");
+    panic("EOT: kernel seems ok.");
+#endif
+}
+
+/* *
+ * Interrupt descriptor table:
+ *
+ * Must be built at run time because shifted function addresses can't
+ * be represented in relocation records.
+ * */
+static struct gatedesc idt[256] = {{0}};
+
+static struct pseudodesc idt_pd = {
+    sizeof(idt) - 1, (uintptr_t)idt
+};
+
+/* idt_init - initialize IDT to each of the entry points in kern/trap/vectors.S */
+void
+idt_init(void) {
+     /* LAB1 YOUR CODE : STEP 2 */
+     /* (1) Where are the entry addrs of each Interrupt Service Routine (ISR)?
+      *     All ISR's entry addrs are stored in __vectors. where is uintptr_t __vectors[] ?
+      *     __vectors[] is in kern/trap/vector.S which is produced by tools/vector.c
+      *     (try "make" command in lab1, then you will find vector.S in kern/trap DIR)
+      *     You can use  "extern uintptr_t __vectors[];" to define this extern variable which will be used later.
+      * (2) Now you should setup the entries of ISR in Interrupt Description Table (IDT).
+      *     Can you see idt[256] in this file? Yes, it's IDT! you can use SETGATE macro to setup each item of IDT
+      * (3) After setup the contents of IDT, you will let CPU know where is the IDT by using 'lidt' instruction.
+      *     You don't know the meaning of this instruction? just google it! and check the libs/x86.h to know more.
+      *     Notice: the argument of lidt is idt_pd. try to find it!
+      */
+}
+
+static const char *
+trapname(int trapno) {
+    static const char * const excnames[] = {
+        "Divide error",
+        "Debug",
+        "Non-Maskable Interrupt",
+        "Breakpoint",
+        "Overflow",
+        "BOUND Range Exceeded",
+        "Invalid Opcode",
+        "Device Not Available",
+        "Double Fault",
+        "Coprocessor Segment Overrun",
+        "Invalid TSS",
+        "Segment Not Present",
+        "Stack Fault",
+        "General Protection",
+        "Page Fault",
+        "(unknown trap)",
+        "x87 FPU Floating-Point Error",
+        "Alignment Check",
+        "Machine-Check",
+        "SIMD Floating-Point Exception"
+    };
+
+    if (trapno < sizeof(excnames)/sizeof(const char * const)) {
+        return excnames[trapno];
+    }
+    if (trapno >= IRQ_OFFSET && trapno < IRQ_OFFSET + 16) {
+        return "Hardware Interrupt";
+    }
+    return "(unknown trap)";
+}
+
+/* trap_in_kernel - test if trap happened in kernel */
+bool
+trap_in_kernel(struct trapframe *tf) {
+    return (tf->tf_cs == (uint16_t)KERNEL_CS);
+}
+
+static const char *IA32flags[] = {
+    "CF", NULL, "PF", NULL, "AF", NULL, "ZF", "SF",
+    "TF", "IF", "DF", "OF", NULL, NULL, "NT", NULL,
+    "RF", "VM", "AC", "VIF", "VIP", "ID", NULL, NULL,
+};
+
+void
+print_trapframe(struct trapframe *tf) {
+    cprintf("trapframe at %p\n", tf);
+    print_regs(&tf->tf_regs);
+    cprintf("  ds   0x----%04x\n", tf->tf_ds);
+    cprintf("  es   0x----%04x\n", tf->tf_es);
+    cprintf("  fs   0x----%04x\n", tf->tf_fs);
+    cprintf("  gs   0x----%04x\n", tf->tf_gs);
+    cprintf("  trap 0x%08x %s\n", tf->tf_trapno, trapname(tf->tf_trapno));
+    cprintf("  err  0x%08x\n", tf->tf_err);
+    cprintf("  eip  0x%08x\n", tf->tf_eip);
+    cprintf("  cs   0x----%04x\n", tf->tf_cs);
+    cprintf("  flag 0x%08x ", tf->tf_eflags);
+
+    int i, j;
+    for (i = 0, j = 1; i < sizeof(IA32flags) / sizeof(IA32flags[0]); i ++, j <<= 1) {
+        if ((tf->tf_eflags & j) && IA32flags[i] != NULL) {
+            cprintf("%s,", IA32flags[i]);
+        }
+    }
+    cprintf("IOPL=%d\n", (tf->tf_eflags & FL_IOPL_MASK) >> 12);
+
+    if (!trap_in_kernel(tf)) {
+        cprintf("  esp  0x%08x\n", tf->tf_esp);
+        cprintf("  ss   0x----%04x\n", tf->tf_ss);
+    }
+}
+
+void
+print_regs(struct pushregs *regs) {
+    cprintf("  edi  0x%08x\n", regs->reg_edi);
+    cprintf("  esi  0x%08x\n", regs->reg_esi);
+    cprintf("  ebp  0x%08x\n", regs->reg_ebp);
+    cprintf("  oesp 0x%08x\n", regs->reg_oesp);
+    cprintf("  ebx  0x%08x\n", regs->reg_ebx);
+    cprintf("  edx  0x%08x\n", regs->reg_edx);
+    cprintf("  ecx  0x%08x\n", regs->reg_ecx);
+    cprintf("  eax  0x%08x\n", regs->reg_eax);
+}
+
+/* trap_dispatch - dispatch based on what type of trap occurred */
+static void
+trap_dispatch(struct trapframe *tf) {
+    char c;
+
+    switch (tf->tf_trapno) {
+    case IRQ_OFFSET + IRQ_TIMER:
+        /* LAB1 YOUR CODE : STEP 3 */
+        /* handle the timer interrupt */
+        /* (1) After a timer interrupt, you should record this event using a global variable (increase it), such as ticks in kern/driver/clock.c
+         * (2) Every TICK_NUM cycle, you can print some info using a funciton, such as print_ticks().
+         * (3) Too Simple? Yes, I think so!
+         */
+        break;
+    case IRQ_OFFSET + IRQ_COM1:
+        c = cons_getc();
+        cprintf("serial [%03d] %c\n", c, c);
+        break;
+    case IRQ_OFFSET + IRQ_KBD:
+        c = cons_getc();
+        cprintf("kbd [%03d] %c\n", c, c);
+        break;
+    //LAB1 CHALLENGE 1 : YOUR CODE you should modify below codes.
+    case T_SWITCH_TOU:
+    case T_SWITCH_TOK:
+        panic("T_SWITCH_** ??\n");
+        break;
+    case IRQ_OFFSET + IRQ_IDE1:
+    case IRQ_OFFSET + IRQ_IDE2:
+        /* do nothing */
+        break;
+    default:
+        // in kernel, it must be a mistake
+        if ((tf->tf_cs & 3) == 0) {
+            print_trapframe(tf);
+            panic("unexpected trap in kernel.\n");
+        }
+    }
+}
+
+/* *
+ * trap - handles or dispatches an exception/interrupt. if and when trap() returns,
+ * the code in kern/trap/trapentry.S restores the old CPU state saved in the
+ * trapframe and then uses the iret instruction to return from the exception.
+ * */
+void
+trap(struct trapframe *tf) {
+    // dispatch based on what type of trap occurred
+    trap_dispatch(tf);
+}
+
diff --git a/code/lab1/kern/trap/trap.h b/code/lab1/kern/trap/trap.h
new file mode 100644
index 0000000..d0fb0b3
--- /dev/null
+++ b/code/lab1/kern/trap/trap.h
@@ -0,0 +1,91 @@
+#ifndef __KERN_TRAP_TRAP_H__
+#define __KERN_TRAP_TRAP_H__
+
+#include <defs.h>
+
+/* Trap Numbers */
+
+/* Processor-defined: */
+#define T_DIVIDE                0    // divide error
+#define T_DEBUG                    1    // debug exception
+#define T_NMI                    2    // non-maskable interrupt
+#define T_BRKPT                    3    // breakpoint
+#define T_OFLOW                    4    // overflow
+#define T_BOUND                    5    // bounds check
+#define T_ILLOP                    6    // illegal opcode
+#define T_DEVICE                7    // device not available
+#define T_DBLFLT                8    // double fault
+// #define T_COPROC                9    // reserved (not used since 486)
+#define T_TSS                    10    // invalid task switch segment
+#define T_SEGNP                    11    // segment not present
+#define T_STACK                    12    // stack exception
+#define T_GPFLT                    13    // general protection fault
+#define T_PGFLT                    14    // page fault
+// #define T_RES                15    // reserved
+#define T_FPERR                    16    // floating point error
+#define T_ALIGN                    17    // aligment check
+#define T_MCHK                    18    // machine check
+#define T_SIMDERR                19    // SIMD floating point error
+
+#define T_SYSCALL               0x80 // SYSCALL, ONLY FOR THIS PROJ
+
+/* Hardware IRQ numbers. We receive these as (IRQ_OFFSET + IRQ_xx) */
+#define IRQ_OFFSET                32    // IRQ 0 corresponds to int IRQ_OFFSET
+
+#define IRQ_TIMER                0
+#define IRQ_KBD                    1
+#define IRQ_COM1                4
+#define IRQ_IDE1                14
+#define IRQ_IDE2                15
+#define IRQ_ERROR                19
+#define IRQ_SPURIOUS                31
+
+/* *
+ * These are arbitrarily chosen, but with care not to overlap
+ * processor defined exceptions or interrupt vectors.
+ * */
+#define T_SWITCH_TOU                120    // user/kernel switch
+#define T_SWITCH_TOK                121    // user/kernel switch
+
+/* registers as pushed by pushal */
+struct pushregs {
+    uint32_t reg_edi;
+    uint32_t reg_esi;
+    uint32_t reg_ebp;
+    uint32_t reg_oesp;            /* Useless */
+    uint32_t reg_ebx;
+    uint32_t reg_edx;
+    uint32_t reg_ecx;
+    uint32_t reg_eax;
+};
+
+struct trapframe {
+    struct pushregs tf_regs;
+    uint16_t tf_gs;
+    uint16_t tf_padding0;
+    uint16_t tf_fs;
+    uint16_t tf_padding1;
+    uint16_t tf_es;
+    uint16_t tf_padding2;
+    uint16_t tf_ds;
+    uint16_t tf_padding3;
+    uint32_t tf_trapno;
+    /* below here defined by x86 hardware */
+    uint32_t tf_err;
+    uintptr_t tf_eip;
+    uint16_t tf_cs;
+    uint16_t tf_padding4;
+    uint32_t tf_eflags;
+    /* below here only when crossing rings, such as from user to kernel */
+    uintptr_t tf_esp;
+    uint16_t tf_ss;
+    uint16_t tf_padding5;
+} __attribute__((packed));
+
+void idt_init(void);
+void print_trapframe(struct trapframe *tf);
+void print_regs(struct pushregs *regs);
+bool trap_in_kernel(struct trapframe *tf);
+
+#endif /* !__KERN_TRAP_TRAP_H__ */
+
diff --git a/code/lab1/kern/trap/trapentry.S b/code/lab1/kern/trap/trapentry.S
new file mode 100644
index 0000000..55e29b7
--- /dev/null
+++ b/code/lab1/kern/trap/trapentry.S
@@ -0,0 +1,44 @@
+#include <memlayout.h>
+
+# vectors.S sends all traps here.
+.text
+.globl __alltraps
+__alltraps:
+    # push registers to build a trap frame
+    # therefore make the stack look like a struct trapframe
+    pushl %ds
+    pushl %es
+    pushl %fs
+    pushl %gs
+    pushal
+
+    # load GD_KDATA into %ds and %es to set up data segments for kernel
+    movl $GD_KDATA, %eax
+    movw %ax, %ds
+    movw %ax, %es
+
+    # push %esp to pass a pointer to the trapframe as an argument to trap()
+    pushl %esp
+
+    # call trap(tf), where tf=%esp
+    call trap
+
+    # pop the pushed stack pointer
+    popl %esp
+
+    # return falls through to trapret...
+.globl __trapret
+__trapret:
+    # restore registers from stack
+    popal
+
+    # restore %ds, %es, %fs and %gs
+    popl %gs
+    popl %fs
+    popl %es
+    popl %ds
+
+    # get rid of the trap number and error code
+    addl $0x8, %esp
+    iret
+
diff --git a/code/lab1/kern/trap/vectors.S b/code/lab1/kern/trap/vectors.S
new file mode 100644
index 0000000..1d05b4a
--- /dev/null
+++ b/code/lab1/kern/trap/vectors.S
@@ -0,0 +1,1536 @@
+# handler
+.text
+.globl __alltraps
+.globl vector0
+vector0:
+  pushl $0
+  pushl $0
+  jmp __alltraps
+.globl vector1
+vector1:
+  pushl $0
+  pushl $1
+  jmp __alltraps
+.globl vector2
+vector2:
+  pushl $0
+  pushl $2
+  jmp __alltraps
+.globl vector3
+vector3:
+  pushl $0
+  pushl $3
+  jmp __alltraps
+.globl vector4
+vector4:
+  pushl $0
+  pushl $4
+  jmp __alltraps
+.globl vector5
+vector5:
+  pushl $0
+  pushl $5
+  jmp __alltraps
+.globl vector6
+vector6:
+  pushl $0
+  pushl $6
+  jmp __alltraps
+.globl vector7
+vector7:
+  pushl $0
+  pushl $7
+  jmp __alltraps
+.globl vector8
+vector8:
+  pushl $8
+  jmp __alltraps
+.globl vector9
+vector9:
+  pushl $9
+  jmp __alltraps
+.globl vector10
+vector10:
+  pushl $10
+  jmp __alltraps
+.globl vector11
+vector11:
+  pushl $11
+  jmp __alltraps
+.globl vector12
+vector12:
+  pushl $12
+  jmp __alltraps
+.globl vector13
+vector13:
+  pushl $13
+  jmp __alltraps
+.globl vector14
+vector14:
+  pushl $14
+  jmp __alltraps
+.globl vector15
+vector15:
+  pushl $0
+  pushl $15
+  jmp __alltraps
+.globl vector16
+vector16:
+  pushl $0
+  pushl $16
+  jmp __alltraps
+.globl vector17
+vector17:
+  pushl $17
+  jmp __alltraps
+.globl vector18
+vector18:
+  pushl $0
+  pushl $18
+  jmp __alltraps
+.globl vector19
+vector19:
+  pushl $0
+  pushl $19
+  jmp __alltraps
+.globl vector20
+vector20:
+  pushl $0
+  pushl $20
+  jmp __alltraps
+.globl vector21
+vector21:
+  pushl $0
+  pushl $21
+  jmp __alltraps
+.globl vector22
+vector22:
+  pushl $0
+  pushl $22
+  jmp __alltraps
+.globl vector23
+vector23:
+  pushl $0
+  pushl $23
+  jmp __alltraps
+.globl vector24
+vector24:
+  pushl $0
+  pushl $24
+  jmp __alltraps
+.globl vector25
+vector25:
+  pushl $0
+  pushl $25
+  jmp __alltraps
+.globl vector26
+vector26:
+  pushl $0
+  pushl $26
+  jmp __alltraps
+.globl vector27
+vector27:
+  pushl $0
+  pushl $27
+  jmp __alltraps
+.globl vector28
+vector28:
+  pushl $0
+  pushl $28
+  jmp __alltraps
+.globl vector29
+vector29:
+  pushl $0
+  pushl $29
+  jmp __alltraps
+.globl vector30
+vector30:
+  pushl $0
+  pushl $30
+  jmp __alltraps
+.globl vector31
+vector31:
+  pushl $0
+  pushl $31
+  jmp __alltraps
+.globl vector32
+vector32:
+  pushl $0
+  pushl $32
+  jmp __alltraps
+.globl vector33
+vector33:
+  pushl $0
+  pushl $33
+  jmp __alltraps
+.globl vector34
+vector34:
+  pushl $0
+  pushl $34
+  jmp __alltraps
+.globl vector35
+vector35:
+  pushl $0
+  pushl $35
+  jmp __alltraps
+.globl vector36
+vector36:
+  pushl $0
+  pushl $36
+  jmp __alltraps
+.globl vector37
+vector37:
+  pushl $0
+  pushl $37
+  jmp __alltraps
+.globl vector38
+vector38:
+  pushl $0
+  pushl $38
+  jmp __alltraps
+.globl vector39
+vector39:
+  pushl $0
+  pushl $39
+  jmp __alltraps
+.globl vector40
+vector40:
+  pushl $0
+  pushl $40
+  jmp __alltraps
+.globl vector41
+vector41:
+  pushl $0
+  pushl $41
+  jmp __alltraps
+.globl vector42
+vector42:
+  pushl $0
+  pushl $42
+  jmp __alltraps
+.globl vector43
+vector43:
+  pushl $0
+  pushl $43
+  jmp __alltraps
+.globl vector44
+vector44:
+  pushl $0
+  pushl $44
+  jmp __alltraps
+.globl vector45
+vector45:
+  pushl $0
+  pushl $45
+  jmp __alltraps
+.globl vector46
+vector46:
+  pushl $0
+  pushl $46
+  jmp __alltraps
+.globl vector47
+vector47:
+  pushl $0
+  pushl $47
+  jmp __alltraps
+.globl vector48
+vector48:
+  pushl $0
+  pushl $48
+  jmp __alltraps
+.globl vector49
+vector49:
+  pushl $0
+  pushl $49
+  jmp __alltraps
+.globl vector50
+vector50:
+  pushl $0
+  pushl $50
+  jmp __alltraps
+.globl vector51
+vector51:
+  pushl $0
+  pushl $51
+  jmp __alltraps
+.globl vector52
+vector52:
+  pushl $0
+  pushl $52
+  jmp __alltraps
+.globl vector53
+vector53:
+  pushl $0
+  pushl $53
+  jmp __alltraps
+.globl vector54
+vector54:
+  pushl $0
+  pushl $54
+  jmp __alltraps
+.globl vector55
+vector55:
+  pushl $0
+  pushl $55
+  jmp __alltraps
+.globl vector56
+vector56:
+  pushl $0
+  pushl $56
+  jmp __alltraps
+.globl vector57
+vector57:
+  pushl $0
+  pushl $57
+  jmp __alltraps
+.globl vector58
+vector58:
+  pushl $0
+  pushl $58
+  jmp __alltraps
+.globl vector59
+vector59:
+  pushl $0
+  pushl $59
+  jmp __alltraps
+.globl vector60
+vector60:
+  pushl $0
+  pushl $60
+  jmp __alltraps
+.globl vector61
+vector61:
+  pushl $0
+  pushl $61
+  jmp __alltraps
+.globl vector62
+vector62:
+  pushl $0
+  pushl $62
+  jmp __alltraps
+.globl vector63
+vector63:
+  pushl $0
+  pushl $63
+  jmp __alltraps
+.globl vector64
+vector64:
+  pushl $0
+  pushl $64
+  jmp __alltraps
+.globl vector65
+vector65:
+  pushl $0
+  pushl $65
+  jmp __alltraps
+.globl vector66
+vector66:
+  pushl $0
+  pushl $66
+  jmp __alltraps
+.globl vector67
+vector67:
+  pushl $0
+  pushl $67
+  jmp __alltraps
+.globl vector68
+vector68:
+  pushl $0
+  pushl $68
+  jmp __alltraps
+.globl vector69
+vector69:
+  pushl $0
+  pushl $69
+  jmp __alltraps
+.globl vector70
+vector70:
+  pushl $0
+  pushl $70
+  jmp __alltraps
+.globl vector71
+vector71:
+  pushl $0
+  pushl $71
+  jmp __alltraps
+.globl vector72
+vector72:
+  pushl $0
+  pushl $72
+  jmp __alltraps
+.globl vector73
+vector73:
+  pushl $0
+  pushl $73
+  jmp __alltraps
+.globl vector74
+vector74:
+  pushl $0
+  pushl $74
+  jmp __alltraps
+.globl vector75
+vector75:
+  pushl $0
+  pushl $75
+  jmp __alltraps
+.globl vector76
+vector76:
+  pushl $0
+  pushl $76
+  jmp __alltraps
+.globl vector77
+vector77:
+  pushl $0
+  pushl $77
+  jmp __alltraps
+.globl vector78
+vector78:
+  pushl $0
+  pushl $78
+  jmp __alltraps
+.globl vector79
+vector79:
+  pushl $0
+  pushl $79
+  jmp __alltraps
+.globl vector80
+vector80:
+  pushl $0
+  pushl $80
+  jmp __alltraps
+.globl vector81
+vector81:
+  pushl $0
+  pushl $81
+  jmp __alltraps
+.globl vector82
+vector82:
+  pushl $0
+  pushl $82
+  jmp __alltraps
+.globl vector83
+vector83:
+  pushl $0
+  pushl $83
+  jmp __alltraps
+.globl vector84
+vector84:
+  pushl $0
+  pushl $84
+  jmp __alltraps
+.globl vector85
+vector85:
+  pushl $0
+  pushl $85
+  jmp __alltraps
+.globl vector86
+vector86:
+  pushl $0
+  pushl $86
+  jmp __alltraps
+.globl vector87
+vector87:
+  pushl $0
+  pushl $87
+  jmp __alltraps
+.globl vector88
+vector88:
+  pushl $0
+  pushl $88
+  jmp __alltraps
+.globl vector89
+vector89:
+  pushl $0
+  pushl $89
+  jmp __alltraps
+.globl vector90
+vector90:
+  pushl $0
+  pushl $90
+  jmp __alltraps
+.globl vector91
+vector91:
+  pushl $0
+  pushl $91
+  jmp __alltraps
+.globl vector92
+vector92:
+  pushl $0
+  pushl $92
+  jmp __alltraps
+.globl vector93
+vector93:
+  pushl $0
+  pushl $93
+  jmp __alltraps
+.globl vector94
+vector94:
+  pushl $0
+  pushl $94
+  jmp __alltraps
+.globl vector95
+vector95:
+  pushl $0
+  pushl $95
+  jmp __alltraps
+.globl vector96
+vector96:
+  pushl $0
+  pushl $96
+  jmp __alltraps
+.globl vector97
+vector97:
+  pushl $0
+  pushl $97
+  jmp __alltraps
+.globl vector98
+vector98:
+  pushl $0
+  pushl $98
+  jmp __alltraps
+.globl vector99
+vector99:
+  pushl $0
+  pushl $99
+  jmp __alltraps
+.globl vector100
+vector100:
+  pushl $0
+  pushl $100
+  jmp __alltraps
+.globl vector101
+vector101:
+  pushl $0
+  pushl $101
+  jmp __alltraps
+.globl vector102
+vector102:
+  pushl $0
+  pushl $102
+  jmp __alltraps
+.globl vector103
+vector103:
+  pushl $0
+  pushl $103
+  jmp __alltraps
+.globl vector104
+vector104:
+  pushl $0
+  pushl $104
+  jmp __alltraps
+.globl vector105
+vector105:
+  pushl $0
+  pushl $105
+  jmp __alltraps
+.globl vector106
+vector106:
+  pushl $0
+  pushl $106
+  jmp __alltraps
+.globl vector107
+vector107:
+  pushl $0
+  pushl $107
+  jmp __alltraps
+.globl vector108
+vector108:
+  pushl $0
+  pushl $108
+  jmp __alltraps
+.globl vector109
+vector109:
+  pushl $0
+  pushl $109
+  jmp __alltraps
+.globl vector110
+vector110:
+  pushl $0
+  pushl $110
+  jmp __alltraps
+.globl vector111
+vector111:
+  pushl $0
+  pushl $111
+  jmp __alltraps
+.globl vector112
+vector112:
+  pushl $0
+  pushl $112
+  jmp __alltraps
+.globl vector113
+vector113:
+  pushl $0
+  pushl $113
+  jmp __alltraps
+.globl vector114
+vector114:
+  pushl $0
+  pushl $114
+  jmp __alltraps
+.globl vector115
+vector115:
+  pushl $0
+  pushl $115
+  jmp __alltraps
+.globl vector116
+vector116:
+  pushl $0
+  pushl $116
+  jmp __alltraps
+.globl vector117
+vector117:
+  pushl $0
+  pushl $117
+  jmp __alltraps
+.globl vector118
+vector118:
+  pushl $0
+  pushl $118
+  jmp __alltraps
+.globl vector119
+vector119:
+  pushl $0
+  pushl $119
+  jmp __alltraps
+.globl vector120
+vector120:
+  pushl $0
+  pushl $120
+  jmp __alltraps
+.globl vector121
+vector121:
+  pushl $0
+  pushl $121
+  jmp __alltraps
+.globl vector122
+vector122:
+  pushl $0
+  pushl $122
+  jmp __alltraps
+.globl vector123
+vector123:
+  pushl $0
+  pushl $123
+  jmp __alltraps
+.globl vector124
+vector124:
+  pushl $0
+  pushl $124
+  jmp __alltraps
+.globl vector125
+vector125:
+  pushl $0
+  pushl $125
+  jmp __alltraps
+.globl vector126
+vector126:
+  pushl $0
+  pushl $126
+  jmp __alltraps
+.globl vector127
+vector127:
+  pushl $0
+  pushl $127
+  jmp __alltraps
+.globl vector128
+vector128:
+  pushl $0
+  pushl $128
+  jmp __alltraps
+.globl vector129
+vector129:
+  pushl $0
+  pushl $129
+  jmp __alltraps
+.globl vector130
+vector130:
+  pushl $0
+  pushl $130
+  jmp __alltraps
+.globl vector131
+vector131:
+  pushl $0
+  pushl $131
+  jmp __alltraps
+.globl vector132
+vector132:
+  pushl $0
+  pushl $132
+  jmp __alltraps
+.globl vector133
+vector133:
+  pushl $0
+  pushl $133
+  jmp __alltraps
+.globl vector134
+vector134:
+  pushl $0
+  pushl $134
+  jmp __alltraps
+.globl vector135
+vector135:
+  pushl $0
+  pushl $135
+  jmp __alltraps
+.globl vector136
+vector136:
+  pushl $0
+  pushl $136
+  jmp __alltraps
+.globl vector137
+vector137:
+  pushl $0
+  pushl $137
+  jmp __alltraps
+.globl vector138
+vector138:
+  pushl $0
+  pushl $138
+  jmp __alltraps
+.globl vector139
+vector139:
+  pushl $0
+  pushl $139
+  jmp __alltraps
+.globl vector140
+vector140:
+  pushl $0
+  pushl $140
+  jmp __alltraps
+.globl vector141
+vector141:
+  pushl $0
+  pushl $141
+  jmp __alltraps
+.globl vector142
+vector142:
+  pushl $0
+  pushl $142
+  jmp __alltraps
+.globl vector143
+vector143:
+  pushl $0
+  pushl $143
+  jmp __alltraps
+.globl vector144
+vector144:
+  pushl $0
+  pushl $144
+  jmp __alltraps
+.globl vector145
+vector145:
+  pushl $0
+  pushl $145
+  jmp __alltraps
+.globl vector146
+vector146:
+  pushl $0
+  pushl $146
+  jmp __alltraps
+.globl vector147
+vector147:
+  pushl $0
+  pushl $147
+  jmp __alltraps
+.globl vector148
+vector148:
+  pushl $0
+  pushl $148
+  jmp __alltraps
+.globl vector149
+vector149:
+  pushl $0
+  pushl $149
+  jmp __alltraps
+.globl vector150
+vector150:
+  pushl $0
+  pushl $150
+  jmp __alltraps
+.globl vector151
+vector151:
+  pushl $0
+  pushl $151
+  jmp __alltraps
+.globl vector152
+vector152:
+  pushl $0
+  pushl $152
+  jmp __alltraps
+.globl vector153
+vector153:
+  pushl $0
+  pushl $153
+  jmp __alltraps
+.globl vector154
+vector154:
+  pushl $0
+  pushl $154
+  jmp __alltraps
+.globl vector155
+vector155:
+  pushl $0
+  pushl $155
+  jmp __alltraps
+.globl vector156
+vector156:
+  pushl $0
+  pushl $156
+  jmp __alltraps
+.globl vector157
+vector157:
+  pushl $0
+  pushl $157
+  jmp __alltraps
+.globl vector158
+vector158:
+  pushl $0
+  pushl $158
+  jmp __alltraps
+.globl vector159
+vector159:
+  pushl $0
+  pushl $159
+  jmp __alltraps
+.globl vector160
+vector160:
+  pushl $0
+  pushl $160
+  jmp __alltraps
+.globl vector161
+vector161:
+  pushl $0
+  pushl $161
+  jmp __alltraps
+.globl vector162
+vector162:
+  pushl $0
+  pushl $162
+  jmp __alltraps
+.globl vector163
+vector163:
+  pushl $0
+  pushl $163
+  jmp __alltraps
+.globl vector164
+vector164:
+  pushl $0
+  pushl $164
+  jmp __alltraps
+.globl vector165
+vector165:
+  pushl $0
+  pushl $165
+  jmp __alltraps
+.globl vector166
+vector166:
+  pushl $0
+  pushl $166
+  jmp __alltraps
+.globl vector167
+vector167:
+  pushl $0
+  pushl $167
+  jmp __alltraps
+.globl vector168
+vector168:
+  pushl $0
+  pushl $168
+  jmp __alltraps
+.globl vector169
+vector169:
+  pushl $0
+  pushl $169
+  jmp __alltraps
+.globl vector170
+vector170:
+  pushl $0
+  pushl $170
+  jmp __alltraps
+.globl vector171
+vector171:
+  pushl $0
+  pushl $171
+  jmp __alltraps
+.globl vector172
+vector172:
+  pushl $0
+  pushl $172
+  jmp __alltraps
+.globl vector173
+vector173:
+  pushl $0
+  pushl $173
+  jmp __alltraps
+.globl vector174
+vector174:
+  pushl $0
+  pushl $174
+  jmp __alltraps
+.globl vector175
+vector175:
+  pushl $0
+  pushl $175
+  jmp __alltraps
+.globl vector176
+vector176:
+  pushl $0
+  pushl $176
+  jmp __alltraps
+.globl vector177
+vector177:
+  pushl $0
+  pushl $177
+  jmp __alltraps
+.globl vector178
+vector178:
+  pushl $0
+  pushl $178
+  jmp __alltraps
+.globl vector179
+vector179:
+  pushl $0
+  pushl $179
+  jmp __alltraps
+.globl vector180
+vector180:
+  pushl $0
+  pushl $180
+  jmp __alltraps
+.globl vector181
+vector181:
+  pushl $0
+  pushl $181
+  jmp __alltraps
+.globl vector182
+vector182:
+  pushl $0
+  pushl $182
+  jmp __alltraps
+.globl vector183
+vector183:
+  pushl $0
+  pushl $183
+  jmp __alltraps
+.globl vector184
+vector184:
+  pushl $0
+  pushl $184
+  jmp __alltraps
+.globl vector185
+vector185:
+  pushl $0
+  pushl $185
+  jmp __alltraps
+.globl vector186
+vector186:
+  pushl $0
+  pushl $186
+  jmp __alltraps
+.globl vector187
+vector187:
+  pushl $0
+  pushl $187
+  jmp __alltraps
+.globl vector188
+vector188:
+  pushl $0
+  pushl $188
+  jmp __alltraps
+.globl vector189
+vector189:
+  pushl $0
+  pushl $189
+  jmp __alltraps
+.globl vector190
+vector190:
+  pushl $0
+  pushl $190
+  jmp __alltraps
+.globl vector191
+vector191:
+  pushl $0
+  pushl $191
+  jmp __alltraps
+.globl vector192
+vector192:
+  pushl $0
+  pushl $192
+  jmp __alltraps
+.globl vector193
+vector193:
+  pushl $0
+  pushl $193
+  jmp __alltraps
+.globl vector194
+vector194:
+  pushl $0
+  pushl $194
+  jmp __alltraps
+.globl vector195
+vector195:
+  pushl $0
+  pushl $195
+  jmp __alltraps
+.globl vector196
+vector196:
+  pushl $0
+  pushl $196
+  jmp __alltraps
+.globl vector197
+vector197:
+  pushl $0
+  pushl $197
+  jmp __alltraps
+.globl vector198
+vector198:
+  pushl $0
+  pushl $198
+  jmp __alltraps
+.globl vector199
+vector199:
+  pushl $0
+  pushl $199
+  jmp __alltraps
+.globl vector200
+vector200:
+  pushl $0
+  pushl $200
+  jmp __alltraps
+.globl vector201
+vector201:
+  pushl $0
+  pushl $201
+  jmp __alltraps
+.globl vector202
+vector202:
+  pushl $0
+  pushl $202
+  jmp __alltraps
+.globl vector203
+vector203:
+  pushl $0
+  pushl $203
+  jmp __alltraps
+.globl vector204
+vector204:
+  pushl $0
+  pushl $204
+  jmp __alltraps
+.globl vector205
+vector205:
+  pushl $0
+  pushl $205
+  jmp __alltraps
+.globl vector206
+vector206:
+  pushl $0
+  pushl $206
+  jmp __alltraps
+.globl vector207
+vector207:
+  pushl $0
+  pushl $207
+  jmp __alltraps
+.globl vector208
+vector208:
+  pushl $0
+  pushl $208
+  jmp __alltraps
+.globl vector209
+vector209:
+  pushl $0
+  pushl $209
+  jmp __alltraps
+.globl vector210
+vector210:
+  pushl $0
+  pushl $210
+  jmp __alltraps
+.globl vector211
+vector211:
+  pushl $0
+  pushl $211
+  jmp __alltraps
+.globl vector212
+vector212:
+  pushl $0
+  pushl $212
+  jmp __alltraps
+.globl vector213
+vector213:
+  pushl $0
+  pushl $213
+  jmp __alltraps
+.globl vector214
+vector214:
+  pushl $0
+  pushl $214
+  jmp __alltraps
+.globl vector215
+vector215:
+  pushl $0
+  pushl $215
+  jmp __alltraps
+.globl vector216
+vector216:
+  pushl $0
+  pushl $216
+  jmp __alltraps
+.globl vector217
+vector217:
+  pushl $0
+  pushl $217
+  jmp __alltraps
+.globl vector218
+vector218:
+  pushl $0
+  pushl $218
+  jmp __alltraps
+.globl vector219
+vector219:
+  pushl $0
+  pushl $219
+  jmp __alltraps
+.globl vector220
+vector220:
+  pushl $0
+  pushl $220
+  jmp __alltraps
+.globl vector221
+vector221:
+  pushl $0
+  pushl $221
+  jmp __alltraps
+.globl vector222
+vector222:
+  pushl $0
+  pushl $222
+  jmp __alltraps
+.globl vector223
+vector223:
+  pushl $0
+  pushl $223
+  jmp __alltraps
+.globl vector224
+vector224:
+  pushl $0
+  pushl $224
+  jmp __alltraps
+.globl vector225
+vector225:
+  pushl $0
+  pushl $225
+  jmp __alltraps
+.globl vector226
+vector226:
+  pushl $0
+  pushl $226
+  jmp __alltraps
+.globl vector227
+vector227:
+  pushl $0
+  pushl $227
+  jmp __alltraps
+.globl vector228
+vector228:
+  pushl $0
+  pushl $228
+  jmp __alltraps
+.globl vector229
+vector229:
+  pushl $0
+  pushl $229
+  jmp __alltraps
+.globl vector230
+vector230:
+  pushl $0
+  pushl $230
+  jmp __alltraps
+.globl vector231
+vector231:
+  pushl $0
+  pushl $231
+  jmp __alltraps
+.globl vector232
+vector232:
+  pushl $0
+  pushl $232
+  jmp __alltraps
+.globl vector233
+vector233:
+  pushl $0
+  pushl $233
+  jmp __alltraps
+.globl vector234
+vector234:
+  pushl $0
+  pushl $234
+  jmp __alltraps
+.globl vector235
+vector235:
+  pushl $0
+  pushl $235
+  jmp __alltraps
+.globl vector236
+vector236:
+  pushl $0
+  pushl $236
+  jmp __alltraps
+.globl vector237
+vector237:
+  pushl $0
+  pushl $237
+  jmp __alltraps
+.globl vector238
+vector238:
+  pushl $0
+  pushl $238
+  jmp __alltraps
+.globl vector239
+vector239:
+  pushl $0
+  pushl $239
+  jmp __alltraps
+.globl vector240
+vector240:
+  pushl $0
+  pushl $240
+  jmp __alltraps
+.globl vector241
+vector241:
+  pushl $0
+  pushl $241
+  jmp __alltraps
+.globl vector242
+vector242:
+  pushl $0
+  pushl $242
+  jmp __alltraps
+.globl vector243
+vector243:
+  pushl $0
+  pushl $243
+  jmp __alltraps
+.globl vector244
+vector244:
+  pushl $0
+  pushl $244
+  jmp __alltraps
+.globl vector245
+vector245:
+  pushl $0
+  pushl $245
+  jmp __alltraps
+.globl vector246
+vector246:
+  pushl $0
+  pushl $246
+  jmp __alltraps
+.globl vector247
+vector247:
+  pushl $0
+  pushl $247
+  jmp __alltraps
+.globl vector248
+vector248:
+  pushl $0
+  pushl $248
+  jmp __alltraps
+.globl vector249
+vector249:
+  pushl $0
+  pushl $249
+  jmp __alltraps
+.globl vector250
+vector250:
+  pushl $0
+  pushl $250
+  jmp __alltraps
+.globl vector251
+vector251:
+  pushl $0
+  pushl $251
+  jmp __alltraps
+.globl vector252
+vector252:
+  pushl $0
+  pushl $252
+  jmp __alltraps
+.globl vector253
+vector253:
+  pushl $0
+  pushl $253
+  jmp __alltraps
+.globl vector254
+vector254:
+  pushl $0
+  pushl $254
+  jmp __alltraps
+.globl vector255
+vector255:
+  pushl $0
+  pushl $255
+  jmp __alltraps
+
+# vector table
+.data
+.globl __vectors
+__vectors:
+  .long vector0
+  .long vector1
+  .long vector2
+  .long vector3
+  .long vector4
+  .long vector5
+  .long vector6
+  .long vector7
+  .long vector8
+  .long vector9
+  .long vector10
+  .long vector11
+  .long vector12
+  .long vector13
+  .long vector14
+  .long vector15
+  .long vector16
+  .long vector17
+  .long vector18
+  .long vector19
+  .long vector20
+  .long vector21
+  .long vector22
+  .long vector23
+  .long vector24
+  .long vector25
+  .long vector26
+  .long vector27
+  .long vector28
+  .long vector29
+  .long vector30
+  .long vector31
+  .long vector32
+  .long vector33
+  .long vector34
+  .long vector35
+  .long vector36
+  .long vector37
+  .long vector38
+  .long vector39
+  .long vector40
+  .long vector41
+  .long vector42
+  .long vector43
+  .long vector44
+  .long vector45
+  .long vector46
+  .long vector47
+  .long vector48
+  .long vector49
+  .long vector50
+  .long vector51
+  .long vector52
+  .long vector53
+  .long vector54
+  .long vector55
+  .long vector56
+  .long vector57
+  .long vector58
+  .long vector59
+  .long vector60
+  .long vector61
+  .long vector62
+  .long vector63
+  .long vector64
+  .long vector65
+  .long vector66
+  .long vector67
+  .long vector68
+  .long vector69
+  .long vector70
+  .long vector71
+  .long vector72
+  .long vector73
+  .long vector74
+  .long vector75
+  .long vector76
+  .long vector77
+  .long vector78
+  .long vector79
+  .long vector80
+  .long vector81
+  .long vector82
+  .long vector83
+  .long vector84
+  .long vector85
+  .long vector86
+  .long vector87
+  .long vector88
+  .long vector89
+  .long vector90
+  .long vector91
+  .long vector92
+  .long vector93
+  .long vector94
+  .long vector95
+  .long vector96
+  .long vector97
+  .long vector98
+  .long vector99
+  .long vector100
+  .long vector101
+  .long vector102
+  .long vector103
+  .long vector104
+  .long vector105
+  .long vector106
+  .long vector107
+  .long vector108
+  .long vector109
+  .long vector110
+  .long vector111
+  .long vector112
+  .long vector113
+  .long vector114
+  .long vector115
+  .long vector116
+  .long vector117
+  .long vector118
+  .long vector119
+  .long vector120
+  .long vector121
+  .long vector122
+  .long vector123
+  .long vector124
+  .long vector125
+  .long vector126
+  .long vector127
+  .long vector128
+  .long vector129
+  .long vector130
+  .long vector131
+  .long vector132
+  .long vector133
+  .long vector134
+  .long vector135
+  .long vector136
+  .long vector137
+  .long vector138
+  .long vector139
+  .long vector140
+  .long vector141
+  .long vector142
+  .long vector143
+  .long vector144
+  .long vector145
+  .long vector146
+  .long vector147
+  .long vector148
+  .long vector149
+  .long vector150
+  .long vector151
+  .long vector152
+  .long vector153
+  .long vector154
+  .long vector155
+  .long vector156
+  .long vector157
+  .long vector158
+  .long vector159
+  .long vector160
+  .long vector161
+  .long vector162
+  .long vector163
+  .long vector164
+  .long vector165
+  .long vector166
+  .long vector167
+  .long vector168
+  .long vector169
+  .long vector170
+  .long vector171
+  .long vector172
+  .long vector173
+  .long vector174
+  .long vector175
+  .long vector176
+  .long vector177
+  .long vector178
+  .long vector179
+  .long vector180
+  .long vector181
+  .long vector182
+  .long vector183
+  .long vector184
+  .long vector185
+  .long vector186
+  .long vector187
+  .long vector188
+  .long vector189
+  .long vector190
+  .long vector191
+  .long vector192
+  .long vector193
+  .long vector194
+  .long vector195
+  .long vector196
+  .long vector197
+  .long vector198
+  .long vector199
+  .long vector200
+  .long vector201
+  .long vector202
+  .long vector203
+  .long vector204
+  .long vector205
+  .long vector206
+  .long vector207
+  .long vector208
+  .long vector209
+  .long vector210
+  .long vector211
+  .long vector212
+  .long vector213
+  .long vector214
+  .long vector215
+  .long vector216
+  .long vector217
+  .long vector218
+  .long vector219
+  .long vector220
+  .long vector221
+  .long vector222
+  .long vector223
+  .long vector224
+  .long vector225
+  .long vector226
+  .long vector227
+  .long vector228
+  .long vector229
+  .long vector230
+  .long vector231
+  .long vector232
+  .long vector233
+  .long vector234
+  .long vector235
+  .long vector236
+  .long vector237
+  .long vector238
+  .long vector239
+  .long vector240
+  .long vector241
+  .long vector242
+  .long vector243
+  .long vector244
+  .long vector245
+  .long vector246
+  .long vector247
+  .long vector248
+  .long vector249
+  .long vector250
+  .long vector251
+  .long vector252
+  .long vector253
+  .long vector254
+  .long vector255
diff --git a/code/lab1/libs/defs.h b/code/lab1/libs/defs.h
new file mode 100644
index 0000000..88f280e
--- /dev/null
+++ b/code/lab1/libs/defs.h
@@ -0,0 +1,68 @@
+#ifndef __LIBS_DEFS_H__
+#define __LIBS_DEFS_H__
+
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+#define __always_inline inline __attribute__((always_inline))
+#define __noinline __attribute__((noinline))
+#define __noreturn __attribute__((noreturn))
+
+/* Represents true-or-false values */
+typedef int bool;
+
+/* Explicitly-sized versions of integer types */
+typedef char int8_t;
+typedef unsigned char uint8_t;
+typedef short int16_t;
+typedef unsigned short uint16_t;
+typedef int int32_t;
+typedef unsigned int uint32_t;
+typedef long long int64_t;
+typedef unsigned long long uint64_t;
+
+/* *
+ * Pointers and addresses are 32 bits long.
+ * We use pointer types to represent addresses,
+ * uintptr_t to represent the numerical values of addresses.
+ * */
+typedef int32_t intptr_t;
+typedef uint32_t uintptr_t;
+
+/* size_t is used for memory object sizes */
+typedef uintptr_t size_t;
+
+/* used for page numbers */
+typedef size_t ppn_t;
+
+/* *
+ * Rounding operations (efficient when n is a power of 2)
+ * Round down to the nearest multiple of n
+ * */
+#define ROUNDDOWN(a, n) ({                                          \
+            size_t __a = (size_t)(a);                               \
+            (typeof(a))(__a - __a % (n));                           \
+        })
+
+/* Round up to the nearest multiple of n */
+#define ROUNDUP(a, n) ({                                            \
+            size_t __n = (size_t)(n);                               \
+            (typeof(a))(ROUNDDOWN((size_t)(a) + __n - 1, __n));     \
+        })
+
+/* Return the offset of 'member' relative to the beginning of a struct type */
+#define offsetof(type, member)                                      \
+    ((size_t)(&((type *)0)->member))
+
+/* *
+ * to_struct - get the struct from a ptr
+ * @ptr:    a struct pointer of member
+ * @type:   the type of the struct this is embedded in
+ * @member: the name of the member within the struct
+ * */
+#define to_struct(ptr, type, member)                               \
+    ((type *)((char *)(ptr) - offsetof(type, member)))
+
+#endif /* !__LIBS_DEFS_H__ */
+
diff --git a/code/lab1/libs/elf.h b/code/lab1/libs/elf.h
new file mode 100644
index 0000000..29f7061
--- /dev/null
+++ b/code/lab1/libs/elf.h
@@ -0,0 +1,40 @@
+#ifndef __LIBS_ELF_H__
+#define __LIBS_ELF_H__
+
+#include <defs.h>
+
+#define ELF_MAGIC    0x464C457FU            // "\x7FELF" in little endian
+
+/* file header */
+struct elfhdr {
+    uint32_t e_magic;     // must equal ELF_MAGIC
+    uint8_t e_elf[12];
+    uint16_t e_type;      // 1=relocatable, 2=executable, 3=shared object, 4=core image
+    uint16_t e_machine;   // 3=x86, 4=68K, etc.
+    uint32_t e_version;   // file version, always 1
+    uint32_t e_entry;     // entry point if executable
+    uint32_t e_phoff;     // file position of program header or 0
+    uint32_t e_shoff;     // file position of section header or 0
+    uint32_t e_flags;     // architecture-specific flags, usually 0
+    uint16_t e_ehsize;    // size of this elf header
+    uint16_t e_phentsize; // size of an entry in program header
+    uint16_t e_phnum;     // number of entries in program header or 0
+    uint16_t e_shentsize; // size of an entry in section header
+    uint16_t e_shnum;     // number of entries in section header or 0
+    uint16_t e_shstrndx;  // section number that contains section name strings
+};
+
+/* program section header */
+struct proghdr {
+    uint32_t p_type;   // loadable code or data, dynamic linking info,etc.
+    uint32_t p_offset; // file offset of segment
+    uint32_t p_va;     // virtual address to map segment
+    uint32_t p_pa;     // physical address, not used
+    uint32_t p_filesz; // size of segment in file
+    uint32_t p_memsz;  // size of segment in memory (bigger if contains bss)
+    uint32_t p_flags;  // read/write/execute bits
+    uint32_t p_align;  // required alignment, invariably hardware page size
+};
+
+#endif /* !__LIBS_ELF_H__ */
+
diff --git a/code/lab1/libs/error.h b/code/lab1/libs/error.h
new file mode 100644
index 0000000..bafc169
--- /dev/null
+++ b/code/lab1/libs/error.h
@@ -0,0 +1,16 @@
+#ifndef __LIBS_ERROR_H__
+#define __LIBS_ERROR_H__
+
+/* kernel error codes -- keep in sync with list in lib/printfmt.c */
+#define E_UNSPECIFIED        1    // Unspecified or unknown problem
+#define E_BAD_PROC            2    // Process doesn't exist or otherwise
+#define E_INVAL                3    // Invalid parameter
+#define E_NO_MEM            4    // Request failed due to memory shortage
+#define E_NO_FREE_PROC        5    // Attempt to create a new process beyond
+#define E_FAULT                6    // Memory fault
+
+/* the maximum allowed */
+#define MAXERROR            6
+
+#endif /* !__LIBS_ERROR_H__ */
+
diff --git a/code/lab1/libs/printfmt.c b/code/lab1/libs/printfmt.c
new file mode 100644
index 0000000..2a7f40b
--- /dev/null
+++ b/code/lab1/libs/printfmt.c
@@ -0,0 +1,340 @@
+#include <defs.h>
+#include <x86.h>
+#include <error.h>
+#include <stdio.h>
+#include <string.h>
+
+/* *
+ * Space or zero padding and a field width are supported for the numeric
+ * formats only.
+ *
+ * The special format %e takes an integer error code
+ * and prints a string describing the error.
+ * The integer may be positive or negative,
+ * so that -E_NO_MEM and E_NO_MEM are equivalent.
+ * */
+
+static const char * const error_string[MAXERROR + 1] = {
+    [0]                        NULL,
+    [E_UNSPECIFIED]            "unspecified error",
+    [E_BAD_PROC]            "bad process",
+    [E_INVAL]                "invalid parameter",
+    [E_NO_MEM]                "out of memory",
+    [E_NO_FREE_PROC]        "out of processes",
+    [E_FAULT]                "segmentation fault",
+};
+
+/* *
+ * printnum - print a number (base <= 16) in reverse order
+ * @putch:        specified putch function, print a single character
+ * @putdat:        used by @putch function
+ * @num:        the number will be printed
+ * @base:        base for print, must be in [1, 16]
+ * @width:         maximum number of digits, if the actual width is less than @width, use @padc instead
+ * @padc:        character that padded on the left if the actual width is less than @width
+ * */
+static void
+printnum(void (*putch)(int, void*), void *putdat,
+        unsigned long long num, unsigned base, int width, int padc) {
+    unsigned long long result = num;
+    unsigned mod = do_div(result, base);
+
+    // first recursively print all preceding (more significant) digits
+    if (num >= base) {
+        printnum(putch, putdat, result, base, width - 1, padc);
+    } else {
+        // print any needed pad characters before first digit
+        while (-- width > 0)
+            putch(padc, putdat);
+    }
+    // then print this (the least significant) digit
+    putch("0123456789abcdef"[mod], putdat);
+}
+
+/* *
+ * getuint - get an unsigned int of various possible sizes from a varargs list
+ * @ap:            a varargs list pointer
+ * @lflag:        determines the size of the vararg that @ap points to
+ * */
+static unsigned long long
+getuint(va_list *ap, int lflag) {
+    if (lflag >= 2) {
+        return va_arg(*ap, unsigned long long);
+    }
+    else if (lflag) {
+        return va_arg(*ap, unsigned long);
+    }
+    else {
+        return va_arg(*ap, unsigned int);
+    }
+}
+
+/* *
+ * getint - same as getuint but signed, we can't use getuint because of sign extension
+ * @ap:            a varargs list pointer
+ * @lflag:        determines the size of the vararg that @ap points to
+ * */
+static long long
+getint(va_list *ap, int lflag) {
+    if (lflag >= 2) {
+        return va_arg(*ap, long long);
+    }
+    else if (lflag) {
+        return va_arg(*ap, long);
+    }
+    else {
+        return va_arg(*ap, int);
+    }
+}
+
+/* *
+ * printfmt - format a string and print it by using putch
+ * @putch:        specified putch function, print a single character
+ * @putdat:        used by @putch function
+ * @fmt:        the format string to use
+ * */
+void
+printfmt(void (*putch)(int, void*), void *putdat, const char *fmt, ...) {
+    va_list ap;
+
+    va_start(ap, fmt);
+    vprintfmt(putch, putdat, fmt, ap);
+    va_end(ap);
+}
+
+/* *
+ * vprintfmt - format a string and print it by using putch, it's called with a va_list
+ * instead of a variable number of arguments
+ * @putch:        specified putch function, print a single character
+ * @putdat:        used by @putch function
+ * @fmt:        the format string to use
+ * @ap:            arguments for the format string
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want printfmt() instead.
+ * */
+void
+vprintfmt(void (*putch)(int, void*), void *putdat, const char *fmt, va_list ap) {
+    register const char *p;
+    register int ch, err;
+    unsigned long long num;
+    int base, width, precision, lflag, altflag;
+
+    while (1) {
+        while ((ch = *(unsigned char *)fmt ++) != '%') {
+            if (ch == '\0') {
+                return;
+            }
+            putch(ch, putdat);
+        }
+
+        // Process a %-escape sequence
+        char padc = ' ';
+        width = precision = -1;
+        lflag = altflag = 0;
+
+    reswitch:
+        switch (ch = *(unsigned char *)fmt ++) {
+
+        // flag to pad on the right
+        case '-':
+            padc = '-';
+            goto reswitch;
+
+        // flag to pad with 0's instead of spaces
+        case '0':
+            padc = '0';
+            goto reswitch;
+
+        // width field
+        case '1' ... '9':
+            for (precision = 0; ; ++ fmt) {
+                precision = precision * 10 + ch - '0';
+                ch = *fmt;
+                if (ch < '0' || ch > '9') {
+                    break;
+                }
+            }
+            goto process_precision;
+
+        case '*':
+            precision = va_arg(ap, int);
+            goto process_precision;
+
+        case '.':
+            if (width < 0)
+                width = 0;
+            goto reswitch;
+
+        case '#':
+            altflag = 1;
+            goto reswitch;
+
+        process_precision:
+            if (width < 0)
+                width = precision, precision = -1;
+            goto reswitch;
+
+        // long flag (doubled for long long)
+        case 'l':
+            lflag ++;
+            goto reswitch;
+
+        // character
+        case 'c':
+            putch(va_arg(ap, int), putdat);
+            break;
+
+        // error message
+        case 'e':
+            err = va_arg(ap, int);
+            if (err < 0) {
+                err = -err;
+            }
+            if (err > MAXERROR || (p = error_string[err]) == NULL) {
+                printfmt(putch, putdat, "error %d", err);
+            }
+            else {
+                printfmt(putch, putdat, "%s", p);
+            }
+            break;
+
+        // string
+        case 's':
+            if ((p = va_arg(ap, char *)) == NULL) {
+                p = "(null)";
+            }
+            if (width > 0 && padc != '-') {
+                for (width -= strnlen(p, precision); width > 0; width --) {
+                    putch(padc, putdat);
+                }
+            }
+            for (; (ch = *p ++) != '\0' && (precision < 0 || -- precision >= 0); width --) {
+                if (altflag && (ch < ' ' || ch > '~')) {
+                    putch('?', putdat);
+                }
+                else {
+                    putch(ch, putdat);
+                }
+            }
+            for (; width > 0; width --) {
+                putch(' ', putdat);
+            }
+            break;
+
+        // (signed) decimal
+        case 'd':
+            num = getint(&ap, lflag);
+            if ((long long)num < 0) {
+                putch('-', putdat);
+                num = -(long long)num;
+            }
+            base = 10;
+            goto number;
+
+        // unsigned decimal
+        case 'u':
+            num = getuint(&ap, lflag);
+            base = 10;
+            goto number;
+
+        // (unsigned) octal
+        case 'o':
+            num = getuint(&ap, lflag);
+            base = 8;
+            goto number;
+
+        // pointer
+        case 'p':
+            putch('0', putdat);
+            putch('x', putdat);
+            num = (unsigned long long)(uintptr_t)va_arg(ap, void *);
+            base = 16;
+            goto number;
+
+        // (unsigned) hexadecimal
+        case 'x':
+            num = getuint(&ap, lflag);
+            base = 16;
+        number:
+            printnum(putch, putdat, num, base, width, padc);
+            break;
+
+        // escaped '%' character
+        case '%':
+            putch(ch, putdat);
+            break;
+
+        // unrecognized escape sequence - just print it literally
+        default:
+            putch('%', putdat);
+            for (fmt --; fmt[-1] != '%'; fmt --)
+                /* do nothing */;
+            break;
+        }
+    }
+}
+
+/* sprintbuf is used to save enough information of a buffer */
+struct sprintbuf {
+    char *buf;            // address pointer points to the first unused memory
+    char *ebuf;            // points the end of the buffer
+    int cnt;            // the number of characters that have been placed in this buffer
+};
+
+/* *
+ * sprintputch - 'print' a single character in a buffer
+ * @ch:            the character will be printed
+ * @b:            the buffer to place the character @ch
+ * */
+static void
+sprintputch(int ch, struct sprintbuf *b) {
+    b->cnt ++;
+    if (b->buf < b->ebuf) {
+        *b->buf ++ = ch;
+    }
+}
+
+/* *
+ * snprintf - format a string and place it in a buffer
+ * @str:        the buffer to place the result into
+ * @size:        the size of buffer, including the trailing null space
+ * @fmt:        the format string to use
+ * */
+int
+snprintf(char *str, size_t size, const char *fmt, ...) {
+    va_list ap;
+    int cnt;
+    va_start(ap, fmt);
+    cnt = vsnprintf(str, size, fmt, ap);
+    va_end(ap);
+    return cnt;
+}
+
+/* *
+ * vsnprintf - format a string and place it in a buffer, it's called with a va_list
+ * instead of a variable number of arguments
+ * @str:        the buffer to place the result into
+ * @size:        the size of buffer, including the trailing null space
+ * @fmt:        the format string to use
+ * @ap:            arguments for the format string
+ *
+ * The return value is the number of characters which would be generated for the
+ * given input, excluding the trailing '\0'.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want snprintf() instead.
+ * */
+int
+vsnprintf(char *str, size_t size, const char *fmt, va_list ap) {
+    struct sprintbuf b = {str, str + size - 1, 0};
+    if (str == NULL || b.buf > b.ebuf) {
+        return -E_INVAL;
+    }
+    // print the string to the buffer
+    vprintfmt((void*)sprintputch, &b, fmt, ap);
+    // null terminate the buffer
+    *b.buf = '\0';
+    return b.cnt;
+}
+
diff --git a/code/lab1/libs/stdarg.h b/code/lab1/libs/stdarg.h
new file mode 100644
index 0000000..f6e0758
--- /dev/null
+++ b/code/lab1/libs/stdarg.h
@@ -0,0 +1,12 @@
+#ifndef __LIBS_STDARG_H__
+#define __LIBS_STDARG_H__
+
+/* compiler provides size of save area */
+typedef __builtin_va_list va_list;
+
+#define va_start(ap, last)              (__builtin_va_start(ap, last))
+#define va_arg(ap, type)                (__builtin_va_arg(ap, type))
+#define va_end(ap)                      /*nothing*/
+
+#endif /* !__LIBS_STDARG_H__ */
+
diff --git a/code/lab1/libs/stdio.h b/code/lab1/libs/stdio.h
new file mode 100644
index 0000000..41e8b41
--- /dev/null
+++ b/code/lab1/libs/stdio.h
@@ -0,0 +1,24 @@
+#ifndef __LIBS_STDIO_H__
+#define __LIBS_STDIO_H__
+
+#include <defs.h>
+#include <stdarg.h>
+
+/* kern/libs/stdio.c */
+int cprintf(const char *fmt, ...);
+int vcprintf(const char *fmt, va_list ap);
+void cputchar(int c);
+int cputs(const char *str);
+int getchar(void);
+
+/* kern/libs/readline.c */
+char *readline(const char *prompt);
+
+/* libs/printfmt.c */
+void printfmt(void (*putch)(int, void *), void *putdat, const char *fmt, ...);
+void vprintfmt(void (*putch)(int, void *), void *putdat, const char *fmt, va_list ap);
+int snprintf(char *str, size_t size, const char *fmt, ...);
+int vsnprintf(char *str, size_t size, const char *fmt, va_list ap);
+
+#endif /* !__LIBS_STDIO_H__ */
+
diff --git a/code/lab1/libs/string.c b/code/lab1/libs/string.c
new file mode 100644
index 0000000..c3d88e6
--- /dev/null
+++ b/code/lab1/libs/string.c
@@ -0,0 +1,367 @@
+#include <string.h>
+#include <x86.h>
+
+/* *
+ * strlen - calculate the length of the string @s, not including
+ * the terminating '\0' character.
+ * @s:        the input string
+ *
+ * The strlen() function returns the length of string @s.
+ * */
+size_t
+strlen(const char *s) {
+    size_t cnt = 0;
+    while (*s ++ != '\0') {
+        cnt ++;
+    }
+    return cnt;
+}
+
+/* *
+ * strnlen - calculate the length of the string @s, not including
+ * the terminating '\0' char acter, but at most @len.
+ * @s:        the input string
+ * @len:    the max-length that function will scan
+ *
+ * Note that, this function looks only at the first @len characters
+ * at @s, and never beyond @s + @len.
+ *
+ * The return value is strlen(s), if that is less than @len, or
+ * @len if there is no '\0' character among the first @len characters
+ * pointed by @s.
+ * */
+size_t
+strnlen(const char *s, size_t len) {
+    size_t cnt = 0;
+    while (cnt < len && *s ++ != '\0') {
+        cnt ++;
+    }
+    return cnt;
+}
+
+/* *
+ * strcpy - copies the string pointed by @src into the array pointed by @dst,
+ * including the terminating null character.
+ * @dst:    pointer to the destination array where the content is to be copied
+ * @src:    string to be copied
+ *
+ * The return value is @dst.
+ *
+ * To avoid overflows, the size of array pointed by @dst should be long enough to
+ * contain the same string as @src (including the terminating null character), and
+ * should not overlap in memory with @src.
+ * */
+char *
+strcpy(char *dst, const char *src) {
+#ifdef __HAVE_ARCH_STRCPY
+    return __strcpy(dst, src);
+#else
+    char *p = dst;
+    while ((*p ++ = *src ++) != '\0')
+        /* nothing */;
+    return dst;
+#endif /* __HAVE_ARCH_STRCPY */
+}
+
+/* *
+ * strncpy - copies the first @len characters of @src to @dst. If the end of string @src
+ * if found before @len characters have been copied, @dst is padded with '\0' until a
+ * total of @len characters have been written to it.
+ * @dst:    pointer to the destination array where the content is to be copied
+ * @src:    string to be copied
+ * @len:    maximum number of characters to be copied from @src
+ *
+ * The return value is @dst
+ * */
+char *
+strncpy(char *dst, const char *src, size_t len) {
+    char *p = dst;
+    while (len > 0) {
+        if ((*p = *src) != '\0') {
+            src ++;
+        }
+        p ++, len --;
+    }
+    return dst;
+}
+
+/* *
+ * strcmp - compares the string @s1 and @s2
+ * @s1:        string to be compared
+ * @s2:        string to be compared
+ *
+ * This function starts comparing the first character of each string. If
+ * they are equal to each other, it continues with the following pairs until
+ * the characters differ or until a terminanting null-character is reached.
+ *
+ * Returns an integral value indicating the relationship between the strings:
+ * - A zero value indicates that both strings are equal;
+ * - A value greater than zero indicates that the first character that does
+ *   not match has a greater value in @s1 than in @s2;
+ * - And a value less than zero indicates the opposite.
+ * */
+int
+strcmp(const char *s1, const char *s2) {
+#ifdef __HAVE_ARCH_STRCMP
+    return __strcmp(s1, s2);
+#else
+    while (*s1 != '\0' && *s1 == *s2) {
+        s1 ++, s2 ++;
+    }
+    return (int)((unsigned char)*s1 - (unsigned char)*s2);
+#endif /* __HAVE_ARCH_STRCMP */
+}
+
+/* *
+ * strncmp - compares up to @n characters of the string @s1 to those of the string @s2
+ * @s1:        string to be compared
+ * @s2:        string to be compared
+ * @n:        maximum number of characters to compare
+ *
+ * This function starts comparing the first character of each string. If
+ * they are equal to each other, it continues with the following pairs until
+ * the characters differ, until a terminating null-character is reached, or
+ * until @n characters match in both strings, whichever happens first.
+ * */
+int
+strncmp(const char *s1, const char *s2, size_t n) {
+    while (n > 0 && *s1 != '\0' && *s1 == *s2) {
+        n --, s1 ++, s2 ++;
+    }
+    return (n == 0) ? 0 : (int)((unsigned char)*s1 - (unsigned char)*s2);
+}
+
+/* *
+ * strchr - locates first occurrence of character in string
+ * @s:        the input string
+ * @c:        character to be located
+ *
+ * The strchr() function returns a pointer to the first occurrence of
+ * character in @s. If the value is not found, the function returns 'NULL'.
+ * */
+char *
+strchr(const char *s, char c) {
+    while (*s != '\0') {
+        if (*s == c) {
+            return (char *)s;
+        }
+        s ++;
+    }
+    return NULL;
+}
+
+/* *
+ * strfind - locates first occurrence of character in string
+ * @s:        the input string
+ * @c:        character to be located
+ *
+ * The strfind() function is like strchr() except that if @c is
+ * not found in @s, then it returns a pointer to the null byte at the
+ * end of @s, rather than 'NULL'.
+ * */
+char *
+strfind(const char *s, char c) {
+    while (*s != '\0') {
+        if (*s == c) {
+            break;
+        }
+        s ++;
+    }
+    return (char *)s;
+}
+
+/* *
+ * strtol - converts string to long integer
+ * @s:        the input string that contains the representation of an integer number
+ * @endptr:    reference to an object of type char *, whose value is set by the
+ *             function to the next character in @s after the numerical value. This
+ *             parameter can also be a null pointer, in which case it is not used.
+ * @base:    x
+ *
+ * The function first discards as many whitespace characters as necessary until
+ * the first non-whitespace character is found. Then, starting from this character,
+ * takes as many characters as possible that are valid following a syntax that
+ * depends on the base parameter, and interprets them as a numerical value. Finally,
+ * a pointer to the first character following the integer representation in @s
+ * is stored in the object pointed by @endptr.
+ *
+ * If the value of base is zero, the syntax expected is similar to that of
+ * integer constants, which is formed by a succession of:
+ * - An optional plus or minus sign;
+ * - An optional prefix indicating octal or hexadecimal base ("0" or "0x" respectively)
+ * - A sequence of decimal digits (if no base prefix was specified) or either octal
+ *   or hexadecimal digits if a specific prefix is present
+ *
+ * If the base value is between 2 and 36, the format expected for the integral number
+ * is a succession of the valid digits and/or letters needed to represent integers of
+ * the specified radix (starting from '0' and up to 'z'/'Z' for radix 36). The
+ * sequence may optionally be preceded by a plus or minus sign and, if base is 16,
+ * an optional "0x" or "0X" prefix.
+ *
+ * The strtol() function returns the converted integral number as a long int value.
+ * */
+long
+strtol(const char *s, char **endptr, int base) {
+    int neg = 0;
+    long val = 0;
+
+    // gobble initial whitespace
+    while (*s == ' ' || *s == '\t') {
+        s ++;
+    }
+
+    // plus/minus sign
+    if (*s == '+') {
+        s ++;
+    }
+    else if (*s == '-') {
+        s ++, neg = 1;
+    }
+
+    // hex or octal base prefix
+    if ((base == 0 || base == 16) && (s[0] == '0' && s[1] == 'x')) {
+        s += 2, base = 16;
+    }
+    else if (base == 0 && s[0] == '0') {
+        s ++, base = 8;
+    }
+    else if (base == 0) {
+        base = 10;
+    }
+
+    // digits
+    while (1) {
+        int dig;
+
+        if (*s >= '0' && *s <= '9') {
+            dig = *s - '0';
+        }
+        else if (*s >= 'a' && *s <= 'z') {
+            dig = *s - 'a' + 10;
+        }
+        else if (*s >= 'A' && *s <= 'Z') {
+            dig = *s - 'A' + 10;
+        }
+        else {
+            break;
+        }
+        if (dig >= base) {
+            break;
+        }
+        s ++, val = (val * base) + dig;
+        // we don't properly detect overflow!
+    }
+
+    if (endptr) {
+        *endptr = (char *) s;
+    }
+    return (neg ? -val : val);
+}
+
+/* *
+ * memset - sets the first @n bytes of the memory area pointed by @s
+ * to the specified value @c.
+ * @s:        pointer the the memory area to fill
+ * @c:        value to set
+ * @n:        number of bytes to be set to the value
+ *
+ * The memset() function returns @s.
+ * */
+void *
+memset(void *s, char c, size_t n) {
+#ifdef __HAVE_ARCH_MEMSET
+    return __memset(s, c, n);
+#else
+    char *p = s;
+    while (n -- > 0) {
+        *p ++ = c;
+    }
+    return s;
+#endif /* __HAVE_ARCH_MEMSET */
+}
+
+/* *
+ * memmove - copies the values of @n bytes from the location pointed by @src to
+ * the memory area pointed by @dst. @src and @dst are allowed to overlap.
+ * @dst        pointer to the destination array where the content is to be copied
+ * @src        pointer to the source of data to by copied
+ * @n:        number of bytes to copy
+ *
+ * The memmove() function returns @dst.
+ * */
+void *
+memmove(void *dst, const void *src, size_t n) {
+#ifdef __HAVE_ARCH_MEMMOVE
+    return __memmove(dst, src, n);
+#else
+    const char *s = src;
+    char *d = dst;
+    if (s < d && s + n > d) {
+        s += n, d += n;
+        while (n -- > 0) {
+            *-- d = *-- s;
+        }
+    } else {
+        while (n -- > 0) {
+            *d ++ = *s ++;
+        }
+    }
+    return dst;
+#endif /* __HAVE_ARCH_MEMMOVE */
+}
+
+/* *
+ * memcpy - copies the value of @n bytes from the location pointed by @src to
+ * the memory area pointed by @dst.
+ * @dst        pointer to the destination array where the content is to be copied
+ * @src        pointer to the source of data to by copied
+ * @n:        number of bytes to copy
+ *
+ * The memcpy() returns @dst.
+ *
+ * Note that, the function does not check any terminating null character in @src,
+ * it always copies exactly @n bytes. To avoid overflows, the size of arrays pointed
+ * by both @src and @dst, should be at least @n bytes, and should not overlap
+ * (for overlapping memory area, memmove is a safer approach).
+ * */
+void *
+memcpy(void *dst, const void *src, size_t n) {
+#ifdef __HAVE_ARCH_MEMCPY
+    return __memcpy(dst, src, n);
+#else
+    const char *s = src;
+    char *d = dst;
+    while (n -- > 0) {
+        *d ++ = *s ++;
+    }
+    return dst;
+#endif /* __HAVE_ARCH_MEMCPY */
+}
+
+/* *
+ * memcmp - compares two blocks of memory
+ * @v1:        pointer to block of memory
+ * @v2:        pointer to block of memory
+ * @n:        number of bytes to compare
+ *
+ * The memcmp() functions returns an integral value indicating the
+ * relationship between the content of the memory blocks:
+ * - A zero value indicates that the contents of both memory blocks are equal;
+ * - A value greater than zero indicates that the first byte that does not
+ *   match in both memory blocks has a greater value in @v1 than in @v2
+ *   as if evaluated as unsigned char values;
+ * - And a value less than zero indicates the opposite.
+ * */
+int
+memcmp(const void *v1, const void *v2, size_t n) {
+    const char *s1 = (const char *)v1;
+    const char *s2 = (const char *)v2;
+    while (n -- > 0) {
+        if (*s1 != *s2) {
+            return (int)((unsigned char)*s1 - (unsigned char)*s2);
+        }
+        s1 ++, s2 ++;
+    }
+    return 0;
+}
+
diff --git a/code/lab1/libs/string.h b/code/lab1/libs/string.h
new file mode 100644
index 0000000..14d0aac
--- /dev/null
+++ b/code/lab1/libs/string.h
@@ -0,0 +1,25 @@
+#ifndef __LIBS_STRING_H__
+#define __LIBS_STRING_H__
+
+#include <defs.h>
+
+size_t strlen(const char *s);
+size_t strnlen(const char *s, size_t len);
+
+char *strcpy(char *dst, const char *src);
+char *strncpy(char *dst, const char *src, size_t len);
+
+int strcmp(const char *s1, const char *s2);
+int strncmp(const char *s1, const char *s2, size_t n);
+
+char *strchr(const char *s, char c);
+char *strfind(const char *s, char c);
+long strtol(const char *s, char **endptr, int base);
+
+void *memset(void *s, char c, size_t n);
+void *memmove(void *dst, const void *src, size_t n);
+void *memcpy(void *dst, const void *src, size_t n);
+int memcmp(const void *v1, const void *v2, size_t n);
+
+#endif /* !__LIBS_STRING_H__ */
+
diff --git a/code/lab1/libs/x86.h b/code/lab1/libs/x86.h
new file mode 100644
index 0000000..319e8c0
--- /dev/null
+++ b/code/lab1/libs/x86.h
@@ -0,0 +1,191 @@
+#ifndef __LIBS_X86_H__
+#define __LIBS_X86_H__
+
+#include <defs.h>
+
+#define do_div(n, base) ({                                        \
+    unsigned long __upper, __low, __high, __mod, __base;        \
+    __base = (base);                                            \
+    asm("" : "=a" (__low), "=d" (__high) : "A" (n));            \
+    __upper = __high;                                            \
+    if (__high != 0) {                                            \
+        __upper = __high % __base;                                \
+        __high = __high / __base;                                \
+    }                                                            \
+    asm("divl %2" : "=a" (__low), "=d" (__mod)                    \
+        : "rm" (__base), "0" (__low), "1" (__upper));            \
+    asm("" : "=A" (n) : "a" (__low), "d" (__high));                \
+    __mod;                                                        \
+ })
+
+static inline uint8_t inb(uint16_t port) __attribute__((always_inline));
+static inline void insl(uint32_t port, void *addr, int cnt) __attribute__((always_inline));
+static inline void outb(uint16_t port, uint8_t data) __attribute__((always_inline));
+static inline void outw(uint16_t port, uint16_t data) __attribute__((always_inline));
+static inline uint32_t read_ebp(void) __attribute__((always_inline));
+
+/* Pseudo-descriptors used for LGDT, LLDT(not used) and LIDT instructions. */
+struct pseudodesc {
+    uint16_t pd_lim;        // Limit
+    uint32_t pd_base;        // Base address
+} __attribute__ ((packed));
+
+static inline void lidt(struct pseudodesc *pd) __attribute__((always_inline));
+static inline void sti(void) __attribute__((always_inline));
+static inline void cli(void) __attribute__((always_inline));
+static inline void ltr(uint16_t sel) __attribute__((always_inline));
+
+static inline uint8_t
+inb(uint16_t port) {
+    uint8_t data;
+    asm volatile ("inb %1, %0" : "=a" (data) : "d" (port));
+    return data;
+}
+
+static inline void
+insl(uint32_t port, void *addr, int cnt) {
+    asm volatile (
+            "cld;"
+            "repne; insl;"
+            : "=D" (addr), "=c" (cnt)
+            : "d" (port), "0" (addr), "1" (cnt)
+            : "memory", "cc");
+}
+
+static inline void
+outb(uint16_t port, uint8_t data) {
+    asm volatile ("outb %0, %1" :: "a" (data), "d" (port));
+}
+
+static inline void
+outw(uint16_t port, uint16_t data) {
+    asm volatile ("outw %0, %1" :: "a" (data), "d" (port));
+}
+
+static inline uint32_t
+read_ebp(void) {
+    uint32_t ebp;
+    asm volatile ("movl %%ebp, %0" : "=r" (ebp));
+    return ebp;
+}
+
+static inline void
+lidt(struct pseudodesc *pd) {
+    asm volatile ("lidt (%0)" :: "r" (pd));
+}
+
+static inline void
+sti(void) {
+    asm volatile ("sti");
+}
+
+static inline void
+cli(void) {
+    asm volatile ("cli");
+}
+
+static inline void
+ltr(uint16_t sel) {
+    asm volatile ("ltr %0" :: "r" (sel));
+}
+
+static inline int __strcmp(const char *s1, const char *s2) __attribute__((always_inline));
+static inline char *__strcpy(char *dst, const char *src) __attribute__((always_inline));
+static inline void *__memset(void *s, char c, size_t n) __attribute__((always_inline));
+static inline void *__memmove(void *dst, const void *src, size_t n) __attribute__((always_inline));
+static inline void *__memcpy(void *dst, const void *src, size_t n) __attribute__((always_inline));
+
+#ifndef __HAVE_ARCH_STRCMP
+#define __HAVE_ARCH_STRCMP
+static inline int
+__strcmp(const char *s1, const char *s2) {
+    int d0, d1, ret;
+    asm volatile (
+            "1: lodsb;"
+            "scasb;"
+            "jne 2f;"
+            "testb %%al, %%al;"
+            "jne 1b;"
+            "xorl %%eax, %%eax;"
+            "jmp 3f;"
+            "2: sbbl %%eax, %%eax;"
+            "orb $1, %%al;"
+            "3:"
+            : "=a" (ret), "=&S" (d0), "=&D" (d1)
+            : "1" (s1), "2" (s2)
+            : "memory");
+    return ret;
+}
+
+#endif /* __HAVE_ARCH_STRCMP */
+
+#ifndef __HAVE_ARCH_STRCPY
+#define __HAVE_ARCH_STRCPY
+static inline char *
+__strcpy(char *dst, const char *src) {
+    int d0, d1, d2;
+    asm volatile (
+            "1: lodsb;"
+            "stosb;"
+            "testb %%al, %%al;"
+            "jne 1b;"
+            : "=&S" (d0), "=&D" (d1), "=&a" (d2)
+            : "0" (src), "1" (dst) : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_STRCPY */
+
+#ifndef __HAVE_ARCH_MEMSET
+#define __HAVE_ARCH_MEMSET
+static inline void *
+__memset(void *s, char c, size_t n) {
+    int d0, d1;
+    asm volatile (
+            "rep; stosb;"
+            : "=&c" (d0), "=&D" (d1)
+            : "0" (n), "a" (c), "1" (s)
+            : "memory");
+    return s;
+}
+#endif /* __HAVE_ARCH_MEMSET */
+
+#ifndef __HAVE_ARCH_MEMMOVE
+#define __HAVE_ARCH_MEMMOVE
+static inline void *
+__memmove(void *dst, const void *src, size_t n) {
+    if (dst < src) {
+        return __memcpy(dst, src, n);
+    }
+    int d0, d1, d2;
+    asm volatile (
+            "std;"
+            "rep; movsb;"
+            "cld;"
+            : "=&c" (d0), "=&S" (d1), "=&D" (d2)
+            : "0" (n), "1" (n - 1 + src), "2" (n - 1 + dst)
+            : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_MEMMOVE */
+
+#ifndef __HAVE_ARCH_MEMCPY
+#define __HAVE_ARCH_MEMCPY
+static inline void *
+__memcpy(void *dst, const void *src, size_t n) {
+    int d0, d1, d2;
+    asm volatile (
+            "rep; movsl;"
+            "movl %4, %%ecx;"
+            "andl $3, %%ecx;"
+            "jz 1f;"
+            "rep; movsb;"
+            "1:"
+            : "=&c" (d0), "=&D" (d1), "=&S" (d2)
+            : "0" (n / 4), "g" (n), "1" (dst), "2" (src)
+            : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_MEMCPY */
+
+#endif /* !__LIBS_X86_H__ */
+
diff --git a/code/lab1/tools/function.mk b/code/lab1/tools/function.mk
new file mode 100644
index 0000000..58a27e4
--- /dev/null
+++ b/code/lab1/tools/function.mk
@@ -0,0 +1,95 @@
+OBJPREFIX	:= __objs_
+
+.SECONDEXPANSION:
+# -------------------- function begin --------------------
+
+# list all files in some directories: (#directories, #types)
+listf = $(filter $(if $(2),$(addprefix %.,$(2)),%),\
+		  $(wildcard $(addsuffix $(SLASH)*,$(1))))
+
+# get .o obj files: (#files[, packet])
+toobj = $(addprefix $(OBJDIR)$(SLASH)$(if $(2),$(2)$(SLASH)),\
+		$(addsuffix .o,$(basename $(1))))
+
+# get .d dependency files: (#files[, packet])
+todep = $(patsubst %.o,%.d,$(call toobj,$(1),$(2)))
+
+totarget = $(addprefix $(BINDIR)$(SLASH),$(1))
+
+# change $(name) to $(OBJPREFIX)$(name): (#names)
+packetname = $(if $(1),$(addprefix $(OBJPREFIX),$(1)),$(OBJPREFIX))
+
+# cc compile template, generate rule for dep, obj: (file, cc[, flags, dir])
+define cc_template
+$$(call todep,$(1),$(4)): $(1) | $$$$(dir $$$$@)
+	@$(2) -I$$(dir $(1)) $(3) -MM $$< -MT "$$(patsubst %.d,%.o,$$@) $$@"> $$@
+$$(call toobj,$(1),$(4)): $(1) | $$$$(dir $$$$@)
+	@echo + cc $$<
+	$(V)$(2) -I$$(dir $(1)) $(3) -c $$< -o $$@
+ALLOBJS += $$(call toobj,$(1),$(4))
+endef
+
+# compile file: (#files, cc[, flags, dir])
+define do_cc_compile
+$$(foreach f,$(1),$$(eval $$(call cc_template,$$(f),$(2),$(3),$(4))))
+endef
+
+# add files to packet: (#files, cc[, flags, packet, dir])
+define do_add_files_to_packet
+__temp_packet__ := $(call packetname,$(4))
+ifeq ($$(origin $$(__temp_packet__)),undefined)
+$$(__temp_packet__) :=
+endif
+__temp_objs__ := $(call toobj,$(1),$(5))
+$$(foreach f,$(1),$$(eval $$(call cc_template,$$(f),$(2),$(3),$(5))))
+$$(__temp_packet__) += $$(__temp_objs__)
+endef
+
+# add objs to packet: (#objs, packet)
+define do_add_objs_to_packet
+__temp_packet__ := $(call packetname,$(2))
+ifeq ($$(origin $$(__temp_packet__)),undefined)
+$$(__temp_packet__) :=
+endif
+$$(__temp_packet__) += $(1)
+endef
+
+# add packets and objs to target (target, #packes, #objs[, cc, flags])
+define do_create_target
+__temp_target__ = $(call totarget,$(1))
+__temp_objs__ = $$(foreach p,$(call packetname,$(2)),$$($$(p))) $(3)
+TARGETS += $$(__temp_target__)
+ifneq ($(4),)
+$$(__temp_target__): $$(__temp_objs__) | $$$$(dir $$$$@)
+	$(V)$(4) $(5) $$^ -o $$@
+else
+$$(__temp_target__): $$(__temp_objs__) | $$$$(dir $$$$@)
+endif
+endef
+
+# finish all
+define do_finish_all
+ALLDEPS = $$(ALLOBJS:.o=.d)
+$$(sort $$(dir $$(ALLOBJS)) $(BINDIR) $(OBJDIR)):
+	@$(MKDIR) $$@
+endef
+
+# --------------------  function end  --------------------
+# compile file: (#files, cc[, flags, dir])
+cc_compile = $(eval $(call do_cc_compile,$(1),$(2),$(3),$(4)))
+
+# add files to packet: (#files, cc[, flags, packet, dir])
+add_files = $(eval $(call do_add_files_to_packet,$(1),$(2),$(3),$(4),$(5)))
+
+# add objs to packet: (#objs, packet)
+add_objs = $(eval $(call do_add_objs_to_packet,$(1),$(2)))
+
+# add packets and objs to target (target, #packes, #objs, cc, [, flags])
+create_target = $(eval $(call do_create_target,$(1),$(2),$(3),$(4),$(5)))
+
+read_packet = $(foreach p,$(call packetname,$(1)),$($(p)))
+
+add_dependency = $(eval $(1): $(2))
+
+finish_all = $(eval $(call do_finish_all))
+
diff --git a/code/lab1/tools/gdbinit b/code/lab1/tools/gdbinit
new file mode 100644
index 0000000..abf6161
--- /dev/null
+++ b/code/lab1/tools/gdbinit
@@ -0,0 +1,4 @@
+file bin/kernel
+target remote :1234
+break kern_init
+continue
\ No newline at end of file
diff --git a/code/lab1/tools/grade.sh b/code/lab1/tools/grade.sh
new file mode 100644
index 0000000..f90d1a1
--- /dev/null
+++ b/code/lab1/tools/grade.sh
@@ -0,0 +1,348 @@
+#!/bin/sh
+
+verbose=false
+if [ "x$1" = "x-v" ]; then
+	verbose=true
+	out=/dev/stdout
+	err=/dev/stderr
+else
+	out=/dev/null
+	err=/dev/null
+fi
+
+## make & makeopts
+if gmake --version > /dev/null 2>&1; then
+	make=gmake;
+else
+	make=make;
+fi
+
+makeopts="--quiet --no-print-directory -j"
+
+make_print() {
+	echo `$make $makeopts print-$1`
+}
+
+## command tools
+awk='awk'
+bc='bc'
+date='date'
+grep='grep'
+rm='rm -f'
+sed='sed'
+
+## symbol table
+sym_table='obj/kernel.sym'
+
+## gdb & gdbopts
+gdb="$(make_print GCCPREFIX)gdb"
+gdbport='1234'
+
+gdb_in="$(make_print GRADE_GDB_IN)"
+
+## qemu & qemuopts
+qemu="$(make_print qemu)"
+
+qemu_out="$(make_print GRADE_QEMU_OUT)"
+
+if $qemu -nographic -help | grep -q '^-gdb'; then
+	qemugdb="-gdb tcp::$gdbport"
+else
+	qemugdb="-s -p $gdbport"
+fi
+
+## default variables
+default_timeout=30
+default_pts=5
+
+pts=5
+part=0
+part_pos=0
+total=0
+total_pos=0
+
+## default functions
+update_score() {
+	total=`expr $total + $part`
+	total_pos=`expr $total_pos + $part_pos`
+	part=0
+	part_pos=0
+}
+
+get_time() {
+	echo `$date +%s.%N 2> /dev/null`
+}
+
+show_part() {
+	echo "Part $1 Score: $part/$part_pos"
+	echo
+	update_score
+}
+
+show_final() {
+	update_score
+	echo "Total Score: $total/$total_pos"
+	if [ $total -lt $total_pos ]; then
+		exit 1
+	fi
+}
+
+show_time() {
+	t1=$(get_time)
+	time=`echo "scale=1; ($t1-$t0)/1" | $sed 's/.N/.0/g' | $bc 2> /dev/null`
+	echo "(${time}s)"
+}
+
+show_build_tag() {
+	echo "$1:" | $awk '{printf "%-24s ", $0}'
+}
+
+show_check_tag() {
+	echo "$1:" | $awk '{printf "  -%-40s  ", $0}'
+}
+
+show_msg() {
+	echo $1
+	shift
+	if [ $# -gt 0 ]; then
+		echo "$@" | awk '{printf "   %s\n", $0}'
+		echo
+	fi
+}
+
+pass() {
+	show_msg OK "$@"
+	part=`expr $part + $pts`
+	part_pos=`expr $part_pos + $pts`
+}
+
+fail() {
+	show_msg WRONG "$@"
+	part_pos=`expr $part_pos + $pts`
+}
+
+run_qemu() {
+	# Run qemu with serial output redirected to $qemu_out. If $brkfun is non-empty,
+	# wait until $brkfun is reached or $timeout expires, then kill QEMU
+	qemuextra=
+	if [ "$brkfun" ]; then
+		qemuextra="-S $qemugdb"
+	fi
+
+	if [ -z "$timeout" ] || [ $timeout -le 0 ]; then
+		timeout=$default_timeout;
+	fi
+
+	t0=$(get_time)
+	(
+		ulimit -t $timeout
+		exec $qemu -nographic $qemuopts -serial file:$qemu_out -monitor null -no-reboot $qemuextra
+	) > $out 2> $err &
+	pid=$!
+
+	# wait for QEMU to start
+	sleep 1
+
+	if [ -n "$brkfun" ]; then
+		# find the address of the kernel $brkfun function
+		brkaddr=`$grep " $brkfun\$" $sym_table | $sed -e's/ .*$//g'`
+		(
+			echo "target remote localhost:$gdbport"
+			echo "break *0x$brkaddr"
+			echo "continue"
+		) > $gdb_in
+
+		$gdb -batch -nx -x $gdb_in > /dev/null 2>&1
+
+		# make sure that QEMU is dead
+		# on OS X, exiting gdb doesn't always exit qemu
+		kill $pid > /dev/null 2>&1
+	fi
+}
+
+build_run() {
+	# usage: build_run <tag> <args>
+	show_build_tag "$1"
+	shift
+
+	if $verbose; then
+		echo "$make $@ ..."
+	fi
+	$make $makeopts $@ 'DEFS+=-DDEBUG_GRADE' > $out 2> $err
+
+	if [ $? -ne 0 ]; then
+		echo $make $@ failed
+		exit 1
+	fi
+
+	# now run qemu and save the output
+	run_qemu
+
+	show_time
+}
+
+check_result() {
+	# usage: check_result <tag> <check> <check args...>
+	show_check_tag "$1"
+	shift
+
+	# give qemu some time to run (for asynchronous mode)
+	if [ ! -s $qemu_out ]; then
+		sleep 4
+	fi
+
+	if [ ! -s $qemu_out ]; then
+		fail > /dev/null
+		echo 'no $qemu_out'
+	else
+		check=$1
+		shift
+		$check "$@"
+	fi
+}
+
+check_regexps() {
+	okay=yes
+	not=0
+	reg=0
+	error=
+	for i do
+		if [ "x$i" = "x!" ]; then
+			not=1
+		elif [ "x$i" = "x-" ]; then
+			reg=1
+		else
+			if [ $reg -ne 0 ]; then
+				$grep '-E' "^$i\$" $qemu_out > /dev/null
+			else
+				$grep '-F' "$i" $qemu_out > /dev/null
+			fi
+			found=$(($? == 0))
+			if [ $found -eq $not ]; then
+				if [ $found -eq 0 ]; then
+					msg="!! error: missing '$i'"
+				else
+					msg="!! error: got unexpected line '$i'"
+				fi
+				okay=no
+				if [ -z "$error" ]; then
+					error="$msg"
+				else
+					error="$error\n$msg"
+				fi
+			fi
+			not=0
+			reg=0
+		fi
+	done
+	if [ "$okay" = "yes" ]; then
+		pass
+	else
+		fail "$error"
+		if $verbose; then
+			exit 1
+		fi
+	fi
+}
+
+run_test() {
+	# usage: run_test [-tag <tag>] [-Ddef...] [-check <check>] checkargs ...
+	tag=
+	check=check_regexps
+	while true; do
+		select=
+		case $1 in
+			-tag)
+				select=`expr substr $1 2 ${#1}`
+				eval $select='$2'
+				;;
+		esac
+		if [ -z "$select" ]; then
+			break
+		fi
+		shift
+		shift
+	done
+	defs=
+	while expr "x$1" : "x-D.*" > /dev/null; do
+		defs="DEFS+='$1' $defs"
+		shift
+	done
+	if [ "x$1" = "x-check" ]; then
+		check=$2
+		shift
+		shift
+	fi
+
+	$make $makeopts touch > /dev/null 2>&1
+	build_run "$tag" "$defs"
+
+	check_result 'check result' "$check" "$@"
+}
+
+quick_run() {
+	# usage: quick_run <tag> [-Ddef...]
+	tag="$1"
+	shift
+	defs=
+	while expr "x$1" : "x-D.*" > /dev/null; do
+		defs="DEFS+='$1' $defs"
+		shift
+	done
+
+	$make $makeopts touch > /dev/null 2>&1
+	build_run "$tag" "$defs"
+}
+
+quick_check() {
+	# usage: quick_check <tag> checkargs ...
+	tag="$1"
+	shift
+	check_result "$tag" check_regexps "$@"
+}
+
+## kernel image
+osimg=$(make_print ucoreimg)
+
+## set default qemu-options
+qemuopts="-hda $osimg"
+
+## set break-function, default is readline
+brkfun=readline
+
+## check now!!
+
+quick_run 'Check Output'
+
+pts=10
+quick_check 'check ring 0'										\
+	'0: @ring 0'												\
+	'0:  cs = 8'												\
+	'0:  ds = 10'												\
+	'0:  es = 10'												\
+	'0:  ss = 10'
+
+quick_check 'check switch to ring 3'							\
+	'+++ switch to  user  mode +++'								\
+	'1: @ring 3'												\
+	'1:  cs = 1b'												\
+	'1:  ds = 23'												\
+	'1:  es = 23'												\
+	'1:  ss = 23'
+
+quick_check 'check switch to ring 0'							\
+	'+++ switch to kernel mode +++'								\
+	'2: @ring 0'												\
+	'2:  cs = 8'												\
+	'2:  ds = 10'												\
+	'2:  es = 10'												\
+	'2:  ss = 10'
+
+quick_check 'check ticks'										\
+	'++ setup timer interrupts'									\
+	'100 ticks'													\
+	'End of Test.'
+
+## print final-score
+show_final
+
diff --git a/code/lab1/tools/kernel.ld b/code/lab1/tools/kernel.ld
new file mode 100644
index 0000000..2bdb6e4
--- /dev/null
+++ b/code/lab1/tools/kernel.ld
@@ -0,0 +1,58 @@
+/* Simple linker script for the JOS kernel.
+   See the GNU ld 'info' manual ("info ld") to learn the syntax. */
+
+OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
+OUTPUT_ARCH(i386)
+ENTRY(kern_init)
+
+SECTIONS {
+	/* Load the kernel at this address: "." means the current address */
+	. = 0x100000;
+
+	.text : {
+		*(.text .stub .text.* .gnu.linkonce.t.*)
+	}
+
+	PROVIDE(etext = .);	/* Define the 'etext' symbol to this value */
+
+	.rodata : {
+		*(.rodata .rodata.* .gnu.linkonce.r.*)
+	}
+
+	/* Include debugging information in kernel memory */
+	.stab : {
+		PROVIDE(__STAB_BEGIN__ = .);
+		*(.stab);
+		PROVIDE(__STAB_END__ = .);
+		BYTE(0)		/* Force the linker to allocate space
+				   for this section */
+	}
+
+	.stabstr : {
+		PROVIDE(__STABSTR_BEGIN__ = .);
+		*(.stabstr);
+		PROVIDE(__STABSTR_END__ = .);
+		BYTE(0)		/* Force the linker to allocate space
+				   for this section */
+	}
+
+	/* Adjust the address for the data segment to the next page */
+	. = ALIGN(0x1000);
+
+	/* The data segment */
+	.data : {
+		*(.data)
+	}
+
+	PROVIDE(edata = .);
+
+	.bss : {
+		*(.bss)
+	}
+
+	PROVIDE(end = .);
+
+	/DISCARD/ : {
+		*(.eh_frame .note.GNU-stack)
+	}
+}
diff --git a/code/lab1/tools/sign.c b/code/lab1/tools/sign.c
new file mode 100644
index 0000000..9d81bb6
--- /dev/null
+++ b/code/lab1/tools/sign.c
@@ -0,0 +1,43 @@
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+
+int
+main(int argc, char *argv[]) {
+    struct stat st;
+    if (argc != 3) {
+        fprintf(stderr, "Usage: <input filename> <output filename>\n");
+        return -1;
+    }
+    if (stat(argv[1], &st) != 0) {
+        fprintf(stderr, "Error opening file '%s': %s\n", argv[1], strerror(errno));
+        return -1;
+    }
+    printf("'%s' size: %lld bytes\n", argv[1], (long long)st.st_size);
+    if (st.st_size > 510) {
+        fprintf(stderr, "%lld >> 510!!\n", (long long)st.st_size);
+        return -1;
+    }
+    char buf[512];
+    memset(buf, 0, sizeof(buf));
+    FILE *ifp = fopen(argv[1], "rb");
+    int size = fread(buf, 1, st.st_size, ifp);
+    if (size != st.st_size) {
+        fprintf(stderr, "read '%s' error, size is %d.\n", argv[1], size);
+        return -1;
+    }
+    fclose(ifp);
+    buf[510] = 0x55;
+    buf[511] = 0xAA;
+    FILE *ofp = fopen(argv[2], "wb+");
+    size = fwrite(buf, 1, 512, ofp);
+    if (size != 512) {
+        fprintf(stderr, "write '%s' error, size is %d.\n", argv[2], size);
+        return -1;
+    }
+    fclose(ofp);
+    printf("build 512 bytes boot sector: '%s' success!\n", argv[2]);
+    return 0;
+}
+
diff --git a/code/lab1/tools/vector.c b/code/lab1/tools/vector.c
new file mode 100644
index 0000000..df993cf
--- /dev/null
+++ b/code/lab1/tools/vector.c
@@ -0,0 +1,28 @@
+#include <stdio.h>
+
+int
+main(void) {
+    printf(".text\n");
+    printf(".globl __alltraps\n");
+
+    int i;
+    for (i = 0; i < 256; i ++) {
+        printf(".globl vector%d\n", i);
+        printf("vector%d:\n", i);
+        if ((i < 8 || i > 14) && i != 17) {
+            printf("  pushl \\$0\n");
+        }
+        printf("  pushl $%d\n", i);
+        printf("  jmp __alltraps\n");
+    }
+    printf("\n");
+    printf("# vector table\n");
+    printf(".data\n");
+    printf(".globl __vectors\n");
+    printf("__vectors:\n");
+    for (i = 0; i < 256; i ++) {
+        printf("  .long vector%d\n", i);
+    }
+    return 0;
+}
+
diff --git a/code/lab2/Makefile b/code/lab2/Makefile
new file mode 100644
index 0000000..a10592c
--- /dev/null
+++ b/code/lab2/Makefile
@@ -0,0 +1,261 @@
+PROJ	:= 5
+EMPTY	:=
+SPACE	:= $(EMPTY) $(EMPTY)
+SLASH	:= /
+
+V       := @
+
+# try to infer the correct GCCPREFX
+ifndef GCCPREFIX
+GCCPREFIX := $(shell if i386-ucore-elf-objdump -i 2>&1 | grep '^elf32-i386$$' >/dev/null 2>&1; \
+	then echo 'i386-ucore-elf-'; \
+	elif objdump -i 2>&1 | grep 'elf32-i386' >/dev/null 2>&1; \
+	then echo ''; \
+	else echo "***" 1>&2; \
+	echo "*** Error: Couldn't find an i386-ucore-elf version of GCC/binutils." 1>&2; \
+	echo "*** Is the directory with i386-ucore-elf-gcc in your PATH?" 1>&2; \
+	echo "*** If your i386-ucore-elf toolchain is installed with a command" 1>&2; \
+	echo "*** prefix other than 'i386-ucore-elf-', set your GCCPREFIX" 1>&2; \
+	echo "*** environment variable to that prefix and run 'make' again." 1>&2; \
+	echo "*** To turn off this error, run 'gmake GCCPREFIX= ...'." 1>&2; \
+	echo "***" 1>&2; exit 1; fi)
+endif
+
+# try to infer the correct QEMU
+ifndef QEMU
+QEMU := $(shell if which qemu > /dev/null; \
+	then echo 'qemu'; exit; \
+	elif which i386-ucore-elf-qemu > /dev/null; \
+	then echo 'i386-ucore-elf-qemu'; exit; \
+	else \
+	echo "***" 1>&2; \
+	echo "*** Error: Couldn't find a working QEMU executable." 1>&2; \
+	echo "*** Is the directory containing the qemu binary in your PATH" 1>&2; \
+	echo "***" 1>&2; exit 1; fi)
+endif
+
+# eliminate default suffix rules
+.SUFFIXES: .c .S .h
+
+# delete target files if there is an error (or make is interrupted)
+.DELETE_ON_ERROR:
+
+# define compiler and flags
+
+HOSTCC		:= gcc
+HOSTCFLAGS	:= -g -Wall -O2
+
+GDB		:= $(GCCPREFIX)gdb
+
+CC		:= $(GCCPREFIX)gcc
+CFLAGS	:= -fno-builtin -Wall -ggdb -m32 -gstabs -nostdinc $(DEFS)
+CFLAGS	+= $(shell $(CC) -fno-stack-protector -E -x c /dev/null >/dev/null 2>&1 && echo -fno-stack-protector)
+CTYPE	:= c S
+
+LD      := $(GCCPREFIX)ld
+LDFLAGS	:= -m $(shell $(LD) -V | grep elf_i386 2>/dev/null)
+LDFLAGS	+= -nostdlib
+
+OBJCOPY := $(GCCPREFIX)objcopy
+OBJDUMP := $(GCCPREFIX)objdump
+
+COPY	:= cp
+MKDIR   := mkdir -p
+MV		:= mv
+RM		:= rm -f
+AWK		:= awk
+SED		:= sed
+SH		:= sh
+TR		:= tr
+TOUCH	:= touch -c
+
+TAR		:= tar
+ZIP		:= gzip
+
+OBJDIR	:= obj
+BINDIR	:= bin
+
+ALLOBJS	:=
+ALLDEPS	:=
+TARGETS	:=
+
+include tools/function.mk
+
+listf_cc = $(call listf,$(1),$(CTYPE))
+
+# for cc
+add_files_cc = $(call add_files,$(1),$(CC),$(CFLAGS) $(3),$(2),$(4))
+create_target_cc = $(call create_target,$(1),$(2),$(3),$(CC),$(CFLAGS))
+
+# for hostcc
+add_files_host = $(call add_files,$(1),$(HOSTCC),$(HOSTCFLAGS),$(2),$(3))
+create_target_host = $(call create_target,$(1),$(2),$(3),$(HOSTCC),$(HOSTCFLAGS))
+
+cgtype = $(patsubst %.$(2),%.$(3),$(1))
+objfile = $(call toobj,$(1))
+asmfile = $(call cgtype,$(call toobj,$(1)),o,asm)
+outfile = $(call cgtype,$(call toobj,$(1)),o,out)
+symfile = $(call cgtype,$(call toobj,$(1)),o,sym)
+
+# for match pattern
+match = $(shell echo $(2) | $(AWK) '{for(i=1;i<=NF;i++){if(match("$(1)","^"$$(i)"$$")){exit 1;}}}'; echo $$?)
+
+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+# include kernel/user
+
+INCLUDE	+= libs/
+
+CFLAGS	+= $(addprefix -I,$(INCLUDE))
+
+LIBDIR	+= libs
+
+$(call add_files_cc,$(call listf_cc,$(LIBDIR)),libs,)
+
+# -------------------------------------------------------------------
+# kernel
+
+KINCLUDE	+= kern/debug/ \
+			   kern/driver/ \
+			   kern/trap/ \
+			   kern/mm/ \
+			   kern/libs/ \
+			   kern/sync/
+
+KSRCDIR		+= kern/init \
+			   kern/libs \
+			   kern/debug \
+			   kern/driver \
+			   kern/trap \
+			   kern/mm \
+			   kern/sync
+
+KCFLAGS		+= $(addprefix -I,$(KINCLUDE))
+
+$(call add_files_cc,$(call listf_cc,$(KSRCDIR)),kernel,$(KCFLAGS))
+
+KOBJS	= $(call read_packet,kernel libs)
+
+# create kernel target
+kernel = $(call totarget,kernel)
+
+$(kernel): tools/kernel.ld
+
+$(kernel): $(KOBJS)
+	@echo + ld $@
+	$(V)$(LD) $(LDFLAGS) -T tools/kernel.ld -o $@ $(KOBJS)
+	@$(OBJDUMP) -S $@ > $(call asmfile,kernel)
+	@$(OBJDUMP) -t $@ | $(SED) '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > $(call symfile,kernel)
+
+$(call create_target,kernel)
+
+# -------------------------------------------------------------------
+
+# create bootblock
+bootfiles = $(call listf_cc,boot)
+$(foreach f,$(bootfiles),$(call cc_compile,$(f),$(CC),$(CFLAGS) -Os -nostdinc))
+
+bootblock = $(call totarget,bootblock)
+
+$(bootblock): $(call toobj,boot/bootasm.S) $(call toobj,$(bootfiles)) | $(call totarget,sign)
+	@echo + ld $@
+	$(V)$(LD) $(LDFLAGS) -N -T tools/boot.ld $^ -o $(call toobj,bootblock)
+	@$(OBJDUMP) -S $(call objfile,bootblock) > $(call asmfile,bootblock)
+	@$(OBJCOPY) -S -O binary $(call objfile,bootblock) $(call outfile,bootblock)
+	@$(call totarget,sign) $(call outfile,bootblock) $(bootblock)
+
+$(call create_target,bootblock)
+
+# -------------------------------------------------------------------
+
+# create 'sign' tools
+$(call add_files_host,tools/sign.c,sign,sign)
+$(call create_target_host,sign,sign)
+
+# -------------------------------------------------------------------
+
+# create ucore.img
+UCOREIMG	:= $(call totarget,ucore.img)
+
+$(UCOREIMG): $(kernel) $(bootblock)
+	$(V)dd if=/dev/zero of=$@ count=10000
+	$(V)dd if=$(bootblock) of=$@ conv=notrunc
+	$(V)dd if=$(kernel) of=$@ seek=1 conv=notrunc
+
+$(call create_target,ucore.img)
+
+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+$(call finish_all)
+
+IGNORE_ALLDEPS	= gdb \
+				  clean \
+				  distclean \
+				  grade \
+				  touch \
+				  print-.+ \
+				  handin
+
+ifeq ($(call match,$(MAKECMDGOALS),$(IGNORE_ALLDEPS)),0)
+-include $(ALLDEPS)
+endif
+
+# files for grade script
+
+targets: $(TARGETS)
+
+.DEFAULT_GOAL := targets
+
+QEMUOPTS = -hda $(UCOREIMG)
+
+.PHONY: qemu qemu-nox gdb debug debug-mon debug-nox
+qemu: targets
+	$(V)$(QEMU) -parallel stdio $(QEMUOPTS) -serial null
+
+qemu-nox: targets
+	$(V)$(QEMU) -serial mon:stdio $(QEMUOPTS) -nographic
+
+gdb:
+	$(V)$(GDB) -q -x tools/gdbinit
+
+debug: targets
+	$(V)$(QEMU) -S -s -parallel stdio $(QEMUOPTS) -serial null
+
+debug-mon: targets
+	$(V)$(QEMU) -S -s -monitor stdio $(QEMUOPTS) -parallel null -serial null
+
+debug-nox: targets
+	$(V)$(QEMU) -S -s -serial mon:stdio $(QEMUOPTS) -nographic
+
+.PHONY: grade touch
+
+GRADE_GDB_IN	:= .gdb.in
+GRADE_QEMU_OUT	:= .qemu.out
+HANDIN			:= lab2-handin.tar.gz
+
+TOUCH_FILES		:= kern/trap/trap.c
+
+MAKEOPTS		:= --quiet --no-print-directory
+
+grade:
+	$(V)$(MAKE) $(MAKEOPTS) clean
+	$(V)$(SH) tools/grade.sh
+
+touch:
+	$(V)$(foreach f,$(TOUCH_FILES),$(TOUCH) $(f))
+
+print-%:
+	@echo $($(shell echo $(patsubst print-%,%,$@) | $(TR) [a-z] [A-Z]))
+
+.PHONY: clean distclean handin
+clean:
+	$(V)$(RM) $(GRADE_GDB_IN) $(GRADE_QEMU_OUT)
+	$(V)$(RM) -r $(OBJDIR) $(BINDIR)
+
+distclean: clean
+	$(V)$(RM) $(HANDIN)
+
+handin: distclean
+	$(V)$(TAR) -cf - `find . -type f -o -type d | grep -v '^\.$$' | grep -v '/CVS/' \
+					| grep -v '/\.git/' | grep -v '/\.svn/' | grep -v "$(HANDIN)"` \
+					| $(ZIP) > $(HANDIN)
+
diff --git a/code/lab2/boot/asm.h b/code/lab2/boot/asm.h
new file mode 100644
index 0000000..8e0405a
--- /dev/null
+++ b/code/lab2/boot/asm.h
@@ -0,0 +1,26 @@
+#ifndef __BOOT_ASM_H__
+#define __BOOT_ASM_H__
+
+/* Assembler macros to create x86 segments */
+
+/* Normal segment */
+#define SEG_NULLASM                                             \
+    .word 0, 0;                                                 \
+    .byte 0, 0, 0, 0
+
+#define SEG_ASM(type,base,lim)                                  \
+    .word (((lim) >> 12) & 0xffff), ((base) & 0xffff);          \
+    .byte (((base) >> 16) & 0xff), (0x90 | (type)),             \
+        (0xC0 | (((lim) >> 28) & 0xf)), (((base) >> 24) & 0xff)
+
+
+/* Application segment type bits */
+#define STA_X       0x8     // Executable segment
+#define STA_E       0x4     // Expand down (non-executable segments)
+#define STA_C       0x4     // Conforming code segment (executable only)
+#define STA_W       0x2     // Writeable (non-executable segments)
+#define STA_R       0x2     // Readable (executable segments)
+#define STA_A       0x1     // Accessed
+
+#endif /* !__BOOT_ASM_H__ */
+
diff --git a/code/lab2/boot/bootasm.S b/code/lab2/boot/bootasm.S
new file mode 100644
index 0000000..f1852c3
--- /dev/null
+++ b/code/lab2/boot/bootasm.S
@@ -0,0 +1,107 @@
+#include <asm.h>
+
+# Start the CPU: switch to 32-bit protected mode, jump into C.
+# The BIOS loads this code from the first sector of the hard disk into
+# memory at physical address 0x7c00 and starts executing in real mode
+# with %cs=0 %ip=7c00.
+
+.set PROT_MODE_CSEG,        0x8                     # kernel code segment selector
+.set PROT_MODE_DSEG,        0x10                    # kernel data segment selector
+.set CR0_PE_ON,             0x1                     # protected mode enable flag
+.set SMAP,                  0x534d4150
+
+# start address should be 0:7c00, in real mode, the beginning address of the running bootloader
+.globl start
+start:
+.code16                                             # Assemble for 16-bit mode
+    cli                                             # Disable interrupts
+    cld                                             # String operations increment
+
+    # Set up the important data segment registers (DS, ES, SS).
+    xorw %ax, %ax                                   # Segment number zero
+    movw %ax, %ds                                   # -> Data Segment
+    movw %ax, %es                                   # -> Extra Segment
+    movw %ax, %ss                                   # -> Stack Segment
+
+    # Enable A20:
+    #  For backwards compatibility with the earliest PCs, physical
+    #  address line 20 is tied low, so that addresses higher than
+    #  1MB wrap around to zero by default. This code undoes this.
+seta20.1:
+    inb $0x64, %al                                  # Wait for not busy
+    testb $0x2, %al
+    jnz seta20.1
+
+    movb $0xd1, %al                                 # 0xd1 -> port 0x64
+    outb %al, $0x64
+
+seta20.2:
+    inb $0x64, %al                                  # Wait for not busy
+    testb $0x2, %al
+    jnz seta20.2
+
+    movb $0xdf, %al                                 # 0xdf -> port 0x60
+    outb %al, $0x60
+
+probe_memory:
+    movl $0, 0x8000
+    xorl %ebx, %ebx
+    movw $0x8004, %di
+start_probe:
+    movl $0xE820, %eax
+    movl $20, %ecx
+    movl $SMAP, %edx
+    int $0x15
+    jnc cont
+    movw $12345, 0x8000
+    jmp finish_probe
+cont:
+    addw $20, %di
+    incl 0x8000
+    cmpl $0, %ebx
+    jnz start_probe
+finish_probe:
+
+    # Switch from real to protected mode, using a bootstrap GDT
+    # and segment translation that makes virtual addresses
+    # identical to physical addresses, so that the
+    # effective memory map does not change during the switch.
+    lgdt gdtdesc
+    movl %cr0, %eax
+    orl $CR0_PE_ON, %eax
+    movl %eax, %cr0
+
+    # Jump to next instruction, but in 32-bit code segment.
+    # Switches processor into 32-bit mode.
+    ljmp $PROT_MODE_CSEG, $protcseg
+
+.code32                                             # Assemble for 32-bit mode
+protcseg:
+    # Set up the protected-mode data segment registers
+    movw $PROT_MODE_DSEG, %ax                       # Our data segment selector
+    movw %ax, %ds                                   # -> DS: Data Segment
+    movw %ax, %es                                   # -> ES: Extra Segment
+    movw %ax, %fs                                   # -> FS
+    movw %ax, %gs                                   # -> GS
+    movw %ax, %ss                                   # -> SS: Stack Segment
+
+    # Set up the stack pointer and call into C. The stack region is from 0--start(0x7c00)
+    movl $0x0, %ebp
+    movl $start, %esp
+    call bootmain
+
+    # If bootmain returns (it shouldn't), loop.
+spin:
+    jmp spin
+
+.data
+# Bootstrap GDT
+.p2align 2                                          # force 4 byte alignment
+gdt:
+    SEG_NULLASM                                     # null seg
+    SEG_ASM(STA_X|STA_R, 0x0, 0xffffffff)           # code seg for bootloader and kernel
+    SEG_ASM(STA_W, 0x0, 0xffffffff)                 # data seg for bootloader and kernel
+
+gdtdesc:
+    .word 0x17                                      # sizeof(gdt) - 1
+    .long gdt                                       # address gdt
diff --git a/code/lab2/boot/bootmain.c b/code/lab2/boot/bootmain.c
new file mode 100644
index 0000000..4b55eb7
--- /dev/null
+++ b/code/lab2/boot/bootmain.c
@@ -0,0 +1,116 @@
+#include <defs.h>
+#include <x86.h>
+#include <elf.h>
+
+/* *********************************************************************
+ * This a dirt simple boot loader, whose sole job is to boot
+ * an ELF kernel image from the first IDE hard disk.
+ *
+ * DISK LAYOUT
+ *  * This program(bootasm.S and bootmain.c) is the bootloader.
+ *    It should be stored in the first sector of the disk.
+ *
+ *  * The 2nd sector onward holds the kernel image.
+ *
+ *  * The kernel image must be in ELF format.
+ *
+ * BOOT UP STEPS
+ *  * when the CPU boots it loads the BIOS into memory and executes it
+ *
+ *  * the BIOS intializes devices, sets of the interrupt routines, and
+ *    reads the first sector of the boot device(e.g., hard-drive)
+ *    into memory and jumps to it.
+ *
+ *  * Assuming this boot loader is stored in the first sector of the
+ *    hard-drive, this code takes over...
+ *
+ *  * control starts in bootasm.S -- which sets up protected mode,
+ *    and a stack so C code then run, then calls bootmain()
+ *
+ *  * bootmain() in this file takes over, reads in the kernel and jumps to it.
+ * */
+
+#define SECTSIZE        512
+#define ELFHDR          ((struct elfhdr *)0x10000)      // scratch space
+
+/* waitdisk - wait for disk ready */
+static void
+waitdisk(void) {
+    while ((inb(0x1F7) & 0xC0) != 0x40)
+        /* do nothing */;
+}
+
+/* readsect - read a single sector at @secno into @dst */
+static void
+readsect(void *dst, uint32_t secno) {
+    // wait for disk to be ready
+    waitdisk();
+
+    outb(0x1F2, 1);                         // count = 1
+    outb(0x1F3, secno & 0xFF);
+    outb(0x1F4, (secno >> 8) & 0xFF);
+    outb(0x1F5, (secno >> 16) & 0xFF);
+    outb(0x1F6, ((secno >> 24) & 0xF) | 0xE0);
+    outb(0x1F7, 0x20);                      // cmd 0x20 - read sectors
+
+    // wait for disk to be ready
+    waitdisk();
+
+    // read a sector
+    insl(0x1F0, dst, SECTSIZE / 4);
+}
+
+/* *
+ * readseg - read @count bytes at @offset from kernel into virtual address @va,
+ * might copy more than asked.
+ * */
+static void
+readseg(uintptr_t va, uint32_t count, uint32_t offset) {
+    uintptr_t end_va = va + count;
+
+    // round down to sector boundary
+    va -= offset % SECTSIZE;
+
+    // translate from bytes to sectors; kernel starts at sector 1
+    uint32_t secno = (offset / SECTSIZE) + 1;
+
+    // If this is too slow, we could read lots of sectors at a time.
+    // We'd write more to memory than asked, but it doesn't matter --
+    // we load in increasing order.
+    for (; va < end_va; va += SECTSIZE, secno ++) {
+        readsect((void *)va, secno);
+    }
+}
+
+/* bootmain - the entry of bootloader */
+void
+bootmain(void) {
+    // read the 1st page off disk
+    readseg((uintptr_t)ELFHDR, SECTSIZE * 8, 0);
+
+    // is this a valid ELF?
+    if (ELFHDR->e_magic != ELF_MAGIC) {
+        goto bad;
+    }
+
+    struct proghdr *ph, *eph;
+
+    // load each program segment (ignores ph flags)
+    ph = (struct proghdr *)((uintptr_t)ELFHDR + ELFHDR->e_phoff);
+    eph = ph + ELFHDR->e_phnum;
+    for (; ph < eph; ph ++) {
+        readseg(ph->p_va & 0xFFFFFF, ph->p_memsz, ph->p_offset);
+    }
+
+    // call the entry point from the ELF header
+    // note: does not return
+    ((void (*)(void))(ELFHDR->e_entry & 0xFFFFFF))();
+
+bad:
+    outw(0x8A00, 0x8A00);
+    outw(0x8A00, 0x8E00);
+
+    /* do nothing */
+    while (1);
+}
+
diff --git a/code/lab2/kern/debug/assert.h b/code/lab2/kern/debug/assert.h
new file mode 100644
index 0000000..ac1a966
--- /dev/null
+++ b/code/lab2/kern/debug/assert.h
@@ -0,0 +1,27 @@
+#ifndef __KERN_DEBUG_ASSERT_H__
+#define __KERN_DEBUG_ASSERT_H__
+
+#include <defs.h>
+
+void __warn(const char *file, int line, const char *fmt, ...);
+void __noreturn __panic(const char *file, int line, const char *fmt, ...);
+
+#define warn(...)                                       \
+    __warn(__FILE__, __LINE__, __VA_ARGS__)
+
+#define panic(...)                                      \
+    __panic(__FILE__, __LINE__, __VA_ARGS__)
+
+#define assert(x)                                       \
+    do {                                                \
+        if (!(x)) {                                     \
+            panic("assertion failed: %s", #x);          \
+        }                                               \
+    } while (0)
+
+// static_assert(x) will generate a compile-time error if 'x' is false.
+#define static_assert(x)                                \
+    switch (x) { case 0: case (x): ; }
+
+#endif /* !__KERN_DEBUG_ASSERT_H__ */
+
diff --git a/code/lab2/kern/debug/kdebug.c b/code/lab2/kern/debug/kdebug.c
new file mode 100644
index 0000000..fbf7346
--- /dev/null
+++ b/code/lab2/kern/debug/kdebug.c
@@ -0,0 +1,309 @@
+#include <defs.h>
+#include <x86.h>
+#include <stab.h>
+#include <stdio.h>
+#include <string.h>
+#include <sync.h>
+#include <kdebug.h>
+#include <monitor.h>
+#include <assert.h>
+
+#define STACKFRAME_DEPTH 20
+
+extern const struct stab __STAB_BEGIN__[];  // beginning of stabs table
+extern const struct stab __STAB_END__[];    // end of stabs table
+extern const char __STABSTR_BEGIN__[];      // beginning of string table
+extern const char __STABSTR_END__[];        // end of string table
+
+/* debug information about a particular instruction pointer */
+struct eipdebuginfo {
+    const char *eip_file;                   // source code filename for eip
+    int eip_line;                           // source code line number for eip
+    const char *eip_fn_name;                // name of function containing eip
+    int eip_fn_namelen;                     // length of function's name
+    uintptr_t eip_fn_addr;                  // start address of function
+    int eip_fn_narg;                        // number of function arguments
+};
+
+/* *
+ * stab_binsearch - according to the input, the initial value of
+ * range [*@region_left, *@region_right], find a single stab entry
+ * that includes the address @addr and matches the type @type,
+ * and then save its boundary to the locations that pointed
+ * by @region_left and @region_right.
+ *
+ * Some stab types are arranged in increasing order by instruction address.
+ * For example, N_FUN stabs (stab entries with n_type == N_FUN), which
+ * mark functions, and N_SO stabs, which mark source files.
+ *
+ * Given an instruction address, this function finds the single stab entry
+ * of type @type that contains that address.
+ *
+ * The search takes place within the range [*@region_left, *@region_right].
+ * Thus, to search an entire set of N stabs, you might do:
+ *
+ *      left = 0;
+ *      right = N - 1;    (rightmost stab)
+ *      stab_binsearch(stabs, &left, &right, type, addr);
+ *
+ * The search modifies *region_left and *region_right to bracket the @addr.
+ * *@region_left points to the matching stab that contains @addr,
+ * and *@region_right points just before the next stab.
+ * If *@region_left > *region_right, then @addr is not contained in any
+ * matching stab.
+ *
+ * For example, given these N_SO stabs:
+ *      Index  Type   Address
+ *      0      SO     f0100000
+ *      13     SO     f0100040
+ *      117    SO     f0100176
+ *      118    SO     f0100178
+ *      555    SO     f0100652
+ *      556    SO     f0100654
+ *      657    SO     f0100849
+ * this code:
+ *      left = 0, right = 657;
+ *      stab_binsearch(stabs, &left, &right, N_SO, 0xf0100184);
+ * will exit setting left = 118, right = 554.
+ * */
+static void
+stab_binsearch(const struct stab *stabs, int *region_left, int *region_right,
+           int type, uintptr_t addr) {
+    int l = *region_left, r = *region_right, any_matches = 0;
+
+    while (l <= r) {
+        int true_m = (l + r) / 2, m = true_m;
+
+        // search for earliest stab with right type
+        while (m >= l && stabs[m].n_type != type) {
+            m --;
+        }
+        if (m < l) {    // no match in [l, m]
+            l = true_m + 1;
+            continue;
+        }
+
+        // actual binary search
+        any_matches = 1;
+        if (stabs[m].n_value < addr) {
+            *region_left = m;
+            l = true_m + 1;
+        } else if (stabs[m].n_value > addr) {
+            *region_right = m - 1;
+            r = m - 1;
+        } else {
+            // exact match for 'addr', but continue loop to find
+            // *region_right
+            *region_left = m;
+            l = m;
+            addr ++;
+        }
+    }
+
+    if (!any_matches) {
+        *region_right = *region_left - 1;
+    }
+    else {
+        // find rightmost region containing 'addr'
+        l = *region_right;
+        for (; l > *region_left && stabs[l].n_type != type; l --)
+            /* do nothing */;
+        *region_left = l;
+    }
+}
+
+/* *
+ * debuginfo_eip - Fill in the @info structure with information about
+ * the specified instruction address, @addr.  Returns 0 if information
+ * was found, and negative if not.  But even if it returns negative it
+ * has stored some information into '*info'.
+ * */
+int
+debuginfo_eip(uintptr_t addr, struct eipdebuginfo *info) {
+    const struct stab *stabs, *stab_end;
+    const char *stabstr, *stabstr_end;
+
+    info->eip_file = "<unknown>";
+    info->eip_line = 0;
+    info->eip_fn_name = "<unknown>";
+    info->eip_fn_namelen = 9;
+    info->eip_fn_addr = addr;
+    info->eip_fn_narg = 0;
+
+    stabs = __STAB_BEGIN__;
+    stab_end = __STAB_END__;
+    stabstr = __STABSTR_BEGIN__;
+    stabstr_end = __STABSTR_END__;
+
+    // String table validity checks
+    if (stabstr_end <= stabstr || stabstr_end[-1] != 0) {
+        return -1;
+    }
+
+    // Now we find the right stabs that define the function containing
+    // 'eip'.  First, we find the basic source file containing 'eip'.
+    // Then, we look in that source file for the function.  Then we look
+    // for the line number.
+
+    // Search the entire set of stabs for the source file (type N_SO).
+    int lfile = 0, rfile = (stab_end - stabs) - 1;
+    stab_binsearch(stabs, &lfile, &rfile, N_SO, addr);
+    if (lfile == 0)
+        return -1;
+
+    // Search within that file's stabs for the function definition
+    // (N_FUN).
+    int lfun = lfile, rfun = rfile;
+    int lline, rline;
+    stab_binsearch(stabs, &lfun, &rfun, N_FUN, addr);
+
+    if (lfun <= rfun) {
+        // stabs[lfun] points to the function name
+        // in the string table, but check bounds just in case.
+        if (stabs[lfun].n_strx < stabstr_end - stabstr) {
+            info->eip_fn_name = stabstr + stabs[lfun].n_strx;
+        }
+        info->eip_fn_addr = stabs[lfun].n_value;
+        addr -= info->eip_fn_addr;
+        // Search within the function definition for the line number.
+        lline = lfun;
+        rline = rfun;
+    } else {
+        // Couldn't find function stab!  Maybe we're in an assembly
+        // file.  Search the whole file for the line number.
+        info->eip_fn_addr = addr;
+        lline = lfile;
+        rline = rfile;
+    }
+    info->eip_fn_namelen = strfind(info->eip_fn_name, ':') - info->eip_fn_name;
+
+    // Search within [lline, rline] for the line number stab.
+    // If found, set info->eip_line to the right line number.
+    // If not found, return -1.
+    stab_binsearch(stabs, &lline, &rline, N_SLINE, addr);
+    if (lline <= rline) {
+        info->eip_line = stabs[rline].n_desc;
+    } else {
+        return -1;
+    }
+
+    // Search backwards from the line number for the relevant filename stab.
+    // We can't just use the "lfile" stab because inlined functions
+    // can interpolate code from a different file!
+    // Such included source files use the N_SOL stab type.
+    while (lline >= lfile
+           && stabs[lline].n_type != N_SOL
+           && (stabs[lline].n_type != N_SO || !stabs[lline].n_value)) {
+        lline --;
+    }
+    if (lline >= lfile && stabs[lline].n_strx < stabstr_end - stabstr) {
+        info->eip_file = stabstr + stabs[lline].n_strx;
+    }
+
+    // Set eip_fn_narg to the number of arguments taken by the function,
+    // or 0 if there was no containing function.
+    if (lfun < rfun) {
+        for (lline = lfun + 1;
+             lline < rfun && stabs[lline].n_type == N_PSYM;
+             lline ++) {
+            info->eip_fn_narg ++;
+        }
+    }
+    return 0;
+}
+
+/* *
+ * print_kerninfo - print the information about kernel, including the location
+ * of kernel entry, the start addresses of data and text segements, the start
+ * address of free memory and how many memory that kernel has used.
+ * */
+void
+print_kerninfo(void) {
+    extern char etext[], edata[], end[], kern_init[];
+    cprintf("Special kernel symbols:\n");
+    cprintf("  entry  0x%08x (phys)\n", kern_init);
+    cprintf("  etext  0x%08x (phys)\n", etext);
+    cprintf("  edata  0x%08x (phys)\n", edata);
+    cprintf("  end    0x%08x (phys)\n", end);
+    cprintf("Kernel executable memory footprint: %dKB\n", (end - kern_init + 1023)/1024);
+}
+
+/* *
+ * print_debuginfo - read and print the stat information for the address @eip,
+ * and info.eip_fn_addr should be the first address of the related function.
+ * */
+void
+print_debuginfo(uintptr_t eip) {
+    struct eipdebuginfo info;
+    if (debuginfo_eip(eip, &info) != 0) {
+        cprintf("    <unknow>: -- 0x%08x --\n", eip);
+    }
+    else {
+        char fnname[256];
+        int j;
+        for (j = 0; j < info.eip_fn_namelen; j ++) {
+            fnname[j] = info.eip_fn_name[j];
+        }
+        fnname[j] = '\0';
+        cprintf("    %s:%d: %s+%d\n", info.eip_file, info.eip_line,
+                fnname, eip - info.eip_fn_addr);
+    }
+}
+
+static __noinline uint32_t
+read_eip(void) {
+    uint32_t eip;
+    asm volatile("movl 4(%%ebp), %0" : "=r" (eip));
+    return eip;
+}
+
+/* *
+ * print_stackframe - print a list of the saved eip values from the nested 'call'
+ * instructions that led to the current point of execution
+ *
+ * The x86 stack pointer, namely esp, points to the lowest location on the stack
+ * that is currently in use. Everything below that location in stack is free. Pushing
+ * a value onto the stack will invole decreasing the stack pointer and then writing
+ * the value to the place that stack pointer pointes to. And popping a value do the
+ * opposite.
+ *
+ * The ebp (base pointer) register, in contrast, is associated with the stack
+ * primarily by software convention. On entry to a C function, the function's
+ * prologue code normally saves the previous function's base pointer by pushing
+ * it onto the stack, and then copies the current esp value into ebp for the duration
+ * of the function. If all the functions in a program obey this convention,
+ * then at any given point during the program's execution, it is possible to trace
+ * back through the stack by following the chain of saved ebp pointers and determining
+ * exactly what nested sequence of function calls caused this particular point in the
+ * program to be reached. This capability can be particularly useful, for example,
+ * when a particular function causes an assert failure or panic because bad arguments
+ * were passed to it, but you aren't sure who passed the bad arguments. A stack
+ * backtrace lets you find the offending function.
+ *
+ * The inline function read_ebp() can tell us the value of current ebp. And the
+ * non-inline function read_eip() is useful, it can read the value of current eip,
+ * since while calling this function, read_eip() can read the caller's eip from
+ * stack easily.
+ *
+ * In print_debuginfo(), the function debuginfo_eip() can get enough information about
+ * calling-chain. Finally print_stackframe() will trace and print them for debugging.
+ *
+ * Note that, the length of ebp-chain is limited. In boot/bootasm.S, before jumping
+ * to the kernel entry, the value of ebp has been set to zero, that's the boundary.
+ * */
+void
+print_stackframe(void) {
+     /* LAB1 YOUR CODE : STEP 1 */
+     /* (1) call read_ebp() to get the value of ebp. the type is (uint32_t);
+      * (2) call read_eip() to get the value of eip. the type is (uint32_t);
+      * (3) from 0 .. STACKFRAME_DEPTH
+      *    (3.1) printf value of ebp, eip
+      *    (3.2) (uint32_t)calling arguments [0..4] = the contents in address (unit32_t)ebp +2 [0..4]
+      *    (3.3) cprintf("\n");
+      *    (3.4) call print_debuginfo(eip-1) to print the C calling function name and line number, etc.
+      *    (3.5) popup a calling stackframe
+      *           NOTICE: the calling funciton's return addr eip  = ss:[ebp+4]
+      *                   the calling funciton's ebp = ss:[ebp]
+      */
+}
+
diff --git a/code/lab2/kern/debug/kdebug.h b/code/lab2/kern/debug/kdebug.h
new file mode 100644
index 0000000..c2a7b74
--- /dev/null
+++ b/code/lab2/kern/debug/kdebug.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_DEBUG_KDEBUG_H__
+#define __KERN_DEBUG_KDEBUG_H__
+
+#include <defs.h>
+#include <trap.h>
+
+void print_kerninfo(void);
+void print_stackframe(void);
+void print_debuginfo(uintptr_t eip);
+
+#endif /* !__KERN_DEBUG_KDEBUG_H__ */
+
diff --git a/code/lab2/kern/debug/monitor.c b/code/lab2/kern/debug/monitor.c
new file mode 100644
index 0000000..85ac06c
--- /dev/null
+++ b/code/lab2/kern/debug/monitor.c
@@ -0,0 +1,132 @@
+#include <stdio.h>
+#include <string.h>
+#include <mmu.h>
+#include <trap.h>
+#include <monitor.h>
+#include <kdebug.h>
+
+/* *
+ * Simple command-line kernel monitor useful for controlling the
+ * kernel and exploring the system interactively.
+ * */
+
+struct command {
+    const char *name;
+    const char *desc;
+    // return -1 to force monitor to exit
+    int(*func)(int argc, char **argv, struct trapframe *tf);
+};
+
+static struct command commands[] = {
+    {"help", "Display this list of commands.", mon_help},
+    {"kerninfo", "Display information about the kernel.", mon_kerninfo},
+    {"backtrace", "Print backtrace of stack frame.", mon_backtrace},
+};
+
+/* return if kernel is panic, in kern/debug/panic.c */
+bool is_kernel_panic(void);
+
+#define NCOMMANDS (sizeof(commands)/sizeof(struct command))
+
+/***** Kernel monitor command interpreter *****/
+
+#define MAXARGS         16
+#define WHITESPACE      " \t\n\r"
+
+/* parse - parse the command buffer into whitespace-separated arguments */
+static int
+parse(char *buf, char **argv) {
+    int argc = 0;
+    while (1) {
+        // find global whitespace
+        while (*buf != '\0' && strchr(WHITESPACE, *buf) != NULL) {
+            *buf ++ = '\0';
+        }
+        if (*buf == '\0') {
+            break;
+        }
+
+        // save and scan past next arg
+        if (argc == MAXARGS - 1) {
+            cprintf("Too many arguments (max %d).\n", MAXARGS);
+        }
+        argv[argc ++] = buf;
+        while (*buf != '\0' && strchr(WHITESPACE, *buf) == NULL) {
+            buf ++;
+        }
+    }
+    return argc;
+}
+
+/* *
+ * runcmd - parse the input string, split it into separated arguments
+ * and then lookup and invoke some related commands/
+ * */
+static int
+runcmd(char *buf, struct trapframe *tf) {
+    char *argv[MAXARGS];
+    int argc = parse(buf, argv);
+    if (argc == 0) {
+        return 0;
+    }
+    int i;
+    for (i = 0; i < NCOMMANDS; i ++) {
+        if (strcmp(commands[i].name, argv[0]) == 0) {
+            return commands[i].func(argc - 1, argv + 1, tf);
+        }
+    }
+    cprintf("Unknown command '%s'\n", argv[0]);
+    return 0;
+}
+
+/***** Implementations of basic kernel monitor commands *****/
+
+void
+monitor(struct trapframe *tf) {
+    cprintf("Welcome to the kernel debug monitor!!\n");
+    cprintf("Type 'help' for a list of commands.\n");
+
+    if (tf != NULL) {
+        print_trapframe(tf);
+    }
+
+    char *buf;
+    while (1) {
+        if ((buf = readline("K> ")) != NULL) {
+            if (runcmd(buf, tf) < 0) {
+                break;
+            }
+        }
+    }
+}
+
+/* mon_help - print the information about mon_* functions */
+int
+mon_help(int argc, char **argv, struct trapframe *tf) {
+    int i;
+    for (i = 0; i < NCOMMANDS; i ++) {
+        cprintf("%s - %s\n", commands[i].name, commands[i].desc);
+    }
+    return 0;
+}
+
+/* *
+ * mon_kerninfo - call print_kerninfo in kern/debug/kdebug.c to
+ * print the memory occupancy in kernel.
+ * */
+int
+mon_kerninfo(int argc, char **argv, struct trapframe *tf) {
+    print_kerninfo();
+    return 0;
+}
+
+/* *
+ * mon_backtrace - call print_stackframe in kern/debug/kdebug.c to
+ * print a backtrace of the stack.
+ * */
+int
+mon_backtrace(int argc, char **argv, struct trapframe *tf) {
+    print_stackframe();
+    return 0;
+}
+
diff --git a/code/lab2/kern/debug/monitor.h b/code/lab2/kern/debug/monitor.h
new file mode 100644
index 0000000..2bc0854
--- /dev/null
+++ b/code/lab2/kern/debug/monitor.h
@@ -0,0 +1,19 @@
+#ifndef __KERN_DEBUG_MONITOR_H__
+#define __KERN_DEBUG_MONITOR_H__
+
+#include <trap.h>
+
+void monitor(struct trapframe *tf);
+
+int mon_help(int argc, char **argv, struct trapframe *tf);
+int mon_kerninfo(int argc, char **argv, struct trapframe *tf);
+int mon_backtrace(int argc, char **argv, struct trapframe *tf);
+int mon_continue(int argc, char **argv, struct trapframe *tf);
+int mon_step(int argc, char **argv, struct trapframe *tf);
+int mon_breakpoint(int argc, char **argv, struct trapframe *tf);
+int mon_watchpoint(int argc, char **argv, struct trapframe *tf);
+int mon_delete_dr(int argc, char **argv, struct trapframe *tf);
+int mon_list_dr(int argc, char **argv, struct trapframe *tf);
+
+#endif /* !__KERN_DEBUG_MONITOR_H__ */
+
diff --git a/code/lab2/kern/debug/panic.c b/code/lab2/kern/debug/panic.c
new file mode 100644
index 0000000..9be6c0b
--- /dev/null
+++ b/code/lab2/kern/debug/panic.c
@@ -0,0 +1,49 @@
+#include <defs.h>
+#include <stdio.h>
+#include <intr.h>
+#include <monitor.h>
+
+static bool is_panic = 0;
+
+/* *
+ * __panic - __panic is called on unresolvable fatal errors. it prints
+ * "panic: 'message'", and then enters the kernel monitor.
+ * */
+void
+__panic(const char *file, int line, const char *fmt, ...) {
+    if (is_panic) {
+        goto panic_dead;
+    }
+    is_panic = 1;
+
+    // print the 'message'
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("kernel panic at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+
+panic_dead:
+    intr_disable();
+    while (1) {
+        monitor(NULL);
+    }
+}
+
+/* __warn - like panic, but don't */
+void
+__warn(const char *file, int line, const char *fmt, ...) {
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("kernel warning at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+}
+
+bool
+is_kernel_panic(void) {
+    return is_panic;
+}
+
diff --git a/code/lab2/kern/debug/stab.h b/code/lab2/kern/debug/stab.h
new file mode 100644
index 0000000..8d5cea3
--- /dev/null
+++ b/code/lab2/kern/debug/stab.h
@@ -0,0 +1,54 @@
+#ifndef __KERN_DEBUG_STAB_H__
+#define __KERN_DEBUG_STAB_H__
+
+#include <defs.h>
+
+/* *
+ * STABS debugging info
+ *
+ * The kernel debugger can understand some debugging information in
+ * the STABS format.  For more information on this format, see
+ * http://sources.redhat.com/gdb/onlinedocs/stabs_toc.html
+ *
+ * The constants below define some symbol types used by various debuggers
+ * and compilers.  Kernel uses the N_SO, N_SOL, N_FUN, and N_SLINE types.
+ * */
+
+#define N_GSYM      0x20    // global symbol
+#define N_FNAME     0x22    // F77 function name
+#define N_FUN       0x24    // procedure name
+#define N_STSYM     0x26    // data segment variable
+#define N_LCSYM     0x28    // bss segment variable
+#define N_MAIN      0x2a    // main function name
+#define N_PC        0x30    // global Pascal symbol
+#define N_RSYM      0x40    // register variable
+#define N_SLINE     0x44    // text segment line number
+#define N_DSLINE    0x46    // data segment line number
+#define N_BSLINE    0x48    // bss segment line number
+#define N_SSYM      0x60    // structure/union element
+#define N_SO        0x64    // main source file name
+#define N_LSYM      0x80    // stack variable
+#define N_BINCL     0x82    // include file beginning
+#define N_SOL       0x84    // included source file name
+#define N_PSYM      0xa0    // parameter variable
+#define N_EINCL     0xa2    // include file end
+#define N_ENTRY     0xa4    // alternate entry point
+#define N_LBRAC     0xc0    // left bracket
+#define N_EXCL      0xc2    // deleted include file
+#define N_RBRAC     0xe0    // right bracket
+#define N_BCOMM     0xe2    // begin common
+#define N_ECOMM     0xe4    // end common
+#define N_ECOML     0xe8    // end common (local name)
+#define N_LENG      0xfe    // length of preceding entry
+
+/* Entries in the STABS table are formatted as follows. */
+struct stab {
+    uint32_t n_strx;        // index into string table of name
+    uint8_t n_type;         // type of symbol
+    uint8_t n_other;        // misc info (usually empty)
+    uint16_t n_desc;        // description field
+    uintptr_t n_value;      // value of symbol
+};
+
+#endif /* !__KERN_DEBUG_STAB_H__ */
+
diff --git a/code/lab2/kern/driver/clock.c b/code/lab2/kern/driver/clock.c
new file mode 100644
index 0000000..4e67c3b
--- /dev/null
+++ b/code/lab2/kern/driver/clock.c
@@ -0,0 +1,45 @@
+#include <x86.h>
+#include <trap.h>
+#include <stdio.h>
+#include <picirq.h>
+
+/* *
+ * Support for time-related hardware gadgets - the 8253 timer,
+ * which generates interruptes on IRQ-0.
+ * */
+
+#define IO_TIMER1           0x040               // 8253 Timer #1
+
+/* *
+ * Frequency of all three count-down timers; (TIMER_FREQ/freq)
+ * is the appropriate count to generate a frequency of freq Hz.
+ * */
+
+#define TIMER_FREQ      1193182
+#define TIMER_DIV(x)    ((TIMER_FREQ + (x) / 2) / (x))
+
+#define TIMER_MODE      (IO_TIMER1 + 3)         // timer mode port
+#define TIMER_SEL0      0x00                    // select counter 0
+#define TIMER_RATEGEN   0x04                    // mode 2, rate generator
+#define TIMER_16BIT     0x30                    // r/w counter 16 bits, LSB first
+
+volatile size_t ticks;
+
+/* *
+ * clock_init - initialize 8253 clock to interrupt 100 times per second,
+ * and then enable IRQ_TIMER.
+ * */
+void
+clock_init(void) {
+    // set 8253 timer-chip
+    outb(TIMER_MODE, TIMER_SEL0 | TIMER_RATEGEN | TIMER_16BIT);
+    outb(IO_TIMER1, TIMER_DIV(100) % 256);
+    outb(IO_TIMER1, TIMER_DIV(100) / 256);
+
+    // initialize time counter 'ticks' to zero
+    ticks = 0;
+
+    cprintf("++ setup timer interrupts\n");
+    pic_enable(IRQ_TIMER);
+}
+
diff --git a/code/lab2/kern/driver/clock.h b/code/lab2/kern/driver/clock.h
new file mode 100644
index 0000000..e22f393
--- /dev/null
+++ b/code/lab2/kern/driver/clock.h
@@ -0,0 +1,11 @@
+#ifndef __KERN_DRIVER_CLOCK_H__
+#define __KERN_DRIVER_CLOCK_H__
+
+#include <defs.h>
+
+extern volatile size_t ticks;
+
+void clock_init(void);
+
+#endif /* !__KERN_DRIVER_CLOCK_H__ */
+
diff --git a/code/lab2/kern/driver/console.c b/code/lab2/kern/driver/console.c
new file mode 100644
index 0000000..d4cf56b
--- /dev/null
+++ b/code/lab2/kern/driver/console.c
@@ -0,0 +1,465 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <kbdreg.h>
+#include <picirq.h>
+#include <trap.h>
+#include <memlayout.h>
+#include <sync.h>
+
+/* stupid I/O delay routine necessitated by historical PC design flaws */
+static void
+delay(void) {
+    inb(0x84);
+    inb(0x84);
+    inb(0x84);
+    inb(0x84);
+}
+
+/***** Serial I/O code *****/
+#define COM1            0x3F8
+
+#define COM_RX          0       // In:  Receive buffer (DLAB=0)
+#define COM_TX          0       // Out: Transmit buffer (DLAB=0)
+#define COM_DLL         0       // Out: Divisor Latch Low (DLAB=1)
+#define COM_DLM         1       // Out: Divisor Latch High (DLAB=1)
+#define COM_IER         1       // Out: Interrupt Enable Register
+#define COM_IER_RDI     0x01    // Enable receiver data interrupt
+#define COM_IIR         2       // In:  Interrupt ID Register
+#define COM_FCR         2       // Out: FIFO Control Register
+#define COM_LCR         3       // Out: Line Control Register
+#define COM_LCR_DLAB    0x80    // Divisor latch access bit
+#define COM_LCR_WLEN8   0x03    // Wordlength: 8 bits
+#define COM_MCR         4       // Out: Modem Control Register
+#define COM_MCR_RTS     0x02    // RTS complement
+#define COM_MCR_DTR     0x01    // DTR complement
+#define COM_MCR_OUT2    0x08    // Out2 complement
+#define COM_LSR         5       // In:  Line Status Register
+#define COM_LSR_DATA    0x01    // Data available
+#define COM_LSR_TXRDY   0x20    // Transmit buffer avail
+#define COM_LSR_TSRE    0x40    // Transmitter off
+
+#define MONO_BASE       0x3B4
+#define MONO_BUF        0xB0000
+#define CGA_BASE        0x3D4
+#define CGA_BUF         0xB8000
+#define CRT_ROWS        25
+#define CRT_COLS        80
+#define CRT_SIZE        (CRT_ROWS * CRT_COLS)
+
+#define LPTPORT         0x378
+
+static uint16_t *crt_buf;
+static uint16_t crt_pos;
+static uint16_t addr_6845;
+
+/* TEXT-mode CGA/VGA display output */
+
+static void
+cga_init(void) {
+    volatile uint16_t *cp = (uint16_t *)(CGA_BUF + KERNBASE);
+    uint16_t was = *cp;
+    *cp = (uint16_t) 0xA55A;
+    if (*cp != 0xA55A) {
+        cp = (uint16_t*)(MONO_BUF + KERNBASE);
+        addr_6845 = MONO_BASE;
+    } else {
+        *cp = was;
+        addr_6845 = CGA_BASE;
+    }
+
+    // Extract cursor location
+    uint32_t pos;
+    outb(addr_6845, 14);
+    pos = inb(addr_6845 + 1) << 8;
+    outb(addr_6845, 15);
+    pos |= inb(addr_6845 + 1);
+
+    crt_buf = (uint16_t*) cp;
+    crt_pos = pos;
+}
+
+static bool serial_exists = 0;
+
+static void
+serial_init(void) {
+    // Turn off the FIFO
+    outb(COM1 + COM_FCR, 0);
+
+    // Set speed; requires DLAB latch
+    outb(COM1 + COM_LCR, COM_LCR_DLAB);
+    outb(COM1 + COM_DLL, (uint8_t) (115200 / 9600));
+    outb(COM1 + COM_DLM, 0);
+
+    // 8 data bits, 1 stop bit, parity off; turn off DLAB latch
+    outb(COM1 + COM_LCR, COM_LCR_WLEN8 & ~COM_LCR_DLAB);
+
+    // No modem controls
+    outb(COM1 + COM_MCR, 0);
+    // Enable rcv interrupts
+    outb(COM1 + COM_IER, COM_IER_RDI);
+
+    // Clear any preexisting overrun indications and interrupts
+    // Serial port doesn't exist if COM_LSR returns 0xFF
+    serial_exists = (inb(COM1 + COM_LSR) != 0xFF);
+    (void) inb(COM1+COM_IIR);
+    (void) inb(COM1+COM_RX);
+
+    if (serial_exists) {
+        pic_enable(IRQ_COM1);
+    }
+}
+
+static void
+lpt_putc_sub(int c) {
+    int i;
+    for (i = 0; !(inb(LPTPORT + 1) & 0x80) && i < 12800; i ++) {
+        delay();
+    }
+    outb(LPTPORT + 0, c);
+    outb(LPTPORT + 2, 0x08 | 0x04 | 0x01);
+    outb(LPTPORT + 2, 0x08);
+}
+
+/* lpt_putc - copy console output to parallel port */
+static void
+lpt_putc(int c) {
+    if (c != '\b') {
+        lpt_putc_sub(c);
+    }
+    else {
+        lpt_putc_sub('\b');
+        lpt_putc_sub(' ');
+        lpt_putc_sub('\b');
+    }
+}
+
+/* cga_putc - print character to console */
+static void
+cga_putc(int c) {
+    // set black on white
+    if (!(c & ~0xFF)) {
+        c |= 0x0700;
+    }
+
+    switch (c & 0xff) {
+    case '\b':
+        if (crt_pos > 0) {
+            crt_pos --;
+            crt_buf[crt_pos] = (c & ~0xff) | ' ';
+        }
+        break;
+    case '\n':
+        crt_pos += CRT_COLS;
+    case '\r':
+        crt_pos -= (crt_pos % CRT_COLS);
+        break;
+    default:
+        crt_buf[crt_pos ++] = c;     // write the character
+        break;
+    }
+
+    // What is the purpose of this?
+    if (crt_pos >= CRT_SIZE) {
+        int i;
+        memmove(crt_buf, crt_buf + CRT_COLS, (CRT_SIZE - CRT_COLS) * sizeof(uint16_t));
+        for (i = CRT_SIZE - CRT_COLS; i < CRT_SIZE; i ++) {
+            crt_buf[i] = 0x0700 | ' ';
+        }
+        crt_pos -= CRT_COLS;
+    }
+
+    // move that little blinky thing
+    outb(addr_6845, 14);
+    outb(addr_6845 + 1, crt_pos >> 8);
+    outb(addr_6845, 15);
+    outb(addr_6845 + 1, crt_pos);
+}
+
+static void
+serial_putc_sub(int c) {
+    int i;
+    for (i = 0; !(inb(COM1 + COM_LSR) & COM_LSR_TXRDY) && i < 12800; i ++) {
+        delay();
+    }
+    outb(COM1 + COM_TX, c);
+}
+
+/* serial_putc - print character to serial port */
+static void
+serial_putc(int c) {
+    if (c != '\b') {
+        serial_putc_sub(c);
+    }
+    else {
+        serial_putc_sub('\b');
+        serial_putc_sub(' ');
+        serial_putc_sub('\b');
+    }
+}
+
+/* *
+ * Here we manage the console input buffer, where we stash characters
+ * received from the keyboard or serial port whenever the corresponding
+ * interrupt occurs.
+ * */
+
+#define CONSBUFSIZE 512
+
+static struct {
+    uint8_t buf[CONSBUFSIZE];
+    uint32_t rpos;
+    uint32_t wpos;
+} cons;
+
+/* *
+ * cons_intr - called by device interrupt routines to feed input
+ * characters into the circular console input buffer.
+ * */
+static void
+cons_intr(int (*proc)(void)) {
+    int c;
+    while ((c = (*proc)()) != -1) {
+        if (c != 0) {
+            cons.buf[cons.wpos ++] = c;
+            if (cons.wpos == CONSBUFSIZE) {
+                cons.wpos = 0;
+            }
+        }
+    }
+}
+
+/* serial_proc_data - get data from serial port */
+static int
+serial_proc_data(void) {
+    if (!(inb(COM1 + COM_LSR) & COM_LSR_DATA)) {
+        return -1;
+    }
+    int c = inb(COM1 + COM_RX);
+    if (c == 127) {
+        c = '\b';
+    }
+    return c;
+}
+
+/* serial_intr - try to feed input characters from serial port */
+void
+serial_intr(void) {
+    if (serial_exists) {
+        cons_intr(serial_proc_data);
+    }
+}
+
+/***** Keyboard input code *****/
+
+#define NO              0
+
+#define SHIFT           (1<<0)
+#define CTL             (1<<1)
+#define ALT             (1<<2)
+
+#define CAPSLOCK        (1<<3)
+#define NUMLOCK         (1<<4)
+#define SCROLLLOCK      (1<<5)
+
+#define E0ESC           (1<<6)
+
+static uint8_t shiftcode[256] = {
+    [0x1D] CTL,
+    [0x2A] SHIFT,
+    [0x36] SHIFT,
+    [0x38] ALT,
+    [0x9D] CTL,
+    [0xB8] ALT
+};
+
+static uint8_t togglecode[256] = {
+    [0x3A] CAPSLOCK,
+    [0x45] NUMLOCK,
+    [0x46] SCROLLLOCK
+};
+
+static uint8_t normalmap[256] = {
+    NO,   0x1B, '1',  '2',  '3',  '4',  '5',  '6',  // 0x00
+    '7',  '8',  '9',  '0',  '-',  '=',  '\b', '\t',
+    'q',  'w',  'e',  'r',  't',  'y',  'u',  'i',  // 0x10
+    'o',  'p',  '[',  ']',  '\n', NO,   'a',  's',
+    'd',  'f',  'g',  'h',  'j',  'k',  'l',  ';',  // 0x20
+    '\'', '`',  NO,   '\\', 'z',  'x',  'c',  'v',
+    'b',  'n',  'm',  ',',  '.',  '/',  NO,   '*',  // 0x30
+    NO,   ' ',  NO,   NO,   NO,   NO,   NO,   NO,
+    NO,   NO,   NO,   NO,   NO,   NO,   NO,   '7',  // 0x40
+    '8',  '9',  '-',  '4',  '5',  '6',  '+',  '1',
+    '2',  '3',  '0',  '.',  NO,   NO,   NO,   NO,   // 0x50
+    [0xC7] KEY_HOME,    [0x9C] '\n' /*KP_Enter*/,
+    [0xB5] '/' /*KP_Div*/,  [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+static uint8_t shiftmap[256] = {
+    NO,   033,  '!',  '@',  '#',  '$',  '%',  '^',  // 0x00
+    '&',  '*',  '(',  ')',  '_',  '+',  '\b', '\t',
+    'Q',  'W',  'E',  'R',  'T',  'Y',  'U',  'I',  // 0x10
+    'O',  'P',  '{',  '}',  '\n', NO,   'A',  'S',
+    'D',  'F',  'G',  'H',  'J',  'K',  'L',  ':',  // 0x20
+    '"',  '~',  NO,   '|',  'Z',  'X',  'C',  'V',
+    'B',  'N',  'M',  '<',  '>',  '?',  NO,   '*',  // 0x30
+    NO,   ' ',  NO,   NO,   NO,   NO,   NO,   NO,
+    NO,   NO,   NO,   NO,   NO,   NO,   NO,   '7',  // 0x40
+    '8',  '9',  '-',  '4',  '5',  '6',  '+',  '1',
+    '2',  '3',  '0',  '.',  NO,   NO,   NO,   NO,   // 0x50
+    [0xC7] KEY_HOME,    [0x9C] '\n' /*KP_Enter*/,
+    [0xB5] '/' /*KP_Div*/,  [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+#define C(x) (x - '@')
+
+static uint8_t ctlmap[256] = {
+    NO,      NO,      NO,      NO,      NO,      NO,      NO,      NO,
+    NO,      NO,      NO,      NO,      NO,      NO,      NO,      NO,
+    C('Q'),  C('W'),  C('E'),  C('R'),  C('T'),  C('Y'),  C('U'),  C('I'),
+    C('O'),  C('P'),  NO,      NO,      '\r',    NO,      C('A'),  C('S'),
+    C('D'),  C('F'),  C('G'),  C('H'),  C('J'),  C('K'),  C('L'),  NO,
+    NO,      NO,      NO,      C('\\'), C('Z'),  C('X'),  C('C'),  C('V'),
+    C('B'),  C('N'),  C('M'),  NO,      NO,      C('/'),  NO,      NO,
+    [0x97] KEY_HOME,
+    [0xB5] C('/'),      [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+static uint8_t *charcode[4] = {
+    normalmap,
+    shiftmap,
+    ctlmap,
+    ctlmap
+};
+
+/* *
+ * kbd_proc_data - get data from keyboard
+ *
+ * The kbd_proc_data() function gets data from the keyboard.
+ * If we finish a character, return it, else 0. And return -1 if no data.
+ * */
+static int
+kbd_proc_data(void) {
+    int c;
+    uint8_t data;
+    static uint32_t shift;
+
+    if ((inb(KBSTATP) & KBS_DIB) == 0) {
+        return -1;
+    }
+
+    data = inb(KBDATAP);
+
+    if (data == 0xE0) {
+        // E0 escape character
+        shift |= E0ESC;
+        return 0;
+    } else if (data & 0x80) {
+        // Key released
+        data = (shift & E0ESC ? data : data & 0x7F);
+        shift &= ~(shiftcode[data] | E0ESC);
+        return 0;
+    } else if (shift & E0ESC) {
+        // Last character was an E0 escape; or with 0x80
+        data |= 0x80;
+        shift &= ~E0ESC;
+    }
+
+    shift |= shiftcode[data];
+    shift ^= togglecode[data];
+
+    c = charcode[shift & (CTL | SHIFT)][data];
+    if (shift & CAPSLOCK) {
+        if ('a' <= c && c <= 'z')
+            c += 'A' - 'a';
+        else if ('A' <= c && c <= 'Z')
+            c += 'a' - 'A';
+    }
+
+    // Process special keys
+    // Ctrl-Alt-Del: reboot
+    if (!(~shift & (CTL | ALT)) && c == KEY_DEL) {
+        cprintf("Rebooting!\n");
+        outb(0x92, 0x3); // courtesy of Chris Frost
+    }
+    return c;
+}
+
+/* kbd_intr - try to feed input characters from keyboard */
+static void
+kbd_intr(void) {
+    cons_intr(kbd_proc_data);
+}
+
+static void
+kbd_init(void) {
+    // drain the kbd buffer
+    kbd_intr();
+    pic_enable(IRQ_KBD);
+}
+
+/* cons_init - initializes the console devices */
+void
+cons_init(void) {
+    cga_init();
+    serial_init();
+    kbd_init();
+    if (!serial_exists) {
+        cprintf("serial port does not exist!!\n");
+    }
+}
+
+/* cons_putc - print a single character @c to console devices */
+void
+cons_putc(int c) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        lpt_putc(c);
+        cga_putc(c);
+        serial_putc(c);
+    }
+    local_intr_restore(intr_flag);
+}
+
+/* *
+ * cons_getc - return the next input character from console,
+ * or 0 if none waiting.
+ * */
+int
+cons_getc(void) {
+    int c = 0;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        // poll for any pending input characters,
+        // so that this function works even when interrupts are disabled
+        // (e.g., when called from the kernel monitor).
+        serial_intr();
+        kbd_intr();
+
+        // grab the next character from the input buffer.
+        if (cons.rpos != cons.wpos) {
+            c = cons.buf[cons.rpos ++];
+            if (cons.rpos == CONSBUFSIZE) {
+                cons.rpos = 0;
+            }
+        }
+    }
+    local_intr_restore(intr_flag);
+    return c;
+}
+
diff --git a/code/lab2/kern/driver/console.h b/code/lab2/kern/driver/console.h
new file mode 100644
index 0000000..72e6167
--- /dev/null
+++ b/code/lab2/kern/driver/console.h
@@ -0,0 +1,11 @@
+#ifndef __KERN_DRIVER_CONSOLE_H__
+#define __KERN_DRIVER_CONSOLE_H__
+
+void cons_init(void);
+void cons_putc(int c);
+int cons_getc(void);
+void serial_intr(void);
+void kbd_intr(void);
+
+#endif /* !__KERN_DRIVER_CONSOLE_H__ */
+
diff --git a/code/lab2/kern/driver/intr.c b/code/lab2/kern/driver/intr.c
new file mode 100644
index 0000000..e64da62
--- /dev/null
+++ b/code/lab2/kern/driver/intr.c
@@ -0,0 +1,15 @@
+#include <x86.h>
+#include <intr.h>
+
+/* intr_enable - enable irq interrupt */
+void
+intr_enable(void) {
+    sti();
+}
+
+/* intr_disable - disable irq interrupt */
+void
+intr_disable(void) {
+    cli();
+}
+
diff --git a/code/lab2/kern/driver/intr.h b/code/lab2/kern/driver/intr.h
new file mode 100644
index 0000000..5fdf7a5
--- /dev/null
+++ b/code/lab2/kern/driver/intr.h
@@ -0,0 +1,8 @@
+#ifndef __KERN_DRIVER_INTR_H__
+#define __KERN_DRIVER_INTR_H__
+
+void intr_enable(void);
+void intr_disable(void);
+
+#endif /* !__KERN_DRIVER_INTR_H__ */
+
diff --git a/code/lab2/kern/driver/kbdreg.h b/code/lab2/kern/driver/kbdreg.h
new file mode 100644
index 0000000..00dc49a
--- /dev/null
+++ b/code/lab2/kern/driver/kbdreg.h
@@ -0,0 +1,84 @@
+#ifndef __KERN_DRIVER_KBDREG_H__
+#define __KERN_DRIVER_KBDREG_H__
+
+// Special keycodes
+#define KEY_HOME            0xE0
+#define KEY_END             0xE1
+#define KEY_UP              0xE2
+#define KEY_DN              0xE3
+#define KEY_LF              0xE4
+#define KEY_RT              0xE5
+#define KEY_PGUP            0xE6
+#define KEY_PGDN            0xE7
+#define KEY_INS             0xE8
+#define KEY_DEL             0xE9
+
+
+/* This is i8042reg.h + kbdreg.h from NetBSD. */
+
+#define KBSTATP             0x64    // kbd controller status port(I)
+#define KBS_DIB             0x01    // kbd data in buffer
+#define KBS_IBF             0x02    // kbd input buffer low
+#define KBS_WARM            0x04    // kbd input buffer low
+#define BS_OCMD             0x08    // kbd output buffer has command
+#define KBS_NOSEC           0x10    // kbd security lock not engaged
+#define KBS_TERR            0x20    // kbd transmission error
+#define KBS_RERR            0x40    // kbd receive error
+#define KBS_PERR            0x80    // kbd parity error
+
+#define KBCMDP              0x64    // kbd controller port(O)
+#define KBC_RAMREAD         0x20    // read from RAM
+#define KBC_RAMWRITE        0x60    // write to RAM
+#define KBC_AUXDISABLE      0xa7    // disable auxiliary port
+#define KBC_AUXENABLE       0xa8    // enable auxiliary port
+#define KBC_AUXTEST         0xa9    // test auxiliary port
+#define KBC_KBDECHO         0xd2    // echo to keyboard port
+#define KBC_AUXECHO         0xd3    // echo to auxiliary port
+#define KBC_AUXWRITE        0xd4    // write to auxiliary port
+#define KBC_SELFTEST        0xaa    // start self-test
+#define KBC_KBDTEST         0xab    // test keyboard port
+#define KBC_KBDDISABLE      0xad    // disable keyboard port
+#define KBC_KBDENABLE       0xae    // enable keyboard port
+#define KBC_PULSE0          0xfe    // pulse output bit 0
+#define KBC_PULSE1          0xfd    // pulse output bit 1
+#define KBC_PULSE2          0xfb    // pulse output bit 2
+#define KBC_PULSE3          0xf7    // pulse output bit 3
+
+#define KBDATAP             0x60    // kbd data port(I)
+#define KBOUTP              0x60    // kbd data port(O)
+
+#define K_RDCMDBYTE         0x20
+#define K_LDCMDBYTE         0x60
+
+#define KC8_TRANS           0x40    // convert to old scan codes
+#define KC8_MDISABLE        0x20    // disable mouse
+#define KC8_KDISABLE        0x10    // disable keyboard
+#define KC8_IGNSEC          0x08    // ignore security lock
+#define KC8_CPU             0x04    // exit from protected mode reset
+#define KC8_MENABLE         0x02    // enable mouse interrupt
+#define KC8_KENABLE         0x01    // enable keyboard interrupt
+#define CMDBYTE             (KC8_TRANS|KC8_CPU|KC8_MENABLE|KC8_KENABLE)
+
+/* keyboard commands */
+#define KBC_RESET           0xFF    // reset the keyboard
+#define KBC_RESEND          0xFE    // request the keyboard resend the last byte
+#define KBC_SETDEFAULT      0xF6    // resets keyboard to its power-on defaults
+#define KBC_DISABLE         0xF5    // as per KBC_SETDEFAULT, but also disable key scanning
+#define KBC_ENABLE          0xF4    // enable key scanning
+#define KBC_TYPEMATIC       0xF3    // set typematic rate and delay
+#define KBC_SETTABLE        0xF0    // set scancode translation table
+#define KBC_MODEIND         0xED    // set mode indicators(i.e. LEDs)
+#define KBC_ECHO            0xEE    // request an echo from the keyboard
+
+/* keyboard responses */
+#define KBR_EXTENDED        0xE0    // extended key sequence
+#define KBR_RESEND          0xFE    // needs resend of command
+#define KBR_ACK             0xFA    // received a valid command
+#define KBR_OVERRUN         0x00    // flooded
+#define KBR_FAILURE         0xFD    // diagnosic failure
+#define KBR_BREAK           0xF0    // break code prefix - sent on key release
+#define KBR_RSTDONE         0xAA    // reset complete
+#define KBR_ECHO            0xEE    // echo response
+
+#endif /* !__KERN_DRIVER_KBDREG_H__ */
+
diff --git a/code/lab2/kern/driver/picirq.c b/code/lab2/kern/driver/picirq.c
new file mode 100644
index 0000000..e7f7063
--- /dev/null
+++ b/code/lab2/kern/driver/picirq.c
@@ -0,0 +1,86 @@
+#include <defs.h>
+#include <x86.h>
+#include <picirq.h>
+
+// I/O Addresses of the two programmable interrupt controllers
+#define IO_PIC1             0x20    // Master (IRQs 0-7)
+#define IO_PIC2             0xA0    // Slave (IRQs 8-15)
+
+#define IRQ_SLAVE           2       // IRQ at which slave connects to master
+
+// Current IRQ mask.
+// Initial IRQ mask has interrupt 2 enabled (for slave 8259A).
+static uint16_t irq_mask = 0xFFFF & ~(1 << IRQ_SLAVE);
+static bool did_init = 0;
+
+static void
+pic_setmask(uint16_t mask) {
+    irq_mask = mask;
+    if (did_init) {
+        outb(IO_PIC1 + 1, mask);
+        outb(IO_PIC2 + 1, mask >> 8);
+    }
+}
+
+void
+pic_enable(unsigned int irq) {
+    pic_setmask(irq_mask & ~(1 << irq));
+}
+
+/* pic_init - initialize the 8259A interrupt controllers */
+void
+pic_init(void) {
+    did_init = 1;
+
+    // mask all interrupts
+    outb(IO_PIC1 + 1, 0xFF);
+    outb(IO_PIC2 + 1, 0xFF);
+
+    // Set up master (8259A-1)
+
+    // ICW1:  0001g0hi
+    //    g:  0 = edge triggering, 1 = level triggering
+    //    h:  0 = cascaded PICs, 1 = master only
+    //    i:  0 = no ICW4, 1 = ICW4 required
+    outb(IO_PIC1, 0x11);
+
+    // ICW2:  Vector offset
+    outb(IO_PIC1 + 1, IRQ_OFFSET);
+
+    // ICW3:  (master PIC) bit mask of IR lines connected to slaves
+    //        (slave PIC) 3-bit # of slave's connection to master
+    outb(IO_PIC1 + 1, 1 << IRQ_SLAVE);
+
+    // ICW4:  000nbmap
+    //    n:  1 = special fully nested mode
+    //    b:  1 = buffered mode
+    //    m:  0 = slave PIC, 1 = master PIC
+    //        (ignored when b is 0, as the master/slave role
+    //         can be hardwired).
+    //    a:  1 = Automatic EOI mode
+    //    p:  0 = MCS-80/85 mode, 1 = intel x86 mode
+    outb(IO_PIC1 + 1, 0x3);
+
+    // Set up slave (8259A-2)
+    outb(IO_PIC2, 0x11);    // ICW1
+    outb(IO_PIC2 + 1, IRQ_OFFSET + 8);  // ICW2
+    outb(IO_PIC2 + 1, IRQ_SLAVE);       // ICW3
+    // NB Automatic EOI mode doesn't tend to work on the slave.
+    // Linux source code says it's "to be investigated".
+    outb(IO_PIC2 + 1, 0x3);             // ICW4
+
+    // OCW3:  0ef01prs
+    //   ef:  0x = NOP, 10 = clear specific mask, 11 = set specific mask
+    //    p:  0 = no polling, 1 = polling mode
+    //   rs:  0x = NOP, 10 = read IRR, 11 = read ISR
+    outb(IO_PIC1, 0x68);    // clear specific mask
+    outb(IO_PIC1, 0x0a);    // read IRR by default
+
+    outb(IO_PIC2, 0x68);    // OCW3
+    outb(IO_PIC2, 0x0a);    // OCW3
+
+    if (irq_mask != 0xFFFF) {
+        pic_setmask(irq_mask);
+    }
+}
+
diff --git a/code/lab2/kern/driver/picirq.h b/code/lab2/kern/driver/picirq.h
new file mode 100644
index 0000000..b61e72e
--- /dev/null
+++ b/code/lab2/kern/driver/picirq.h
@@ -0,0 +1,10 @@
+#ifndef __KERN_DRIVER_PICIRQ_H__
+#define __KERN_DRIVER_PICIRQ_H__
+
+void pic_init(void);
+void pic_enable(unsigned int irq);
+
+#define IRQ_OFFSET      32
+
+#endif /* !__KERN_DRIVER_PICIRQ_H__ */
+
diff --git a/code/lab2/kern/init/entry.S b/code/lab2/kern/init/entry.S
new file mode 100644
index 0000000..8e37f2a
--- /dev/null
+++ b/code/lab2/kern/init/entry.S
@@ -0,0 +1,49 @@
+#include <mmu.h>
+#include <memlayout.h>
+
+#define REALLOC(x) (x - KERNBASE)
+
+.text
+.globl kern_entry
+kern_entry:
+    # reload temperate gdt (second time) to remap all physical memory
+    # virtual_addr 0~4G=linear_addr&physical_addr -KERNBASE~4G-KERNBASE 
+    lgdt REALLOC(__gdtdesc)
+    movl $KERNEL_DS, %eax
+    movw %ax, %ds
+    movw %ax, %es
+    movw %ax, %ss
+
+    ljmp $KERNEL_CS, $relocated
+
+relocated:
+
+    # set ebp, esp
+    movl $0x0, %ebp
+    # the kernel stack region is from bootstack -- bootstacktop,
+    # the kernel stack size is KSTACKSIZE (8KB)defined in memlayout.h
+    movl $bootstacktop, %esp
+    # now kernel stack is ready , call the first C function
+    call kern_init
+
+# should never get here
+spin:
+    jmp spin
+
+.data
+.align PGSIZE
+    .globl bootstack
+bootstack:
+    .space KSTACKSIZE
+    .globl bootstacktop
+bootstacktop:
+
+.align 4
+__gdt:
+    SEG_NULL
+    SEG_ASM(STA_X | STA_R, - KERNBASE, 0xFFFFFFFF)      # code segment
+    SEG_ASM(STA_W, - KERNBASE, 0xFFFFFFFF)              # data segment
+__gdtdesc:
+    .word 0x17                                          # sizeof(__gdt) - 1
+    .long REALLOC(__gdt)
+
diff --git a/code/lab2/kern/init/init.c b/code/lab2/kern/init/init.c
new file mode 100644
index 0000000..a1f3595
--- /dev/null
+++ b/code/lab2/kern/init/init.c
@@ -0,0 +1,104 @@
+#include <defs.h>
+#include <stdio.h>
+#include <string.h>
+#include <console.h>
+#include <kdebug.h>
+#include <picirq.h>
+#include <trap.h>
+#include <clock.h>
+#include <intr.h>
+#include <pmm.h>
+
+int kern_init(void) __attribute__((noreturn));
+
+static void lab1_switch_test(void);
+
+int
+kern_init(void) {
+    extern char edata[], end[];
+    memset(edata, 0, end - edata);
+
+    cons_init();                // init the console
+
+    const char *message = "(THU.CST) os is loading ...";
+    cprintf("%s\n\n", message);
+
+    print_kerninfo();
+
+    grade_backtrace();
+
+    pmm_init();                 // init physical memory management
+
+    pic_init();                 // init interrupt controller
+    idt_init();                 // init interrupt descriptor table
+
+    clock_init();               // init clock interrupt
+    intr_enable();              // enable irq interrupt
+
+    //LAB1: CAHLLENGE 1 If you try to do it, uncomment lab1_switch_test()
+    // user/kernel mode switch test
+    //lab1_switch_test();
+
+    /* do nothing */
+    while (1);
+}
+
+void __attribute__((noinline))
+grade_backtrace2(int arg0, int arg1, int arg2, int arg3) {
+    mon_backtrace(0, NULL, NULL);
+}
+
+void __attribute__((noinline))
+grade_backtrace1(int arg0, int arg1) {
+    grade_backtrace2(arg0, (int)&arg0, arg1, (int)&arg1);
+}
+
+void __attribute__((noinline))
+grade_backtrace0(int arg0, int arg1, int arg2) {
+    grade_backtrace1(arg0, arg2);
+}
+
+void
+grade_backtrace(void) {
+    grade_backtrace0(0, (int)kern_init, 0xffff0000);
+}
+
+static void
+lab1_print_cur_status(void) {
+    static int round = 0;
+    uint16_t reg1, reg2, reg3, reg4;
+    asm volatile (
+            "mov %%cs, %0;"
+            "mov %%ds, %1;"
+            "mov %%es, %2;"
+            "mov %%ss, %3;"
+            : "=m"(reg1), "=m"(reg2), "=m"(reg3), "=m"(reg4));
+    cprintf("%d: @ring %d\n", round, reg1 & 3);
+    cprintf("%d:  cs = %x\n", round, reg1);
+    cprintf("%d:  ds = %x\n", round, reg2);
+    cprintf("%d:  es = %x\n", round, reg3);
+    cprintf("%d:  ss = %x\n", round, reg4);
+    round ++;
+}
+
+static void
+lab1_switch_to_user(void) {
+    //LAB1 CHALLENGE 1 : TODO
+}
+
+static void
+lab1_switch_to_kernel(void) {
+    //LAB1 CHALLENGE 1 :  TODO
+}
+
+static void
+lab1_switch_test(void) {
+    lab1_print_cur_status();
+    cprintf("+++ switch to  user  mode +++\n");
+    lab1_switch_to_user();
+    lab1_print_cur_status();
+    cprintf("+++ switch to kernel mode +++\n");
+    lab1_switch_to_kernel();
+    lab1_print_cur_status();
+}
+
diff --git a/code/lab2/kern/libs/readline.c b/code/lab2/kern/libs/readline.c
new file mode 100644
index 0000000..cc1eddb
--- /dev/null
+++ b/code/lab2/kern/libs/readline.c
@@ -0,0 +1,50 @@
+#include <stdio.h>
+
+#define BUFSIZE 1024
+static char buf[BUFSIZE];
+
+/* *
+ * readline - get a line from stdin
+ * @prompt:     the string to be written to stdout
+ *
+ * The readline() function will write the input string @prompt to
+ * stdout first. If the @prompt is NULL or the empty string,
+ * no prompt is issued.
+ *
+ * This function will keep on reading characters and saving them to buffer
+ * 'buf' until '\n' or '\r' is encountered.
+ *
+ * Note that, if the length of string that will be read is longer than
+ * buffer size, the end of string will be discarded.
+ *
+ * The readline() function returns the text of the line read. If some errors
+ * are happened, NULL is returned. The return value is a global variable,
+ * thus it should be copied before it is used.
+ * */
+char *
+readline(const char *prompt) {
+    if (prompt != NULL) {
+        cprintf("%s", prompt);
+    }
+    int i = 0, c;
+    while (1) {
+        c = getchar();
+        if (c < 0) {
+            return NULL;
+        }
+        else if (c >= ' ' && i < BUFSIZE - 1) {
+            cputchar(c);
+            buf[i ++] = c;
+        }
+        else if (c == '\b' && i > 0) {
+            cputchar(c);
+            i --;
+        }
+        else if (c == '\n' || c == '\r') {
+            cputchar(c);
+            buf[i] = '\0';
+            return buf;
+        }
+    }
+}
+
diff --git a/code/lab2/kern/libs/stdio.c b/code/lab2/kern/libs/stdio.c
new file mode 100644
index 0000000..5efefcd
--- /dev/null
+++ b/code/lab2/kern/libs/stdio.c
@@ -0,0 +1,78 @@
+#include <defs.h>
+#include <stdio.h>
+#include <console.h>
+
+/* HIGH level console I/O */
+
+/* *
+ * cputch - writes a single character @c to stdout, and it will
+ * increace the value of counter pointed by @cnt.
+ * */
+static void
+cputch(int c, int *cnt) {
+    cons_putc(c);
+    (*cnt) ++;
+}
+
+/* *
+ * vcprintf - format a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want cprintf() instead.
+ * */
+int
+vcprintf(const char *fmt, va_list ap) {
+    int cnt = 0;
+    vprintfmt((void*)cputch, &cnt, fmt, ap);
+    return cnt;
+}
+
+/* *
+ * cprintf - formats a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ * */
+int
+cprintf(const char *fmt, ...) {
+    va_list ap;
+    int cnt;
+    va_start(ap, fmt);
+    cnt = vcprintf(fmt, ap);
+    va_end(ap);
+    return cnt;
+}
+
+/* cputchar - writes a single character to stdout */
+void
+cputchar(int c) {
+    cons_putc(c);
+}
+
+/* *
+ * cputs- writes the string pointed by @str to stdout and
+ * appends a newline character.
+ * */
+int
+cputs(const char *str) {
+    int cnt = 0;
+    char c;
+    while ((c = *str ++) != '\0') {
+        cputch(c, &cnt);
+    }
+    cputch('\n', &cnt);
+    return cnt;
+}
+
+/* getchar - reads a single non-zero character from stdin */
+int
+getchar(void) {
+    int c;
+    while ((c = cons_getc()) == 0)
+        /* do nothing */;
+    return c;
+}
+
diff --git a/code/lab2/kern/mm/default_pmm.c b/code/lab2/kern/mm/default_pmm.c
new file mode 100644
index 0000000..770a30f
--- /dev/null
+++ b/code/lab2/kern/mm/default_pmm.c
@@ -0,0 +1,272 @@
+#include <pmm.h>
+#include <list.h>
+#include <string.h>
+#include <default_pmm.h>
+
+/* In the first fit algorithm, the allocator keeps a list of free blocks (known as the free list) and,
+   on receiving a request for memory, scans along the list for the first block that is large enough to
+   satisfy the request. If the chosen block is significantly larger than that requested, then it is 
+   usually split, and the remainder added to the list as another free block.
+   Please see Page 196~198, Section 8.2 of Yan Wei Ming's chinese book "Data Structure -- C programming language"
+*/
+// LAB2 EXERCISE 1: YOUR CODE
+// you should rewrite functions: default_init,default_init_memmap,default_alloc_pages, default_free_pages.
+/*
+ * Details of FFMA
+ * (1) Prepare: In order to implement the First-Fit Mem Alloc (FFMA), we should manage the free mem block use some list.
+ *              The struct free_area_t is used for the management of free mem blocks. At first you should
+ *              be familiar to the struct list in list.h. struct list is a simple doubly linked list implementation.
+ *              You should know howto USE: list_init, list_add(list_add_after), list_add_before, list_del, list_next, list_prev
+ *              Another tricky method is to transform a general list struct to a special struct (such as struct page):
+ *              you can find some MACRO: le2page (in memlayout.h), (in future labs: le2vma (in vmm.h), le2proc (in proc.h),etc.)
+ * (2) default_init: you can reuse the  demo default_init fun to init the free_list and set nr_free to 0.
+ *              free_list is used to record the free mem blocks. nr_free is the total number for free mem blocks.
+ * (3) default_init_memmap:  CALL GRAPH: kern_init --> pmm_init-->page_init-->init_memmap--> pmm_manager->init_memmap
+ *              This fun is used to init a free block (with parameter: addr_base, page_number).
+ *              First you should init each page (in memlayout.h) in this free block, include:
+ *                  p->flags should be set bit PG_property (means this page is valid. In pmm_init fun (in pmm.c),
+ *                  the bit PG_reserved is setted in p->flags)
+ *                  if this page  is free and is not the first page of free block, p->property should be set to 0.
+ *                  if this page  is free and is the first page of free block, p->property should be set to total num of block.
+ *                  p->ref should be 0, because now p is free and no reference.
+ *                  We can use p->page_link to link this page to free_list, (such as: list_add_before(&free_list, &(p->page_link)); )
+ *              Finally, we should sum the number of free mem block: nr_free+=n
+ * (4) default_alloc_pages: search find a first free block (block size >=n) in free list and reszie the free block, return the addr
+ *              of malloced block.
+ *              (4.1) So you should search freelist like this:
+ *                       list_entry_t le = &free_list;
+ *                       while((le=list_next(le)) != &free_list) {
+ *                       ....
+ *                 (4.1.1) In while loop, get the struct page and check the p->property (record the num of free block) >=n?
+ *                       struct Page *p = le2page(le, page_link);
+ *                       if(p->property >= n){ ...
+ *                 (4.1.2) If we find this p, then it' means we find a free block(block size >=n), and the first n pages can be malloced.
+ *                     Some flag bits of this page should be setted: PG_reserved =1, PG_property =0
+ *                     unlink the pages from free_list
+ *                     (4.1.2.1) If (p->property >n), we should re-caluclate number of the the rest of this free block,
+ *                           (such as: le2page(le,page_link))->property = p->property - n;)
+ *                 (4.1.3)  re-caluclate nr_free (number of the the rest of all free block)
+ *                 (4.1.4)  return p
+ *               (4.2) If we can not find a free block (block size >=n), then return NULL
+ * (5) default_free_pages: relink the pages into  free list, maybe merge small free blocks into big free blocks.
+ *               (5.1) according the base addr of withdrawed blocks, search free list, find the correct position
+ *                     (from low to high addr), and insert the pages. (may use list_next, le2page, list_add_before)
+ *               (5.2) reset the fields of pages, such as p->ref, p->flags (PageProperty)
+ *               (5.3) try to merge low addr or high addr blocks. Notice: should change some pages's p->property correctly.
+ */
+free_area_t free_area;
+
+#define free_list (free_area.free_list)
+#define nr_free (free_area.nr_free)
+
+static void
+default_init(void) {
+    list_init(&free_list);
+    nr_free = 0;
+}
+
+static void
+default_init_memmap(struct Page *base, size_t n) {
+    assert(n > 0);
+    struct Page *p = base;
+    for (; p != base + n; p ++) {
+        assert(PageReserved(p));
+        p->flags = p->property = 0;
+        set_page_ref(p, 0);
+    }
+    base->property = n;
+    SetPageProperty(base);
+    nr_free += n;
+    list_add(&free_list, &(base->page_link));
+}
+
+static struct Page *
+default_alloc_pages(size_t n) {
+    assert(n > 0);
+    if (n > nr_free) {
+        return NULL;
+    }
+    struct Page *page = NULL;
+    list_entry_t *le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        if (p->property >= n) {
+            page = p;
+            break;
+        }
+    }
+    if (page != NULL) {
+        list_del(&(page->page_link));
+        if (page->property > n) {
+            struct Page *p = page + n;
+            p->property = page->property - n;
+            list_add(&free_list, &(p->page_link));
+    }
+        nr_free -= n;
+        ClearPageProperty(page);
+    }
+    return page;
+}
+
+static void
+default_free_pages(struct Page *base, size_t n) {
+    assert(n > 0);
+    struct Page *p = base;
+    for (; p != base + n; p ++) {
+        assert(!PageReserved(p) && !PageProperty(p));
+        p->flags = 0;
+        set_page_ref(p, 0);
+    }
+    base->property = n;
+    SetPageProperty(base);
+    list_entry_t *le = list_next(&free_list);
+    while (le != &free_list) {
+        p = le2page(le, page_link);
+        le = list_next(le);
+        if (base + base->property == p) {
+            base->property += p->property;
+            ClearPageProperty(p);
+            list_del(&(p->page_link));
+        }
+        else if (p + p->property == base) {
+            p->property += base->property;
+            ClearPageProperty(base);
+            base = p;
+            list_del(&(p->page_link));
+        }
+    }
+    nr_free += n;
+    list_add(&free_list, &(base->page_link));
+}
+
+static size_t
+default_nr_free_pages(void) {
+    return nr_free;
+}
+
+static void
+basic_check(void) {
+    struct Page *p0, *p1, *p2;
+    p0 = p1 = p2 = NULL;
+    assert((p0 = alloc_page()) != NULL);
+    assert((p1 = alloc_page()) != NULL);
+    assert((p2 = alloc_page()) != NULL);
+
+    assert(p0 != p1 && p0 != p2 && p1 != p2);
+    assert(page_ref(p0) == 0 && page_ref(p1) == 0 && page_ref(p2) == 0);
+
+    assert(page2pa(p0) < npage * PGSIZE);
+    assert(page2pa(p1) < npage * PGSIZE);
+    assert(page2pa(p2) < npage * PGSIZE);
+
+    list_entry_t free_list_store = free_list;
+    list_init(&free_list);
+    assert(list_empty(&free_list));
+
+    unsigned int nr_free_store = nr_free;
+    nr_free = 0;
+
+    assert(alloc_page() == NULL);
+
+    free_page(p0);
+    free_page(p1);
+    free_page(p2);
+    assert(nr_free == 3);
+
+    assert((p0 = alloc_page()) != NULL);
+    assert((p1 = alloc_page()) != NULL);
+    assert((p2 = alloc_page()) != NULL);
+
+    assert(alloc_page() == NULL);
+
+    free_page(p0);
+    assert(!list_empty(&free_list));
+
+    struct Page *p;
+    assert((p = alloc_page()) == p0);
+    assert(alloc_page() == NULL);
+
+    assert(nr_free == 0);
+    free_list = free_list_store;
+    nr_free = nr_free_store;
+
+    free_page(p);
+    free_page(p1);
+    free_page(p2);
+}
+
+// LAB2: below code is used to check the first fit allocation algorithm (your EXERCISE 1) 
+// NOTICE: You SHOULD NOT CHANGE basic_check, default_check functions!
+static void
+default_check(void) {
+    int count = 0, total = 0;
+    list_entry_t *le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        assert(PageProperty(p));
+        count ++, total += p->property;
+    }
+    assert(total == nr_free_pages());
+
+    basic_check();
+
+    struct Page *p0 = alloc_pages(5), *p1, *p2;
+    assert(p0 != NULL);
+    assert(!PageProperty(p0));
+
+    list_entry_t free_list_store = free_list;
+    list_init(&free_list);
+    assert(list_empty(&free_list));
+    assert(alloc_page() == NULL);
+
+    unsigned int nr_free_store = nr_free;
+    nr_free = 0;
+
+    free_pages(p0 + 2, 3);
+    assert(alloc_pages(4) == NULL);
+    assert(PageProperty(p0 + 2) && p0[2].property == 3);
+    assert((p1 = alloc_pages(3)) != NULL);
+    assert(alloc_page() == NULL);
+    assert(p0 + 2 == p1);
+
+    p2 = p0 + 1;
+    free_page(p0);
+    free_pages(p1, 3);
+    assert(PageProperty(p0) && p0->property == 1);
+    assert(PageProperty(p1) && p1->property == 3);
+
+    assert((p0 = alloc_page()) == p2 - 1);
+    free_page(p0);
+    assert((p0 = alloc_pages(2)) == p2 + 1);
+
+    free_pages(p0, 2);
+    free_page(p2);
+
+    assert((p0 = alloc_pages(5)) != NULL);
+    assert(alloc_page() == NULL);
+
+    assert(nr_free == 0);
+    nr_free = nr_free_store;
+
+    free_list = free_list_store;
+    free_pages(p0, 5);
+
+    le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        count --, total -= p->property;
+    }
+    assert(count == 0);
+    assert(total == 0);
+}
+
+const struct pmm_manager default_pmm_manager = {
+    .name = "default_pmm_manager",
+    .init = default_init,
+    .init_memmap = default_init_memmap,
+    .alloc_pages = default_alloc_pages,
+    .free_pages = default_free_pages,
+    .nr_free_pages = default_nr_free_pages,
+    .check = default_check,
+};
+
diff --git a/code/lab2/kern/mm/default_pmm.h b/code/lab2/kern/mm/default_pmm.h
new file mode 100644
index 0000000..07352aa
--- /dev/null
+++ b/code/lab2/kern/mm/default_pmm.h
@@ -0,0 +1,9 @@
+#ifndef __KERN_MM_DEFAULT_PMM_H__
+#define  __KERN_MM_DEFAULT_PMM_H__
+
+#include <pmm.h>
+
+extern const struct pmm_manager default_pmm_manager;
+
+#endif /* ! __KERN_MM_DEFAULT_PMM_H__ */
+
diff --git a/code/lab2/kern/mm/memlayout.h b/code/lab2/kern/mm/memlayout.h
new file mode 100644
index 0000000..8b18fe5
--- /dev/null
+++ b/code/lab2/kern/mm/memlayout.h
@@ -0,0 +1,130 @@
+#ifndef __KERN_MM_MEMLAYOUT_H__
+#define __KERN_MM_MEMLAYOUT_H__
+
+/* This file contains the definitions for memory management in our OS. */
+
+/* global segment number */
+#define SEG_KTEXT   1
+#define SEG_KDATA   2
+#define SEG_UTEXT   3
+#define SEG_UDATA   4
+#define SEG_TSS     5
+
+/* global descrptor numbers */
+#define GD_KTEXT    ((SEG_KTEXT) << 3)      // kernel text
+#define GD_KDATA    ((SEG_KDATA) << 3)      // kernel data
+#define GD_UTEXT    ((SEG_UTEXT) << 3)      // user text
+#define GD_UDATA    ((SEG_UDATA) << 3)      // user data
+#define GD_TSS      ((SEG_TSS) << 3)        // task segment selector
+
+#define DPL_KERNEL  (0)
+#define DPL_USER    (3)
+
+#define KERNEL_CS   ((GD_KTEXT) | DPL_KERNEL)
+#define KERNEL_DS   ((GD_KDATA) | DPL_KERNEL)
+#define USER_CS     ((GD_UTEXT) | DPL_USER)
+#define USER_DS     ((GD_UDATA) | DPL_USER)
+
+/* *
+ * Virtual memory map:                                          Permissions
+ *                                                              kernel/user
+ *
+ *     4G ------------------> +---------------------------------+
+ *                            |                                 |
+ *                            |         Empty Memory (*)        |
+ *                            |                                 |
+ *                            +---------------------------------+ 0xFB000000
+ *                            |   Cur. Page Table (Kern, RW)    | RW/-- PTSIZE
+ *     VPT -----------------> +---------------------------------+ 0xFAC00000
+ *                            |        Invalid Memory (*)       | --/--
+ *     KERNTOP -------------> +---------------------------------+ 0xF8000000
+ *                            |                                 |
+ *                            |    Remapped Physical Memory     | RW/-- KMEMSIZE
+ *                            |                                 |
+ *     KERNBASE ------------> +---------------------------------+ 0xC0000000
+ *                            |                                 |
+ *                            |                                 |
+ *                            |                                 |
+ *                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * (*) Note: The kernel ensures that "Invalid Memory" is *never* mapped.
+ *     "Empty Memory" is normally unmapped, but user programs may map pages
+ *     there if desired.
+ *
+ * */
+
+/* All physical memory mapped at this address */
+#define KERNBASE            0xC0000000
+#define KMEMSIZE            0x38000000                  // the maximum amount of physical memory
+#define KERNTOP             (KERNBASE + KMEMSIZE)
+
+/* *
+ * Virtual page table. Entry PDX[VPT] in the PD (Page Directory) contains
+ * a pointer to the page directory itself, thereby turning the PD into a page
+ * table, which maps all the PTEs (Page Table Entry) containing the page mappings
+ * for the entire virtual address space into that 4 Meg region starting at VPT.
+ * */
+#define VPT                 0xFAC00000
+
+#define KSTACKPAGE          2                           // # of pages in kernel stack
+#define KSTACKSIZE          (KSTACKPAGE * PGSIZE)       // sizeof kernel stack
+
+#ifndef __ASSEMBLER__
+
+#include <defs.h>
+#include <atomic.h>
+#include <list.h>
+
+typedef uintptr_t pte_t;
+typedef uintptr_t pde_t;
+
+// some constants for bios interrupt 15h AX = 0xE820
+#define E820MAX             20      // number of entries in E820MAP
+#define E820_ARM            1       // address range memory
+#define E820_ARR            2       // address range reserved
+
+struct e820map {
+    int nr_map;
+    struct {
+        uint64_t addr;
+        uint64_t size;
+        uint32_t type;
+    } __attribute__((packed)) map[E820MAX];
+};
+
+/* *
+ * struct Page - Page descriptor structures. Each Page describes one
+ * physical page. In kern/mm/pmm.h, you can find lots of useful functions
+ * that convert Page to other data types, such as phyical address.
+ * */
+struct Page {
+    atomic_t ref;                   // page frame's reference counter
+    uint32_t flags;                 // array of flags that describe the status of the page frame
+    unsigned int property;          // the num of free block, used in first fit pm manager
+    list_entry_t page_link;         // free list link
+};
+
+/* Flags describing the status of a page frame */
+#define PG_reserved                 0       // the page descriptor is reserved for kernel or unusable
+#define PG_property                 1       // the member 'property' is valid
+
+#define SetPageReserved(page)       set_bit(PG_reserved, &((page)->flags))
+#define ClearPageReserved(page)     clear_bit(PG_reserved, &((page)->flags))
+#define PageReserved(page)          test_bit(PG_reserved, &((page)->flags))
+#define SetPageProperty(page)       set_bit(PG_property, &((page)->flags))
+#define ClearPageProperty(page)     clear_bit(PG_property, &((page)->flags))
+#define PageProperty(page)          test_bit(PG_property, &((page)->flags))
+
+// convert list entry to page
+#define le2page(le, member)                 \
+    to_struct((le), struct Page, member)
+
+/* free_area_t - maintains a doubly linked list to record free (unused) pages */
+typedef struct {
+    list_entry_t free_list;         // the list header
+    unsigned int nr_free;           // # of free pages in this free list
+} free_area_t;
+
+#endif /* !__ASSEMBLER__ */
+
+#endif /* !__KERN_MM_MEMLAYOUT_H__ */
+
diff --git a/code/lab2/kern/mm/mmu.h b/code/lab2/kern/mm/mmu.h
new file mode 100644
index 0000000..3858ad9
--- /dev/null
+++ b/code/lab2/kern/mm/mmu.h
@@ -0,0 +1,272 @@
+#ifndef __KERN_MM_MMU_H__
+#define __KERN_MM_MMU_H__
+
+/* Eflags register */
+#define FL_CF           0x00000001  // Carry Flag
+#define FL_PF           0x00000004  // Parity Flag
+#define FL_AF           0x00000010  // Auxiliary carry Flag
+#define FL_ZF           0x00000040  // Zero Flag
+#define FL_SF           0x00000080  // Sign Flag
+#define FL_TF           0x00000100  // Trap Flag
+#define FL_IF           0x00000200  // Interrupt Flag
+#define FL_DF           0x00000400  // Direction Flag
+#define FL_OF           0x00000800  // Overflow Flag
+#define FL_IOPL_MASK    0x00003000  // I/O Privilege Level bitmask
+#define FL_IOPL_0       0x00000000  //   IOPL == 0
+#define FL_IOPL_1       0x00001000  //   IOPL == 1
+#define FL_IOPL_2       0x00002000  //   IOPL == 2
+#define FL_IOPL_3       0x00003000  //   IOPL == 3
+#define FL_NT           0x00004000  // Nested Task
+#define FL_RF           0x00010000  // Resume Flag
+#define FL_VM           0x00020000  // Virtual 8086 mode
+#define FL_AC           0x00040000  // Alignment Check
+#define FL_VIF          0x00080000  // Virtual Interrupt Flag
+#define FL_VIP          0x00100000  // Virtual Interrupt Pending
+#define FL_ID           0x00200000  // ID flag
+
+/* Application segment type bits */
+#define STA_X           0x8         // Executable segment
+#define STA_E           0x4         // Expand down (non-executable segments)
+#define STA_C           0x4         // Conforming code segment (executable only)
+#define STA_W           0x2         // Writeable (non-executable segments)
+#define STA_R           0x2         // Readable (executable segments)
+#define STA_A           0x1         // Accessed
+
+/* System segment type bits */
+#define STS_T16A        0x1         // Available 16-bit TSS
+#define STS_LDT         0x2         // Local Descriptor Table
+#define STS_T16B        0x3         // Busy 16-bit TSS
+#define STS_CG16        0x4         // 16-bit Call Gate
+#define STS_TG          0x5         // Task Gate / Coum Transmitions
+#define STS_IG16        0x6         // 16-bit Interrupt Gate
+#define STS_TG16        0x7         // 16-bit Trap Gate
+#define STS_T32A        0x9         // Available 32-bit TSS
+#define STS_T32B        0xB         // Busy 32-bit TSS
+#define STS_CG32        0xC         // 32-bit Call Gate
+#define STS_IG32        0xE         // 32-bit Interrupt Gate
+#define STS_TG32        0xF         // 32-bit Trap Gate
+
+#ifdef __ASSEMBLER__
+
+#define SEG_NULL                                                \
+    .word 0, 0;                                                 \
+    .byte 0, 0, 0, 0
+
+#define SEG_ASM(type,base,lim)                                  \
+    .word (((lim) >> 12) & 0xffff), ((base) & 0xffff);          \
+    .byte (((base) >> 16) & 0xff), (0x90 | (type)),             \
+        (0xC0 | (((lim) >> 28) & 0xf)), (((base) >> 24) & 0xff)
+
+#else /* not __ASSEMBLER__ */
+
+#include <defs.h>
+
+/* Gate descriptors for interrupts and traps */
+struct gatedesc {
+    unsigned gd_off_15_0 : 16;      // low 16 bits of offset in segment
+    unsigned gd_ss : 16;            // segment selector
+    unsigned gd_args : 5;           // # args, 0 for interrupt/trap gates
+    unsigned gd_rsv1 : 3;           // reserved(should be zero I guess)
+    unsigned gd_type : 4;           // type(STS_{TG,IG32,TG32})
+    unsigned gd_s : 1;              // must be 0 (system)
+    unsigned gd_dpl : 2;            // descriptor(meaning new) privilege level
+    unsigned gd_p : 1;              // Present
+    unsigned gd_off_31_16 : 16;     // high bits of offset in segment
+};
+
+/* *
+ * Set up a normal interrupt/trap gate descriptor
+ *   - istrap: 1 for a trap (= exception) gate, 0 for an interrupt gate
+ *   - sel: Code segment selector for interrupt/trap handler
+ *   - off: Offset in code segment for interrupt/trap handler
+ *   - dpl: Descriptor Privilege Level - the privilege level required
+ *          for software to invoke this interrupt/trap gate explicitly
+ *          using an int instruction.
+ * */
+#define SETGATE(gate, istrap, sel, off, dpl) {               \
+        (gate).gd_off_15_0 = (uint32_t)(off) & 0xffff;      \
+        (gate).gd_ss = (sel);                                \
+        (gate).gd_args = 0;                                 \
+        (gate).gd_rsv1 = 0;                                 \
+        (gate).gd_type = (istrap) ? STS_TG32 : STS_IG32;    \
+        (gate).gd_s = 0;                                    \
+        (gate).gd_dpl = (dpl);                              \
+        (gate).gd_p = 1;                                    \
+        (gate).gd_off_31_16 = (uint32_t)(off) >> 16;        \
+    }
+
+/* Set up a call gate descriptor */
+#define SETCALLGATE(gate, ss, off, dpl) {                   \
+        (gate).gd_off_15_0 = (uint32_t)(off) & 0xffff;      \
+        (gate).gd_ss = (ss);                                \
+        (gate).gd_args = 0;                                 \
+        (gate).gd_rsv1 = 0;                                 \
+        (gate).gd_type = STS_CG32;                          \
+        (gate).gd_s = 0;                                    \
+        (gate).gd_dpl = (dpl);                              \
+        (gate).gd_p = 1;                                    \
+        (gate).gd_off_31_16 = (uint32_t)(off) >> 16;        \
+    }
+
+/* segment descriptors */
+struct segdesc {
+    unsigned sd_lim_15_0 : 16;      // low bits of segment limit
+    unsigned sd_base_15_0 : 16;     // low bits of segment base address
+    unsigned sd_base_23_16 : 8;     // middle bits of segment base address
+    unsigned sd_type : 4;           // segment type (see STS_ constants)
+    unsigned sd_s : 1;              // 0 = system, 1 = application
+    unsigned sd_dpl : 2;            // descriptor Privilege Level
+    unsigned sd_p : 1;              // present
+    unsigned sd_lim_19_16 : 4;      // high bits of segment limit
+    unsigned sd_avl : 1;            // unused (available for software use)
+    unsigned sd_rsv1 : 1;           // reserved
+    unsigned sd_db : 1;             // 0 = 16-bit segment, 1 = 32-bit segment
+    unsigned sd_g : 1;              // granularity: limit scaled by 4K when set
+    unsigned sd_base_31_24 : 8;     // high bits of segment base address
+};
+
+#define SEG_NULL                                            \
+    (struct segdesc) {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+
+#define SEG(type, base, lim, dpl)                           \
+    (struct segdesc) {                                      \
+        ((lim) >> 12) & 0xffff, (base) & 0xffff,            \
+        ((base) >> 16) & 0xff, type, 1, dpl, 1,             \
+        (unsigned)(lim) >> 28, 0, 0, 1, 1,                  \
+        (unsigned) (base) >> 24                             \
+    }
+
+#define SEGTSS(type, base, lim, dpl)                        \
+    (struct segdesc) {                                      \
+        (lim) & 0xffff, (base) & 0xffff,                    \
+        ((base) >> 16) & 0xff, type, 0, dpl, 1,             \
+        (unsigned) (lim) >> 16, 0, 0, 1, 0,                 \
+        (unsigned) (base) >> 24                             \
+    }
+
+/* task state segment format (as described by the Pentium architecture book) */
+struct taskstate {
+    uint32_t ts_link;       // old ts selector
+    uintptr_t ts_esp0;      // stack pointers and segment selectors
+    uint16_t ts_ss0;        // after an increase in privilege level
+    uint16_t ts_padding1;
+    uintptr_t ts_esp1;
+    uint16_t ts_ss1;
+    uint16_t ts_padding2;
+    uintptr_t ts_esp2;
+    uint16_t ts_ss2;
+    uint16_t ts_padding3;
+    uintptr_t ts_cr3;       // page directory base
+    uintptr_t ts_eip;       // saved state from last task switch
+    uint32_t ts_eflags;
+    uint32_t ts_eax;        // more saved state (registers)
+    uint32_t ts_ecx;
+    uint32_t ts_edx;
+    uint32_t ts_ebx;
+    uintptr_t ts_esp;
+    uintptr_t ts_ebp;
+    uint32_t ts_esi;
+    uint32_t ts_edi;
+    uint16_t ts_es;         // even more saved state (segment selectors)
+    uint16_t ts_padding4;
+    uint16_t ts_cs;
+    uint16_t ts_padding5;
+    uint16_t ts_ss;
+    uint16_t ts_padding6;
+    uint16_t ts_ds;
+    uint16_t ts_padding7;
+    uint16_t ts_fs;
+    uint16_t ts_padding8;
+    uint16_t ts_gs;
+    uint16_t ts_padding9;
+    uint16_t ts_ldt;
+    uint16_t ts_padding10;
+    uint16_t ts_t;          // trap on task switch
+    uint16_t ts_iomb;       // i/o map base address
+} __attribute__((packed));
+
+#endif /* !__ASSEMBLER__ */
+
+// A linear address 'la' has a three-part structure as follows:
+//
+// +--------10------+-------10-------+---------12----------+
+// | Page Directory |   Page Table   | Offset within Page  |
+// |      Index     |     Index      |                     |
+// +----------------+----------------+---------------------+
+//  \--- PDX(la) --/ \--- PTX(la) --/ \---- PGOFF(la) ----/
+//  \----------- PPN(la) -----------/
+//
+// The PDX, PTX, PGOFF, and PPN macros decompose linear addresses as shown.
+// To construct a linear address la from PDX(la), PTX(la), and PGOFF(la),
+// use PGADDR(PDX(la), PTX(la), PGOFF(la)).
+
+// page directory index
+#define PDX(la) ((((uintptr_t)(la)) >> PDXSHIFT) & 0x3FF)
+
+// page table index
+#define PTX(la) ((((uintptr_t)(la)) >> PTXSHIFT) & 0x3FF)
+
+// page number field of address
+#define PPN(la) (((uintptr_t)(la)) >> PTXSHIFT)
+
+// offset in page
+#define PGOFF(la) (((uintptr_t)(la)) & 0xFFF)
+
+// construct linear address from indexes and offset
+#define PGADDR(d, t, o) ((uintptr_t)((d) << PDXSHIFT | (t) << PTXSHIFT | (o)))
+
+// address in page table or page directory entry
+#define PTE_ADDR(pte)   ((uintptr_t)(pte) & ~0xFFF)
+#define PDE_ADDR(pde)   PTE_ADDR(pde)
+
+/* page directory and page table constants */
+#define NPDEENTRY       1024                    // page directory entries per page directory
+#define NPTEENTRY       1024                    // page table entries per page table
+
+#define PGSIZE          4096                    // bytes mapped by a page
+#define PGSHIFT         12                      // log2(PGSIZE)
+#define PTSIZE          (PGSIZE * NPTEENTRY)    // bytes mapped by a page directory entry
+#define PTSHIFT         22                      // log2(PTSIZE)
+
+#define PTXSHIFT        12                      // offset of PTX in a linear address
+#define PDXSHIFT        22                      // offset of PDX in a linear address
+
+/* page table/directory entry flags */
+#define PTE_P           0x001                   // Present
+#define PTE_W           0x002                   // Writeable
+#define PTE_U           0x004                   // User
+#define PTE_PWT         0x008                   // Write-Through
+#define PTE_PCD         0x010                   // Cache-Disable
+#define PTE_A           0x020                   // Accessed
+#define PTE_D           0x040                   // Dirty
+#define PTE_PS          0x080                   // Page Size
+#define PTE_MBZ         0x180                   // Bits must be zero
+#define PTE_AVAIL       0xE00                   // Available for software use
+                                                // The PTE_AVAIL bits aren't used by the kernel or interpreted by the
+                                                // hardware, so user processes are allowed to set them arbitrarily.
+
+#define PTE_USER        (PTE_U | PTE_W | PTE_P)
+
+/* Control Register flags */
+#define CR0_PE          0x00000001              // Protection Enable
+#define CR0_MP          0x00000002              // Monitor coProcessor
+#define CR0_EM          0x00000004              // Emulation
+#define CR0_TS          0x00000008              // Task Switched
+#define CR0_ET          0x00000010              // Extension Type
+#define CR0_NE          0x00000020              // Numeric Errror
+#define CR0_WP          0x00010000              // Write Protect
+#define CR0_AM          0x00040000              // Alignment Mask
+#define CR0_NW          0x20000000              // Not Writethrough
+#define CR0_CD          0x40000000              // Cache Disable
+#define CR0_PG          0x80000000              // Paging
+
+#define CR4_PCE         0x00000100              // Performance counter enable
+#define CR4_MCE         0x00000040              // Machine Check Enable
+#define CR4_PSE         0x00000010              // Page Size Extensions
+#define CR4_DE          0x00000008              // Debugging Extensions
+#define CR4_TSD         0x00000004              // Time Stamp Disable
+#define CR4_PVI         0x00000002              // Protected-Mode Virtual Interrupts
+#define CR4_VME         0x00000001              // V86 Mode Extensions
+
+#endif /* !__KERN_MM_MMU_H__ */
+
diff --git a/code/lab2/kern/mm/pmm.c b/code/lab2/kern/mm/pmm.c
new file mode 100644
index 0000000..9e4f338
--- /dev/null
+++ b/code/lab2/kern/mm/pmm.c
@@ -0,0 +1,627 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <default_pmm.h>
+#include <sync.h>
+#include <error.h>
+
+/* *
+ * Task State Segment:
+ *
+ * The TSS may reside anywhere in memory. A special segment register called
+ * the Task Register (TR) holds a segment selector that points a valid TSS
+ * segment descriptor which resides in the GDT. Therefore, to use a TSS
+ * the following must be done in function gdt_init:
+ *   - create a TSS descriptor entry in GDT
+ *   - add enough information to the TSS in memory as needed
+ *   - load the TR register with a segment selector for that segment
+ *
+ * There are several fileds in TSS for specifying the new stack pointer when a
+ * privilege level change happens. But only the fields SS0 and ESP0 are useful
+ * in our os kernel.
+ *
+ * The field SS0 contains the stack segment selector for CPL = 0, and the ESP0
+ * contains the new ESP value for CPL = 0. When an interrupt happens in protected
+ * mode, the x86 CPU will look in the TSS for SS0 and ESP0 and load their value
+ * into SS and ESP respectively.
+ * */
+static struct taskstate ts = {0};
+
+// virtual address of physicall page array
+struct Page *pages;
+// amount of physical memory (in pages)
+size_t npage = 0;
+
+// virtual address of boot-time page directory
+pde_t *boot_pgdir = NULL;
+// physical address of boot-time page directory
+uintptr_t boot_cr3;
+
+// physical memory management
+const struct pmm_manager *pmm_manager;
+
+/* *
+ * The page directory entry corresponding to the virtual address range
+ * [VPT, VPT + PTSIZE) points to the page directory itself. Thus, the page
+ * directory is treated as a page table as well as a page directory.
+ *
+ * One result of treating the page directory as a page table is that all PTEs
+ * can be accessed though a "virtual page table" at virtual address VPT. And the
+ * PTE for number n is stored in vpt[n].
+ *
+ * A second consequence is that the contents of the current page directory will
+ * always available at virtual address PGADDR(PDX(VPT), PDX(VPT), 0), to which
+ * vpd is set bellow.
+ * */
+pte_t * const vpt = (pte_t *)VPT;
+pde_t * const vpd = (pde_t *)PGADDR(PDX(VPT), PDX(VPT), 0);
+
+/* *
+ * Global Descriptor Table:
+ *
+ * The kernel and user segments are identical (except for the DPL). To load
+ * the %ss register, the CPL must equal the DPL. Thus, we must duplicate the
+ * segments for the user and the kernel. Defined as follows:
+ *   - 0x0 :  unused (always faults -- for trapping NULL far pointers)
+ *   - 0x8 :  kernel code segment
+ *   - 0x10:  kernel data segment
+ *   - 0x18:  user code segment
+ *   - 0x20:  user data segment
+ *   - 0x28:  defined for tss, initialized in gdt_init
+ * */
+static struct segdesc gdt[] = {
+    SEG_NULL,
+    [SEG_KTEXT] = SEG(STA_X | STA_R, 0x0, 0xFFFFFFFF, DPL_KERNEL),
+    [SEG_KDATA] = SEG(STA_W, 0x0, 0xFFFFFFFF, DPL_KERNEL),
+    [SEG_UTEXT] = SEG(STA_X | STA_R, 0x0, 0xFFFFFFFF, DPL_USER),
+    [SEG_UDATA] = SEG(STA_W, 0x0, 0xFFFFFFFF, DPL_USER),
+    [SEG_TSS]   = SEG_NULL,
+};
+
+static struct pseudodesc gdt_pd = {
+    sizeof(gdt) - 1, (uintptr_t)gdt
+};
+
+static void check_alloc_page(void);
+static void check_pgdir(void);
+static void check_boot_pgdir(void);
+
+/* *
+ * lgdt - load the global descriptor table register and reset the
+ * data/code segement registers for kernel.
+ * */
+static inline void
+lgdt(struct pseudodesc *pd) {
+    asm volatile ("lgdt (%0)" :: "r" (pd));
+    asm volatile ("movw %%ax, %%gs" :: "a" (USER_DS));
+    asm volatile ("movw %%ax, %%fs" :: "a" (USER_DS));
+    asm volatile ("movw %%ax, %%es" :: "a" (KERNEL_DS));
+    asm volatile ("movw %%ax, %%ds" :: "a" (KERNEL_DS));
+    asm volatile ("movw %%ax, %%ss" :: "a" (KERNEL_DS));
+    // reload cs
+    asm volatile ("ljmp %0, $1f\n 1:\n" :: "i" (KERNEL_CS));
+}
+
+/* *
+ * load_esp0 - change the ESP0 in default task state segment,
+ * so that we can use different kernel stack when we trap frame
+ * user to kernel.
+ * */
+void
+load_esp0(uintptr_t esp0) {
+    ts.ts_esp0 = esp0;
+}
+
+/* gdt_init - initialize the default GDT and TSS */
+static void
+gdt_init(void) {
+    // set boot kernel stack and default SS0
+    load_esp0((uintptr_t)bootstacktop);
+    ts.ts_ss0 = KERNEL_DS;
+
+    // initialize the TSS filed of the gdt
+    gdt[SEG_TSS] = SEGTSS(STS_T32A, (uintptr_t)&ts, sizeof(ts), DPL_KERNEL);
+
+    // reload all segment registers
+    lgdt(&gdt_pd);
+
+    // load the TSS
+    ltr(GD_TSS);
+}
+
+//init_pmm_manager - initialize a pmm_manager instance
+static void
+init_pmm_manager(void) {
+    pmm_manager = &default_pmm_manager;
+    cprintf("memory management: %s\n", pmm_manager->name);
+    pmm_manager->init();
+}
+
+//init_memmap - call pmm->init_memmap to build Page struct for free memory  
+static void
+init_memmap(struct Page *base, size_t n) {
+    pmm_manager->init_memmap(base, n);
+}
+
+//alloc_pages - call pmm->alloc_pages to allocate a continuous n*PAGESIZE memory 
+struct Page *
+alloc_pages(size_t n) {
+    struct Page *page=NULL;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        page = pmm_manager->alloc_pages(n);
+    }
+    local_intr_restore(intr_flag);
+    return page;
+}
+
+//free_pages - call pmm->free_pages to free a continuous n*PAGESIZE memory 
+void
+free_pages(struct Page *base, size_t n) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        pmm_manager->free_pages(base, n);
+    }
+    local_intr_restore(intr_flag);
+}
+
+//nr_free_pages - call pmm->nr_free_pages to get the size (nr*PAGESIZE) 
+//of current free memory
+size_t
+nr_free_pages(void) {
+    size_t ret;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        ret = pmm_manager->nr_free_pages();
+    }
+    local_intr_restore(intr_flag);
+    return ret;
+}
+
+/* pmm_init - initialize the physical memory management */
+static void
+page_init(void) {
+    struct e820map *memmap = (struct e820map *)(0x8000 + KERNBASE);
+    uint64_t maxpa = 0;
+
+    cprintf("e820map:\n");
+    int i;
+    for (i = 0; i < memmap->nr_map; i ++) {
+        uint64_t begin = memmap->map[i].addr, end = begin + memmap->map[i].size;
+        cprintf("  memory: %08llx, [%08llx, %08llx], type = %d.\n",
+                memmap->map[i].size, begin, end - 1, memmap->map[i].type);
+        if (memmap->map[i].type == E820_ARM) {
+            if (maxpa < end && begin < KMEMSIZE) {
+                maxpa = end;
+            }
+        }
+    }
+    if (maxpa > KMEMSIZE) {
+        maxpa = KMEMSIZE;
+    }
+
+    extern char end[];
+
+    npage = maxpa / PGSIZE;
+    pages = (struct Page *)ROUNDUP((void *)end, PGSIZE);
+
+    for (i = 0; i < npage; i ++) {
+        SetPageReserved(pages + i);
+    }
+
+    uintptr_t freemem = PADDR((uintptr_t)pages + sizeof(struct Page) * npage);
+
+    for (i = 0; i < memmap->nr_map; i ++) {
+        uint64_t begin = memmap->map[i].addr, end = begin + memmap->map[i].size;
+        if (memmap->map[i].type == E820_ARM) {
+            if (begin < freemem) {
+                begin = freemem;
+            }
+            if (end > KMEMSIZE) {
+                end = KMEMSIZE;
+            }
+            if (begin < end) {
+                begin = ROUNDUP(begin, PGSIZE);
+                end = ROUNDDOWN(end, PGSIZE);
+                if (begin < end) {
+                    init_memmap(pa2page(begin), (end - begin) / PGSIZE);
+                }
+            }
+        }
+    }
+}
+
+static void
+enable_paging(void) {
+    lcr3(boot_cr3);
+
+    // turn on paging
+    uint32_t cr0 = rcr0();
+    cr0 |= CR0_PE | CR0_PG | CR0_AM | CR0_WP | CR0_NE | CR0_TS | CR0_EM | CR0_MP;
+    cr0 &= ~(CR0_TS | CR0_EM);
+    lcr0(cr0);
+}
+
+//boot_map_segment - setup&enable the paging mechanism
+// parameters
+//  la:   linear address of this memory need to map (after x86 segment map)
+//  size: memory size
+//  pa:   physical address of this memory
+//  perm: permission of this memory  
+static void
+boot_map_segment(pde_t *pgdir, uintptr_t la, size_t size, uintptr_t pa, uint32_t perm) {
+    assert(PGOFF(la) == PGOFF(pa));
+    size_t n = ROUNDUP(size + PGOFF(la), PGSIZE) / PGSIZE;
+    la = ROUNDDOWN(la, PGSIZE);
+    pa = ROUNDDOWN(pa, PGSIZE);
+    for (; n > 0; n --, la += PGSIZE, pa += PGSIZE) {
+        pte_t *ptep = get_pte(pgdir, la, 1);
+        assert(ptep != NULL);
+        *ptep = pa | PTE_P | perm;
+    }
+}
+
+//boot_alloc_page - allocate one page using pmm->alloc_pages(1) 
+// return value: the kernel virtual address of this allocated page
+//note: this function is used to get the memory for PDT(Page Directory Table)&PT(Page Table)
+static void *
+boot_alloc_page(void) {
+    struct Page *p = alloc_page();
+    if (p == NULL) {
+        panic("boot_alloc_page failed.\n");
+    }
+    return page2kva(p);
+}
+
+//pmm_init - setup a pmm to manage physical memory, build PDT&PT to setup paging mechanism 
+//         - check the correctness of pmm & paging mechanism, print PDT&PT
+void
+pmm_init(void) {
+    //We need to alloc/free the physical memory (granularity is 4KB or other size). 
+    //So a framework of physical memory manager (struct pmm_manager)is defined in pmm.h
+    //First we should init a physical memory manager(pmm) based on the framework.
+    //Then pmm can alloc/free the physical memory. 
+    //Now the first_fit/best_fit/worst_fit/buddy_system pmm are available.
+    init_pmm_manager();
+
+    // detect physical memory space, reserve already used memory,
+    // then use pmm->init_memmap to create free page list
+    page_init();
+
+    //use pmm->check to verify the correctness of the alloc/free function in a pmm
+    check_alloc_page();
+
+    // create boot_pgdir, an initial page directory(Page Directory Table, PDT)
+    boot_pgdir = boot_alloc_page();
+    memset(boot_pgdir, 0, PGSIZE);
+    boot_cr3 = PADDR(boot_pgdir);
+
+    check_pgdir();
+
+    static_assert(KERNBASE % PTSIZE == 0 && KERNTOP % PTSIZE == 0);
+
+    // recursively insert boot_pgdir in itself
+    // to form a virtual page table at virtual address VPT
+    boot_pgdir[PDX(VPT)] = PADDR(boot_pgdir) | PTE_P | PTE_W;
+
+    // map all physical memory to linear memory with base linear addr KERNBASE
+    //linear_addr KERNBASE~KERNBASE+KMEMSIZE = phy_addr 0~KMEMSIZE
+    //But shouldn't use this map until enable_paging() & gdt_init() finished.
+    boot_map_segment(boot_pgdir, KERNBASE, KMEMSIZE, 0, PTE_W);
+
+    //temporary map: 
+    //virtual_addr 3G~3G+4M = linear_addr 0~4M = linear_addr 3G~3G+4M = phy_addr 0~4M     
+    boot_pgdir[0] = boot_pgdir[PDX(KERNBASE)];
+
+    enable_paging();
+
+    //reload gdt(third time,the last time) to map all physical memory
+    //virtual_addr 0~4G=liear_addr 0~4G
+    //then set kernel stack(ss:esp) in TSS, setup TSS in gdt, load TSS
+    gdt_init();
+
+    //disable the map of virtual_addr 0~4M
+    boot_pgdir[0] = 0;
+
+    //now the basic virtual memory map(see memalyout.h) is established.
+    //check the correctness of the basic virtual memory map.
+    check_boot_pgdir();
+
+    print_pgdir();
+
+}
+
+//get_pte - get pte and return the kernel virtual address of this pte for la
+//        - if the PT contians this pte didn't exist, alloc a page for PT
+// parameter:
+//  pgdir:  the kernel virtual base address of PDT
+//  la:     the linear address need to map
+//  create: a logical value to decide if alloc a page for PT
+// return vaule: the kernel virtual address of this pte
+pte_t *
+get_pte(pde_t *pgdir, uintptr_t la, bool create) {
+    /* LAB2 EXERCISE 2: YOUR CODE
+     *
+     * If you need to visit a physical address, please use KADDR()
+     * please read pmm.h for useful macros
+     *
+     * Maybe you want help comment, BELOW comments can help you finish the code
+     *
+     * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   PDX(la) = the index of page directory entry of VIRTUAL ADDRESS la.
+     *   KADDR(pa) : takes a physical address and returns the corresponding kernel virtual address.
+     *   set_page_ref(page,1) : means the page be referenced by one time
+     *   page2pa(page): get the physical address of memory which this (struct Page *) page  manages
+     *   struct Page * alloc_page() : allocation a page
+     *   memset(void *s, char c, size_t n) : sets the first n bytes of the memory area pointed by s
+     *                                       to the specified value c.
+     * DEFINEs:
+     *   PTE_P           0x001                   // page table/directory entry flags bit : Present
+     *   PTE_W           0x002                   // page table/directory entry flags bit : Writeable
+     *   PTE_U           0x004                   // page table/directory entry flags bit : User can access
+     */
+#if 0
+    pde_t *pdep = NULL;   // (1) find page directory entry
+    if (0) {              // (2) check if entry is not present
+                          // (3) check if creating is needed, then alloc page for page table
+                          // CAUTION: this page is used for page table, not for common data page
+                          // (4) set page reference
+        uintptr_t pa = 0; // (5) get linear address of page
+                          // (6) clear page content using memset
+                          // (7) set page directory entry's permission
+    }
+    return NULL;          // (8) return page table entry
+#endif
+}
+
+//get_page - get related Page struct for linear address la using PDT pgdir
+struct Page *
+get_page(pde_t *pgdir, uintptr_t la, pte_t **ptep_store) {
+    pte_t *ptep = get_pte(pgdir, la, 0);
+    if (ptep_store != NULL) {
+        *ptep_store = ptep;
+    }
+    if (ptep != NULL && *ptep & PTE_P) {
+        return pa2page(*ptep);
+    }
+    return NULL;
+}
+
+//page_remove_pte - free an Page sturct which is related linear address la
+//                - and clean(invalidate) pte which is related linear address la
+//note: PT is changed, so the TLB need to be invalidate 
+static inline void
+page_remove_pte(pde_t *pgdir, uintptr_t la, pte_t *ptep) {
+    /* LAB2 EXERCISE 3: YOUR CODE
+     *
+     * Please check if ptep is valid, and tlb must be manually updated if mapping is updated
+     *
+     * Maybe you want help comment, BELOW comments can help you finish the code
+     *
+     * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   struct Page *page pte2page(*ptep): get the according page from the value of a ptep
+     *   free_page : free a page
+     *   page_ref_dec(page) : decrease page->ref. NOTICE: ff page->ref == 0 , then this page should be free.
+     *   tlb_invalidate(pde_t *pgdir, uintptr_t la) : Invalidate a TLB entry, but only if the page tables being
+     *                        edited are the ones currently in use by the processor.
+     * DEFINEs:
+     *   PTE_P           0x001                   // page table/directory entry flags bit : Present
+     */
+#if 0
+    if (0) {                      //(1) check if page directory is present
+        struct Page *page = NULL; //(2) find corresponding page to pte
+                                  //(3) decrease page reference
+                                  //(4) and free this page when page reference reachs 0
+                                  //(5) clear second page table entry
+                                  //(6) flush tlb
+    }
+#endif
+}
+
+//page_remove - free an Page which is related linear address la and has an validated pte
+void
+page_remove(pde_t *pgdir, uintptr_t la) {
+    pte_t *ptep = get_pte(pgdir, la, 0);
+    if (ptep != NULL) {
+        page_remove_pte(pgdir, la, ptep);
+    }
+}
+
+//page_insert - build the map of phy addr of an Page with the linear addr la
+// paramemters:
+//  pgdir: the kernel virtual base address of PDT
+//  page:  the Page which need to map
+//  la:    the linear address need to map
+//  perm:  the permission of this Page which is setted in related pte
+// return value: always 0
+//note: PT is changed, so the TLB need to be invalidate 
+int
+page_insert(pde_t *pgdir, struct Page *page, uintptr_t la, uint32_t perm) {
+    pte_t *ptep = get_pte(pgdir, la, 1);
+    if (ptep == NULL) {
+        return -E_NO_MEM;
+    }
+    page_ref_inc(page);
+    if (*ptep & PTE_P) {
+        struct Page *p = pte2page(*ptep);
+        if (p == page) {
+            page_ref_dec(page);
+        }
+        else {
+            page_remove_pte(pgdir, la, ptep);
+        }
+    }
+    *ptep = page2pa(page) | PTE_P | perm;
+    tlb_invalidate(pgdir, la);
+    return 0;
+}
+
+// invalidate a TLB entry, but only if the page tables being
+// edited are the ones currently in use by the processor.
+void
+tlb_invalidate(pde_t *pgdir, uintptr_t la) {
+    if (rcr3() == PADDR(pgdir)) {
+        invlpg((void *)la);
+    }
+}
+
+static void
+check_alloc_page(void) {
+    pmm_manager->check();
+    cprintf("check_alloc_page() succeeded!\n");
+}
+
+static void
+check_pgdir(void) {
+    assert(npage <= KMEMSIZE / PGSIZE);
+    assert(boot_pgdir != NULL && (uint32_t)PGOFF(boot_pgdir) == 0);
+    assert(get_page(boot_pgdir, 0x0, NULL) == NULL);
+
+    struct Page *p1, *p2;
+    p1 = alloc_page();
+    assert(page_insert(boot_pgdir, p1, 0x0, 0) == 0);
+
+    pte_t *ptep;
+    assert((ptep = get_pte(boot_pgdir, 0x0, 0)) != NULL);
+    assert(pa2page(*ptep) == p1);
+    assert(page_ref(p1) == 1);
+
+    ptep = &((pte_t *)KADDR(PDE_ADDR(boot_pgdir[0])))[1];
+    assert(get_pte(boot_pgdir, PGSIZE, 0) == ptep);
+
+    p2 = alloc_page();
+    assert(page_insert(boot_pgdir, p2, PGSIZE, PTE_U | PTE_W) == 0);
+    assert((ptep = get_pte(boot_pgdir, PGSIZE, 0)) != NULL);
+    assert(*ptep & PTE_U);
+    assert(*ptep & PTE_W);
+    assert(boot_pgdir[0] & PTE_U);
+    assert(page_ref(p2) == 1);
+
+    assert(page_insert(boot_pgdir, p1, PGSIZE, 0) == 0);
+    assert(page_ref(p1) == 2);
+    assert(page_ref(p2) == 0);
+    assert((ptep = get_pte(boot_pgdir, PGSIZE, 0)) != NULL);
+    assert(pa2page(*ptep) == p1);
+    assert((*ptep & PTE_U) == 0);
+
+    page_remove(boot_pgdir, 0x0);
+    assert(page_ref(p1) == 1);
+    assert(page_ref(p2) == 0);
+
+    page_remove(boot_pgdir, PGSIZE);
+    assert(page_ref(p1) == 0);
+    assert(page_ref(p2) == 0);
+
+    assert(page_ref(pa2page(boot_pgdir[0])) == 1);
+    free_page(pa2page(boot_pgdir[0]));
+    boot_pgdir[0] = 0;
+
+    cprintf("check_pgdir() succeeded!\n");
+}
+
+static void
+check_boot_pgdir(void) {
+    pte_t *ptep;
+    int i;
+    for (i = 0; i < npage; i += PGSIZE) {
+        assert((ptep = get_pte(boot_pgdir, (uintptr_t)KADDR(i), 0)) != NULL);
+        assert(PTE_ADDR(*ptep) == i);
+    }
+
+    assert(PDE_ADDR(boot_pgdir[PDX(VPT)]) == PADDR(boot_pgdir));
+
+    assert(boot_pgdir[0] == 0);
+
+    struct Page *p;
+    p = alloc_page();
+    assert(page_insert(boot_pgdir, p, 0x100, PTE_W) == 0);
+    assert(page_ref(p) == 1);
+    assert(page_insert(boot_pgdir, p, 0x100 + PGSIZE, PTE_W) == 0);
+    assert(page_ref(p) == 2);
+
+    const char *str = "ucore: Hello world!!";
+    strcpy((void *)0x100, str);
+    assert(strcmp((void *)0x100, (void *)(0x100 + PGSIZE)) == 0);
+
+    *(char *)(page2kva(p) + 0x100) = '\0';
+    assert(strlen((const char *)0x100) == 0);
+
+    free_page(p);
+    free_page(pa2page(PDE_ADDR(boot_pgdir[0])));
+    boot_pgdir[0] = 0;
+
+    cprintf("check_boot_pgdir() succeeded!\n");
+}
+
+//perm2str - use string 'u,r,w,-' to present the permission
+static const char *
+perm2str(int perm) {
+    static char str[4];
+    str[0] = (perm & PTE_U) ? 'u' : '-';
+    str[1] = 'r';
+    str[2] = (perm & PTE_W) ? 'w' : '-';
+    str[3] = '\0';
+    return str;
+}
+
+//get_pgtable_items - In [left, right] range of PDT or PT, find a continuous linear addr space
+//                  - (left_store*X_SIZE~right_store*X_SIZE) for PDT or PT
+//                  - X_SIZE=PTSIZE=4M, if PDT; X_SIZE=PGSIZE=4K, if PT
+// paramemters:
+//  left:        no use ???
+//  right:       the high side of table's range
+//  start:       the low side of table's range
+//  table:       the beginning addr of table
+//  left_store:  the pointer of the high side of table's next range
+//  right_store: the pointer of the low side of table's next range
+// return value: 0 - not a invalid item range, perm - a valid item range with perm permission 
+static int
+get_pgtable_items(size_t left, size_t right, size_t start, uintptr_t *table, size_t *left_store, size_t *right_store) {
+    if (start >= right) {
+        return 0;
+    }
+    while (start < right && !(table[start] & PTE_P)) {
+        start ++;
+    }
+    if (start < right) {
+        if (left_store != NULL) {
+            *left_store = start;
+        }
+        int perm = (table[start ++] & PTE_USER);
+        while (start < right && (table[start] & PTE_USER) == perm) {
+            start ++;
+        }
+        if (right_store != NULL) {
+            *right_store = start;
+        }
+        return perm;
+    }
+    return 0;
+}
+
+//print_pgdir - print the PDT&PT
+void
+print_pgdir(void) {
+    cprintf("-------------------- BEGIN --------------------\n");
+    size_t left, right = 0, perm;
+    while ((perm = get_pgtable_items(0, NPDEENTRY, right, vpd, &left, &right)) != 0) {
+        cprintf("PDE(%03x) %08x-%08x %08x %s\n", right - left,
+                left * PTSIZE, right * PTSIZE, (right - left) * PTSIZE, perm2str(perm));
+        size_t l, r = left * NPTEENTRY;
+        while ((perm = get_pgtable_items(left * NPTEENTRY, right * NPTEENTRY, r, vpt, &l, &r)) != 0) {
+            cprintf("  |-- PTE(%05x) %08x-%08x %08x %s\n", r - l,
+                    l * PGSIZE, r * PGSIZE, (r - l) * PGSIZE, perm2str(perm));
+        }
+    }
+    cprintf("--------------------- END ---------------------\n");
+}
+
diff --git a/code/lab2/kern/mm/pmm.h b/code/lab2/kern/mm/pmm.h
new file mode 100644
index 0000000..54d573e
--- /dev/null
+++ b/code/lab2/kern/mm/pmm.h
@@ -0,0 +1,141 @@
+#ifndef __KERN_MM_PMM_H__
+#define __KERN_MM_PMM_H__
+
+#include <defs.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <atomic.h>
+#include <assert.h>
+
+// pmm_manager is a physical memory management class. A special pmm manager - XXX_pmm_manager
+// only needs to implement the methods in pmm_manager class, then XXX_pmm_manager can be used
+// by ucore to manage the total physical memory space.
+struct pmm_manager {
+    const char *name;                                 // XXX_pmm_manager's name
+    void (*init)(void);                               // initialize internal description&management data structure
+                                                      // (free block list, number of free block) of XXX_pmm_manager 
+    void (*init_memmap)(struct Page *base, size_t n); // setup description&management data structcure according to
+                                                      // the initial free physical memory space 
+    struct Page *(*alloc_pages)(size_t n);            // allocate >=n pages, depend on the allocation algorithm 
+    void (*free_pages)(struct Page *base, size_t n);  // free >=n pages with "base" addr of Page descriptor structures(memlayout.h)
+    size_t (*nr_free_pages)(void);                    // return the number of free pages 
+    void (*check)(void);                              // check the correctness of XXX_pmm_manager 
+};
+
+extern const struct pmm_manager *pmm_manager;
+extern pde_t *boot_pgdir;
+extern uintptr_t boot_cr3;
+
+void pmm_init(void);
+
+struct Page *alloc_pages(size_t n);
+void free_pages(struct Page *base, size_t n);
+size_t nr_free_pages(void);
+
+#define alloc_page() alloc_pages(1)
+#define free_page(page) free_pages(page, 1)
+
+pte_t *get_pte(pde_t *pgdir, uintptr_t la, bool create);
+struct Page *get_page(pde_t *pgdir, uintptr_t la, pte_t **ptep_store);
+void page_remove(pde_t *pgdir, uintptr_t la);
+int page_insert(pde_t *pgdir, struct Page *page, uintptr_t la, uint32_t perm);
+
+void load_esp0(uintptr_t esp0);
+void tlb_invalidate(pde_t *pgdir, uintptr_t la);
+
+void print_pgdir(void);
+
+/* *
+ * PADDR - takes a kernel virtual address (an address that points above KERNBASE),
+ * where the machine's maximum 256MB of physical memory is mapped and returns the
+ * corresponding physical address.  It panics if you pass it a non-kernel virtual address.
+ * */
+#define PADDR(kva) ({                                                   \
+            uintptr_t __m_kva = (uintptr_t)(kva);                       \
+            if (__m_kva < KERNBASE) {                                   \
+                panic("PADDR called with invalid kva %08lx", __m_kva);  \
+            }                                                           \
+            __m_kva - KERNBASE;                                         \
+        })
+
+/* *
+ * KADDR - takes a physical address and returns the corresponding kernel virtual
+ * address. It panics if you pass an invalid physical address.
+ * */
+#define KADDR(pa) ({                                                    \
+            uintptr_t __m_pa = (pa);                                    \
+            size_t __m_ppn = PPN(__m_pa);                               \
+            if (__m_ppn >= npage) {                                     \
+                panic("KADDR called with invalid pa %08lx", __m_pa);    \
+            }                                                           \
+            (void *) (__m_pa + KERNBASE);                               \
+        })
+
+extern struct Page *pages;
+extern size_t npage;
+
+static inline ppn_t
+page2ppn(struct Page *page) {
+    return page - pages;
+}
+
+static inline uintptr_t
+page2pa(struct Page *page) {
+    return page2ppn(page) << PGSHIFT;
+}
+
+static inline struct Page *
+pa2page(uintptr_t pa) {
+    if (PPN(pa) >= npage) {
+        panic("pa2page called with invalid pa");
+    }
+    return &pages[PPN(pa)];
+}
+
+static inline void *
+page2kva(struct Page *page) {
+    return KADDR(page2pa(page));
+}
+
+static inline struct Page *
+kva2page(void *kva) {
+    return pa2page(PADDR(kva));
+}
+
+static inline struct Page *
+pte2page(pte_t pte) {
+    if (!(pte & PTE_P)) {
+        panic("pte2page called with invalid pte");
+    }
+    return pa2page(PTE_ADDR(pte));
+}
+
+static inline struct Page *
+pde2page(pde_t pde) {
+    return pa2page(PDE_ADDR(pde));
+}
+
+static inline int
+page_ref(struct Page *page) {
+    return atomic_read(&(page->ref));
+}
+
+static inline void
+set_page_ref(struct Page *page, int val) {
+    atomic_set(&(page->ref), val);
+}
+
+static inline int
+page_ref_inc(struct Page *page) {
+    return atomic_add_return(&(page->ref), 1);
+}
+
+static inline int
+page_ref_dec(struct Page *page) {
+    return atomic_sub_return(&(page->ref), 1);
+}
+
+extern char bootstack[], bootstacktop[];
+
+#endif /* !__KERN_MM_PMM_H__ */
+
diff --git a/code/lab2/kern/sync/sync.h b/code/lab2/kern/sync/sync.h
new file mode 100644
index 0000000..9653377
--- /dev/null
+++ b/code/lab2/kern/sync/sync.h
@@ -0,0 +1,28 @@
+#ifndef __KERN_SYNC_SYNC_H__
+#define __KERN_SYNC_SYNC_H__
+
+#include <x86.h>
+#include <intr.h>
+#include <mmu.h>
+
+static inline bool
+__intr_save(void) {
+    if (read_eflags() & FL_IF) {
+        intr_disable();
+        return 1;
+    }
+    return 0;
+}
+
+static inline void
+__intr_restore(bool flag) {
+    if (flag) {
+        intr_enable();
+    }
+}
+
+#define local_intr_save(x)      do { x = __intr_save(); } while (0)
+#define local_intr_restore(x)   __intr_restore(x);
+
+#endif /* !__KERN_SYNC_SYNC_H__ */
+
diff --git a/code/lab2/kern/trap/trap.c b/code/lab2/kern/trap/trap.c
new file mode 100644
index 0000000..af78676
--- /dev/null
+++ b/code/lab2/kern/trap/trap.c
@@ -0,0 +1,187 @@
+#include <defs.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <clock.h>
+#include <trap.h>
+#include <x86.h>
+#include <stdio.h>
+#include <assert.h>
+#include <console.h>
+#include <kdebug.h>
+
+#define TICK_NUM 100
+
+static void print_ticks() {
+    cprintf("%d ticks\n",TICK_NUM);
+#ifdef DEBUG_GRADE
+    cprintf("End of Test.\n");
+    panic("EOT: kernel seems ok.");
+#endif
+}
+
+/* *
+ * Interrupt descriptor table:
+ *
+ * Must be built at run time because shifted function addresses can't
+ * be represented in relocation records.
+ * */
+static struct gatedesc idt[256] = {{0}};
+
+static struct pseudodesc idt_pd = {
+    sizeof(idt) - 1, (uintptr_t)idt
+};
+
+/* idt_init - initialize IDT to each of the entry points in kern/trap/vectors.S */
+void
+idt_init(void) {
+     /* LAB1 YOUR CODE : STEP 2 */
+     /* (1) Where are the entry addrs of each Interrupt Service Routine (ISR)?
+      *     All ISR's entry addrs are stored in __vectors. where is uintptr_t __vectors[] ?
+      *     __vectors[] is in kern/trap/vector.S which is produced by tools/vector.c
+      *     (try "make" command in lab1, then you will find vector.S in kern/trap DIR)
+      *     You can use  "extern uintptr_t __vectors[];" to define this extern variable which will be used later.
+      * (2) Now you should setup the entries of ISR in Interrupt Description Table (IDT).
+      *     Can you see idt[256] in this file? Yes, it's IDT! you can use SETGATE macro to setup each item of IDT
+      * (3) After setup the contents of IDT, you will let CPU know where is the IDT by using 'lidt' instruction.
+      *     You don't know the meaning of this instruction? just google it! and check the libs/x86.h to know more.
+      *     Notice: the argument of lidt is idt_pd. try to find it!
+      */
+}
+
+static const char *
+trapname(int trapno) {
+    static const char * const excnames[] = {
+        "Divide error",
+        "Debug",
+        "Non-Maskable Interrupt",
+        "Breakpoint",
+        "Overflow",
+        "BOUND Range Exceeded",
+        "Invalid Opcode",
+        "Device Not Available",
+        "Double Fault",
+        "Coprocessor Segment Overrun",
+        "Invalid TSS",
+        "Segment Not Present",
+        "Stack Fault",
+        "General Protection",
+        "Page Fault",
+        "(unknown trap)",
+        "x87 FPU Floating-Point Error",
+        "Alignment Check",
+        "Machine-Check",
+        "SIMD Floating-Point Exception"
+    };
+
+    if (trapno < sizeof(excnames)/sizeof(const char * const)) {
+        return excnames[trapno];
+    }
+    if (trapno >= IRQ_OFFSET && trapno < IRQ_OFFSET + 16) {
+        return "Hardware Interrupt";
+    }
+    return "(unknown trap)";
+}
+
+/* trap_in_kernel - test if trap happened in kernel */
+bool
+trap_in_kernel(struct trapframe *tf) {
+    return (tf->tf_cs == (uint16_t)KERNEL_CS);
+}
+
+static const char *IA32flags[] = {
+    "CF", NULL, "PF", NULL, "AF", NULL, "ZF", "SF",
+    "TF", "IF", "DF", "OF", NULL, NULL, "NT", NULL,
+    "RF", "VM", "AC", "VIF", "VIP", "ID", NULL, NULL,
+};
+
+void
+print_trapframe(struct trapframe *tf) {
+    cprintf("trapframe at %p\n", tf);
+    print_regs(&tf->tf_regs);
+    cprintf("  ds   0x----%04x\n", tf->tf_ds);
+    cprintf("  es   0x----%04x\n", tf->tf_es);
+    cprintf("  fs   0x----%04x\n", tf->tf_fs);
+    cprintf("  gs   0x----%04x\n", tf->tf_gs);
+    cprintf("  trap 0x%08x %s\n", tf->tf_trapno, trapname(tf->tf_trapno));
+    cprintf("  err  0x%08x\n", tf->tf_err);
+    cprintf("  eip  0x%08x\n", tf->tf_eip);
+    cprintf("  cs   0x----%04x\n", tf->tf_cs);
+    cprintf("  flag 0x%08x ", tf->tf_eflags);
+
+    int i, j;
+    for (i = 0, j = 1; i < sizeof(IA32flags) / sizeof(IA32flags[0]); i ++, j <<= 1) {
+        if ((tf->tf_eflags & j) && IA32flags[i] != NULL) {
+            cprintf("%s,", IA32flags[i]);
+        }
+    }
+    cprintf("IOPL=%d\n", (tf->tf_eflags & FL_IOPL_MASK) >> 12);
+
+    if (!trap_in_kernel(tf)) {
+        cprintf("  esp  0x%08x\n", tf->tf_esp);
+        cprintf("  ss   0x----%04x\n", tf->tf_ss);
+    }
+}
+
+void
+print_regs(struct pushregs *regs) {
+    cprintf("  edi  0x%08x\n", regs->reg_edi);
+    cprintf("  esi  0x%08x\n", regs->reg_esi);
+    cprintf("  ebp  0x%08x\n", regs->reg_ebp);
+    cprintf("  oesp 0x%08x\n", regs->reg_oesp);
+    cprintf("  ebx  0x%08x\n", regs->reg_ebx);
+    cprintf("  edx  0x%08x\n", regs->reg_edx);
+    cprintf("  ecx  0x%08x\n", regs->reg_ecx);
+    cprintf("  eax  0x%08x\n", regs->reg_eax);
+}
+
+/* trap_dispatch - dispatch based on what type of trap occurred */
+static void
+trap_dispatch(struct trapframe *tf) {
+    char c;
+
+    switch (tf->tf_trapno) {
+    case IRQ_OFFSET + IRQ_TIMER:
+        /* LAB1 YOUR CODE : STEP 3 */
+        /* handle the timer interrupt */
+        /* (1) After a timer interrupt, you should record this event using a global variable (increase it), such as ticks in kern/driver/clock.c
+         * (2) Every TICK_NUM cycle, you can print some info using a funciton, such as print_ticks().
+         * (3) Too Simple? Yes, I think so!
+         */
+        break;
+    case IRQ_OFFSET + IRQ_COM1:
+        c = cons_getc();
+        cprintf("serial [%03d] %c\n", c, c);
+        break;
+    case IRQ_OFFSET + IRQ_KBD:
+        c = cons_getc();
+        cprintf("kbd [%03d] %c\n", c, c);
+        break;
+    //LAB1 CHALLENGE 1 : YOUR CODE you should modify below codes.
+    case T_SWITCH_TOU:
+    case T_SWITCH_TOK:
+        panic("T_SWITCH_** ??\n");
+        break;
+    case IRQ_OFFSET + IRQ_IDE1:
+    case IRQ_OFFSET + IRQ_IDE2:
+        /* do nothing */
+        break;
+    default:
+        // in kernel, it must be a mistake
+        if ((tf->tf_cs & 3) == 0) {
+            print_trapframe(tf);
+            panic("unexpected trap in kernel.\n");
+        }
+    }
+}
+
+/* *
+ * trap - handles or dispatches an exception/interrupt. if and when trap() returns,
+ * the code in kern/trap/trapentry.S restores the old CPU state saved in the
+ * trapframe and then uses the iret instruction to return from the exception.
+ * */
+void
+trap(struct trapframe *tf) {
+    // dispatch based on what type of trap occurred
+    trap_dispatch(tf);
+}
+
diff --git a/code/lab2/kern/trap/trap.h b/code/lab2/kern/trap/trap.h
new file mode 100644
index 0000000..74d973d
--- /dev/null
+++ b/code/lab2/kern/trap/trap.h
@@ -0,0 +1,91 @@
+#ifndef __KERN_TRAP_TRAP_H__
+#define __KERN_TRAP_TRAP_H__
+
+#include <defs.h>
+
+/* Trap Numbers */
+
+/* Processor-defined: */
+#define T_DIVIDE                0   // divide error
+#define T_DEBUG                 1   // debug exception
+#define T_NMI                   2   // non-maskable interrupt
+#define T_BRKPT                 3   // breakpoint
+#define T_OFLOW                 4   // overflow
+#define T_BOUND                 5   // bounds check
+#define T_ILLOP                 6   // illegal opcode
+#define T_DEVICE                7   // device not available
+#define T_DBLFLT                8   // double fault
+// #define T_COPROC             9   // reserved (not used since 486)
+#define T_TSS                   10  // invalid task switch segment
+#define T_SEGNP                 11  // segment not present
+#define T_STACK                 12  // stack exception
+#define T_GPFLT                 13  // general protection fault
+#define T_PGFLT                 14  // page fault
+// #define T_RES                15  // reserved
+#define T_FPERR                 16  // floating point error
+#define T_ALIGN                 17  // aligment check
+#define T_MCHK                  18  // machine check
+#define T_SIMDERR               19  // SIMD floating point error
+
+#define T_SYSCALL               0x80 // SYSCALL, ONLY FOR THIS PROJ
+
+/* Hardware IRQ numbers. We receive these as (IRQ_OFFSET + IRQ_xx) */
+#define IRQ_OFFSET              32  // IRQ 0 corresponds to int IRQ_OFFSET
+
+#define IRQ_TIMER               0
+#define IRQ_KBD                 1
+#define IRQ_COM1                4
+#define IRQ_IDE1                14
+#define IRQ_IDE2                15
+#define IRQ_ERROR               19
+#define IRQ_SPURIOUS            31
+
+/* *
+ * These are arbitrarily chosen, but with care not to overlap
+ * processor defined exceptions or interrupt vectors.
+ * */
+#define T_SWITCH_TOU                120    // user/kernel switch
+#define T_SWITCH_TOK                121    // user/kernel switch
+
+/* registers as pushed by pushal */
+struct pushregs {
+    uint32_t reg_edi;
+    uint32_t reg_esi;
+    uint32_t reg_ebp;
+    uint32_t reg_oesp;          /* Useless */
+    uint32_t reg_ebx;
+    uint32_t reg_edx;
+    uint32_t reg_ecx;
+    uint32_t reg_eax;
+};
+
+struct trapframe {
+    struct pushregs tf_regs;
+    uint16_t tf_gs;
+    uint16_t tf_padding0;
+    uint16_t tf_fs;
+    uint16_t tf_padding1;
+    uint16_t tf_es;
+    uint16_t tf_padding2;
+    uint16_t tf_ds;
+    uint16_t tf_padding3;
+    uint32_t tf_trapno;
+    /* below here defined by x86 hardware */
+    uint32_t tf_err;
+    uintptr_t tf_eip;
+    uint16_t tf_cs;
+    uint16_t tf_padding4;
+    uint32_t tf_eflags;
+    /* below here only when crossing rings, such as from user to kernel */
+    uintptr_t tf_esp;
+    uint16_t tf_ss;
+    uint16_t tf_padding5;
+} __attribute__((packed));
+
+void idt_init(void);
+void print_trapframe(struct trapframe *tf);
+void print_regs(struct pushregs *regs);
+bool trap_in_kernel(struct trapframe *tf);
+
+#endif /* !__KERN_TRAP_TRAP_H__ */
+
diff --git a/code/lab2/kern/trap/trapentry.S b/code/lab2/kern/trap/trapentry.S
new file mode 100644
index 0000000..55e29b7
--- /dev/null
+++ b/code/lab2/kern/trap/trapentry.S
@@ -0,0 +1,44 @@
+#include <memlayout.h>
+
+# vectors.S sends all traps here.
+.text
+.globl __alltraps
+__alltraps:
+    # push registers to build a trap frame
+    # therefore make the stack look like a struct trapframe
+    pushl %ds
+    pushl %es
+    pushl %fs
+    pushl %gs
+    pushal
+
+    # load GD_KDATA into %ds and %es to set up data segments for kernel
+    movl $GD_KDATA, %eax
+    movw %ax, %ds
+    movw %ax, %es
+
+    # push %esp to pass a pointer to the trapframe as an argument to trap()
+    pushl %esp
+
+    # call trap(tf), where tf=%esp
+    call trap
+
+    # pop the pushed stack pointer
+    popl %esp
+
+    # return falls through to trapret...
+.globl __trapret
+__trapret:
+    # restore registers from stack
+    popal
+
+    # restore %ds, %es, %fs and %gs
+    popl %gs
+    popl %fs
+    popl %es
+    popl %ds
+
+    # get rid of the trap number and error code
+    addl $0x8, %esp
+    iret
+
diff --git a/code/lab2/kern/trap/vectors.S b/code/lab2/kern/trap/vectors.S
new file mode 100644
index 0000000..1d05b4a
--- /dev/null
+++ b/code/lab2/kern/trap/vectors.S
@@ -0,0 +1,1536 @@
+# handler
+.text
+.globl __alltraps
+.globl vector0
+vector0:
+  pushl $0
+  pushl $0
+  jmp __alltraps
+.globl vector1
+vector1:
+  pushl $0
+  pushl $1
+  jmp __alltraps
+.globl vector2
+vector2:
+  pushl $0
+  pushl $2
+  jmp __alltraps
+.globl vector3
+vector3:
+  pushl $0
+  pushl $3
+  jmp __alltraps
+.globl vector4
+vector4:
+  pushl $0
+  pushl $4
+  jmp __alltraps
+.globl vector5
+vector5:
+  pushl $0
+  pushl $5
+  jmp __alltraps
+.globl vector6
+vector6:
+  pushl $0
+  pushl $6
+  jmp __alltraps
+.globl vector7
+vector7:
+  pushl $0
+  pushl $7
+  jmp __alltraps
+.globl vector8
+vector8:
+  pushl $8
+  jmp __alltraps
+.globl vector9
+vector9:
+  pushl $9
+  jmp __alltraps
+.globl vector10
+vector10:
+  pushl $10
+  jmp __alltraps
+.globl vector11
+vector11:
+  pushl $11
+  jmp __alltraps
+.globl vector12
+vector12:
+  pushl $12
+  jmp __alltraps
+.globl vector13
+vector13:
+  pushl $13
+  jmp __alltraps
+.globl vector14
+vector14:
+  pushl $14
+  jmp __alltraps
+.globl vector15
+vector15:
+  pushl $0
+  pushl $15
+  jmp __alltraps
+.globl vector16
+vector16:
+  pushl $0
+  pushl $16
+  jmp __alltraps
+.globl vector17
+vector17:
+  pushl $17
+  jmp __alltraps
+.globl vector18
+vector18:
+  pushl $0
+  pushl $18
+  jmp __alltraps
+.globl vector19
+vector19:
+  pushl $0
+  pushl $19
+  jmp __alltraps
+.globl vector20
+vector20:
+  pushl $0
+  pushl $20
+  jmp __alltraps
+.globl vector21
+vector21:
+  pushl $0
+  pushl $21
+  jmp __alltraps
+.globl vector22
+vector22:
+  pushl $0
+  pushl $22
+  jmp __alltraps
+.globl vector23
+vector23:
+  pushl $0
+  pushl $23
+  jmp __alltraps
+.globl vector24
+vector24:
+  pushl $0
+  pushl $24
+  jmp __alltraps
+.globl vector25
+vector25:
+  pushl $0
+  pushl $25
+  jmp __alltraps
+.globl vector26
+vector26:
+  pushl $0
+  pushl $26
+  jmp __alltraps
+.globl vector27
+vector27:
+  pushl $0
+  pushl $27
+  jmp __alltraps
+.globl vector28
+vector28:
+  pushl $0
+  pushl $28
+  jmp __alltraps
+.globl vector29
+vector29:
+  pushl $0
+  pushl $29
+  jmp __alltraps
+.globl vector30
+vector30:
+  pushl $0
+  pushl $30
+  jmp __alltraps
+.globl vector31
+vector31:
+  pushl $0
+  pushl $31
+  jmp __alltraps
+.globl vector32
+vector32:
+  pushl $0
+  pushl $32
+  jmp __alltraps
+.globl vector33
+vector33:
+  pushl $0
+  pushl $33
+  jmp __alltraps
+.globl vector34
+vector34:
+  pushl $0
+  pushl $34
+  jmp __alltraps
+.globl vector35
+vector35:
+  pushl $0
+  pushl $35
+  jmp __alltraps
+.globl vector36
+vector36:
+  pushl $0
+  pushl $36
+  jmp __alltraps
+.globl vector37
+vector37:
+  pushl $0
+  pushl $37
+  jmp __alltraps
+.globl vector38
+vector38:
+  pushl $0
+  pushl $38
+  jmp __alltraps
+.globl vector39
+vector39:
+  pushl $0
+  pushl $39
+  jmp __alltraps
+.globl vector40
+vector40:
+  pushl $0
+  pushl $40
+  jmp __alltraps
+.globl vector41
+vector41:
+  pushl $0
+  pushl $41
+  jmp __alltraps
+.globl vector42
+vector42:
+  pushl $0
+  pushl $42
+  jmp __alltraps
+.globl vector43
+vector43:
+  pushl $0
+  pushl $43
+  jmp __alltraps
+.globl vector44
+vector44:
+  pushl $0
+  pushl $44
+  jmp __alltraps
+.globl vector45
+vector45:
+  pushl $0
+  pushl $45
+  jmp __alltraps
+.globl vector46
+vector46:
+  pushl $0
+  pushl $46
+  jmp __alltraps
+.globl vector47
+vector47:
+  pushl $0
+  pushl $47
+  jmp __alltraps
+.globl vector48
+vector48:
+  pushl $0
+  pushl $48
+  jmp __alltraps
+.globl vector49
+vector49:
+  pushl $0
+  pushl $49
+  jmp __alltraps
+.globl vector50
+vector50:
+  pushl $0
+  pushl $50
+  jmp __alltraps
+.globl vector51
+vector51:
+  pushl $0
+  pushl $51
+  jmp __alltraps
+.globl vector52
+vector52:
+  pushl $0
+  pushl $52
+  jmp __alltraps
+.globl vector53
+vector53:
+  pushl $0
+  pushl $53
+  jmp __alltraps
+.globl vector54
+vector54:
+  pushl $0
+  pushl $54
+  jmp __alltraps
+.globl vector55
+vector55:
+  pushl $0
+  pushl $55
+  jmp __alltraps
+.globl vector56
+vector56:
+  pushl $0
+  pushl $56
+  jmp __alltraps
+.globl vector57
+vector57:
+  pushl $0
+  pushl $57
+  jmp __alltraps
+.globl vector58
+vector58:
+  pushl $0
+  pushl $58
+  jmp __alltraps
+.globl vector59
+vector59:
+  pushl $0
+  pushl $59
+  jmp __alltraps
+.globl vector60
+vector60:
+  pushl $0
+  pushl $60
+  jmp __alltraps
+.globl vector61
+vector61:
+  pushl $0
+  pushl $61
+  jmp __alltraps
+.globl vector62
+vector62:
+  pushl $0
+  pushl $62
+  jmp __alltraps
+.globl vector63
+vector63:
+  pushl $0
+  pushl $63
+  jmp __alltraps
+.globl vector64
+vector64:
+  pushl $0
+  pushl $64
+  jmp __alltraps
+.globl vector65
+vector65:
+  pushl $0
+  pushl $65
+  jmp __alltraps
+.globl vector66
+vector66:
+  pushl $0
+  pushl $66
+  jmp __alltraps
+.globl vector67
+vector67:
+  pushl $0
+  pushl $67
+  jmp __alltraps
+.globl vector68
+vector68:
+  pushl $0
+  pushl $68
+  jmp __alltraps
+.globl vector69
+vector69:
+  pushl $0
+  pushl $69
+  jmp __alltraps
+.globl vector70
+vector70:
+  pushl $0
+  pushl $70
+  jmp __alltraps
+.globl vector71
+vector71:
+  pushl $0
+  pushl $71
+  jmp __alltraps
+.globl vector72
+vector72:
+  pushl $0
+  pushl $72
+  jmp __alltraps
+.globl vector73
+vector73:
+  pushl $0
+  pushl $73
+  jmp __alltraps
+.globl vector74
+vector74:
+  pushl $0
+  pushl $74
+  jmp __alltraps
+.globl vector75
+vector75:
+  pushl $0
+  pushl $75
+  jmp __alltraps
+.globl vector76
+vector76:
+  pushl $0
+  pushl $76
+  jmp __alltraps
+.globl vector77
+vector77:
+  pushl $0
+  pushl $77
+  jmp __alltraps
+.globl vector78
+vector78:
+  pushl $0
+  pushl $78
+  jmp __alltraps
+.globl vector79
+vector79:
+  pushl $0
+  pushl $79
+  jmp __alltraps
+.globl vector80
+vector80:
+  pushl $0
+  pushl $80
+  jmp __alltraps
+.globl vector81
+vector81:
+  pushl $0
+  pushl $81
+  jmp __alltraps
+.globl vector82
+vector82:
+  pushl $0
+  pushl $82
+  jmp __alltraps
+.globl vector83
+vector83:
+  pushl $0
+  pushl $83
+  jmp __alltraps
+.globl vector84
+vector84:
+  pushl $0
+  pushl $84
+  jmp __alltraps
+.globl vector85
+vector85:
+  pushl $0
+  pushl $85
+  jmp __alltraps
+.globl vector86
+vector86:
+  pushl $0
+  pushl $86
+  jmp __alltraps
+.globl vector87
+vector87:
+  pushl $0
+  pushl $87
+  jmp __alltraps
+.globl vector88
+vector88:
+  pushl $0
+  pushl $88
+  jmp __alltraps
+.globl vector89
+vector89:
+  pushl $0
+  pushl $89
+  jmp __alltraps
+.globl vector90
+vector90:
+  pushl $0
+  pushl $90
+  jmp __alltraps
+.globl vector91
+vector91:
+  pushl $0
+  pushl $91
+  jmp __alltraps
+.globl vector92
+vector92:
+  pushl $0
+  pushl $92
+  jmp __alltraps
+.globl vector93
+vector93:
+  pushl $0
+  pushl $93
+  jmp __alltraps
+.globl vector94
+vector94:
+  pushl $0
+  pushl $94
+  jmp __alltraps
+.globl vector95
+vector95:
+  pushl $0
+  pushl $95
+  jmp __alltraps
+.globl vector96
+vector96:
+  pushl $0
+  pushl $96
+  jmp __alltraps
+.globl vector97
+vector97:
+  pushl $0
+  pushl $97
+  jmp __alltraps
+.globl vector98
+vector98:
+  pushl $0
+  pushl $98
+  jmp __alltraps
+.globl vector99
+vector99:
+  pushl $0
+  pushl $99
+  jmp __alltraps
+.globl vector100
+vector100:
+  pushl $0
+  pushl $100
+  jmp __alltraps
+.globl vector101
+vector101:
+  pushl $0
+  pushl $101
+  jmp __alltraps
+.globl vector102
+vector102:
+  pushl $0
+  pushl $102
+  jmp __alltraps
+.globl vector103
+vector103:
+  pushl $0
+  pushl $103
+  jmp __alltraps
+.globl vector104
+vector104:
+  pushl $0
+  pushl $104
+  jmp __alltraps
+.globl vector105
+vector105:
+  pushl $0
+  pushl $105
+  jmp __alltraps
+.globl vector106
+vector106:
+  pushl $0
+  pushl $106
+  jmp __alltraps
+.globl vector107
+vector107:
+  pushl $0
+  pushl $107
+  jmp __alltraps
+.globl vector108
+vector108:
+  pushl $0
+  pushl $108
+  jmp __alltraps
+.globl vector109
+vector109:
+  pushl $0
+  pushl $109
+  jmp __alltraps
+.globl vector110
+vector110:
+  pushl $0
+  pushl $110
+  jmp __alltraps
+.globl vector111
+vector111:
+  pushl $0
+  pushl $111
+  jmp __alltraps
+.globl vector112
+vector112:
+  pushl $0
+  pushl $112
+  jmp __alltraps
+.globl vector113
+vector113:
+  pushl $0
+  pushl $113
+  jmp __alltraps
+.globl vector114
+vector114:
+  pushl $0
+  pushl $114
+  jmp __alltraps
+.globl vector115
+vector115:
+  pushl $0
+  pushl $115
+  jmp __alltraps
+.globl vector116
+vector116:
+  pushl $0
+  pushl $116
+  jmp __alltraps
+.globl vector117
+vector117:
+  pushl $0
+  pushl $117
+  jmp __alltraps
+.globl vector118
+vector118:
+  pushl $0
+  pushl $118
+  jmp __alltraps
+.globl vector119
+vector119:
+  pushl $0
+  pushl $119
+  jmp __alltraps
+.globl vector120
+vector120:
+  pushl $0
+  pushl $120
+  jmp __alltraps
+.globl vector121
+vector121:
+  pushl $0
+  pushl $121
+  jmp __alltraps
+.globl vector122
+vector122:
+  pushl $0
+  pushl $122
+  jmp __alltraps
+.globl vector123
+vector123:
+  pushl $0
+  pushl $123
+  jmp __alltraps
+.globl vector124
+vector124:
+  pushl $0
+  pushl $124
+  jmp __alltraps
+.globl vector125
+vector125:
+  pushl $0
+  pushl $125
+  jmp __alltraps
+.globl vector126
+vector126:
+  pushl $0
+  pushl $126
+  jmp __alltraps
+.globl vector127
+vector127:
+  pushl $0
+  pushl $127
+  jmp __alltraps
+.globl vector128
+vector128:
+  pushl $0
+  pushl $128
+  jmp __alltraps
+.globl vector129
+vector129:
+  pushl $0
+  pushl $129
+  jmp __alltraps
+.globl vector130
+vector130:
+  pushl $0
+  pushl $130
+  jmp __alltraps
+.globl vector131
+vector131:
+  pushl $0
+  pushl $131
+  jmp __alltraps
+.globl vector132
+vector132:
+  pushl $0
+  pushl $132
+  jmp __alltraps
+.globl vector133
+vector133:
+  pushl $0
+  pushl $133
+  jmp __alltraps
+.globl vector134
+vector134:
+  pushl $0
+  pushl $134
+  jmp __alltraps
+.globl vector135
+vector135:
+  pushl $0
+  pushl $135
+  jmp __alltraps
+.globl vector136
+vector136:
+  pushl $0
+  pushl $136
+  jmp __alltraps
+.globl vector137
+vector137:
+  pushl $0
+  pushl $137
+  jmp __alltraps
+.globl vector138
+vector138:
+  pushl $0
+  pushl $138
+  jmp __alltraps
+.globl vector139
+vector139:
+  pushl $0
+  pushl $139
+  jmp __alltraps
+.globl vector140
+vector140:
+  pushl $0
+  pushl $140
+  jmp __alltraps
+.globl vector141
+vector141:
+  pushl $0
+  pushl $141
+  jmp __alltraps
+.globl vector142
+vector142:
+  pushl $0
+  pushl $142
+  jmp __alltraps
+.globl vector143
+vector143:
+  pushl $0
+  pushl $143
+  jmp __alltraps
+.globl vector144
+vector144:
+  pushl $0
+  pushl $144
+  jmp __alltraps
+.globl vector145
+vector145:
+  pushl $0
+  pushl $145
+  jmp __alltraps
+.globl vector146
+vector146:
+  pushl $0
+  pushl $146
+  jmp __alltraps
+.globl vector147
+vector147:
+  pushl $0
+  pushl $147
+  jmp __alltraps
+.globl vector148
+vector148:
+  pushl $0
+  pushl $148
+  jmp __alltraps
+.globl vector149
+vector149:
+  pushl $0
+  pushl $149
+  jmp __alltraps
+.globl vector150
+vector150:
+  pushl $0
+  pushl $150
+  jmp __alltraps
+.globl vector151
+vector151:
+  pushl $0
+  pushl $151
+  jmp __alltraps
+.globl vector152
+vector152:
+  pushl $0
+  pushl $152
+  jmp __alltraps
+.globl vector153
+vector153:
+  pushl $0
+  pushl $153
+  jmp __alltraps
+.globl vector154
+vector154:
+  pushl $0
+  pushl $154
+  jmp __alltraps
+.globl vector155
+vector155:
+  pushl $0
+  pushl $155
+  jmp __alltraps
+.globl vector156
+vector156:
+  pushl $0
+  pushl $156
+  jmp __alltraps
+.globl vector157
+vector157:
+  pushl $0
+  pushl $157
+  jmp __alltraps
+.globl vector158
+vector158:
+  pushl $0
+  pushl $158
+  jmp __alltraps
+.globl vector159
+vector159:
+  pushl $0
+  pushl $159
+  jmp __alltraps
+.globl vector160
+vector160:
+  pushl $0
+  pushl $160
+  jmp __alltraps
+.globl vector161
+vector161:
+  pushl $0
+  pushl $161
+  jmp __alltraps
+.globl vector162
+vector162:
+  pushl $0
+  pushl $162
+  jmp __alltraps
+.globl vector163
+vector163:
+  pushl $0
+  pushl $163
+  jmp __alltraps
+.globl vector164
+vector164:
+  pushl $0
+  pushl $164
+  jmp __alltraps
+.globl vector165
+vector165:
+  pushl $0
+  pushl $165
+  jmp __alltraps
+.globl vector166
+vector166:
+  pushl $0
+  pushl $166
+  jmp __alltraps
+.globl vector167
+vector167:
+  pushl $0
+  pushl $167
+  jmp __alltraps
+.globl vector168
+vector168:
+  pushl $0
+  pushl $168
+  jmp __alltraps
+.globl vector169
+vector169:
+  pushl $0
+  pushl $169
+  jmp __alltraps
+.globl vector170
+vector170:
+  pushl $0
+  pushl $170
+  jmp __alltraps
+.globl vector171
+vector171:
+  pushl $0
+  pushl $171
+  jmp __alltraps
+.globl vector172
+vector172:
+  pushl $0
+  pushl $172
+  jmp __alltraps
+.globl vector173
+vector173:
+  pushl $0
+  pushl $173
+  jmp __alltraps
+.globl vector174
+vector174:
+  pushl $0
+  pushl $174
+  jmp __alltraps
+.globl vector175
+vector175:
+  pushl $0
+  pushl $175
+  jmp __alltraps
+.globl vector176
+vector176:
+  pushl $0
+  pushl $176
+  jmp __alltraps
+.globl vector177
+vector177:
+  pushl $0
+  pushl $177
+  jmp __alltraps
+.globl vector178
+vector178:
+  pushl $0
+  pushl $178
+  jmp __alltraps
+.globl vector179
+vector179:
+  pushl $0
+  pushl $179
+  jmp __alltraps
+.globl vector180
+vector180:
+  pushl $0
+  pushl $180
+  jmp __alltraps
+.globl vector181
+vector181:
+  pushl $0
+  pushl $181
+  jmp __alltraps
+.globl vector182
+vector182:
+  pushl $0
+  pushl $182
+  jmp __alltraps
+.globl vector183
+vector183:
+  pushl $0
+  pushl $183
+  jmp __alltraps
+.globl vector184
+vector184:
+  pushl $0
+  pushl $184
+  jmp __alltraps
+.globl vector185
+vector185:
+  pushl $0
+  pushl $185
+  jmp __alltraps
+.globl vector186
+vector186:
+  pushl $0
+  pushl $186
+  jmp __alltraps
+.globl vector187
+vector187:
+  pushl $0
+  pushl $187
+  jmp __alltraps
+.globl vector188
+vector188:
+  pushl $0
+  pushl $188
+  jmp __alltraps
+.globl vector189
+vector189:
+  pushl $0
+  pushl $189
+  jmp __alltraps
+.globl vector190
+vector190:
+  pushl $0
+  pushl $190
+  jmp __alltraps
+.globl vector191
+vector191:
+  pushl $0
+  pushl $191
+  jmp __alltraps
+.globl vector192
+vector192:
+  pushl $0
+  pushl $192
+  jmp __alltraps
+.globl vector193
+vector193:
+  pushl $0
+  pushl $193
+  jmp __alltraps
+.globl vector194
+vector194:
+  pushl $0
+  pushl $194
+  jmp __alltraps
+.globl vector195
+vector195:
+  pushl $0
+  pushl $195
+  jmp __alltraps
+.globl vector196
+vector196:
+  pushl $0
+  pushl $196
+  jmp __alltraps
+.globl vector197
+vector197:
+  pushl $0
+  pushl $197
+  jmp __alltraps
+.globl vector198
+vector198:
+  pushl $0
+  pushl $198
+  jmp __alltraps
+.globl vector199
+vector199:
+  pushl $0
+  pushl $199
+  jmp __alltraps
+.globl vector200
+vector200:
+  pushl $0
+  pushl $200
+  jmp __alltraps
+.globl vector201
+vector201:
+  pushl $0
+  pushl $201
+  jmp __alltraps
+.globl vector202
+vector202:
+  pushl $0
+  pushl $202
+  jmp __alltraps
+.globl vector203
+vector203:
+  pushl $0
+  pushl $203
+  jmp __alltraps
+.globl vector204
+vector204:
+  pushl $0
+  pushl $204
+  jmp __alltraps
+.globl vector205
+vector205:
+  pushl $0
+  pushl $205
+  jmp __alltraps
+.globl vector206
+vector206:
+  pushl $0
+  pushl $206
+  jmp __alltraps
+.globl vector207
+vector207:
+  pushl $0
+  pushl $207
+  jmp __alltraps
+.globl vector208
+vector208:
+  pushl $0
+  pushl $208
+  jmp __alltraps
+.globl vector209
+vector209:
+  pushl $0
+  pushl $209
+  jmp __alltraps
+.globl vector210
+vector210:
+  pushl $0
+  pushl $210
+  jmp __alltraps
+.globl vector211
+vector211:
+  pushl $0
+  pushl $211
+  jmp __alltraps
+.globl vector212
+vector212:
+  pushl $0
+  pushl $212
+  jmp __alltraps
+.globl vector213
+vector213:
+  pushl $0
+  pushl $213
+  jmp __alltraps
+.globl vector214
+vector214:
+  pushl $0
+  pushl $214
+  jmp __alltraps
+.globl vector215
+vector215:
+  pushl $0
+  pushl $215
+  jmp __alltraps
+.globl vector216
+vector216:
+  pushl $0
+  pushl $216
+  jmp __alltraps
+.globl vector217
+vector217:
+  pushl $0
+  pushl $217
+  jmp __alltraps
+.globl vector218
+vector218:
+  pushl $0
+  pushl $218
+  jmp __alltraps
+.globl vector219
+vector219:
+  pushl $0
+  pushl $219
+  jmp __alltraps
+.globl vector220
+vector220:
+  pushl $0
+  pushl $220
+  jmp __alltraps
+.globl vector221
+vector221:
+  pushl $0
+  pushl $221
+  jmp __alltraps
+.globl vector222
+vector222:
+  pushl $0
+  pushl $222
+  jmp __alltraps
+.globl vector223
+vector223:
+  pushl $0
+  pushl $223
+  jmp __alltraps
+.globl vector224
+vector224:
+  pushl $0
+  pushl $224
+  jmp __alltraps
+.globl vector225
+vector225:
+  pushl $0
+  pushl $225
+  jmp __alltraps
+.globl vector226
+vector226:
+  pushl $0
+  pushl $226
+  jmp __alltraps
+.globl vector227
+vector227:
+  pushl $0
+  pushl $227
+  jmp __alltraps
+.globl vector228
+vector228:
+  pushl $0
+  pushl $228
+  jmp __alltraps
+.globl vector229
+vector229:
+  pushl $0
+  pushl $229
+  jmp __alltraps
+.globl vector230
+vector230:
+  pushl $0
+  pushl $230
+  jmp __alltraps
+.globl vector231
+vector231:
+  pushl $0
+  pushl $231
+  jmp __alltraps
+.globl vector232
+vector232:
+  pushl $0
+  pushl $232
+  jmp __alltraps
+.globl vector233
+vector233:
+  pushl $0
+  pushl $233
+  jmp __alltraps
+.globl vector234
+vector234:
+  pushl $0
+  pushl $234
+  jmp __alltraps
+.globl vector235
+vector235:
+  pushl $0
+  pushl $235
+  jmp __alltraps
+.globl vector236
+vector236:
+  pushl $0
+  pushl $236
+  jmp __alltraps
+.globl vector237
+vector237:
+  pushl $0
+  pushl $237
+  jmp __alltraps
+.globl vector238
+vector238:
+  pushl $0
+  pushl $238
+  jmp __alltraps
+.globl vector239
+vector239:
+  pushl $0
+  pushl $239
+  jmp __alltraps
+.globl vector240
+vector240:
+  pushl $0
+  pushl $240
+  jmp __alltraps
+.globl vector241
+vector241:
+  pushl $0
+  pushl $241
+  jmp __alltraps
+.globl vector242
+vector242:
+  pushl $0
+  pushl $242
+  jmp __alltraps
+.globl vector243
+vector243:
+  pushl $0
+  pushl $243
+  jmp __alltraps
+.globl vector244
+vector244:
+  pushl $0
+  pushl $244
+  jmp __alltraps
+.globl vector245
+vector245:
+  pushl $0
+  pushl $245
+  jmp __alltraps
+.globl vector246
+vector246:
+  pushl $0
+  pushl $246
+  jmp __alltraps
+.globl vector247
+vector247:
+  pushl $0
+  pushl $247
+  jmp __alltraps
+.globl vector248
+vector248:
+  pushl $0
+  pushl $248
+  jmp __alltraps
+.globl vector249
+vector249:
+  pushl $0
+  pushl $249
+  jmp __alltraps
+.globl vector250
+vector250:
+  pushl $0
+  pushl $250
+  jmp __alltraps
+.globl vector251
+vector251:
+  pushl $0
+  pushl $251
+  jmp __alltraps
+.globl vector252
+vector252:
+  pushl $0
+  pushl $252
+  jmp __alltraps
+.globl vector253
+vector253:
+  pushl $0
+  pushl $253
+  jmp __alltraps
+.globl vector254
+vector254:
+  pushl $0
+  pushl $254
+  jmp __alltraps
+.globl vector255
+vector255:
+  pushl $0
+  pushl $255
+  jmp __alltraps
+
+# vector table
+.data
+.globl __vectors
+__vectors:
+  .long vector0
+  .long vector1
+  .long vector2
+  .long vector3
+  .long vector4
+  .long vector5
+  .long vector6
+  .long vector7
+  .long vector8
+  .long vector9
+  .long vector10
+  .long vector11
+  .long vector12
+  .long vector13
+  .long vector14
+  .long vector15
+  .long vector16
+  .long vector17
+  .long vector18
+  .long vector19
+  .long vector20
+  .long vector21
+  .long vector22
+  .long vector23
+  .long vector24
+  .long vector25
+  .long vector26
+  .long vector27
+  .long vector28
+  .long vector29
+  .long vector30
+  .long vector31
+  .long vector32
+  .long vector33
+  .long vector34
+  .long vector35
+  .long vector36
+  .long vector37
+  .long vector38
+  .long vector39
+  .long vector40
+  .long vector41
+  .long vector42
+  .long vector43
+  .long vector44
+  .long vector45
+  .long vector46
+  .long vector47
+  .long vector48
+  .long vector49
+  .long vector50
+  .long vector51
+  .long vector52
+  .long vector53
+  .long vector54
+  .long vector55
+  .long vector56
+  .long vector57
+  .long vector58
+  .long vector59
+  .long vector60
+  .long vector61
+  .long vector62
+  .long vector63
+  .long vector64
+  .long vector65
+  .long vector66
+  .long vector67
+  .long vector68
+  .long vector69
+  .long vector70
+  .long vector71
+  .long vector72
+  .long vector73
+  .long vector74
+  .long vector75
+  .long vector76
+  .long vector77
+  .long vector78
+  .long vector79
+  .long vector80
+  .long vector81
+  .long vector82
+  .long vector83
+  .long vector84
+  .long vector85
+  .long vector86
+  .long vector87
+  .long vector88
+  .long vector89
+  .long vector90
+  .long vector91
+  .long vector92
+  .long vector93
+  .long vector94
+  .long vector95
+  .long vector96
+  .long vector97
+  .long vector98
+  .long vector99
+  .long vector100
+  .long vector101
+  .long vector102
+  .long vector103
+  .long vector104
+  .long vector105
+  .long vector106
+  .long vector107
+  .long vector108
+  .long vector109
+  .long vector110
+  .long vector111
+  .long vector112
+  .long vector113
+  .long vector114
+  .long vector115
+  .long vector116
+  .long vector117
+  .long vector118
+  .long vector119
+  .long vector120
+  .long vector121
+  .long vector122
+  .long vector123
+  .long vector124
+  .long vector125
+  .long vector126
+  .long vector127
+  .long vector128
+  .long vector129
+  .long vector130
+  .long vector131
+  .long vector132
+  .long vector133
+  .long vector134
+  .long vector135
+  .long vector136
+  .long vector137
+  .long vector138
+  .long vector139
+  .long vector140
+  .long vector141
+  .long vector142
+  .long vector143
+  .long vector144
+  .long vector145
+  .long vector146
+  .long vector147
+  .long vector148
+  .long vector149
+  .long vector150
+  .long vector151
+  .long vector152
+  .long vector153
+  .long vector154
+  .long vector155
+  .long vector156
+  .long vector157
+  .long vector158
+  .long vector159
+  .long vector160
+  .long vector161
+  .long vector162
+  .long vector163
+  .long vector164
+  .long vector165
+  .long vector166
+  .long vector167
+  .long vector168
+  .long vector169
+  .long vector170
+  .long vector171
+  .long vector172
+  .long vector173
+  .long vector174
+  .long vector175
+  .long vector176
+  .long vector177
+  .long vector178
+  .long vector179
+  .long vector180
+  .long vector181
+  .long vector182
+  .long vector183
+  .long vector184
+  .long vector185
+  .long vector186
+  .long vector187
+  .long vector188
+  .long vector189
+  .long vector190
+  .long vector191
+  .long vector192
+  .long vector193
+  .long vector194
+  .long vector195
+  .long vector196
+  .long vector197
+  .long vector198
+  .long vector199
+  .long vector200
+  .long vector201
+  .long vector202
+  .long vector203
+  .long vector204
+  .long vector205
+  .long vector206
+  .long vector207
+  .long vector208
+  .long vector209
+  .long vector210
+  .long vector211
+  .long vector212
+  .long vector213
+  .long vector214
+  .long vector215
+  .long vector216
+  .long vector217
+  .long vector218
+  .long vector219
+  .long vector220
+  .long vector221
+  .long vector222
+  .long vector223
+  .long vector224
+  .long vector225
+  .long vector226
+  .long vector227
+  .long vector228
+  .long vector229
+  .long vector230
+  .long vector231
+  .long vector232
+  .long vector233
+  .long vector234
+  .long vector235
+  .long vector236
+  .long vector237
+  .long vector238
+  .long vector239
+  .long vector240
+  .long vector241
+  .long vector242
+  .long vector243
+  .long vector244
+  .long vector245
+  .long vector246
+  .long vector247
+  .long vector248
+  .long vector249
+  .long vector250
+  .long vector251
+  .long vector252
+  .long vector253
+  .long vector254
+  .long vector255
diff --git a/code/lab2/libs/atomic.h b/code/lab2/libs/atomic.h
new file mode 100644
index 0000000..a3a9525
--- /dev/null
+++ b/code/lab2/libs/atomic.h
@@ -0,0 +1,251 @@
+#ifndef __LIBS_ATOMIC_H__
+#define __LIBS_ATOMIC_H__
+
+/* Atomic operations that C can't guarantee us. Useful for resource counting etc.. */
+
+typedef struct {
+    volatile int counter;
+} atomic_t;
+
+static inline int atomic_read(const atomic_t *v) __attribute__((always_inline));
+static inline void atomic_set(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_add(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_sub(atomic_t *v, int i) __attribute__((always_inline));
+static inline bool atomic_sub_test_zero(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_inc(atomic_t *v) __attribute__((always_inline));
+static inline void atomic_dec(atomic_t *v) __attribute__((always_inline));
+static inline bool atomic_inc_test_zero(atomic_t *v) __attribute__((always_inline));
+static inline bool atomic_dec_test_zero(atomic_t *v) __attribute__((always_inline));
+static inline int atomic_add_return(atomic_t *v, int i) __attribute__((always_inline));
+static inline int atomic_sub_return(atomic_t *v, int i) __attribute__((always_inline));
+
+/* *
+ * atomic_read - read atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically reads the value of @v.
+ * */
+static inline int
+atomic_read(const atomic_t *v) {
+    return v->counter;
+}
+
+/* *
+ * atomic_set - set atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  required value
+ *
+ * Atomically sets the value of @v to @i.
+ * */
+static inline void
+atomic_set(atomic_t *v, int i) {
+    v->counter = i;
+}
+
+/* *
+ * atomic_add - add integer to atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to add
+ *
+ * Atomically adds @i to @v.
+ * */
+static inline void
+atomic_add(atomic_t *v, int i) {
+    asm volatile ("addl %1, %0" : "+m" (v->counter) : "ir" (i));
+}
+
+/* *
+ * atomic_sub - subtract integer from atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v.
+ * */
+static inline void
+atomic_sub(atomic_t *v, int i) {
+    asm volatile("subl %1, %0" : "+m" (v->counter) : "ir" (i));
+}
+
+/* *
+ * atomic_sub_test_zero - subtract value from variable and test result
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v and
+ * returns true if the result is zero, or false for all other cases.
+ * */
+static inline bool
+atomic_sub_test_zero(atomic_t *v, int i) {
+    unsigned char c;
+    asm volatile("subl %2, %0; sete %1" : "+m" (v->counter), "=qm" (c) : "ir" (i) : "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_inc - increment atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically increments @v by 1.
+ * */
+static inline void
+atomic_inc(atomic_t *v) {
+    asm volatile("incl %0" : "+m" (v->counter));
+}
+
+/* *
+ * atomic_dec - decrement atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically decrements @v by 1.
+ * */
+static inline void
+atomic_dec(atomic_t *v) {
+    asm volatile("decl %0" : "+m" (v->counter));
+}
+
+/* *
+ * atomic_inc_test_zero - increment and test
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically increments @v by 1 and
+ * returns true if the result is zero, or false for all other cases.
+ * */
+static inline bool
+atomic_inc_test_zero(atomic_t *v) {
+    unsigned char c;
+    asm volatile("incl %0; sete %1" : "+m" (v->counter), "=qm" (c) :: "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_dec_test_zero - decrement and test
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically decrements @v by 1 and
+ * returns true if the result is 0, or false for all other cases.
+ * */
+static inline bool
+atomic_dec_test_zero(atomic_t *v) {
+    unsigned char c;
+    asm volatile("decl %0; sete %1" : "+m" (v->counter), "=qm" (c) :: "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_add_return - add integer and return
+ * @i:  integer value to add
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically adds @i to @v and returns @i + @v
+ * Requires Modern 486+ processor
+ * */
+static inline int
+atomic_add_return(atomic_t *v, int i) {
+    int __i = i;
+    asm volatile("xaddl %0, %1" : "+r" (i), "+m" (v->counter) :: "memory");
+    return i + __i;
+}
+
+/* *
+ * atomic_sub_return - subtract integer and return
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v and returns @v - @i
+ * */
+static inline int
+atomic_sub_return(atomic_t *v, int i) {
+    return atomic_add_return(v, -i);
+}
+
+static inline void set_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline void clear_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline void change_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_set_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_clear_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_change_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_bit(int nr, volatile void *addr) __attribute__((always_inline));
+
+/* *
+ * set_bit - Atomically set a bit in memory
+ * @nr:     the bit to set
+ * @addr:   the address to start counting from
+ *
+ * Note that @nr may be almost arbitrarily large; this function is not
+ * restricted to acting on a single-word quantity.
+ * */
+static inline void
+set_bit(int nr, volatile void *addr) {
+    asm volatile ("btsl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * clear_bit - Atomically clears a bit in memory
+ * @nr:     the bit to clear
+ * @addr:   the address to start counting from
+ * */
+static inline void
+clear_bit(int nr, volatile void *addr) {
+    asm volatile ("btrl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * change_bit - Atomically toggle a bit in memory
+ * @nr:     the bit to change
+ * @addr:   the address to start counting from
+ * */
+static inline void
+change_bit(int nr, volatile void *addr) {
+    asm volatile ("btcl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * test_and_set_bit - Atomically set a bit and return its old value
+ * @nr:     the bit to set
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_set_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btsl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_and_clear_bit - Atomically clear a bit and return its old value
+ * @nr:     the bit to clear
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_clear_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btrl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_and_change_bit - Atomically change a bit and return its old value
+ * @nr:     the bit to change
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_change_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btcl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_bit - Determine whether a bit is set
+ * @nr:     the bit to test
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btl %2, %1; sbbl %0,%0" : "=r" (oldbit) : "m" (*(volatile long *)addr), "Ir" (nr));
+    return oldbit != 0;
+}
+
+#endif /* !__LIBS_ATOMIC_H__ */
+
diff --git a/code/lab2/libs/defs.h b/code/lab2/libs/defs.h
new file mode 100644
index 0000000..88f280e
--- /dev/null
+++ b/code/lab2/libs/defs.h
@@ -0,0 +1,68 @@
+#ifndef __LIBS_DEFS_H__
+#define __LIBS_DEFS_H__
+
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+#define __always_inline inline __attribute__((always_inline))
+#define __noinline __attribute__((noinline))
+#define __noreturn __attribute__((noreturn))
+
+/* Represents true-or-false values */
+typedef int bool;
+
+/* Explicitly-sized versions of integer types */
+typedef char int8_t;
+typedef unsigned char uint8_t;
+typedef short int16_t;
+typedef unsigned short uint16_t;
+typedef int int32_t;
+typedef unsigned int uint32_t;
+typedef long long int64_t;
+typedef unsigned long long uint64_t;
+
+/* *
+ * Pointers and addresses are 32 bits long.
+ * We use pointer types to represent addresses,
+ * uintptr_t to represent the numerical values of addresses.
+ * */
+typedef int32_t intptr_t;
+typedef uint32_t uintptr_t;
+
+/* size_t is used for memory object sizes */
+typedef uintptr_t size_t;
+
+/* used for page numbers */
+typedef size_t ppn_t;
+
+/* *
+ * Rounding operations (efficient when n is a power of 2)
+ * Round down to the nearest multiple of n
+ * */
+#define ROUNDDOWN(a, n) ({                                          \
+            size_t __a = (size_t)(a);                               \
+            (typeof(a))(__a - __a % (n));                           \
+        })
+
+/* Round up to the nearest multiple of n */
+#define ROUNDUP(a, n) ({                                            \
+            size_t __n = (size_t)(n);                               \
+            (typeof(a))(ROUNDDOWN((size_t)(a) + __n - 1, __n));     \
+        })
+
+/* Return the offset of 'member' relative to the beginning of a struct type */
+#define offsetof(type, member)                                      \
+    ((size_t)(&((type *)0)->member))
+
+/* *
+ * to_struct - get the struct from a ptr
+ * @ptr:    a struct pointer of member
+ * @type:   the type of the struct this is embedded in
+ * @member: the name of the member within the struct
+ * */
+#define to_struct(ptr, type, member)                               \
+    ((type *)((char *)(ptr) - offsetof(type, member)))
+
+#endif /* !__LIBS_DEFS_H__ */
+
diff --git a/code/lab2/libs/elf.h b/code/lab2/libs/elf.h
new file mode 100644
index 0000000..bdfee3d
--- /dev/null
+++ b/code/lab2/libs/elf.h
@@ -0,0 +1,40 @@
+#ifndef __LIBS_ELF_H__
+#define __LIBS_ELF_H__
+
+#include <defs.h>
+
+#define ELF_MAGIC   0x464C457FU         // "\x7FELF" in little endian
+
+/* file header */
+struct elfhdr {
+    uint32_t e_magic;     // must equal ELF_MAGIC
+    uint8_t e_elf[12];
+    uint16_t e_type;      // 1=relocatable, 2=executable, 3=shared object, 4=core image
+    uint16_t e_machine;   // 3=x86, 4=68K, etc.
+    uint32_t e_version;   // file version, always 1
+    uint32_t e_entry;     // entry point if executable
+    uint32_t e_phoff;     // file position of program header or 0
+    uint32_t e_shoff;     // file position of section header or 0
+    uint32_t e_flags;     // architecture-specific flags, usually 0
+    uint16_t e_ehsize;    // size of this elf header
+    uint16_t e_phentsize; // size of an entry in program header
+    uint16_t e_phnum;     // number of entries in program header or 0
+    uint16_t e_shentsize; // size of an entry in section header
+    uint16_t e_shnum;     // number of entries in section header or 0
+    uint16_t e_shstrndx;  // section number that contains section name strings
+};
+
+/* program section header */
+struct proghdr {
+    uint32_t p_type;   // loadable code or data, dynamic linking info,etc.
+    uint32_t p_offset; // file offset of segment
+    uint32_t p_va;     // virtual address to map segment
+    uint32_t p_pa;     // physical address, not used
+    uint32_t p_filesz; // size of segment in file
+    uint32_t p_memsz;  // size of segment in memory (bigger if contains bss)
+    uint32_t p_flags;  // read/write/execute bits
+    uint32_t p_align;  // required alignment, invariably hardware page size
+};
+
+#endif /* !__LIBS_ELF_H__ */
+
diff --git a/code/lab2/libs/error.h b/code/lab2/libs/error.h
new file mode 100644
index 0000000..b43fbd6
--- /dev/null
+++ b/code/lab2/libs/error.h
@@ -0,0 +1,16 @@
+#ifndef __LIBS_ERROR_H__
+#define __LIBS_ERROR_H__
+
+/* kernel error codes -- keep in sync with list in lib/printfmt.c */
+#define E_UNSPECIFIED       1   // Unspecified or unknown problem
+#define E_BAD_PROC          2   // Process doesn't exist or otherwise
+#define E_INVAL             3   // Invalid parameter
+#define E_NO_MEM            4   // Request failed due to memory shortage
+#define E_NO_FREE_PROC      5   // Attempt to create a new process beyond
+#define E_FAULT             6   // Memory fault
+
+/* the maximum allowed */
+#define MAXERROR            6
+
+#endif /* !__LIBS_ERROR_H__ */
+
diff --git a/code/lab2/libs/list.h b/code/lab2/libs/list.h
new file mode 100644
index 0000000..3dbf772
--- /dev/null
+++ b/code/lab2/libs/list.h
@@ -0,0 +1,163 @@
+#ifndef __LIBS_LIST_H__
+#define __LIBS_LIST_H__
+
+#ifndef __ASSEMBLER__
+
+#include <defs.h>
+
+/* *
+ * Simple doubly linked list implementation.
+ *
+ * Some of the internal functions ("__xxx") are useful when manipulating
+ * whole lists rather than single entries, as sometimes we already know
+ * the next/prev entries and we can generate better code by using them
+ * directly rather than using the generic single-entry routines.
+ * */
+
+struct list_entry {
+    struct list_entry *prev, *next;
+};
+
+typedef struct list_entry list_entry_t;
+
+static inline void list_init(list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add_before(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add_after(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_del(list_entry_t *listelm) __attribute__((always_inline));
+static inline void list_del_init(list_entry_t *listelm) __attribute__((always_inline));
+static inline bool list_empty(list_entry_t *list) __attribute__((always_inline));
+static inline list_entry_t *list_next(list_entry_t *listelm) __attribute__((always_inline));
+static inline list_entry_t *list_prev(list_entry_t *listelm) __attribute__((always_inline));
+
+static inline void __list_add(list_entry_t *elm, list_entry_t *prev, list_entry_t *next) __attribute__((always_inline));
+static inline void __list_del(list_entry_t *prev, list_entry_t *next) __attribute__((always_inline));
+
+/* *
+ * list_init - initialize a new entry
+ * @elm:        new entry to be initialized
+ * */
+static inline void
+list_init(list_entry_t *elm) {
+    elm->prev = elm->next = elm;
+}
+
+/* *
+ * list_add - add a new entry
+ * @listelm:    list head to add after
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *after* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add(list_entry_t *listelm, list_entry_t *elm) {
+    list_add_after(listelm, elm);
+}
+
+/* *
+ * list_add_before - add a new entry
+ * @listelm:    list head to add before
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *before* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add_before(list_entry_t *listelm, list_entry_t *elm) {
+    __list_add(elm, listelm->prev, listelm);
+}
+
+/* *
+ * list_add_after - add a new entry
+ * @listelm:    list head to add after
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *after* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add_after(list_entry_t *listelm, list_entry_t *elm) {
+    __list_add(elm, listelm, listelm->next);
+}
+
+/* *
+ * list_del - deletes entry from list
+ * @listelm:    the element to delete from the list
+ *
+ * Note: list_empty() on @listelm does not return true after this, the entry is
+ * in an undefined state.
+ * */
+static inline void
+list_del(list_entry_t *listelm) {
+    __list_del(listelm->prev, listelm->next);
+}
+
+/* *
+ * list_del_init - deletes entry from list and reinitialize it.
+ * @listelm:    the element to delete from the list.
+ *
+ * Note: list_empty() on @listelm returns true after this.
+ * */
+static inline void
+list_del_init(list_entry_t *listelm) {
+    list_del(listelm);
+    list_init(listelm);
+}
+
+/* *
+ * list_empty - tests whether a list is empty
+ * @list:       the list to test.
+ * */
+static inline bool
+list_empty(list_entry_t *list) {
+    return list->next == list;
+}
+
+/* *
+ * list_next - get the next entry
+ * @listelm:    the list head
+ **/
+static inline list_entry_t *
+list_next(list_entry_t *listelm) {
+    return listelm->next;
+}
+
+/* *
+ * list_prev - get the previous entry
+ * @listelm:    the list head
+ **/
+static inline list_entry_t *
+list_prev(list_entry_t *listelm) {
+    return listelm->prev;
+}
+
+/* *
+ * Insert a new entry between two known consecutive entries.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ * */
+static inline void
+__list_add(list_entry_t *elm, list_entry_t *prev, list_entry_t *next) {
+    prev->next = next->prev = elm;
+    elm->next = next;
+    elm->prev = prev;
+}
+
+/* *
+ * Delete a list entry by making the prev/next entries point to each other.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ * */
+static inline void
+__list_del(list_entry_t *prev, list_entry_t *next) {
+    prev->next = next;
+    next->prev = prev;
+}
+
+#endif /* !__ASSEMBLER__ */
+
+#endif /* !__LIBS_LIST_H__ */
+
diff --git a/code/lab2/libs/printfmt.c b/code/lab2/libs/printfmt.c
new file mode 100644
index 0000000..93a1c47
--- /dev/null
+++ b/code/lab2/libs/printfmt.c
@@ -0,0 +1,340 @@
+#include <defs.h>
+#include <x86.h>
+#include <error.h>
+#include <stdio.h>
+#include <string.h>
+
+/* *
+ * Space or zero padding and a field width are supported for the numeric
+ * formats only.
+ *
+ * The special format %e takes an integer error code
+ * and prints a string describing the error.
+ * The integer may be positive or negative,
+ * so that -E_NO_MEM and E_NO_MEM are equivalent.
+ * */
+
+static const char * const error_string[MAXERROR + 1] = {
+    [0]                     NULL,
+    [E_UNSPECIFIED]         "unspecified error",
+    [E_BAD_PROC]            "bad process",
+    [E_INVAL]               "invalid parameter",
+    [E_NO_MEM]              "out of memory",
+    [E_NO_FREE_PROC]        "out of processes",
+    [E_FAULT]               "segmentation fault",
+};
+
+/* *
+ * printnum - print a number (base <= 16) in reverse order
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @num:        the number will be printed
+ * @base:       base for print, must be in [1, 16]
+ * @width:      maximum number of digits, if the actual width is less than @width, use @padc instead
+ * @padc:       character that padded on the left if the actual width is less than @width
+ * */
+static void
+printnum(void (*putch)(int, void*), void *putdat,
+        unsigned long long num, unsigned base, int width, int padc) {
+    unsigned long long result = num;
+    unsigned mod = do_div(result, base);
+
+    // first recursively print all preceding (more significant) digits
+    if (num >= base) {
+        printnum(putch, putdat, result, base, width - 1, padc);
+    } else {
+        // print any needed pad characters before first digit
+        while (-- width > 0)
+            putch(padc, putdat);
+    }
+    // then print this (the least significant) digit
+    putch("0123456789abcdef"[mod], putdat);
+}
+
+/* *
+ * getuint - get an unsigned int of various possible sizes from a varargs list
+ * @ap:         a varargs list pointer
+ * @lflag:      determines the size of the vararg that @ap points to
+ * */
+static unsigned long long
+getuint(va_list *ap, int lflag) {
+    if (lflag >= 2) {
+        return va_arg(*ap, unsigned long long);
+    }
+    else if (lflag) {
+        return va_arg(*ap, unsigned long);
+    }
+    else {
+        return va_arg(*ap, unsigned int);
+    }
+}
+
+/* *
+ * getint - same as getuint but signed, we can't use getuint because of sign extension
+ * @ap:         a varargs list pointer
+ * @lflag:      determines the size of the vararg that @ap points to
+ * */
+static long long
+getint(va_list *ap, int lflag) {
+    if (lflag >= 2) {
+        return va_arg(*ap, long long);
+    }
+    else if (lflag) {
+        return va_arg(*ap, long);
+    }
+    else {
+        return va_arg(*ap, int);
+    }
+}
+
+/* *
+ * printfmt - format a string and print it by using putch
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @fmt:        the format string to use
+ * */
+void
+printfmt(void (*putch)(int, void*), void *putdat, const char *fmt, ...) {
+    va_list ap;
+
+    va_start(ap, fmt);
+    vprintfmt(putch, putdat, fmt, ap);
+    va_end(ap);
+}
+
+/* *
+ * vprintfmt - format a string and print it by using putch, it's called with a va_list
+ * instead of a variable number of arguments
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @fmt:        the format string to use
+ * @ap:         arguments for the format string
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want printfmt() instead.
+ * */
+void
+vprintfmt(void (*putch)(int, void*), void *putdat, const char *fmt, va_list ap) {
+    register const char *p;
+    register int ch, err;
+    unsigned long long num;
+    int base, width, precision, lflag, altflag;
+
+    while (1) {
+        while ((ch = *(unsigned char *)fmt ++) != '%') {
+            if (ch == '\0') {
+                return;
+            }
+            putch(ch, putdat);
+        }
+
+        // Process a %-escape sequence
+        char padc = ' ';
+        width = precision = -1;
+        lflag = altflag = 0;
+
+    reswitch:
+        switch (ch = *(unsigned char *)fmt ++) {
+
+        // flag to pad on the right
+        case '-':
+            padc = '-';
+            goto reswitch;
+
+        // flag to pad with 0's instead of spaces
+        case '0':
+            padc = '0';
+            goto reswitch;
+
+        // width field
+        case '1' ... '9':
+            for (precision = 0; ; ++ fmt) {
+                precision = precision * 10 + ch - '0';
+                ch = *fmt;
+                if (ch < '0' || ch > '9') {
+                    break;
+                }
+            }
+            goto process_precision;
+
+        case '*':
+            precision = va_arg(ap, int);
+            goto process_precision;
+
+        case '.':
+            if (width < 0)
+                width = 0;
+            goto reswitch;
+
+        case '#':
+            altflag = 1;
+            goto reswitch;
+
+        process_precision:
+            if (width < 0)
+                width = precision, precision = -1;
+            goto reswitch;
+
+        // long flag (doubled for long long)
+        case 'l':
+            lflag ++;
+            goto reswitch;
+
+        // character
+        case 'c':
+            putch(va_arg(ap, int), putdat);
+            break;
+
+        // error message
+        case 'e':
+            err = va_arg(ap, int);
+            if (err < 0) {
+                err = -err;
+            }
+            if (err > MAXERROR || (p = error_string[err]) == NULL) {
+                printfmt(putch, putdat, "error %d", err);
+            }
+            else {
+                printfmt(putch, putdat, "%s", p);
+            }
+            break;
+
+        // string
+        case 's':
+            if ((p = va_arg(ap, char *)) == NULL) {
+                p = "(null)";
+            }
+            if (width > 0 && padc != '-') {
+                for (width -= strnlen(p, precision); width > 0; width --) {
+                    putch(padc, putdat);
+                }
+            }
+            for (; (ch = *p ++) != '\0' && (precision < 0 || -- precision >= 0); width --) {
+                if (altflag && (ch < ' ' || ch > '~')) {
+                    putch('?', putdat);
+                }
+                else {
+                    putch(ch, putdat);
+                }
+            }
+            for (; width > 0; width --) {
+                putch(' ', putdat);
+            }
+            break;
+
+        // (signed) decimal
+        case 'd':
+            num = getint(&ap, lflag);
+            if ((long long)num < 0) {
+                putch('-', putdat);
+                num = -(long long)num;
+            }
+            base = 10;
+            goto number;
+
+        // unsigned decimal
+        case 'u':
+            num = getuint(&ap, lflag);
+            base = 10;
+            goto number;
+
+        // (unsigned) octal
+        case 'o':
+            num = getuint(&ap, lflag);
+            base = 8;
+            goto number;
+
+        // pointer
+        case 'p':
+            putch('0', putdat);
+            putch('x', putdat);
+            num = (unsigned long long)(uintptr_t)va_arg(ap, void *);
+            base = 16;
+            goto number;
+
+        // (unsigned) hexadecimal
+        case 'x':
+            num = getuint(&ap, lflag);
+            base = 16;
+        number:
+            printnum(putch, putdat, num, base, width, padc);
+            break;
+
+        // escaped '%' character
+        case '%':
+            putch(ch, putdat);
+            break;
+
+        // unrecognized escape sequence - just print it literally
+        default:
+            putch('%', putdat);
+            for (fmt --; fmt[-1] != '%'; fmt --)
+                /* do nothing */;
+            break;
+        }
+    }
+}
+
+/* sprintbuf is used to save enough information of a buffer */
+struct sprintbuf {
+    char *buf;          // address pointer points to the first unused memory
+    char *ebuf;         // points the end of the buffer
+    int cnt;            // the number of characters that have been placed in this buffer
+};
+
+/* *
+ * sprintputch - 'print' a single character in a buffer
+ * @ch:         the character will be printed
+ * @b:          the buffer to place the character @ch
+ * */
+static void
+sprintputch(int ch, struct sprintbuf *b) {
+    b->cnt ++;
+    if (b->buf < b->ebuf) {
+        *b->buf ++ = ch;
+    }
+}
+
+/* *
+ * snprintf - format a string and place it in a buffer
+ * @str:        the buffer to place the result into
+ * @size:       the size of buffer, including the trailing null space
+ * @fmt:        the format string to use
+ * */
+int
+snprintf(char *str, size_t size, const char *fmt, ...) {
+    va_list ap;
+    int cnt;
+    va_start(ap, fmt);
+    cnt = vsnprintf(str, size, fmt, ap);
+    va_end(ap);
+    return cnt;
+}
+
+/* *
+ * vsnprintf - format a string and place it in a buffer, it's called with a va_list
+ * instead of a variable number of arguments
+ * @str:        the buffer to place the result into
+ * @size:       the size of buffer, including the trailing null space
+ * @fmt:        the format string to use
+ * @ap:         arguments for the format string
+ *
+ * The return value is the number of characters which would be generated for the
+ * given input, excluding the trailing '\0'.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want snprintf() instead.
+ * */
+int
+vsnprintf(char *str, size_t size, const char *fmt, va_list ap) {
+    struct sprintbuf b = {str, str + size - 1, 0};
+    if (str == NULL || b.buf > b.ebuf) {
+        return -E_INVAL;
+    }
+    // print the string to the buffer
+    vprintfmt((void*)sprintputch, &b, fmt, ap);
+    // null terminate the buffer
+    *b.buf = '\0';
+    return b.cnt;
+}
+
diff --git a/code/lab2/libs/stdarg.h b/code/lab2/libs/stdarg.h
new file mode 100644
index 0000000..f6e0758
--- /dev/null
+++ b/code/lab2/libs/stdarg.h
@@ -0,0 +1,12 @@
+#ifndef __LIBS_STDARG_H__
+#define __LIBS_STDARG_H__
+
+/* compiler provides size of save area */
+typedef __builtin_va_list va_list;
+
+#define va_start(ap, last)              (__builtin_va_start(ap, last))
+#define va_arg(ap, type)                (__builtin_va_arg(ap, type))
+#define va_end(ap)                      /*nothing*/
+
+#endif /* !__LIBS_STDARG_H__ */
+
diff --git a/code/lab2/libs/stdio.h b/code/lab2/libs/stdio.h
new file mode 100644
index 0000000..41e8b41
--- /dev/null
+++ b/code/lab2/libs/stdio.h
@@ -0,0 +1,24 @@
+#ifndef __LIBS_STDIO_H__
+#define __LIBS_STDIO_H__
+
+#include <defs.h>
+#include <stdarg.h>
+
+/* kern/libs/stdio.c */
+int cprintf(const char *fmt, ...);
+int vcprintf(const char *fmt, va_list ap);
+void cputchar(int c);
+int cputs(const char *str);
+int getchar(void);
+
+/* kern/libs/readline.c */
+char *readline(const char *prompt);
+
+/* libs/printfmt.c */
+void printfmt(void (*putch)(int, void *), void *putdat, const char *fmt, ...);
+void vprintfmt(void (*putch)(int, void *), void *putdat, const char *fmt, va_list ap);
+int snprintf(char *str, size_t size, const char *fmt, ...);
+int vsnprintf(char *str, size_t size, const char *fmt, va_list ap);
+
+#endif /* !__LIBS_STDIO_H__ */
+
diff --git a/code/lab2/libs/string.c b/code/lab2/libs/string.c
new file mode 100644
index 0000000..bcf1b1c
--- /dev/null
+++ b/code/lab2/libs/string.c
@@ -0,0 +1,367 @@
+#include <string.h>
+#include <x86.h>
+
+/* *
+ * strlen - calculate the length of the string @s, not including
+ * the terminating '\0' character.
+ * @s:      the input string
+ *
+ * The strlen() function returns the length of string @s.
+ * */
+size_t
+strlen(const char *s) {
+    size_t cnt = 0;
+    while (*s ++ != '\0') {
+        cnt ++;
+    }
+    return cnt;
+}
+
+/* *
+ * strnlen - calculate the length of the string @s, not including
+ * the terminating '\0' char acter, but at most @len.
+ * @s:      the input string
+ * @len:    the max-length that function will scan
+ *
+ * Note that, this function looks only at the first @len characters
+ * at @s, and never beyond @s + @len.
+ *
+ * The return value is strlen(s), if that is less than @len, or
+ * @len if there is no '\0' character among the first @len characters
+ * pointed by @s.
+ * */
+size_t
+strnlen(const char *s, size_t len) {
+    size_t cnt = 0;
+    while (cnt < len && *s ++ != '\0') {
+        cnt ++;
+    }
+    return cnt;
+}
+
+/* *
+ * strcpy - copies the string pointed by @src into the array pointed by @dst,
+ * including the terminating null character.
+ * @dst:    pointer to the destination array where the content is to be copied
+ * @src:    string to be copied
+ *
+ * The return value is @dst.
+ *
+ * To avoid overflows, the size of array pointed by @dst should be long enough to
+ * contain the same string as @src (including the terminating null character), and
+ * should not overlap in memory with @src.
+ * */
+char *
+strcpy(char *dst, const char *src) {
+#ifdef __HAVE_ARCH_STRCPY
+    return __strcpy(dst, src);
+#else
+    char *p = dst;
+    while ((*p ++ = *src ++) != '\0')
+        /* nothing */;
+    return dst;
+#endif /* __HAVE_ARCH_STRCPY */
+}
+
+/* *
+ * strncpy - copies the first @len characters of @src to @dst. If the end of string @src
+ * if found before @len characters have been copied, @dst is padded with '\0' until a
+ * total of @len characters have been written to it.
+ * @dst:    pointer to the destination array where the content is to be copied
+ * @src:    string to be copied
+ * @len:    maximum number of characters to be copied from @src
+ *
+ * The return value is @dst
+ * */
+char *
+strncpy(char *dst, const char *src, size_t len) {
+    char *p = dst;
+    while (len > 0) {
+        if ((*p = *src) != '\0') {
+            src ++;
+        }
+        p ++, len --;
+    }
+    return dst;
+}
+
+/* *
+ * strcmp - compares the string @s1 and @s2
+ * @s1:     string to be compared
+ * @s2:     string to be compared
+ *
+ * This function starts comparing the first character of each string. If
+ * they are equal to each other, it continues with the following pairs until
+ * the characters differ or until a terminanting null-character is reached.
+ *
+ * Returns an integral value indicating the relationship between the strings:
+ * - A zero value indicates that both strings are equal;
+ * - A value greater than zero indicates that the first character that does
+ *   not match has a greater value in @s1 than in @s2;
+ * - And a value less than zero indicates the opposite.
+ * */
+int
+strcmp(const char *s1, const char *s2) {
+#ifdef __HAVE_ARCH_STRCMP
+    return __strcmp(s1, s2);
+#else
+    while (*s1 != '\0' && *s1 == *s2) {
+        s1 ++, s2 ++;
+    }
+    return (int)((unsigned char)*s1 - (unsigned char)*s2);
+#endif /* __HAVE_ARCH_STRCMP */
+}
+
+/* *
+ * strncmp - compares up to @n characters of the string @s1 to those of the string @s2
+ * @s1:     string to be compared
+ * @s2:     string to be compared
+ * @n:      maximum number of characters to compare
+ *
+ * This function starts comparing the first character of each string. If
+ * they are equal to each other, it continues with the following pairs until
+ * the characters differ, until a terminating null-character is reached, or
+ * until @n characters match in both strings, whichever happens first.
+ * */
+int
+strncmp(const char *s1, const char *s2, size_t n) {
+    while (n > 0 && *s1 != '\0' && *s1 == *s2) {
+        n --, s1 ++, s2 ++;
+    }
+    return (n == 0) ? 0 : (int)((unsigned char)*s1 - (unsigned char)*s2);
+}
+
+/* *
+ * strchr - locates first occurrence of character in string
+ * @s:      the input string
+ * @c:      character to be located
+ *
+ * The strchr() function returns a pointer to the first occurrence of
+ * character in @s. If the value is not found, the function returns 'NULL'.
+ * */
+char *
+strchr(const char *s, char c) {
+    while (*s != '\0') {
+        if (*s == c) {
+            return (char *)s;
+        }
+        s ++;
+    }
+    return NULL;
+}
+
+/* *
+ * strfind - locates first occurrence of character in string
+ * @s:      the input string
+ * @c:      character to be located
+ *
+ * The strfind() function is like strchr() except that if @c is
+ * not found in @s, then it returns a pointer to the null byte at the
+ * end of @s, rather than 'NULL'.
+ * */
+char *
+strfind(const char *s, char c) {
+    while (*s != '\0') {
+        if (*s == c) {
+            break;
+        }
+        s ++;
+    }
+    return (char *)s;
+}
+
+/* *
+ * strtol - converts string to long integer
+ * @s:      the input string that contains the representation of an integer number
+ * @endptr: reference to an object of type char *, whose value is set by the
+ *          function to the next character in @s after the numerical value. This
+ *          parameter can also be a null pointer, in which case it is not used.
+ * @base:   x
+ *
+ * The function first discards as many whitespace characters as necessary until
+ * the first non-whitespace character is found. Then, starting from this character,
+ * takes as many characters as possible that are valid following a syntax that
+ * depends on the base parameter, and interprets them as a numerical value. Finally,
+ * a pointer to the first character following the integer representation in @s
+ * is stored in the object pointed by @endptr.
+ *
+ * If the value of base is zero, the syntax expected is similar to that of
+ * integer constants, which is formed by a succession of:
+ * - An optional plus or minus sign;
+ * - An optional prefix indicating octal or hexadecimal base ("0" or "0x" respectively)
+ * - A sequence of decimal digits (if no base prefix was specified) or either octal
+ *   or hexadecimal digits if a specific prefix is present
+ *
+ * If the base value is between 2 and 36, the format expected for the integral number
+ * is a succession of the valid digits and/or letters needed to represent integers of
+ * the specified radix (starting from '0' and up to 'z'/'Z' for radix 36). The
+ * sequence may optionally be preceded by a plus or minus sign and, if base is 16,
+ * an optional "0x" or "0X" prefix.
+ *
+ * The strtol() function returns the converted integral number as a long int value.
+ * */
+long
+strtol(const char *s, char **endptr, int base) {
+    int neg = 0;
+    long val = 0;
+
+    // gobble initial whitespace
+    while (*s == ' ' || *s == '\t') {
+        s ++;
+    }
+
+    // plus/minus sign
+    if (*s == '+') {
+        s ++;
+    }
+    else if (*s == '-') {
+        s ++, neg = 1;
+    }
+
+    // hex or octal base prefix
+    if ((base == 0 || base == 16) && (s[0] == '0' && s[1] == 'x')) {
+        s += 2, base = 16;
+    }
+    else if (base == 0 && s[0] == '0') {
+        s ++, base = 8;
+    }
+    else if (base == 0) {
+        base = 10;
+    }
+
+    // digits
+    while (1) {
+        int dig;
+
+        if (*s >= '0' && *s <= '9') {
+            dig = *s - '0';
+        }
+        else if (*s >= 'a' && *s <= 'z') {
+            dig = *s - 'a' + 10;
+        }
+        else if (*s >= 'A' && *s <= 'Z') {
+            dig = *s - 'A' + 10;
+        }
+        else {
+            break;
+        }
+        if (dig >= base) {
+            break;
+        }
+        s ++, val = (val * base) + dig;
+        // we don't properly detect overflow!
+    }
+
+    if (endptr) {
+        *endptr = (char *) s;
+    }
+    return (neg ? -val : val);
+}
+
+/* *
+ * memset - sets the first @n bytes of the memory area pointed by @s
+ * to the specified value @c.
+ * @s:      pointer the the memory area to fill
+ * @c:      value to set
+ * @n:      number of bytes to be set to the value
+ *
+ * The memset() function returns @s.
+ * */
+void *
+memset(void *s, char c, size_t n) {
+#ifdef __HAVE_ARCH_MEMSET
+    return __memset(s, c, n);
+#else
+    char *p = s;
+    while (n -- > 0) {
+        *p ++ = c;
+    }
+    return s;
+#endif /* __HAVE_ARCH_MEMSET */
+}
+
+/* *
+ * memmove - copies the values of @n bytes from the location pointed by @src to
+ * the memory area pointed by @dst. @src and @dst are allowed to overlap.
+ * @dst     pointer to the destination array where the content is to be copied
+ * @src     pointer to the source of data to by copied
+ * @n:      number of bytes to copy
+ *
+ * The memmove() function returns @dst.
+ * */
+void *
+memmove(void *dst, const void *src, size_t n) {
+#ifdef __HAVE_ARCH_MEMMOVE
+    return __memmove(dst, src, n);
+#else
+    const char *s = src;
+    char *d = dst;
+    if (s < d && s + n > d) {
+        s += n, d += n;
+        while (n -- > 0) {
+            *-- d = *-- s;
+        }
+    } else {
+        while (n -- > 0) {
+            *d ++ = *s ++;
+        }
+    }
+    return dst;
+#endif /* __HAVE_ARCH_MEMMOVE */
+}
+
+/* *
+ * memcpy - copies the value of @n bytes from the location pointed by @src to
+ * the memory area pointed by @dst.
+ * @dst     pointer to the destination array where the content is to be copied
+ * @src     pointer to the source of data to by copied
+ * @n:      number of bytes to copy
+ *
+ * The memcpy() returns @dst.
+ *
+ * Note that, the function does not check any terminating null character in @src,
+ * it always copies exactly @n bytes. To avoid overflows, the size of arrays pointed
+ * by both @src and @dst, should be at least @n bytes, and should not overlap
+ * (for overlapping memory area, memmove is a safer approach).
+ * */
+void *
+memcpy(void *dst, const void *src, size_t n) {
+#ifdef __HAVE_ARCH_MEMCPY
+    return __memcpy(dst, src, n);
+#else
+    const char *s = src;
+    char *d = dst;
+    while (n -- > 0) {
+        *d ++ = *s ++;
+    }
+    return dst;
+#endif /* __HAVE_ARCH_MEMCPY */
+}
+
+/* *
+ * memcmp - compares two blocks of memory
+ * @v1:     pointer to block of memory
+ * @v2:     pointer to block of memory
+ * @n:      number of bytes to compare
+ *
+ * The memcmp() functions returns an integral value indicating the
+ * relationship between the content of the memory blocks:
+ * - A zero value indicates that the contents of both memory blocks are equal;
+ * - A value greater than zero indicates that the first byte that does not
+ *   match in both memory blocks has a greater value in @v1 than in @v2
+ *   as if evaluated as unsigned char values;
+ * - And a value less than zero indicates the opposite.
+ * */
+int
+memcmp(const void *v1, const void *v2, size_t n) {
+    const char *s1 = (const char *)v1;
+    const char *s2 = (const char *)v2;
+    while (n -- > 0) {
+        if (*s1 != *s2) {
+            return (int)((unsigned char)*s1 - (unsigned char)*s2);
+        }
+        s1 ++, s2 ++;
+    }
+    return 0;
+}
+
diff --git a/code/lab2/libs/string.h b/code/lab2/libs/string.h
new file mode 100644
index 0000000..14d0aac
--- /dev/null
+++ b/code/lab2/libs/string.h
@@ -0,0 +1,25 @@
+#ifndef __LIBS_STRING_H__
+#define __LIBS_STRING_H__
+
+#include <defs.h>
+
+size_t strlen(const char *s);
+size_t strnlen(const char *s, size_t len);
+
+char *strcpy(char *dst, const char *src);
+char *strncpy(char *dst, const char *src, size_t len);
+
+int strcmp(const char *s1, const char *s2);
+int strncmp(const char *s1, const char *s2, size_t n);
+
+char *strchr(const char *s, char c);
+char *strfind(const char *s, char c);
+long strtol(const char *s, char **endptr, int base);
+
+void *memset(void *s, char c, size_t n);
+void *memmove(void *dst, const void *src, size_t n);
+void *memcpy(void *dst, const void *src, size_t n);
+int memcmp(const void *v1, const void *v2, size_t n);
+
+#endif /* !__LIBS_STRING_H__ */
+
diff --git a/code/lab2/libs/x86.h b/code/lab2/libs/x86.h
new file mode 100644
index 0000000..b29f671
--- /dev/null
+++ b/code/lab2/libs/x86.h
@@ -0,0 +1,302 @@
+#ifndef __LIBS_X86_H__
+#define __LIBS_X86_H__
+
+#include <defs.h>
+
+#define do_div(n, base) ({                                          \
+            unsigned long __upper, __low, __high, __mod, __base;    \
+            __base = (base);                                        \
+            asm ("" : "=a" (__low), "=d" (__high) : "A" (n));       \
+            __upper = __high;                                       \
+            if (__high != 0) {                                      \
+                __upper = __high % __base;                          \
+                __high = __high / __base;                           \
+            }                                                       \
+            asm ("divl %2" : "=a" (__low), "=d" (__mod)             \
+                : "rm" (__base), "0" (__low), "1" (__upper));       \
+            asm ("" : "=A" (n) : "a" (__low), "d" (__high));        \
+            __mod;                                                  \
+        })
+
+#define barrier() __asm__ __volatile__ ("" ::: "memory")
+
+static inline uint8_t inb(uint16_t port) __attribute__((always_inline));
+static inline void insl(uint32_t port, void *addr, int cnt) __attribute__((always_inline));
+static inline void outb(uint16_t port, uint8_t data) __attribute__((always_inline));
+static inline void outw(uint16_t port, uint16_t data) __attribute__((always_inline));
+static inline void outsl(uint32_t port, const void *addr, int cnt) __attribute__((always_inline));
+static inline uint32_t read_ebp(void) __attribute__((always_inline));
+static inline void breakpoint(void) __attribute__((always_inline));
+static inline uint32_t read_dr(unsigned regnum) __attribute__((always_inline));
+static inline void write_dr(unsigned regnum, uint32_t value) __attribute__((always_inline));
+
+/* Pseudo-descriptors used for LGDT, LLDT(not used) and LIDT instructions. */
+struct pseudodesc {
+    uint16_t pd_lim;        // Limit
+    uintptr_t pd_base;      // Base address
+} __attribute__ ((packed));
+
+static inline void lidt(struct pseudodesc *pd) __attribute__((always_inline));
+static inline void sti(void) __attribute__((always_inline));
+static inline void cli(void) __attribute__((always_inline));
+static inline void ltr(uint16_t sel) __attribute__((always_inline));
+static inline uint32_t read_eflags(void) __attribute__((always_inline));
+static inline void write_eflags(uint32_t eflags) __attribute__((always_inline));
+static inline void lcr0(uintptr_t cr0) __attribute__((always_inline));
+static inline void lcr3(uintptr_t cr3) __attribute__((always_inline));
+static inline uintptr_t rcr0(void) __attribute__((always_inline));
+static inline uintptr_t rcr1(void) __attribute__((always_inline));
+static inline uintptr_t rcr2(void) __attribute__((always_inline));
+static inline uintptr_t rcr3(void) __attribute__((always_inline));
+static inline void invlpg(void *addr) __attribute__((always_inline));
+
+static inline uint8_t
+inb(uint16_t port) {
+    uint8_t data;
+    asm volatile ("inb %1, %0" : "=a" (data) : "d" (port) : "memory");
+    return data;
+}
+
+static inline void
+insl(uint32_t port, void *addr, int cnt) {
+    asm volatile (
+        "cld;"
+        "repne; insl;"
+        : "=D" (addr), "=c" (cnt)
+        : "d" (port), "0" (addr), "1" (cnt)
+        : "memory", "cc");
+}
+
+static inline void
+outb(uint16_t port, uint8_t data) {
+    asm volatile ("outb %0, %1" :: "a" (data), "d" (port) : "memory");
+}
+
+static inline void
+outw(uint16_t port, uint16_t data) {
+    asm volatile ("outw %0, %1" :: "a" (data), "d" (port) : "memory");
+}
+
+static inline void
+outsl(uint32_t port, const void *addr, int cnt) {
+    asm volatile (
+        "cld;"
+        "repne; outsl;"
+        : "=S" (addr), "=c" (cnt)
+        : "d" (port), "0" (addr), "1" (cnt)
+        : "memory", "cc");
+}
+
+static inline uint32_t
+read_ebp(void) {
+    uint32_t ebp;
+    asm volatile ("movl %%ebp, %0" : "=r" (ebp));
+    return ebp;
+}
+
+static inline void
+breakpoint(void) {
+    asm volatile ("int $3");
+}
+
+static inline uint32_t
+read_dr(unsigned regnum) {
+    uint32_t value = 0;
+    switch (regnum) {
+    case 0: asm volatile ("movl %%db0, %0" : "=r" (value)); break;
+    case 1: asm volatile ("movl %%db1, %0" : "=r" (value)); break;
+    case 2: asm volatile ("movl %%db2, %0" : "=r" (value)); break;
+    case 3: asm volatile ("movl %%db3, %0" : "=r" (value)); break;
+    case 6: asm volatile ("movl %%db6, %0" : "=r" (value)); break;
+    case 7: asm volatile ("movl %%db7, %0" : "=r" (value)); break;
+    }
+    return value;
+}
+
+static void
+write_dr(unsigned regnum, uint32_t value) {
+    switch (regnum) {
+    case 0: asm volatile ("movl %0, %%db0" :: "r" (value)); break;
+    case 1: asm volatile ("movl %0, %%db1" :: "r" (value)); break;
+    case 2: asm volatile ("movl %0, %%db2" :: "r" (value)); break;
+    case 3: asm volatile ("movl %0, %%db3" :: "r" (value)); break;
+    case 6: asm volatile ("movl %0, %%db6" :: "r" (value)); break;
+    case 7: asm volatile ("movl %0, %%db7" :: "r" (value)); break;
+    }
+}
+
+static inline void
+lidt(struct pseudodesc *pd) {
+    asm volatile ("lidt (%0)" :: "r" (pd) : "memory");
+}
+
+static inline void
+sti(void) {
+    asm volatile ("sti");
+}
+
+static inline void
+cli(void) {
+    asm volatile ("cli" ::: "memory");
+}
+
+static inline void
+ltr(uint16_t sel) {
+    asm volatile ("ltr %0" :: "r" (sel) : "memory");
+}
+
+static inline uint32_t
+read_eflags(void) {
+    uint32_t eflags;
+    asm volatile ("pushfl; popl %0" : "=r" (eflags));
+    return eflags;
+}
+
+static inline void
+write_eflags(uint32_t eflags) {
+    asm volatile ("pushl %0; popfl" :: "r" (eflags));
+}
+
+static inline void
+lcr0(uintptr_t cr0) {
+    asm volatile ("mov %0, %%cr0" :: "r" (cr0) : "memory");
+}
+
+static inline void
+lcr3(uintptr_t cr3) {
+    asm volatile ("mov %0, %%cr3" :: "r" (cr3) : "memory");
+}
+
+static inline uintptr_t
+rcr0(void) {
+    uintptr_t cr0;
+    asm volatile ("mov %%cr0, %0" : "=r" (cr0) :: "memory");
+    return cr0;
+}
+
+static inline uintptr_t
+rcr1(void) {
+    uintptr_t cr1;
+    asm volatile ("mov %%cr1, %0" : "=r" (cr1) :: "memory");
+    return cr1;
+}
+
+static inline uintptr_t
+rcr2(void) {
+    uintptr_t cr2;
+    asm volatile ("mov %%cr2, %0" : "=r" (cr2) :: "memory");
+    return cr2;
+}
+
+static inline uintptr_t
+rcr3(void) {
+    uintptr_t cr3;
+    asm volatile ("mov %%cr3, %0" : "=r" (cr3) :: "memory");
+    return cr3;
+}
+
+static inline void
+invlpg(void *addr) {
+    asm volatile ("invlpg (%0)" :: "r" (addr) : "memory");
+}
+
+static inline int __strcmp(const char *s1, const char *s2) __attribute__((always_inline));
+static inline char *__strcpy(char *dst, const char *src) __attribute__((always_inline));
+static inline void *__memset(void *s, char c, size_t n) __attribute__((always_inline));
+static inline void *__memmove(void *dst, const void *src, size_t n) __attribute__((always_inline));
+static inline void *__memcpy(void *dst, const void *src, size_t n) __attribute__((always_inline));
+
+#ifndef __HAVE_ARCH_STRCMP
+#define __HAVE_ARCH_STRCMP
+static inline int
+__strcmp(const char *s1, const char *s2) {
+    int d0, d1, ret;
+    asm volatile (
+        "1: lodsb;"
+        "scasb;"
+        "jne 2f;"
+        "testb %%al, %%al;"
+        "jne 1b;"
+        "xorl %%eax, %%eax;"
+        "jmp 3f;"
+        "2: sbbl %%eax, %%eax;"
+        "orb $1, %%al;"
+        "3:"
+        : "=a" (ret), "=&S" (d0), "=&D" (d1)
+        : "1" (s1), "2" (s2)
+        : "memory");
+    return ret;
+}
+
+#endif /* __HAVE_ARCH_STRCMP */
+
+#ifndef __HAVE_ARCH_STRCPY
+#define __HAVE_ARCH_STRCPY
+static inline char *
+__strcpy(char *dst, const char *src) {
+    int d0, d1, d2;
+    asm volatile (
+        "1: lodsb;"
+        "stosb;"
+        "testb %%al, %%al;"
+        "jne 1b;"
+        : "=&S" (d0), "=&D" (d1), "=&a" (d2)
+        : "0" (src), "1" (dst) : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_STRCPY */
+
+#ifndef __HAVE_ARCH_MEMSET
+#define __HAVE_ARCH_MEMSET
+static inline void *
+__memset(void *s, char c, size_t n) {
+    int d0, d1;
+    asm volatile (
+        "rep; stosb;"
+        : "=&c" (d0), "=&D" (d1)
+        : "0" (n), "a" (c), "1" (s)
+        : "memory");
+    return s;
+}
+#endif /* __HAVE_ARCH_MEMSET */
+
+#ifndef __HAVE_ARCH_MEMMOVE
+#define __HAVE_ARCH_MEMMOVE
+static inline void *
+__memmove(void *dst, const void *src, size_t n) {
+    if (dst < src) {
+        return __memcpy(dst, src, n);
+    }
+    int d0, d1, d2;
+    asm volatile (
+        "std;"
+        "rep; movsb;"
+        "cld;"
+        : "=&c" (d0), "=&S" (d1), "=&D" (d2)
+        : "0" (n), "1" (n - 1 + src), "2" (n - 1 + dst)
+        : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_MEMMOVE */
+
+#ifndef __HAVE_ARCH_MEMCPY
+#define __HAVE_ARCH_MEMCPY
+static inline void *
+__memcpy(void *dst, const void *src, size_t n) {
+    int d0, d1, d2;
+    asm volatile (
+        "rep; movsl;"
+        "movl %4, %%ecx;"
+        "andl $3, %%ecx;"
+        "jz 1f;"
+        "rep; movsb;"
+        "1:"
+        : "=&c" (d0), "=&D" (d1), "=&S" (d2)
+        : "0" (n / 4), "g" (n), "1" (dst), "2" (src)
+        : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_MEMCPY */
+
+#endif /* !__LIBS_X86_H__ */
+
diff --git a/code/lab2/tools/boot.ld b/code/lab2/tools/boot.ld
new file mode 100644
index 0000000..dc732b0
--- /dev/null
+++ b/code/lab2/tools/boot.ld
@@ -0,0 +1,15 @@
+OUTPUT_FORMAT("elf32-i386")
+OUTPUT_ARCH(i386)
+
+SECTIONS {
+    . = 0x7C00;
+
+    .startup : {
+        *bootasm.o(.text)
+    }
+
+    .text : { *(.text) }
+    .data : { *(.data .rodata) }
+    
+    /DISCARD/ : { *(.eh_*) }
+}
diff --git a/code/lab2/tools/function.mk b/code/lab2/tools/function.mk
new file mode 100644
index 0000000..9b8be0c
--- /dev/null
+++ b/code/lab2/tools/function.mk
@@ -0,0 +1,95 @@
+OBJPREFIX	:= __objs_
+
+.SECONDEXPANSION:
+# -------------------- function begin --------------------
+
+# list all files in some directories: (#directories, #types)
+listf = $(filter $(if $(2),$(addprefix %.,$(2)),%),\
+		  $(wildcard $(addsuffix $(SLASH)*,$(1))))
+
+# get .o obj files: (#files[, packet])
+toobj = $(addprefix $(OBJDIR)$(SLASH)$(if $(2),$(2)$(SLASH)),\
+		$(addsuffix .o,$(basename $(1))))
+
+# get .d dependency files: (#files[, packet])
+todep = $(patsubst %.o,%.d,$(call toobj,$(1),$(2)))
+
+totarget = $(addprefix $(BINDIR)$(SLASH),$(1))
+
+# change $(name) to $(OBJPREFIX)$(name): (#names)
+packetname = $(if $(1),$(addprefix $(OBJPREFIX),$(1)),$(OBJPREFIX))
+
+# cc compile template, generate rule for dep, obj: (file, cc[, flags, dir])
+define cc_template
+$$(call todep,$(1),$(4)): $(1) | $$$$(dir $$$$@)
+	@$(2) -I$$(dir $(1)) $(3) -MM $$< -MT "$$(patsubst %.d,%.o,$$@) $$@"> $$@
+$$(call toobj,$(1),$(4)): $(1) | $$$$(dir $$$$@)
+	@echo + cc $$<
+	$(V)$(2) -I$$(dir $(1)) $(3) -c $$< -o $$@
+ALLOBJS += $$(call toobj,$(1),$(4))
+endef
+
+# compile file: (#files, cc[, flags, dir])
+define do_cc_compile
+$$(foreach f,$(1),$$(eval $$(call cc_template,$$(f),$(2),$(3),$(4))))
+endef
+
+# add files to packet: (#files, cc[, flags, packet, dir])
+define do_add_files_to_packet
+__temp_packet__ := $(call packetname,$(4))
+ifeq ($$(origin $$(__temp_packet__)),undefined)
+$$(__temp_packet__) :=
+endif
+__temp_objs__ := $(call toobj,$(1),$(5))
+$$(foreach f,$(1),$$(eval $$(call cc_template,$$(f),$(2),$(3),$(5))))
+$$(__temp_packet__) += $$(__temp_objs__)
+endef
+
+# add objs to packet: (#objs, packet)
+define do_add_objs_to_packet
+__temp_packet__ := $(call packetname,$(2))
+ifeq ($$(origin $$(__temp_packet__)),undefined)
+$$(__temp_packet__) :=
+endif
+$$(__temp_packet__) += $(1)
+endef
+
+# add packets and objs to target (target, #packes, #objs[, cc, flags])
+define do_create_target
+__temp_target__ = $(call totarget,$(1))
+__temp_objs__ = $$(foreach p,$(call packetname,$(2)),$$($$(p))) $(3)
+TARGETS += $$(__temp_target__)
+ifneq ($(4),)
+$$(__temp_target__): $$(__temp_objs__) | $$$$(dir $$$$@)
+	$(V)$(4) $(5) $$^ -o $$@
+else
+$$(__temp_target__): $$(__temp_objs__) | $$$$(dir $$$$@)
+endif
+endef
+
+# finish all
+define do_finish_all
+ALLDEPS = $$(ALLOBJS:.o=.d)
+$$(sort $$(dir $$(ALLOBJS)) $(BINDIR)$(SLASH) $(OBJDIR)$(SLASH)):
+	@$(MKDIR) $$@
+endef
+
+# --------------------  function end  --------------------
+# compile file: (#files, cc[, flags, dir])
+cc_compile = $(eval $(call do_cc_compile,$(1),$(2),$(3),$(4)))
+
+# add files to packet: (#files, cc[, flags, packet, dir])
+add_files = $(eval $(call do_add_files_to_packet,$(1),$(2),$(3),$(4),$(5)))
+
+# add objs to packet: (#objs, packet)
+add_objs = $(eval $(call do_add_objs_to_packet,$(1),$(2)))
+
+# add packets and objs to target (target, #packes, #objs, cc, [, flags])
+create_target = $(eval $(call do_create_target,$(1),$(2),$(3),$(4),$(5)))
+
+read_packet = $(foreach p,$(call packetname,$(1)),$($(p)))
+
+add_dependency = $(eval $(1): $(2))
+
+finish_all = $(eval $(call do_finish_all))
+
diff --git a/code/lab2/tools/gdbinit b/code/lab2/tools/gdbinit
new file mode 100644
index 0000000..df5df85
--- /dev/null
+++ b/code/lab2/tools/gdbinit
@@ -0,0 +1,3 @@
+file bin/kernel
+target remote :1234
+break kern_init
diff --git a/code/lab2/tools/grade.sh b/code/lab2/tools/grade.sh
new file mode 100644
index 0000000..483b385
--- /dev/null
+++ b/code/lab2/tools/grade.sh
@@ -0,0 +1,340 @@
+#!/bin/sh
+
+verbose=false
+if [ "x$1" = "x-v" ]; then
+    verbose=true
+    out=/dev/stdout
+    err=/dev/stderr
+else
+    out=/dev/null
+    err=/dev/null
+fi
+
+## make & makeopts
+if gmake --version > /dev/null 2>&1; then
+    make=gmake;
+else
+    make=make;
+fi
+
+makeopts="--quiet --no-print-directory -j"
+
+make_print() {
+    echo `$make $makeopts print-$1`
+}
+
+## command tools
+awk='awk'
+bc='bc'
+date='date'
+grep='grep'
+rm='rm -f'
+sed='sed'
+
+## symbol table
+sym_table='obj/kernel.sym'
+
+## gdb & gdbopts
+gdb="$(make_print GDB)"
+gdbport='1234'
+
+gdb_in="$(make_print GRADE_GDB_IN)"
+
+## qemu & qemuopts
+qemu="$(make_print qemu)"
+
+qemu_out="$(make_print GRADE_QEMU_OUT)"
+
+if $qemu -nographic -help | grep -q '^-gdb'; then
+    qemugdb="-gdb tcp::$gdbport"
+else
+    qemugdb="-s -p $gdbport"
+fi
+
+## default variables
+default_timeout=30
+default_pts=5
+
+pts=5
+part=0
+part_pos=0
+total=0
+total_pos=0
+
+## default functions
+update_score() {
+    total=`expr $total + $part`
+    total_pos=`expr $total_pos + $part_pos`
+    part=0
+    part_pos=0
+}
+
+get_time() {
+    echo `$date +%s.%N 2> /dev/null`
+}
+
+show_part() {
+    echo "Part $1 Score: $part/$part_pos"
+    echo
+    update_score
+}
+
+show_final() {
+    update_score
+    echo "Total Score: $total/$total_pos"
+    if [ $total -lt $total_pos ]; then
+        exit 1
+    fi
+}
+
+show_time() {
+    t1=$(get_time)
+    time=`echo "scale=1; ($t1-$t0)/1" | $sed 's/.N/.0/g' | $bc 2> /dev/null`
+    echo "(${time}s)"
+}
+
+show_build_tag() {
+    echo "$1:" | $awk '{printf "%-24s ", $0}'
+}
+
+show_check_tag() {
+    echo "$1:" | $awk '{printf "  -%-40s  ", $0}'
+}
+
+show_msg() {
+    echo $1
+    shift
+    if [ $# -gt 0 ]; then
+        echo "$@" | awk '{printf "   %s\n", $0}'
+        echo
+    fi
+}
+
+pass() {
+    show_msg OK "$@"
+    part=`expr $part + $pts`
+    part_pos=`expr $part_pos + $pts`
+}
+
+fail() {
+    show_msg WRONG "$@"
+    part_pos=`expr $part_pos + $pts`
+}
+
+run_qemu() {
+    # Run qemu with serial output redirected to $qemu_out. If $brkfun is non-empty,
+    # wait until $brkfun is reached or $timeout expires, then kill QEMU
+    qemuextra=
+    if [ "$brkfun" ]; then
+        qemuextra="-S $qemugdb"
+    fi
+
+    if [ -z "$timeout" ] || [ $timeout -le 0 ]; then
+        timeout=$default_timeout;
+    fi
+
+    t0=$(get_time)
+    (
+        ulimit -t $timeout
+        exec $qemu -nographic $qemuopts -serial file:$qemu_out -monitor null -no-reboot $qemuextra
+    ) > $out 2> $err &
+    pid=$!
+
+    # wait for QEMU to start
+    sleep 1
+
+    if [ -n "$brkfun" ]; then
+        # find the address of the kernel $brkfun function
+        brkaddr=`$grep " $brkfun\$" $sym_table | $sed -e's/ .*$//g'`
+        (
+            echo "target remote localhost:$gdbport"
+            echo "break *0x$brkaddr"
+            echo "continue"
+        ) > $gdb_in
+
+        $gdb -batch -nx -x $gdb_in > /dev/null 2>&1
+
+        # make sure that QEMU is dead
+        # on OS X, exiting gdb doesn't always exit qemu
+        kill $pid > /dev/null 2>&1
+    fi
+}
+
+build_run() {
+    # usage: build_run <tag> <args>
+    show_build_tag "$1"
+    shift
+
+    if $verbose; then
+        echo "$make $@ ..."
+    fi
+    $make $makeopts $@ 'DEFS+=-DDEBUG_GRADE' > $out 2> $err
+
+    if [ $? -ne 0 ]; then
+        echo $make $@ failed
+        exit 1
+    fi
+
+    # now run qemu and save the output
+    run_qemu
+
+    show_time
+}
+
+check_result() {
+    # usage: check_result <tag> <check> <check args...>
+    show_check_tag "$1"
+    shift
+
+    # give qemu some time to run (for asynchronous mode)
+    if [ ! -s $qemu_out ]; then
+        sleep 4
+    fi
+
+    if [ ! -s $qemu_out ]; then
+        fail > /dev/null
+        echo 'no $qemu_out'
+    else
+        check=$1
+        shift
+        $check "$@"
+    fi
+}
+
+check_regexps() {
+    okay=yes
+    not=0
+    reg=0
+    error=
+    for i do
+        if [ "x$i" = "x!" ]; then
+            not=1
+        elif [ "x$i" = "x-" ]; then
+            reg=1
+        else
+            if [ $reg -ne 0 ]; then
+                $grep '-E' "^$i\$" $qemu_out > /dev/null
+            else
+                $grep '-F' "$i" $qemu_out > /dev/null
+            fi
+            found=$(($? == 0))
+            if [ $found -eq $not ]; then
+                if [ $found -eq 0 ]; then
+                    msg="!! error: missing '$i'"
+                else
+                    msg="!! error: got unexpected line '$i'"
+                fi
+                okay=no
+                if [ -z "$error" ]; then
+                    error="$msg"
+                else
+                    error="$error\n$msg"
+                fi
+            fi
+            not=0
+            reg=0
+        fi
+    done
+    if [ "$okay" = "yes" ]; then
+        pass
+    else
+        fail "$error"
+        if $verbose; then
+            exit 1
+        fi
+    fi
+}
+
+run_test() {
+    # usage: run_test [-tag <tag>] [-Ddef...] [-check <check>] checkargs ...
+    tag=
+    check=check_regexps
+    while true; do
+        select=
+        case $1 in
+            -tag)
+                select=`expr substr $1 2 ${#1}`
+                eval $select='$2'
+                ;;
+        esac
+        if [ -z "$select" ]; then
+            break
+        fi
+        shift
+        shift
+    done
+    defs=
+    while expr "x$1" : "x-D.*" > /dev/null; do
+        defs="DEFS+='$1' $defs"
+        shift
+    done
+    if [ "x$1" = "x-check" ]; then
+        check=$2
+        shift
+        shift
+    fi
+
+    $make $makeopts touch > /dev/null 2>&1
+    build_run "$tag" "$defs"
+
+    check_result 'check result' "$check" "$@"
+}
+
+quick_run() {
+    # usage: quick_run <tag> [-Ddef...]
+    tag="$1"
+    shift
+    defs=
+    while expr "x$1" : "x-D.*" > /dev/null; do
+        defs="DEFS+='$1' $defs"
+        shift
+    done
+
+    $make $makeopts touch > /dev/null 2>&1
+    build_run "$tag" "$defs"
+}
+
+quick_check() {
+    # usage: quick_check <tag> checkargs ...
+    tag="$1"
+    shift
+    check_result "$tag" check_regexps "$@"
+}
+
+## kernel image
+osimg=$(make_print ucoreimg)
+
+## set default qemu-options
+qemuopts="-hda $osimg"
+
+## set break-function, default is readline
+brkfun=readline
+
+## check now!!
+
+quick_run 'Check PMM'
+
+pts=20
+quick_check 'check pmm'                                         \
+    'memory management: default_pmm_manager'                     \
+    'check_alloc_page() succeeded!'                             \
+    'check_pgdir() succeeded!'                                  \
+    'check_boot_pgdir() succeeded!'
+
+pts=20
+quick_check 'check page table'                                  \
+    'PDE(0e0) c0000000-f8000000 38000000 urw'                   \
+    '  |-- PTE(38000) c0000000-f8000000 38000000 -rw'           \
+    'PDE(001) fac00000-fb000000 00400000 -rw'                   \
+    '  |-- PTE(000e0) faf00000-fafe0000 000e0000 urw'           \
+    '  |-- PTE(00001) fafeb000-fafec000 00001000 -rw'
+
+pts=10
+quick_check 'check ticks'                                       \
+    '++ setup timer interrupts'                                 \
+    '100 ticks'                                                 \
+    'End of Test.'
+
+## print final-score
+show_final
+
diff --git a/code/lab2/tools/kernel.ld b/code/lab2/tools/kernel.ld
new file mode 100644
index 0000000..1838500
--- /dev/null
+++ b/code/lab2/tools/kernel.ld
@@ -0,0 +1,58 @@
+/* Simple linker script for the ucore kernel.
+   See the GNU ld 'info' manual ("info ld") to learn the syntax. */
+
+OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
+OUTPUT_ARCH(i386)
+ENTRY(kern_entry)
+
+SECTIONS {
+    /* Load the kernel at this address: "." means the current address */
+    . = 0xC0100000;
+
+    .text : {
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+
+    PROVIDE(etext = .); /* Define the 'etext' symbol to this value */
+
+    .rodata : {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+
+    /* Include debugging information in kernel memory */
+    .stab : {
+        PROVIDE(__STAB_BEGIN__ = .);
+        *(.stab);
+        PROVIDE(__STAB_END__ = .);
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    .stabstr : {
+        PROVIDE(__STABSTR_BEGIN__ = .);
+        *(.stabstr);
+        PROVIDE(__STABSTR_END__ = .);
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    /* Adjust the address for the data segment to the next page */
+    . = ALIGN(0x1000);
+
+    /* The data segment */
+    .data : {
+        *(.data)
+    }
+
+    PROVIDE(edata = .);
+
+    .bss : {
+        *(.bss)
+    }
+
+    PROVIDE(end = .);
+
+    /DISCARD/ : {
+        *(.eh_frame .note.GNU-stack)
+    }
+}
diff --git a/code/lab2/tools/sign.c b/code/lab2/tools/sign.c
new file mode 100644
index 0000000..9d81bb6
--- /dev/null
+++ b/code/lab2/tools/sign.c
@@ -0,0 +1,43 @@
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+
+int
+main(int argc, char *argv[]) {
+    struct stat st;
+    if (argc != 3) {
+        fprintf(stderr, "Usage: <input filename> <output filename>\n");
+        return -1;
+    }
+    if (stat(argv[1], &st) != 0) {
+        fprintf(stderr, "Error opening file '%s': %s\n", argv[1], strerror(errno));
+        return -1;
+    }
+    printf("'%s' size: %lld bytes\n", argv[1], (long long)st.st_size);
+    if (st.st_size > 510) {
+        fprintf(stderr, "%lld >> 510!!\n", (long long)st.st_size);
+        return -1;
+    }
+    char buf[512];
+    memset(buf, 0, sizeof(buf));
+    FILE *ifp = fopen(argv[1], "rb");
+    int size = fread(buf, 1, st.st_size, ifp);
+    if (size != st.st_size) {
+        fprintf(stderr, "read '%s' error, size is %d.\n", argv[1], size);
+        return -1;
+    }
+    fclose(ifp);
+    buf[510] = 0x55;
+    buf[511] = 0xAA;
+    FILE *ofp = fopen(argv[2], "wb+");
+    size = fwrite(buf, 1, 512, ofp);
+    if (size != 512) {
+        fprintf(stderr, "write '%s' error, size is %d.\n", argv[2], size);
+        return -1;
+    }
+    fclose(ofp);
+    printf("build 512 bytes boot sector: '%s' success!\n", argv[2]);
+    return 0;
+}
+
diff --git a/code/lab2/tools/vector.c b/code/lab2/tools/vector.c
new file mode 100644
index 0000000..e24d77e
--- /dev/null
+++ b/code/lab2/tools/vector.c
@@ -0,0 +1,29 @@
+#include <stdio.h>
+
+int
+main(void) {
+    printf("# handler\n");
+    printf(".text\n");
+    printf(".globl __alltraps\n");
+
+    int i;
+    for (i = 0; i < 256; i ++) {
+        printf(".globl vector%d\n", i);
+        printf("vector%d:\n", i);
+        if ((i < 8 || i > 14) && i != 17) {
+            printf("  pushl $0\n");
+        }
+        printf("  pushl $%d\n", i);
+        printf("  jmp __alltraps\n");
+    }
+    printf("\n");
+    printf("# vector table\n");
+    printf(".data\n");
+    printf(".globl __vectors\n");
+    printf("__vectors:\n");
+    for (i = 0; i < 256; i ++) {
+        printf("  .long vector%d\n", i);
+    }
+    return 0;
+}
+
diff --git a/code/lab3/Makefile b/code/lab3/Makefile
new file mode 100644
index 0000000..89583cf
--- /dev/null
+++ b/code/lab3/Makefile
@@ -0,0 +1,271 @@
+PROJ	:= 8
+EMPTY	:=
+SPACE	:= $(EMPTY) $(EMPTY)
+SLASH	:= /
+
+V       := @
+
+# try to infer the correct GCCPREFX
+ifndef GCCPREFIX
+GCCPREFIX := $(shell if i386-ucore-elf-objdump -i 2>&1 | grep '^elf32-i386$$' >/dev/null 2>&1; \
+	then echo 'i386-ucore-elf-'; \
+	elif objdump -i 2>&1 | grep 'elf32-i386' >/dev/null 2>&1; \
+	then echo ''; \
+	else echo "***" 1>&2; \
+	echo "*** Error: Couldn't find an i386-ucore-elf version of GCC/binutils." 1>&2; \
+	echo "*** Is the directory with i386-ucore-elf-gcc in your PATH?" 1>&2; \
+	echo "*** If your i386-ucore-elf toolchain is installed with a command" 1>&2; \
+	echo "*** prefix other than 'i386-ucore-elf-', set your GCCPREFIX" 1>&2; \
+	echo "*** environment variable to that prefix and run 'make' again." 1>&2; \
+	echo "*** To turn off this error, run 'gmake GCCPREFIX= ...'." 1>&2; \
+	echo "***" 1>&2; exit 1; fi)
+endif
+
+# try to infer the correct QEMU
+ifndef QEMU
+QEMU := $(shell if which qemu > /dev/null; \
+	then echo 'qemu'; exit; \
+	elif which i386-ucore-elf-qemu > /dev/null; \
+	then echo 'i386-ucore-elf-qemu'; exit; \
+	else \
+	echo "***" 1>&2; \
+	echo "*** Error: Couldn't find a working QEMU executable." 1>&2; \
+	echo "*** Is the directory containing the qemu binary in your PATH" 1>&2; \
+	echo "***" 1>&2; exit 1; fi)
+endif
+
+# eliminate default suffix rules
+.SUFFIXES: .c .S .h
+
+# delete target files if there is an error (or make is interrupted)
+.DELETE_ON_ERROR:
+
+# define compiler and flags
+
+HOSTCC		:= gcc
+HOSTCFLAGS	:= -g -Wall -O2
+
+GDB		:= $(GCCPREFIX)gdb
+
+CC		?= $(GCCPREFIX)gcc
+CFLAGS	:= -fno-builtin -Wall -ggdb -m32 -gstabs -nostdinc $(DEFS)
+CFLAGS	+= $(shell $(CC) -fno-stack-protector -E -x c /dev/null >/dev/null 2>&1 && echo -fno-stack-protector)
+CTYPE	:= c S
+
+LD      := $(GCCPREFIX)ld
+LDFLAGS	:= -m $(shell $(LD) -V | grep elf_i386 2>/dev/null)
+LDFLAGS	+= -nostdlib
+
+OBJCOPY := $(GCCPREFIX)objcopy
+OBJDUMP := $(GCCPREFIX)objdump
+
+COPY	:= cp
+MKDIR   := mkdir -p
+MV		:= mv
+RM		:= rm -f
+AWK		:= awk
+SED		:= sed
+SH		:= sh
+TR		:= tr
+TOUCH	:= touch -c
+
+OBJDIR	:= obj
+BINDIR	:= bin
+
+ALLOBJS	:=
+ALLDEPS	:=
+TARGETS	:=
+
+include tools/function.mk
+
+listf_cc = $(call listf,$(1),$(CTYPE))
+
+# for cc
+add_files_cc = $(call add_files,$(1),$(CC),$(CFLAGS) $(3),$(2),$(4))
+create_target_cc = $(call create_target,$(1),$(2),$(3),$(CC),$(CFLAGS))
+
+# for hostcc
+add_files_host = $(call add_files,$(1),$(HOSTCC),$(HOSTCFLAGS),$(2),$(3))
+create_target_host = $(call create_target,$(1),$(2),$(3),$(HOSTCC),$(HOSTCFLAGS))
+
+cgtype = $(patsubst %.$(2),%.$(3),$(1))
+objfile = $(call toobj,$(1))
+asmfile = $(call cgtype,$(call toobj,$(1)),o,asm)
+outfile = $(call cgtype,$(call toobj,$(1)),o,out)
+symfile = $(call cgtype,$(call toobj,$(1)),o,sym)
+
+# for match pattern
+match = $(shell echo $(2) | $(AWK) '{for(i=1;i<=NF;i++){if(match("$(1)","^"$$(i)"$$")){exit 1;}}}'; echo $$?)
+
+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+# include kernel/user
+
+INCLUDE	+= libs/
+
+CFLAGS	+= $(addprefix -I,$(INCLUDE))
+
+LIBDIR	+= libs
+
+$(call add_files_cc,$(call listf_cc,$(LIBDIR)),libs,)
+
+# -------------------------------------------------------------------
+# kernel
+
+KINCLUDE	+= kern/debug/ \
+			   kern/driver/ \
+			   kern/trap/ \
+			   kern/mm/ \
+			   kern/libs/ \
+			   kern/sync/ \
+			   kern/fs/
+
+KSRCDIR		+= kern/init \
+			   kern/libs \
+			   kern/debug \
+			   kern/driver \
+			   kern/trap \
+			   kern/mm \
+			   kern/sync \
+			   kern/fs
+
+KCFLAGS		+= $(addprefix -I,$(KINCLUDE))
+
+$(call add_files_cc,$(call listf_cc,$(KSRCDIR)),kernel,$(KCFLAGS))
+
+KOBJS	= $(call read_packet,kernel libs)
+
+# create kernel target
+kernel = $(call totarget,kernel)
+
+$(kernel): tools/kernel.ld
+
+$(kernel): $(KOBJS)
+	@echo + ld $@
+	$(V)$(LD) $(LDFLAGS) -T tools/kernel.ld -o $@ $(KOBJS)
+	@$(OBJDUMP) -S $@ > $(call asmfile,kernel)
+	@$(OBJDUMP) -t $@ | $(SED) '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > $(call symfile,kernel)
+
+$(call create_target,kernel)
+
+# -------------------------------------------------------------------
+
+# create bootblock
+bootfiles = $(call listf_cc,boot)
+$(foreach f,$(bootfiles),$(call cc_compile,$(f),$(CC),$(CFLAGS) -Os -nostdinc))
+
+bootblock = $(call totarget,bootblock)
+
+$(bootblock): $(call toobj,boot/bootasm.S) $(call toobj,$(bootfiles)) | $(call totarget,sign)
+	@echo + ld $@
+	$(V)$(LD) $(LDFLAGS) -N -T tools/boot.ld $^ -o $(call toobj,bootblock)
+	@$(OBJDUMP) -S $(call objfile,bootblock) > $(call asmfile,bootblock)
+	@$(OBJCOPY) -S -O binary $(call objfile,bootblock) $(call outfile,bootblock)
+	@$(call totarget,sign) $(call outfile,bootblock) $(bootblock)
+
+$(call create_target,bootblock)
+
+# -------------------------------------------------------------------
+
+# create 'sign' tools
+$(call add_files_host,tools/sign.c,sign,sign)
+$(call create_target_host,sign,sign)
+
+# -------------------------------------------------------------------
+
+# create ucore.img
+UCOREIMG	:= $(call totarget,ucore.img)
+
+$(UCOREIMG): $(kernel) $(bootblock)
+	$(V)dd if=/dev/zero of=$@ count=10000
+	$(V)dd if=$(bootblock) of=$@ conv=notrunc
+	$(V)dd if=$(kernel) of=$@ seek=1 conv=notrunc
+
+$(call create_target,ucore.img)
+
+# -------------------------------------------------------------------
+
+# create swap.img
+SWAPIMG		:= $(call totarget,swap.img)
+
+$(SWAPIMG):
+	$(V)dd if=/dev/zero of=$@ bs=1M count=128
+
+$(call create_target,swap.img)
+
+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+$(call finish_all)
+
+IGNORE_ALLDEPS	= clean \
+				  dist-clean \
+				  grade \
+				  touch \
+				  print-.+ \
+				  handin
+
+ifeq ($(call match,$(MAKECMDGOALS),$(IGNORE_ALLDEPS)),0)
+-include $(ALLDEPS)
+endif
+
+# files for grade script
+
+TARGETS: $(TARGETS)
+
+.DEFAULT_GOAL := TARGETS
+
+QEMUOPTS = -hda $(UCOREIMG) -drive file=$(SWAPIMG),media=disk,cache=writeback
+
+.PHONY: qemu qemu-nox debug debug-nox
+qemu: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -parallel stdio $(QEMUOPTS) -serial null
+
+qemu-nox: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -serial mon:stdio $(QEMUOPTS) -nographic
+
+TERMINAL := gnome-terminal
+
+debug: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -S -s -parallel stdio $(QEMUOPTS) -serial null &
+	$(V)sleep 2
+	$(V)$(TERMINAL) -e "$(GDB) -q -x tools/gdbinit"
+
+debug-nox: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -S -s -serial mon:stdio $(QEMUOPTS) -nographic &
+	$(V)sleep 2
+	$(V)$(TERMINAL) -e "$(GDB) -q -x tools/gdbinit"
+
+.PHONY: grade touch
+
+GRADE_GDB_IN	:= .gdb.in
+GRADE_QEMU_OUT	:= .qemu.out
+HANDIN			:= proj$(PROJ)-handin.tar.gz
+
+TOUCH_FILES		:= kern/trap/trap.c
+
+MAKEOPTS		:= --quiet --no-print-directory
+
+grade:
+	$(V)$(MAKE) $(MAKEOPTS) clean
+	$(V)$(SH) tools/grade.sh
+
+touch:
+	$(V)$(foreach f,$(TOUCH_FILES),$(TOUCH) $(f))
+
+print-%:
+	@echo $($(shell echo $(patsubst print-%,%,$@) | $(TR) [a-z] [A-Z]))
+
+.PHONY: clean dist-clean handin packall
+clean:
+	$(V)$(RM) $(GRADE_GDB_IN) $(GRADE_QEMU_OUT)
+	-$(RM) -r $(OBJDIR) $(BINDIR)
+
+dist-clean: clean
+	-$(RM) $(HANDIN)
+
+handin: packall
+	@echo Please visit http://learn.tsinghua.edu.cn and upload $(HANDIN). Thanks!
+
+packall: clean
+	@$(RM) -f $(HANDIN)
+	@tar -czf $(HANDIN) `find . -type f -o -type d | grep -v '^\.*$$' | grep -vF '$(HANDIN)'`
+
diff --git a/code/lab3/boot/asm.h b/code/lab3/boot/asm.h
new file mode 100644
index 0000000..8e0405a
--- /dev/null
+++ b/code/lab3/boot/asm.h
@@ -0,0 +1,26 @@
+#ifndef __BOOT_ASM_H__
+#define __BOOT_ASM_H__
+
+/* Assembler macros to create x86 segments */
+
+/* Normal segment */
+#define SEG_NULLASM                                             \
+    .word 0, 0;                                                 \
+    .byte 0, 0, 0, 0
+
+#define SEG_ASM(type,base,lim)                                  \
+    .word (((lim) >> 12) & 0xffff), ((base) & 0xffff);          \
+    .byte (((base) >> 16) & 0xff), (0x90 | (type)),             \
+        (0xC0 | (((lim) >> 28) & 0xf)), (((base) >> 24) & 0xff)
+
+
+/* Application segment type bits */
+#define STA_X       0x8     // Executable segment
+#define STA_E       0x4     // Expand down (non-executable segments)
+#define STA_C       0x4     // Conforming code segment (executable only)
+#define STA_W       0x2     // Writeable (non-executable segments)
+#define STA_R       0x2     // Readable (executable segments)
+#define STA_A       0x1     // Accessed
+
+#endif /* !__BOOT_ASM_H__ */
+
diff --git a/code/lab3/boot/bootasm.S b/code/lab3/boot/bootasm.S
new file mode 100644
index 0000000..f1852c3
--- /dev/null
+++ b/code/lab3/boot/bootasm.S
@@ -0,0 +1,107 @@
+#include <asm.h>
+
+# Start the CPU: switch to 32-bit protected mode, jump into C.
+# The BIOS loads this code from the first sector of the hard disk into
+# memory at physical address 0x7c00 and starts executing in real mode
+# with %cs=0 %ip=7c00.
+
+.set PROT_MODE_CSEG,        0x8                     # kernel code segment selector
+.set PROT_MODE_DSEG,        0x10                    # kernel data segment selector
+.set CR0_PE_ON,             0x1                     # protected mode enable flag
+.set SMAP,                  0x534d4150
+
+# start address should be 0:7c00, in real mode, the beginning address of the running bootloader
+.globl start
+start:
+.code16                                             # Assemble for 16-bit mode
+    cli                                             # Disable interrupts
+    cld                                             # String operations increment
+
+    # Set up the important data segment registers (DS, ES, SS).
+    xorw %ax, %ax                                   # Segment number zero
+    movw %ax, %ds                                   # -> Data Segment
+    movw %ax, %es                                   # -> Extra Segment
+    movw %ax, %ss                                   # -> Stack Segment
+
+    # Enable A20:
+    #  For backwards compatibility with the earliest PCs, physical
+    #  address line 20 is tied low, so that addresses higher than
+    #  1MB wrap around to zero by default. This code undoes this.
+seta20.1:
+    inb $0x64, %al                                  # Wait for not busy
+    testb $0x2, %al
+    jnz seta20.1
+
+    movb $0xd1, %al                                 # 0xd1 -> port 0x64
+    outb %al, $0x64
+
+seta20.2:
+    inb $0x64, %al                                  # Wait for not busy
+    testb $0x2, %al
+    jnz seta20.2
+
+    movb $0xdf, %al                                 # 0xdf -> port 0x60
+    outb %al, $0x60
+
+probe_memory:
+    movl $0, 0x8000
+    xorl %ebx, %ebx
+    movw $0x8004, %di
+start_probe:
+    movl $0xE820, %eax
+    movl $20, %ecx
+    movl $SMAP, %edx
+    int $0x15
+    jnc cont
+    movw $12345, 0x8000
+    jmp finish_probe
+cont:
+    addw $20, %di
+    incl 0x8000
+    cmpl $0, %ebx
+    jnz start_probe
+finish_probe:
+
+    # Switch from real to protected mode, using a bootstrap GDT
+    # and segment translation that makes virtual addresses
+    # identical to physical addresses, so that the
+    # effective memory map does not change during the switch.
+    lgdt gdtdesc
+    movl %cr0, %eax
+    orl $CR0_PE_ON, %eax
+    movl %eax, %cr0
+
+    # Jump to next instruction, but in 32-bit code segment.
+    # Switches processor into 32-bit mode.
+    ljmp $PROT_MODE_CSEG, $protcseg
+
+.code32                                             # Assemble for 32-bit mode
+protcseg:
+    # Set up the protected-mode data segment registers
+    movw $PROT_MODE_DSEG, %ax                       # Our data segment selector
+    movw %ax, %ds                                   # -> DS: Data Segment
+    movw %ax, %es                                   # -> ES: Extra Segment
+    movw %ax, %fs                                   # -> FS
+    movw %ax, %gs                                   # -> GS
+    movw %ax, %ss                                   # -> SS: Stack Segment
+
+    # Set up the stack pointer and call into C. The stack region is from 0--start(0x7c00)
+    movl $0x0, %ebp
+    movl $start, %esp
+    call bootmain
+
+    # If bootmain returns (it shouldn't), loop.
+spin:
+    jmp spin
+
+.data
+# Bootstrap GDT
+.p2align 2                                          # force 4 byte alignment
+gdt:
+    SEG_NULLASM                                     # null seg
+    SEG_ASM(STA_X|STA_R, 0x0, 0xffffffff)           # code seg for bootloader and kernel
+    SEG_ASM(STA_W, 0x0, 0xffffffff)                 # data seg for bootloader and kernel
+
+gdtdesc:
+    .word 0x17                                      # sizeof(gdt) - 1
+    .long gdt                                       # address gdt
diff --git a/code/lab3/boot/bootmain.c b/code/lab3/boot/bootmain.c
new file mode 100644
index 0000000..4b55eb7
--- /dev/null
+++ b/code/lab3/boot/bootmain.c
@@ -0,0 +1,116 @@
+#include <defs.h>
+#include <x86.h>
+#include <elf.h>
+
+/* *********************************************************************
+ * This a dirt simple boot loader, whose sole job is to boot
+ * an ELF kernel image from the first IDE hard disk.
+ *
+ * DISK LAYOUT
+ *  * This program(bootasm.S and bootmain.c) is the bootloader.
+ *    It should be stored in the first sector of the disk.
+ *
+ *  * The 2nd sector onward holds the kernel image.
+ *
+ *  * The kernel image must be in ELF format.
+ *
+ * BOOT UP STEPS
+ *  * when the CPU boots it loads the BIOS into memory and executes it
+ *
+ *  * the BIOS intializes devices, sets of the interrupt routines, and
+ *    reads the first sector of the boot device(e.g., hard-drive)
+ *    into memory and jumps to it.
+ *
+ *  * Assuming this boot loader is stored in the first sector of the
+ *    hard-drive, this code takes over...
+ *
+ *  * control starts in bootasm.S -- which sets up protected mode,
+ *    and a stack so C code then run, then calls bootmain()
+ *
+ *  * bootmain() in this file takes over, reads in the kernel and jumps to it.
+ * */
+
+#define SECTSIZE        512
+#define ELFHDR          ((struct elfhdr *)0x10000)      // scratch space
+
+/* waitdisk - wait for disk ready */
+static void
+waitdisk(void) {
+    while ((inb(0x1F7) & 0xC0) != 0x40)
+        /* do nothing */;
+}
+
+/* readsect - read a single sector at @secno into @dst */
+static void
+readsect(void *dst, uint32_t secno) {
+    // wait for disk to be ready
+    waitdisk();
+
+    outb(0x1F2, 1);                         // count = 1
+    outb(0x1F3, secno & 0xFF);
+    outb(0x1F4, (secno >> 8) & 0xFF);
+    outb(0x1F5, (secno >> 16) & 0xFF);
+    outb(0x1F6, ((secno >> 24) & 0xF) | 0xE0);
+    outb(0x1F7, 0x20);                      // cmd 0x20 - read sectors
+
+    // wait for disk to be ready
+    waitdisk();
+
+    // read a sector
+    insl(0x1F0, dst, SECTSIZE / 4);
+}
+
+/* *
+ * readseg - read @count bytes at @offset from kernel into virtual address @va,
+ * might copy more than asked.
+ * */
+static void
+readseg(uintptr_t va, uint32_t count, uint32_t offset) {
+    uintptr_t end_va = va + count;
+
+    // round down to sector boundary
+    va -= offset % SECTSIZE;
+
+    // translate from bytes to sectors; kernel starts at sector 1
+    uint32_t secno = (offset / SECTSIZE) + 1;
+
+    // If this is too slow, we could read lots of sectors at a time.
+    // We'd write more to memory than asked, but it doesn't matter --
+    // we load in increasing order.
+    for (; va < end_va; va += SECTSIZE, secno ++) {
+        readsect((void *)va, secno);
+    }
+}
+
+/* bootmain - the entry of bootloader */
+void
+bootmain(void) {
+    // read the 1st page off disk
+    readseg((uintptr_t)ELFHDR, SECTSIZE * 8, 0);
+
+    // is this a valid ELF?
+    if (ELFHDR->e_magic != ELF_MAGIC) {
+        goto bad;
+    }
+
+    struct proghdr *ph, *eph;
+
+    // load each program segment (ignores ph flags)
+    ph = (struct proghdr *)((uintptr_t)ELFHDR + ELFHDR->e_phoff);
+    eph = ph + ELFHDR->e_phnum;
+    for (; ph < eph; ph ++) {
+        readseg(ph->p_va & 0xFFFFFF, ph->p_memsz, ph->p_offset);
+    }
+
+    // call the entry point from the ELF header
+    // note: does not return
+    ((void (*)(void))(ELFHDR->e_entry & 0xFFFFFF))();
+
+bad:
+    outw(0x8A00, 0x8A00);
+    outw(0x8A00, 0x8E00);
+
+    /* do nothing */
+    while (1);
+}
+
diff --git a/code/lab3/kern/debug/assert.h b/code/lab3/kern/debug/assert.h
new file mode 100644
index 0000000..ac1a966
--- /dev/null
+++ b/code/lab3/kern/debug/assert.h
@@ -0,0 +1,27 @@
+#ifndef __KERN_DEBUG_ASSERT_H__
+#define __KERN_DEBUG_ASSERT_H__
+
+#include <defs.h>
+
+void __warn(const char *file, int line, const char *fmt, ...);
+void __noreturn __panic(const char *file, int line, const char *fmt, ...);
+
+#define warn(...)                                       \
+    __warn(__FILE__, __LINE__, __VA_ARGS__)
+
+#define panic(...)                                      \
+    __panic(__FILE__, __LINE__, __VA_ARGS__)
+
+#define assert(x)                                       \
+    do {                                                \
+        if (!(x)) {                                     \
+            panic("assertion failed: %s", #x);          \
+        }                                               \
+    } while (0)
+
+// static_assert(x) will generate a compile-time error if 'x' is false.
+#define static_assert(x)                                \
+    switch (x) { case 0: case (x): ; }
+
+#endif /* !__KERN_DEBUG_ASSERT_H__ */
+
diff --git a/code/lab3/kern/debug/kdebug.c b/code/lab3/kern/debug/kdebug.c
new file mode 100644
index 0000000..fbf7346
--- /dev/null
+++ b/code/lab3/kern/debug/kdebug.c
@@ -0,0 +1,309 @@
+#include <defs.h>
+#include <x86.h>
+#include <stab.h>
+#include <stdio.h>
+#include <string.h>
+#include <sync.h>
+#include <kdebug.h>
+#include <monitor.h>
+#include <assert.h>
+
+#define STACKFRAME_DEPTH 20
+
+extern const struct stab __STAB_BEGIN__[];  // beginning of stabs table
+extern const struct stab __STAB_END__[];    // end of stabs table
+extern const char __STABSTR_BEGIN__[];      // beginning of string table
+extern const char __STABSTR_END__[];        // end of string table
+
+/* debug information about a particular instruction pointer */
+struct eipdebuginfo {
+    const char *eip_file;                   // source code filename for eip
+    int eip_line;                           // source code line number for eip
+    const char *eip_fn_name;                // name of function containing eip
+    int eip_fn_namelen;                     // length of function's name
+    uintptr_t eip_fn_addr;                  // start address of function
+    int eip_fn_narg;                        // number of function arguments
+};
+
+/* *
+ * stab_binsearch - according to the input, the initial value of
+ * range [*@region_left, *@region_right], find a single stab entry
+ * that includes the address @addr and matches the type @type,
+ * and then save its boundary to the locations that pointed
+ * by @region_left and @region_right.
+ *
+ * Some stab types are arranged in increasing order by instruction address.
+ * For example, N_FUN stabs (stab entries with n_type == N_FUN), which
+ * mark functions, and N_SO stabs, which mark source files.
+ *
+ * Given an instruction address, this function finds the single stab entry
+ * of type @type that contains that address.
+ *
+ * The search takes place within the range [*@region_left, *@region_right].
+ * Thus, to search an entire set of N stabs, you might do:
+ *
+ *      left = 0;
+ *      right = N - 1;    (rightmost stab)
+ *      stab_binsearch(stabs, &left, &right, type, addr);
+ *
+ * The search modifies *region_left and *region_right to bracket the @addr.
+ * *@region_left points to the matching stab that contains @addr,
+ * and *@region_right points just before the next stab.
+ * If *@region_left > *region_right, then @addr is not contained in any
+ * matching stab.
+ *
+ * For example, given these N_SO stabs:
+ *      Index  Type   Address
+ *      0      SO     f0100000
+ *      13     SO     f0100040
+ *      117    SO     f0100176
+ *      118    SO     f0100178
+ *      555    SO     f0100652
+ *      556    SO     f0100654
+ *      657    SO     f0100849
+ * this code:
+ *      left = 0, right = 657;
+ *      stab_binsearch(stabs, &left, &right, N_SO, 0xf0100184);
+ * will exit setting left = 118, right = 554.
+ * */
+static void
+stab_binsearch(const struct stab *stabs, int *region_left, int *region_right,
+           int type, uintptr_t addr) {
+    int l = *region_left, r = *region_right, any_matches = 0;
+
+    while (l <= r) {
+        int true_m = (l + r) / 2, m = true_m;
+
+        // search for earliest stab with right type
+        while (m >= l && stabs[m].n_type != type) {
+            m --;
+        }
+        if (m < l) {    // no match in [l, m]
+            l = true_m + 1;
+            continue;
+        }
+
+        // actual binary search
+        any_matches = 1;
+        if (stabs[m].n_value < addr) {
+            *region_left = m;
+            l = true_m + 1;
+        } else if (stabs[m].n_value > addr) {
+            *region_right = m - 1;
+            r = m - 1;
+        } else {
+            // exact match for 'addr', but continue loop to find
+            // *region_right
+            *region_left = m;
+            l = m;
+            addr ++;
+        }
+    }
+
+    if (!any_matches) {
+        *region_right = *region_left - 1;
+    }
+    else {
+        // find rightmost region containing 'addr'
+        l = *region_right;
+        for (; l > *region_left && stabs[l].n_type != type; l --)
+            /* do nothing */;
+        *region_left = l;
+    }
+}
+
+/* *
+ * debuginfo_eip - Fill in the @info structure with information about
+ * the specified instruction address, @addr.  Returns 0 if information
+ * was found, and negative if not.  But even if it returns negative it
+ * has stored some information into '*info'.
+ * */
+int
+debuginfo_eip(uintptr_t addr, struct eipdebuginfo *info) {
+    const struct stab *stabs, *stab_end;
+    const char *stabstr, *stabstr_end;
+
+    info->eip_file = "<unknown>";
+    info->eip_line = 0;
+    info->eip_fn_name = "<unknown>";
+    info->eip_fn_namelen = 9;
+    info->eip_fn_addr = addr;
+    info->eip_fn_narg = 0;
+
+    stabs = __STAB_BEGIN__;
+    stab_end = __STAB_END__;
+    stabstr = __STABSTR_BEGIN__;
+    stabstr_end = __STABSTR_END__;
+
+    // String table validity checks
+    if (stabstr_end <= stabstr || stabstr_end[-1] != 0) {
+        return -1;
+    }
+
+    // Now we find the right stabs that define the function containing
+    // 'eip'.  First, we find the basic source file containing 'eip'.
+    // Then, we look in that source file for the function.  Then we look
+    // for the line number.
+
+    // Search the entire set of stabs for the source file (type N_SO).
+    int lfile = 0, rfile = (stab_end - stabs) - 1;
+    stab_binsearch(stabs, &lfile, &rfile, N_SO, addr);
+    if (lfile == 0)
+        return -1;
+
+    // Search within that file's stabs for the function definition
+    // (N_FUN).
+    int lfun = lfile, rfun = rfile;
+    int lline, rline;
+    stab_binsearch(stabs, &lfun, &rfun, N_FUN, addr);
+
+    if (lfun <= rfun) {
+        // stabs[lfun] points to the function name
+        // in the string table, but check bounds just in case.
+        if (stabs[lfun].n_strx < stabstr_end - stabstr) {
+            info->eip_fn_name = stabstr + stabs[lfun].n_strx;
+        }
+        info->eip_fn_addr = stabs[lfun].n_value;
+        addr -= info->eip_fn_addr;
+        // Search within the function definition for the line number.
+        lline = lfun;
+        rline = rfun;
+    } else {
+        // Couldn't find function stab!  Maybe we're in an assembly
+        // file.  Search the whole file for the line number.
+        info->eip_fn_addr = addr;
+        lline = lfile;
+        rline = rfile;
+    }
+    info->eip_fn_namelen = strfind(info->eip_fn_name, ':') - info->eip_fn_name;
+
+    // Search within [lline, rline] for the line number stab.
+    // If found, set info->eip_line to the right line number.
+    // If not found, return -1.
+    stab_binsearch(stabs, &lline, &rline, N_SLINE, addr);
+    if (lline <= rline) {
+        info->eip_line = stabs[rline].n_desc;
+    } else {
+        return -1;
+    }
+
+    // Search backwards from the line number for the relevant filename stab.
+    // We can't just use the "lfile" stab because inlined functions
+    // can interpolate code from a different file!
+    // Such included source files use the N_SOL stab type.
+    while (lline >= lfile
+           && stabs[lline].n_type != N_SOL
+           && (stabs[lline].n_type != N_SO || !stabs[lline].n_value)) {
+        lline --;
+    }
+    if (lline >= lfile && stabs[lline].n_strx < stabstr_end - stabstr) {
+        info->eip_file = stabstr + stabs[lline].n_strx;
+    }
+
+    // Set eip_fn_narg to the number of arguments taken by the function,
+    // or 0 if there was no containing function.
+    if (lfun < rfun) {
+        for (lline = lfun + 1;
+             lline < rfun && stabs[lline].n_type == N_PSYM;
+             lline ++) {
+            info->eip_fn_narg ++;
+        }
+    }
+    return 0;
+}
+
+/* *
+ * print_kerninfo - print the information about kernel, including the location
+ * of kernel entry, the start addresses of data and text segements, the start
+ * address of free memory and how many memory that kernel has used.
+ * */
+void
+print_kerninfo(void) {
+    extern char etext[], edata[], end[], kern_init[];
+    cprintf("Special kernel symbols:\n");
+    cprintf("  entry  0x%08x (phys)\n", kern_init);
+    cprintf("  etext  0x%08x (phys)\n", etext);
+    cprintf("  edata  0x%08x (phys)\n", edata);
+    cprintf("  end    0x%08x (phys)\n", end);
+    cprintf("Kernel executable memory footprint: %dKB\n", (end - kern_init + 1023)/1024);
+}
+
+/* *
+ * print_debuginfo - read and print the stat information for the address @eip,
+ * and info.eip_fn_addr should be the first address of the related function.
+ * */
+void
+print_debuginfo(uintptr_t eip) {
+    struct eipdebuginfo info;
+    if (debuginfo_eip(eip, &info) != 0) {
+        cprintf("    <unknow>: -- 0x%08x --\n", eip);
+    }
+    else {
+        char fnname[256];
+        int j;
+        for (j = 0; j < info.eip_fn_namelen; j ++) {
+            fnname[j] = info.eip_fn_name[j];
+        }
+        fnname[j] = '\0';
+        cprintf("    %s:%d: %s+%d\n", info.eip_file, info.eip_line,
+                fnname, eip - info.eip_fn_addr);
+    }
+}
+
+static __noinline uint32_t
+read_eip(void) {
+    uint32_t eip;
+    asm volatile("movl 4(%%ebp), %0" : "=r" (eip));
+    return eip;
+}
+
+/* *
+ * print_stackframe - print a list of the saved eip values from the nested 'call'
+ * instructions that led to the current point of execution
+ *
+ * The x86 stack pointer, namely esp, points to the lowest location on the stack
+ * that is currently in use. Everything below that location in stack is free. Pushing
+ * a value onto the stack will invole decreasing the stack pointer and then writing
+ * the value to the place that stack pointer pointes to. And popping a value do the
+ * opposite.
+ *
+ * The ebp (base pointer) register, in contrast, is associated with the stack
+ * primarily by software convention. On entry to a C function, the function's
+ * prologue code normally saves the previous function's base pointer by pushing
+ * it onto the stack, and then copies the current esp value into ebp for the duration
+ * of the function. If all the functions in a program obey this convention,
+ * then at any given point during the program's execution, it is possible to trace
+ * back through the stack by following the chain of saved ebp pointers and determining
+ * exactly what nested sequence of function calls caused this particular point in the
+ * program to be reached. This capability can be particularly useful, for example,
+ * when a particular function causes an assert failure or panic because bad arguments
+ * were passed to it, but you aren't sure who passed the bad arguments. A stack
+ * backtrace lets you find the offending function.
+ *
+ * The inline function read_ebp() can tell us the value of current ebp. And the
+ * non-inline function read_eip() is useful, it can read the value of current eip,
+ * since while calling this function, read_eip() can read the caller's eip from
+ * stack easily.
+ *
+ * In print_debuginfo(), the function debuginfo_eip() can get enough information about
+ * calling-chain. Finally print_stackframe() will trace and print them for debugging.
+ *
+ * Note that, the length of ebp-chain is limited. In boot/bootasm.S, before jumping
+ * to the kernel entry, the value of ebp has been set to zero, that's the boundary.
+ * */
+void
+print_stackframe(void) {
+     /* LAB1 YOUR CODE : STEP 1 */
+     /* (1) call read_ebp() to get the value of ebp. the type is (uint32_t);
+      * (2) call read_eip() to get the value of eip. the type is (uint32_t);
+      * (3) from 0 .. STACKFRAME_DEPTH
+      *    (3.1) printf value of ebp, eip
+      *    (3.2) (uint32_t)calling arguments [0..4] = the contents in address (unit32_t)ebp +2 [0..4]
+      *    (3.3) cprintf("\n");
+      *    (3.4) call print_debuginfo(eip-1) to print the C calling function name and line number, etc.
+      *    (3.5) popup a calling stackframe
+      *           NOTICE: the calling funciton's return addr eip  = ss:[ebp+4]
+      *                   the calling funciton's ebp = ss:[ebp]
+      */
+}
+
diff --git a/code/lab3/kern/debug/kdebug.h b/code/lab3/kern/debug/kdebug.h
new file mode 100644
index 0000000..c2a7b74
--- /dev/null
+++ b/code/lab3/kern/debug/kdebug.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_DEBUG_KDEBUG_H__
+#define __KERN_DEBUG_KDEBUG_H__
+
+#include <defs.h>
+#include <trap.h>
+
+void print_kerninfo(void);
+void print_stackframe(void);
+void print_debuginfo(uintptr_t eip);
+
+#endif /* !__KERN_DEBUG_KDEBUG_H__ */
+
diff --git a/code/lab3/kern/debug/monitor.c b/code/lab3/kern/debug/monitor.c
new file mode 100644
index 0000000..85ac06c
--- /dev/null
+++ b/code/lab3/kern/debug/monitor.c
@@ -0,0 +1,132 @@
+#include <stdio.h>
+#include <string.h>
+#include <mmu.h>
+#include <trap.h>
+#include <monitor.h>
+#include <kdebug.h>
+
+/* *
+ * Simple command-line kernel monitor useful for controlling the
+ * kernel and exploring the system interactively.
+ * */
+
+struct command {
+    const char *name;
+    const char *desc;
+    // return -1 to force monitor to exit
+    int(*func)(int argc, char **argv, struct trapframe *tf);
+};
+
+static struct command commands[] = {
+    {"help", "Display this list of commands.", mon_help},
+    {"kerninfo", "Display information about the kernel.", mon_kerninfo},
+    {"backtrace", "Print backtrace of stack frame.", mon_backtrace},
+};
+
+/* return if kernel is panic, in kern/debug/panic.c */
+bool is_kernel_panic(void);
+
+#define NCOMMANDS (sizeof(commands)/sizeof(struct command))
+
+/***** Kernel monitor command interpreter *****/
+
+#define MAXARGS         16
+#define WHITESPACE      " \t\n\r"
+
+/* parse - parse the command buffer into whitespace-separated arguments */
+static int
+parse(char *buf, char **argv) {
+    int argc = 0;
+    while (1) {
+        // find global whitespace
+        while (*buf != '\0' && strchr(WHITESPACE, *buf) != NULL) {
+            *buf ++ = '\0';
+        }
+        if (*buf == '\0') {
+            break;
+        }
+
+        // save and scan past next arg
+        if (argc == MAXARGS - 1) {
+            cprintf("Too many arguments (max %d).\n", MAXARGS);
+        }
+        argv[argc ++] = buf;
+        while (*buf != '\0' && strchr(WHITESPACE, *buf) == NULL) {
+            buf ++;
+        }
+    }
+    return argc;
+}
+
+/* *
+ * runcmd - parse the input string, split it into separated arguments
+ * and then lookup and invoke some related commands/
+ * */
+static int
+runcmd(char *buf, struct trapframe *tf) {
+    char *argv[MAXARGS];
+    int argc = parse(buf, argv);
+    if (argc == 0) {
+        return 0;
+    }
+    int i;
+    for (i = 0; i < NCOMMANDS; i ++) {
+        if (strcmp(commands[i].name, argv[0]) == 0) {
+            return commands[i].func(argc - 1, argv + 1, tf);
+        }
+    }
+    cprintf("Unknown command '%s'\n", argv[0]);
+    return 0;
+}
+
+/***** Implementations of basic kernel monitor commands *****/
+
+void
+monitor(struct trapframe *tf) {
+    cprintf("Welcome to the kernel debug monitor!!\n");
+    cprintf("Type 'help' for a list of commands.\n");
+
+    if (tf != NULL) {
+        print_trapframe(tf);
+    }
+
+    char *buf;
+    while (1) {
+        if ((buf = readline("K> ")) != NULL) {
+            if (runcmd(buf, tf) < 0) {
+                break;
+            }
+        }
+    }
+}
+
+/* mon_help - print the information about mon_* functions */
+int
+mon_help(int argc, char **argv, struct trapframe *tf) {
+    int i;
+    for (i = 0; i < NCOMMANDS; i ++) {
+        cprintf("%s - %s\n", commands[i].name, commands[i].desc);
+    }
+    return 0;
+}
+
+/* *
+ * mon_kerninfo - call print_kerninfo in kern/debug/kdebug.c to
+ * print the memory occupancy in kernel.
+ * */
+int
+mon_kerninfo(int argc, char **argv, struct trapframe *tf) {
+    print_kerninfo();
+    return 0;
+}
+
+/* *
+ * mon_backtrace - call print_stackframe in kern/debug/kdebug.c to
+ * print a backtrace of the stack.
+ * */
+int
+mon_backtrace(int argc, char **argv, struct trapframe *tf) {
+    print_stackframe();
+    return 0;
+}
+
diff --git a/code/lab3/kern/debug/monitor.h b/code/lab3/kern/debug/monitor.h
new file mode 100644
index 0000000..2bc0854
--- /dev/null
+++ b/code/lab3/kern/debug/monitor.h
@@ -0,0 +1,19 @@
+#ifndef __KERN_DEBUG_MONITOR_H__
+#define __KERN_DEBUG_MONITOR_H__
+
+#include <trap.h>
+
+void monitor(struct trapframe *tf);
+
+int mon_help(int argc, char **argv, struct trapframe *tf);
+int mon_kerninfo(int argc, char **argv, struct trapframe *tf);
+int mon_backtrace(int argc, char **argv, struct trapframe *tf);
+int mon_continue(int argc, char **argv, struct trapframe *tf);
+int mon_step(int argc, char **argv, struct trapframe *tf);
+int mon_breakpoint(int argc, char **argv, struct trapframe *tf);
+int mon_watchpoint(int argc, char **argv, struct trapframe *tf);
+int mon_delete_dr(int argc, char **argv, struct trapframe *tf);
+int mon_list_dr(int argc, char **argv, struct trapframe *tf);
+
+#endif /* !__KERN_DEBUG_MONITOR_H__ */
+
diff --git a/code/lab3/kern/debug/panic.c b/code/lab3/kern/debug/panic.c
new file mode 100644
index 0000000..9be6c0b
--- /dev/null
+++ b/code/lab3/kern/debug/panic.c
@@ -0,0 +1,49 @@
+#include <defs.h>
+#include <stdio.h>
+#include <intr.h>
+#include <monitor.h>
+
+static bool is_panic = 0;
+
+/* *
+ * __panic - __panic is called on unresolvable fatal errors. it prints
+ * "panic: 'message'", and then enters the kernel monitor.
+ * */
+void
+__panic(const char *file, int line, const char *fmt, ...) {
+    if (is_panic) {
+        goto panic_dead;
+    }
+    is_panic = 1;
+
+    // print the 'message'
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("kernel panic at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+
+panic_dead:
+    intr_disable();
+    while (1) {
+        monitor(NULL);
+    }
+}
+
+/* __warn - like panic, but don't */
+void
+__warn(const char *file, int line, const char *fmt, ...) {
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("kernel warning at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+}
+
+bool
+is_kernel_panic(void) {
+    return is_panic;
+}
+
diff --git a/code/lab3/kern/debug/stab.h b/code/lab3/kern/debug/stab.h
new file mode 100644
index 0000000..8d5cea3
--- /dev/null
+++ b/code/lab3/kern/debug/stab.h
@@ -0,0 +1,54 @@
+#ifndef __KERN_DEBUG_STAB_H__
+#define __KERN_DEBUG_STAB_H__
+
+#include <defs.h>
+
+/* *
+ * STABS debugging info
+ *
+ * The kernel debugger can understand some debugging information in
+ * the STABS format.  For more information on this format, see
+ * http://sources.redhat.com/gdb/onlinedocs/stabs_toc.html
+ *
+ * The constants below define some symbol types used by various debuggers
+ * and compilers.  Kernel uses the N_SO, N_SOL, N_FUN, and N_SLINE types.
+ * */
+
+#define N_GSYM      0x20    // global symbol
+#define N_FNAME     0x22    // F77 function name
+#define N_FUN       0x24    // procedure name
+#define N_STSYM     0x26    // data segment variable
+#define N_LCSYM     0x28    // bss segment variable
+#define N_MAIN      0x2a    // main function name
+#define N_PC        0x30    // global Pascal symbol
+#define N_RSYM      0x40    // register variable
+#define N_SLINE     0x44    // text segment line number
+#define N_DSLINE    0x46    // data segment line number
+#define N_BSLINE    0x48    // bss segment line number
+#define N_SSYM      0x60    // structure/union element
+#define N_SO        0x64    // main source file name
+#define N_LSYM      0x80    // stack variable
+#define N_BINCL     0x82    // include file beginning
+#define N_SOL       0x84    // included source file name
+#define N_PSYM      0xa0    // parameter variable
+#define N_EINCL     0xa2    // include file end
+#define N_ENTRY     0xa4    // alternate entry point
+#define N_LBRAC     0xc0    // left bracket
+#define N_EXCL      0xc2    // deleted include file
+#define N_RBRAC     0xe0    // right bracket
+#define N_BCOMM     0xe2    // begin common
+#define N_ECOMM     0xe4    // end common
+#define N_ECOML     0xe8    // end common (local name)
+#define N_LENG      0xfe    // length of preceding entry
+
+/* Entries in the STABS table are formatted as follows. */
+struct stab {
+    uint32_t n_strx;        // index into string table of name
+    uint8_t n_type;         // type of symbol
+    uint8_t n_other;        // misc info (usually empty)
+    uint16_t n_desc;        // description field
+    uintptr_t n_value;      // value of symbol
+};
+
+#endif /* !__KERN_DEBUG_STAB_H__ */
+
diff --git a/code/lab3/kern/driver/clock.c b/code/lab3/kern/driver/clock.c
new file mode 100644
index 0000000..4e67c3b
--- /dev/null
+++ b/code/lab3/kern/driver/clock.c
@@ -0,0 +1,45 @@
+#include <x86.h>
+#include <trap.h>
+#include <stdio.h>
+#include <picirq.h>
+
+/* *
+ * Support for time-related hardware gadgets - the 8253 timer,
+ * which generates interruptes on IRQ-0.
+ * */
+
+#define IO_TIMER1           0x040               // 8253 Timer #1
+
+/* *
+ * Frequency of all three count-down timers; (TIMER_FREQ/freq)
+ * is the appropriate count to generate a frequency of freq Hz.
+ * */
+
+#define TIMER_FREQ      1193182
+#define TIMER_DIV(x)    ((TIMER_FREQ + (x) / 2) / (x))
+
+#define TIMER_MODE      (IO_TIMER1 + 3)         // timer mode port
+#define TIMER_SEL0      0x00                    // select counter 0
+#define TIMER_RATEGEN   0x04                    // mode 2, rate generator
+#define TIMER_16BIT     0x30                    // r/w counter 16 bits, LSB first
+
+volatile size_t ticks;
+
+/* *
+ * clock_init - initialize 8253 clock to interrupt 100 times per second,
+ * and then enable IRQ_TIMER.
+ * */
+void
+clock_init(void) {
+    // set 8253 timer-chip
+    outb(TIMER_MODE, TIMER_SEL0 | TIMER_RATEGEN | TIMER_16BIT);
+    outb(IO_TIMER1, TIMER_DIV(100) % 256);
+    outb(IO_TIMER1, TIMER_DIV(100) / 256);
+
+    // initialize time counter 'ticks' to zero
+    ticks = 0;
+
+    cprintf("++ setup timer interrupts\n");
+    pic_enable(IRQ_TIMER);
+}
+
diff --git a/code/lab3/kern/driver/clock.h b/code/lab3/kern/driver/clock.h
new file mode 100644
index 0000000..e22f393
--- /dev/null
+++ b/code/lab3/kern/driver/clock.h
@@ -0,0 +1,11 @@
+#ifndef __KERN_DRIVER_CLOCK_H__
+#define __KERN_DRIVER_CLOCK_H__
+
+#include <defs.h>
+
+extern volatile size_t ticks;
+
+void clock_init(void);
+
+#endif /* !__KERN_DRIVER_CLOCK_H__ */
+
diff --git a/code/lab3/kern/driver/console.c b/code/lab3/kern/driver/console.c
new file mode 100644
index 0000000..d4cf56b
--- /dev/null
+++ b/code/lab3/kern/driver/console.c
@@ -0,0 +1,465 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <kbdreg.h>
+#include <picirq.h>
+#include <trap.h>
+#include <memlayout.h>
+#include <sync.h>
+
+/* stupid I/O delay routine necessitated by historical PC design flaws */
+static void
+delay(void) {
+    inb(0x84);
+    inb(0x84);
+    inb(0x84);
+    inb(0x84);
+}
+
+/***** Serial I/O code *****/
+#define COM1            0x3F8
+
+#define COM_RX          0       // In:  Receive buffer (DLAB=0)
+#define COM_TX          0       // Out: Transmit buffer (DLAB=0)
+#define COM_DLL         0       // Out: Divisor Latch Low (DLAB=1)
+#define COM_DLM         1       // Out: Divisor Latch High (DLAB=1)
+#define COM_IER         1       // Out: Interrupt Enable Register
+#define COM_IER_RDI     0x01    // Enable receiver data interrupt
+#define COM_IIR         2       // In:  Interrupt ID Register
+#define COM_FCR         2       // Out: FIFO Control Register
+#define COM_LCR         3       // Out: Line Control Register
+#define COM_LCR_DLAB    0x80    // Divisor latch access bit
+#define COM_LCR_WLEN8   0x03    // Wordlength: 8 bits
+#define COM_MCR         4       // Out: Modem Control Register
+#define COM_MCR_RTS     0x02    // RTS complement
+#define COM_MCR_DTR     0x01    // DTR complement
+#define COM_MCR_OUT2    0x08    // Out2 complement
+#define COM_LSR         5       // In:  Line Status Register
+#define COM_LSR_DATA    0x01    // Data available
+#define COM_LSR_TXRDY   0x20    // Transmit buffer avail
+#define COM_LSR_TSRE    0x40    // Transmitter off
+
+#define MONO_BASE       0x3B4
+#define MONO_BUF        0xB0000
+#define CGA_BASE        0x3D4
+#define CGA_BUF         0xB8000
+#define CRT_ROWS        25
+#define CRT_COLS        80
+#define CRT_SIZE        (CRT_ROWS * CRT_COLS)
+
+#define LPTPORT         0x378
+
+static uint16_t *crt_buf;
+static uint16_t crt_pos;
+static uint16_t addr_6845;
+
+/* TEXT-mode CGA/VGA display output */
+
+static void
+cga_init(void) {
+    volatile uint16_t *cp = (uint16_t *)(CGA_BUF + KERNBASE);
+    uint16_t was = *cp;
+    *cp = (uint16_t) 0xA55A;
+    if (*cp != 0xA55A) {
+        cp = (uint16_t*)(MONO_BUF + KERNBASE);
+        addr_6845 = MONO_BASE;
+    } else {
+        *cp = was;
+        addr_6845 = CGA_BASE;
+    }
+
+    // Extract cursor location
+    uint32_t pos;
+    outb(addr_6845, 14);
+    pos = inb(addr_6845 + 1) << 8;
+    outb(addr_6845, 15);
+    pos |= inb(addr_6845 + 1);
+
+    crt_buf = (uint16_t*) cp;
+    crt_pos = pos;
+}
+
+static bool serial_exists = 0;
+
+static void
+serial_init(void) {
+    // Turn off the FIFO
+    outb(COM1 + COM_FCR, 0);
+
+    // Set speed; requires DLAB latch
+    outb(COM1 + COM_LCR, COM_LCR_DLAB);
+    outb(COM1 + COM_DLL, (uint8_t) (115200 / 9600));
+    outb(COM1 + COM_DLM, 0);
+
+    // 8 data bits, 1 stop bit, parity off; turn off DLAB latch
+    outb(COM1 + COM_LCR, COM_LCR_WLEN8 & ~COM_LCR_DLAB);
+
+    // No modem controls
+    outb(COM1 + COM_MCR, 0);
+    // Enable rcv interrupts
+    outb(COM1 + COM_IER, COM_IER_RDI);
+
+    // Clear any preexisting overrun indications and interrupts
+    // Serial port doesn't exist if COM_LSR returns 0xFF
+    serial_exists = (inb(COM1 + COM_LSR) != 0xFF);
+    (void) inb(COM1+COM_IIR);
+    (void) inb(COM1+COM_RX);
+
+    if (serial_exists) {
+        pic_enable(IRQ_COM1);
+    }
+}
+
+static void
+lpt_putc_sub(int c) {
+    int i;
+    for (i = 0; !(inb(LPTPORT + 1) & 0x80) && i < 12800; i ++) {
+        delay();
+    }
+    outb(LPTPORT + 0, c);
+    outb(LPTPORT + 2, 0x08 | 0x04 | 0x01);
+    outb(LPTPORT + 2, 0x08);
+}
+
+/* lpt_putc - copy console output to parallel port */
+static void
+lpt_putc(int c) {
+    if (c != '\b') {
+        lpt_putc_sub(c);
+    }
+    else {
+        lpt_putc_sub('\b');
+        lpt_putc_sub(' ');
+        lpt_putc_sub('\b');
+    }
+}
+
+/* cga_putc - print character to console */
+static void
+cga_putc(int c) {
+    // set black on white
+    if (!(c & ~0xFF)) {
+        c |= 0x0700;
+    }
+
+    switch (c & 0xff) {
+    case '\b':
+        if (crt_pos > 0) {
+            crt_pos --;
+            crt_buf[crt_pos] = (c & ~0xff) | ' ';
+        }
+        break;
+    case '\n':
+        crt_pos += CRT_COLS;
+    case '\r':
+        crt_pos -= (crt_pos % CRT_COLS);
+        break;
+    default:
+        crt_buf[crt_pos ++] = c;     // write the character
+        break;
+    }
+
+    // What is the purpose of this?
+    if (crt_pos >= CRT_SIZE) {
+        int i;
+        memmove(crt_buf, crt_buf + CRT_COLS, (CRT_SIZE - CRT_COLS) * sizeof(uint16_t));
+        for (i = CRT_SIZE - CRT_COLS; i < CRT_SIZE; i ++) {
+            crt_buf[i] = 0x0700 | ' ';
+        }
+        crt_pos -= CRT_COLS;
+    }
+
+    // move that little blinky thing
+    outb(addr_6845, 14);
+    outb(addr_6845 + 1, crt_pos >> 8);
+    outb(addr_6845, 15);
+    outb(addr_6845 + 1, crt_pos);
+}
+
+static void
+serial_putc_sub(int c) {
+    int i;
+    for (i = 0; !(inb(COM1 + COM_LSR) & COM_LSR_TXRDY) && i < 12800; i ++) {
+        delay();
+    }
+    outb(COM1 + COM_TX, c);
+}
+
+/* serial_putc - print character to serial port */
+static void
+serial_putc(int c) {
+    if (c != '\b') {
+        serial_putc_sub(c);
+    }
+    else {
+        serial_putc_sub('\b');
+        serial_putc_sub(' ');
+        serial_putc_sub('\b');
+    }
+}
+
+/* *
+ * Here we manage the console input buffer, where we stash characters
+ * received from the keyboard or serial port whenever the corresponding
+ * interrupt occurs.
+ * */
+
+#define CONSBUFSIZE 512
+
+static struct {
+    uint8_t buf[CONSBUFSIZE];
+    uint32_t rpos;
+    uint32_t wpos;
+} cons;
+
+/* *
+ * cons_intr - called by device interrupt routines to feed input
+ * characters into the circular console input buffer.
+ * */
+static void
+cons_intr(int (*proc)(void)) {
+    int c;
+    while ((c = (*proc)()) != -1) {
+        if (c != 0) {
+            cons.buf[cons.wpos ++] = c;
+            if (cons.wpos == CONSBUFSIZE) {
+                cons.wpos = 0;
+            }
+        }
+    }
+}
+
+/* serial_proc_data - get data from serial port */
+static int
+serial_proc_data(void) {
+    if (!(inb(COM1 + COM_LSR) & COM_LSR_DATA)) {
+        return -1;
+    }
+    int c = inb(COM1 + COM_RX);
+    if (c == 127) {
+        c = '\b';
+    }
+    return c;
+}
+
+/* serial_intr - try to feed input characters from serial port */
+void
+serial_intr(void) {
+    if (serial_exists) {
+        cons_intr(serial_proc_data);
+    }
+}
+
+/***** Keyboard input code *****/
+
+#define NO              0
+
+#define SHIFT           (1<<0)
+#define CTL             (1<<1)
+#define ALT             (1<<2)
+
+#define CAPSLOCK        (1<<3)
+#define NUMLOCK         (1<<4)
+#define SCROLLLOCK      (1<<5)
+
+#define E0ESC           (1<<6)
+
+static uint8_t shiftcode[256] = {
+    [0x1D] CTL,
+    [0x2A] SHIFT,
+    [0x36] SHIFT,
+    [0x38] ALT,
+    [0x9D] CTL,
+    [0xB8] ALT
+};
+
+static uint8_t togglecode[256] = {
+    [0x3A] CAPSLOCK,
+    [0x45] NUMLOCK,
+    [0x46] SCROLLLOCK
+};
+
+static uint8_t normalmap[256] = {
+    NO,   0x1B, '1',  '2',  '3',  '4',  '5',  '6',  // 0x00
+    '7',  '8',  '9',  '0',  '-',  '=',  '\b', '\t',
+    'q',  'w',  'e',  'r',  't',  'y',  'u',  'i',  // 0x10
+    'o',  'p',  '[',  ']',  '\n', NO,   'a',  's',
+    'd',  'f',  'g',  'h',  'j',  'k',  'l',  ';',  // 0x20
+    '\'', '`',  NO,   '\\', 'z',  'x',  'c',  'v',
+    'b',  'n',  'm',  ',',  '.',  '/',  NO,   '*',  // 0x30
+    NO,   ' ',  NO,   NO,   NO,   NO,   NO,   NO,
+    NO,   NO,   NO,   NO,   NO,   NO,   NO,   '7',  // 0x40
+    '8',  '9',  '-',  '4',  '5',  '6',  '+',  '1',
+    '2',  '3',  '0',  '.',  NO,   NO,   NO,   NO,   // 0x50
+    [0xC7] KEY_HOME,    [0x9C] '\n' /*KP_Enter*/,
+    [0xB5] '/' /*KP_Div*/,  [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+static uint8_t shiftmap[256] = {
+    NO,   033,  '!',  '@',  '#',  '$',  '%',  '^',  // 0x00
+    '&',  '*',  '(',  ')',  '_',  '+',  '\b', '\t',
+    'Q',  'W',  'E',  'R',  'T',  'Y',  'U',  'I',  // 0x10
+    'O',  'P',  '{',  '}',  '\n', NO,   'A',  'S',
+    'D',  'F',  'G',  'H',  'J',  'K',  'L',  ':',  // 0x20
+    '"',  '~',  NO,   '|',  'Z',  'X',  'C',  'V',
+    'B',  'N',  'M',  '<',  '>',  '?',  NO,   '*',  // 0x30
+    NO,   ' ',  NO,   NO,   NO,   NO,   NO,   NO,
+    NO,   NO,   NO,   NO,   NO,   NO,   NO,   '7',  // 0x40
+    '8',  '9',  '-',  '4',  '5',  '6',  '+',  '1',
+    '2',  '3',  '0',  '.',  NO,   NO,   NO,   NO,   // 0x50
+    [0xC7] KEY_HOME,    [0x9C] '\n' /*KP_Enter*/,
+    [0xB5] '/' /*KP_Div*/,  [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+#define C(x) (x - '@')
+
+static uint8_t ctlmap[256] = {
+    NO,      NO,      NO,      NO,      NO,      NO,      NO,      NO,
+    NO,      NO,      NO,      NO,      NO,      NO,      NO,      NO,
+    C('Q'),  C('W'),  C('E'),  C('R'),  C('T'),  C('Y'),  C('U'),  C('I'),
+    C('O'),  C('P'),  NO,      NO,      '\r',    NO,      C('A'),  C('S'),
+    C('D'),  C('F'),  C('G'),  C('H'),  C('J'),  C('K'),  C('L'),  NO,
+    NO,      NO,      NO,      C('\\'), C('Z'),  C('X'),  C('C'),  C('V'),
+    C('B'),  C('N'),  C('M'),  NO,      NO,      C('/'),  NO,      NO,
+    [0x97] KEY_HOME,
+    [0xB5] C('/'),      [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+static uint8_t *charcode[4] = {
+    normalmap,
+    shiftmap,
+    ctlmap,
+    ctlmap
+};
+
+/* *
+ * kbd_proc_data - get data from keyboard
+ *
+ * The kbd_proc_data() function gets data from the keyboard.
+ * If we finish a character, return it, else 0. And return -1 if no data.
+ * */
+static int
+kbd_proc_data(void) {
+    int c;
+    uint8_t data;
+    static uint32_t shift;
+
+    if ((inb(KBSTATP) & KBS_DIB) == 0) {
+        return -1;
+    }
+
+    data = inb(KBDATAP);
+
+    if (data == 0xE0) {
+        // E0 escape character
+        shift |= E0ESC;
+        return 0;
+    } else if (data & 0x80) {
+        // Key released
+        data = (shift & E0ESC ? data : data & 0x7F);
+        shift &= ~(shiftcode[data] | E0ESC);
+        return 0;
+    } else if (shift & E0ESC) {
+        // Last character was an E0 escape; or with 0x80
+        data |= 0x80;
+        shift &= ~E0ESC;
+    }
+
+    shift |= shiftcode[data];
+    shift ^= togglecode[data];
+
+    c = charcode[shift & (CTL | SHIFT)][data];
+    if (shift & CAPSLOCK) {
+        if ('a' <= c && c <= 'z')
+            c += 'A' - 'a';
+        else if ('A' <= c && c <= 'Z')
+            c += 'a' - 'A';
+    }
+
+    // Process special keys
+    // Ctrl-Alt-Del: reboot
+    if (!(~shift & (CTL | ALT)) && c == KEY_DEL) {
+        cprintf("Rebooting!\n");
+        outb(0x92, 0x3); // courtesy of Chris Frost
+    }
+    return c;
+}
+
+/* kbd_intr - try to feed input characters from keyboard */
+static void
+kbd_intr(void) {
+    cons_intr(kbd_proc_data);
+}
+
+static void
+kbd_init(void) {
+    // drain the kbd buffer
+    kbd_intr();
+    pic_enable(IRQ_KBD);
+}
+
+/* cons_init - initializes the console devices */
+void
+cons_init(void) {
+    cga_init();
+    serial_init();
+    kbd_init();
+    if (!serial_exists) {
+        cprintf("serial port does not exist!!\n");
+    }
+}
+
+/* cons_putc - print a single character @c to console devices */
+void
+cons_putc(int c) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        lpt_putc(c);
+        cga_putc(c);
+        serial_putc(c);
+    }
+    local_intr_restore(intr_flag);
+}
+
+/* *
+ * cons_getc - return the next input character from console,
+ * or 0 if none waiting.
+ * */
+int
+cons_getc(void) {
+    int c = 0;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        // poll for any pending input characters,
+        // so that this function works even when interrupts are disabled
+        // (e.g., when called from the kernel monitor).
+        serial_intr();
+        kbd_intr();
+
+        // grab the next character from the input buffer.
+        if (cons.rpos != cons.wpos) {
+            c = cons.buf[cons.rpos ++];
+            if (cons.rpos == CONSBUFSIZE) {
+                cons.rpos = 0;
+            }
+        }
+    }
+    local_intr_restore(intr_flag);
+    return c;
+}
+
diff --git a/code/lab3/kern/driver/console.h b/code/lab3/kern/driver/console.h
new file mode 100644
index 0000000..72e6167
--- /dev/null
+++ b/code/lab3/kern/driver/console.h
@@ -0,0 +1,11 @@
+#ifndef __KERN_DRIVER_CONSOLE_H__
+#define __KERN_DRIVER_CONSOLE_H__
+
+void cons_init(void);
+void cons_putc(int c);
+int cons_getc(void);
+void serial_intr(void);
+void kbd_intr(void);
+
+#endif /* !__KERN_DRIVER_CONSOLE_H__ */
+
diff --git a/code/lab3/kern/driver/ide.c b/code/lab3/kern/driver/ide.c
new file mode 100644
index 0000000..271cfa8
--- /dev/null
+++ b/code/lab3/kern/driver/ide.c
@@ -0,0 +1,214 @@
+#include <defs.h>
+#include <stdio.h>
+#include <trap.h>
+#include <picirq.h>
+#include <fs.h>
+#include <ide.h>
+#include <x86.h>
+#include <assert.h>
+
+#define ISA_DATA                0x00
+#define ISA_ERROR               0x01
+#define ISA_PRECOMP             0x01
+#define ISA_CTRL                0x02
+#define ISA_SECCNT              0x02
+#define ISA_SECTOR              0x03
+#define ISA_CYL_LO              0x04
+#define ISA_CYL_HI              0x05
+#define ISA_SDH                 0x06
+#define ISA_COMMAND             0x07
+#define ISA_STATUS              0x07
+
+#define IDE_BSY                 0x80
+#define IDE_DRDY                0x40
+#define IDE_DF                  0x20
+#define IDE_DRQ                 0x08
+#define IDE_ERR                 0x01
+
+#define IDE_CMD_READ            0x20
+#define IDE_CMD_WRITE           0x30
+#define IDE_CMD_IDENTIFY        0xEC
+
+#define IDE_IDENT_SECTORS       20
+#define IDE_IDENT_MODEL         54
+#define IDE_IDENT_CAPABILITIES  98
+#define IDE_IDENT_CMDSETS       164
+#define IDE_IDENT_MAX_LBA       120
+#define IDE_IDENT_MAX_LBA_EXT   200
+
+#define IO_BASE0                0x1F0
+#define IO_BASE1                0x170
+#define IO_CTRL0                0x3F4
+#define IO_CTRL1                0x374
+
+#define MAX_IDE                 4
+#define MAX_NSECS               128
+#define MAX_DISK_NSECS          0x10000000U
+#define VALID_IDE(ideno)        (((ideno) >= 0) && ((ideno) < MAX_IDE) && (ide_devices[ideno].valid))
+
+static const struct {
+    unsigned short base;        // I/O Base
+    unsigned short ctrl;        // Control Base
+} channels[2] = {
+    {IO_BASE0, IO_CTRL0},
+    {IO_BASE1, IO_CTRL1},
+};
+
+#define IO_BASE(ideno)          (channels[(ideno) >> 1].base)
+#define IO_CTRL(ideno)          (channels[(ideno) >> 1].ctrl)
+
+static struct ide_device {
+    unsigned char valid;        // 0 or 1 (If Device Really Exists)
+    unsigned int sets;          // Commend Sets Supported
+    unsigned int size;          // Size in Sectors
+    unsigned char model[41];    // Model in String
+} ide_devices[MAX_IDE];
+
+static int
+ide_wait_ready(unsigned short iobase, bool check_error) {
+    int r;
+    while ((r = inb(iobase + ISA_STATUS)) & IDE_BSY)
+        /* nothing */;
+    if (check_error && (r & (IDE_DF | IDE_ERR)) != 0) {
+        return -1;
+    }
+    return 0;
+}
+
+void
+ide_init(void) {
+    static_assert((SECTSIZE % 4) == 0);
+    unsigned short ideno, iobase;
+    for (ideno = 0; ideno < MAX_IDE; ideno ++) {
+        /* assume that no device here */
+        ide_devices[ideno].valid = 0;
+
+        iobase = IO_BASE(ideno);
+
+        /* wait device ready */
+        ide_wait_ready(iobase, 0);
+
+        /* step1: select drive */
+        outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4));
+        ide_wait_ready(iobase, 0);
+
+        /* step2: send ATA identify command */
+        outb(iobase + ISA_COMMAND, IDE_CMD_IDENTIFY);
+        ide_wait_ready(iobase, 0);
+
+        /* step3: polling */
+        if (inb(iobase + ISA_STATUS) == 0 || ide_wait_ready(iobase, 1) != 0) {
+            continue ;
+        }
+
+        /* device is ok */
+        ide_devices[ideno].valid = 1;
+
+        /* read identification space of the device */
+        unsigned int buffer[128];
+        insl(iobase + ISA_DATA, buffer, sizeof(buffer) / sizeof(unsigned int));
+
+        unsigned char *ident = (unsigned char *)buffer;
+        unsigned int sectors;
+        unsigned int cmdsets = *(unsigned int *)(ident + IDE_IDENT_CMDSETS);
+        /* device use 48-bits or 28-bits addressing */
+        if (cmdsets & (1 << 26)) {
+            sectors = *(unsigned int *)(ident + IDE_IDENT_MAX_LBA_EXT);
+        }
+        else {
+            sectors = *(unsigned int *)(ident + IDE_IDENT_MAX_LBA);
+        }
+        ide_devices[ideno].sets = cmdsets;
+        ide_devices[ideno].size = sectors;
+
+        /* check if supports LBA */
+        assert((*(unsigned short *)(ident + IDE_IDENT_CAPABILITIES) & 0x200) != 0);
+
+        unsigned char *model = ide_devices[ideno].model, *data = ident + IDE_IDENT_MODEL;
+        unsigned int i, length = 40;
+        for (i = 0; i < length; i += 2) {
+            model[i] = data[i + 1], model[i + 1] = data[i];
+        }
+        do {
+            model[i] = '\0';
+        } while (i -- > 0 && model[i] == ' ');
+
+        cprintf("ide %d: %10u(sectors), '%s'.\n", ideno, ide_devices[ideno].size, ide_devices[ideno].model);
+    }
+
+    // enable ide interrupt
+    pic_enable(IRQ_IDE1);
+    pic_enable(IRQ_IDE2);
+}
+
+bool
+ide_device_valid(unsigned short ideno) {
+    return VALID_IDE(ideno);
+}
+
+size_t
+ide_device_size(unsigned short ideno) {
+    if (ide_device_valid(ideno)) {
+        return ide_devices[ideno].size;
+    }
+    return 0;
+}
+
+int
+ide_read_secs(unsigned short ideno, uint32_t secno, void *dst, size_t nsecs) {
+    assert(nsecs <= MAX_NSECS && VALID_IDE(ideno));
+    assert(secno < MAX_DISK_NSECS && secno + nsecs <= MAX_DISK_NSECS);
+    unsigned short iobase = IO_BASE(ideno), ioctrl = IO_CTRL(ideno);
+
+    ide_wait_ready(iobase, 0);
+
+    // generate interrupt
+    outb(ioctrl + ISA_CTRL, 0);
+    outb(iobase + ISA_SECCNT, nsecs);
+    outb(iobase + ISA_SECTOR, secno & 0xFF);
+    outb(iobase + ISA_CYL_LO, (secno >> 8) & 0xFF);
+    outb(iobase + ISA_CYL_HI, (secno >> 16) & 0xFF);
+    outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4) | ((secno >> 24) & 0xF));
+    outb(iobase + ISA_COMMAND, IDE_CMD_READ);
+
+    int ret = 0;
+    for (; nsecs > 0; nsecs --, dst += SECTSIZE) {
+        if ((ret = ide_wait_ready(iobase, 1)) != 0) {
+            goto out;
+        }
+        insl(iobase, dst, SECTSIZE / sizeof(uint32_t));
+    }
+
+out:
+    return ret;
+}
+
+int
+ide_write_secs(unsigned short ideno, uint32_t secno, const void *src, size_t nsecs) {
+    assert(nsecs <= MAX_NSECS && VALID_IDE(ideno));
+    assert(secno < MAX_DISK_NSECS && secno + nsecs <= MAX_DISK_NSECS);
+    unsigned short iobase = IO_BASE(ideno), ioctrl = IO_CTRL(ideno);
+
+    ide_wait_ready(iobase, 0);
+
+    // generate interrupt
+    outb(ioctrl + ISA_CTRL, 0);
+    outb(iobase + ISA_SECCNT, nsecs);
+    outb(iobase + ISA_SECTOR, secno & 0xFF);
+    outb(iobase + ISA_CYL_LO, (secno >> 8) & 0xFF);
+    outb(iobase + ISA_CYL_HI, (secno >> 16) & 0xFF);
+    outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4) | ((secno >> 24) & 0xF));
+    outb(iobase + ISA_COMMAND, IDE_CMD_WRITE);
+
+    int ret = 0;
+    for (; nsecs > 0; nsecs --, src += SECTSIZE) {
+        if ((ret = ide_wait_ready(iobase, 1)) != 0) {
+            goto out;
+        }
+        outsl(iobase, src, SECTSIZE / sizeof(uint32_t));
+    }
+
+out:
+    return ret;
+}
+
diff --git a/code/lab3/kern/driver/ide.h b/code/lab3/kern/driver/ide.h
new file mode 100644
index 0000000..3e3fd21
--- /dev/null
+++ b/code/lab3/kern/driver/ide.h
@@ -0,0 +1,14 @@
+#ifndef __KERN_DRIVER_IDE_H__
+#define __KERN_DRIVER_IDE_H__
+
+#include <defs.h>
+
+void ide_init(void);
+bool ide_device_valid(unsigned short ideno);
+size_t ide_device_size(unsigned short ideno);
+
+int ide_read_secs(unsigned short ideno, uint32_t secno, void *dst, size_t nsecs);
+int ide_write_secs(unsigned short ideno, uint32_t secno, const void *src, size_t nsecs);
+
+#endif /* !__KERN_DRIVER_IDE_H__ */
+
diff --git a/code/lab3/kern/driver/intr.c b/code/lab3/kern/driver/intr.c
new file mode 100644
index 0000000..e64da62
--- /dev/null
+++ b/code/lab3/kern/driver/intr.c
@@ -0,0 +1,15 @@
+#include <x86.h>
+#include <intr.h>
+
+/* intr_enable - enable irq interrupt */
+void
+intr_enable(void) {
+    sti();
+}
+
+/* intr_disable - disable irq interrupt */
+void
+intr_disable(void) {
+    cli();
+}
+
diff --git a/code/lab3/kern/driver/intr.h b/code/lab3/kern/driver/intr.h
new file mode 100644
index 0000000..5fdf7a5
--- /dev/null
+++ b/code/lab3/kern/driver/intr.h
@@ -0,0 +1,8 @@
+#ifndef __KERN_DRIVER_INTR_H__
+#define __KERN_DRIVER_INTR_H__
+
+void intr_enable(void);
+void intr_disable(void);
+
+#endif /* !__KERN_DRIVER_INTR_H__ */
+
diff --git a/code/lab3/kern/driver/kbdreg.h b/code/lab3/kern/driver/kbdreg.h
new file mode 100644
index 0000000..00dc49a
--- /dev/null
+++ b/code/lab3/kern/driver/kbdreg.h
@@ -0,0 +1,84 @@
+#ifndef __KERN_DRIVER_KBDREG_H__
+#define __KERN_DRIVER_KBDREG_H__
+
+// Special keycodes
+#define KEY_HOME            0xE0
+#define KEY_END             0xE1
+#define KEY_UP              0xE2
+#define KEY_DN              0xE3
+#define KEY_LF              0xE4
+#define KEY_RT              0xE5
+#define KEY_PGUP            0xE6
+#define KEY_PGDN            0xE7
+#define KEY_INS             0xE8
+#define KEY_DEL             0xE9
+
+
+/* This is i8042reg.h + kbdreg.h from NetBSD. */
+
+#define KBSTATP             0x64    // kbd controller status port(I)
+#define KBS_DIB             0x01    // kbd data in buffer
+#define KBS_IBF             0x02    // kbd input buffer low
+#define KBS_WARM            0x04    // kbd input buffer low
+#define BS_OCMD             0x08    // kbd output buffer has command
+#define KBS_NOSEC           0x10    // kbd security lock not engaged
+#define KBS_TERR            0x20    // kbd transmission error
+#define KBS_RERR            0x40    // kbd receive error
+#define KBS_PERR            0x80    // kbd parity error
+
+#define KBCMDP              0x64    // kbd controller port(O)
+#define KBC_RAMREAD         0x20    // read from RAM
+#define KBC_RAMWRITE        0x60    // write to RAM
+#define KBC_AUXDISABLE      0xa7    // disable auxiliary port
+#define KBC_AUXENABLE       0xa8    // enable auxiliary port
+#define KBC_AUXTEST         0xa9    // test auxiliary port
+#define KBC_KBDECHO         0xd2    // echo to keyboard port
+#define KBC_AUXECHO         0xd3    // echo to auxiliary port
+#define KBC_AUXWRITE        0xd4    // write to auxiliary port
+#define KBC_SELFTEST        0xaa    // start self-test
+#define KBC_KBDTEST         0xab    // test keyboard port
+#define KBC_KBDDISABLE      0xad    // disable keyboard port
+#define KBC_KBDENABLE       0xae    // enable keyboard port
+#define KBC_PULSE0          0xfe    // pulse output bit 0
+#define KBC_PULSE1          0xfd    // pulse output bit 1
+#define KBC_PULSE2          0xfb    // pulse output bit 2
+#define KBC_PULSE3          0xf7    // pulse output bit 3
+
+#define KBDATAP             0x60    // kbd data port(I)
+#define KBOUTP              0x60    // kbd data port(O)
+
+#define K_RDCMDBYTE         0x20
+#define K_LDCMDBYTE         0x60
+
+#define KC8_TRANS           0x40    // convert to old scan codes
+#define KC8_MDISABLE        0x20    // disable mouse
+#define KC8_KDISABLE        0x10    // disable keyboard
+#define KC8_IGNSEC          0x08    // ignore security lock
+#define KC8_CPU             0x04    // exit from protected mode reset
+#define KC8_MENABLE         0x02    // enable mouse interrupt
+#define KC8_KENABLE         0x01    // enable keyboard interrupt
+#define CMDBYTE             (KC8_TRANS|KC8_CPU|KC8_MENABLE|KC8_KENABLE)
+
+/* keyboard commands */
+#define KBC_RESET           0xFF    // reset the keyboard
+#define KBC_RESEND          0xFE    // request the keyboard resend the last byte
+#define KBC_SETDEFAULT      0xF6    // resets keyboard to its power-on defaults
+#define KBC_DISABLE         0xF5    // as per KBC_SETDEFAULT, but also disable key scanning
+#define KBC_ENABLE          0xF4    // enable key scanning
+#define KBC_TYPEMATIC       0xF3    // set typematic rate and delay
+#define KBC_SETTABLE        0xF0    // set scancode translation table
+#define KBC_MODEIND         0xED    // set mode indicators(i.e. LEDs)
+#define KBC_ECHO            0xEE    // request an echo from the keyboard
+
+/* keyboard responses */
+#define KBR_EXTENDED        0xE0    // extended key sequence
+#define KBR_RESEND          0xFE    // needs resend of command
+#define KBR_ACK             0xFA    // received a valid command
+#define KBR_OVERRUN         0x00    // flooded
+#define KBR_FAILURE         0xFD    // diagnosic failure
+#define KBR_BREAK           0xF0    // break code prefix - sent on key release
+#define KBR_RSTDONE         0xAA    // reset complete
+#define KBR_ECHO            0xEE    // echo response
+
+#endif /* !__KERN_DRIVER_KBDREG_H__ */
+
diff --git a/code/lab3/kern/driver/picirq.c b/code/lab3/kern/driver/picirq.c
new file mode 100644
index 0000000..e7f7063
--- /dev/null
+++ b/code/lab3/kern/driver/picirq.c
@@ -0,0 +1,86 @@
+#include <defs.h>
+#include <x86.h>
+#include <picirq.h>
+
+// I/O Addresses of the two programmable interrupt controllers
+#define IO_PIC1             0x20    // Master (IRQs 0-7)
+#define IO_PIC2             0xA0    // Slave (IRQs 8-15)
+
+#define IRQ_SLAVE           2       // IRQ at which slave connects to master
+
+// Current IRQ mask.
+// Initial IRQ mask has interrupt 2 enabled (for slave 8259A).
+static uint16_t irq_mask = 0xFFFF & ~(1 << IRQ_SLAVE);
+static bool did_init = 0;
+
+static void
+pic_setmask(uint16_t mask) {
+    irq_mask = mask;
+    if (did_init) {
+        outb(IO_PIC1 + 1, mask);
+        outb(IO_PIC2 + 1, mask >> 8);
+    }
+}
+
+void
+pic_enable(unsigned int irq) {
+    pic_setmask(irq_mask & ~(1 << irq));
+}
+
+/* pic_init - initialize the 8259A interrupt controllers */
+void
+pic_init(void) {
+    did_init = 1;
+
+    // mask all interrupts
+    outb(IO_PIC1 + 1, 0xFF);
+    outb(IO_PIC2 + 1, 0xFF);
+
+    // Set up master (8259A-1)
+
+    // ICW1:  0001g0hi
+    //    g:  0 = edge triggering, 1 = level triggering
+    //    h:  0 = cascaded PICs, 1 = master only
+    //    i:  0 = no ICW4, 1 = ICW4 required
+    outb(IO_PIC1, 0x11);
+
+    // ICW2:  Vector offset
+    outb(IO_PIC1 + 1, IRQ_OFFSET);
+
+    // ICW3:  (master PIC) bit mask of IR lines connected to slaves
+    //        (slave PIC) 3-bit # of slave's connection to master
+    outb(IO_PIC1 + 1, 1 << IRQ_SLAVE);
+
+    // ICW4:  000nbmap
+    //    n:  1 = special fully nested mode
+    //    b:  1 = buffered mode
+    //    m:  0 = slave PIC, 1 = master PIC
+    //        (ignored when b is 0, as the master/slave role
+    //         can be hardwired).
+    //    a:  1 = Automatic EOI mode
+    //    p:  0 = MCS-80/85 mode, 1 = intel x86 mode
+    outb(IO_PIC1 + 1, 0x3);
+
+    // Set up slave (8259A-2)
+    outb(IO_PIC2, 0x11);    // ICW1
+    outb(IO_PIC2 + 1, IRQ_OFFSET + 8);  // ICW2
+    outb(IO_PIC2 + 1, IRQ_SLAVE);       // ICW3
+    // NB Automatic EOI mode doesn't tend to work on the slave.
+    // Linux source code says it's "to be investigated".
+    outb(IO_PIC2 + 1, 0x3);             // ICW4
+
+    // OCW3:  0ef01prs
+    //   ef:  0x = NOP, 10 = clear specific mask, 11 = set specific mask
+    //    p:  0 = no polling, 1 = polling mode
+    //   rs:  0x = NOP, 10 = read IRR, 11 = read ISR
+    outb(IO_PIC1, 0x68);    // clear specific mask
+    outb(IO_PIC1, 0x0a);    // read IRR by default
+
+    outb(IO_PIC2, 0x68);    // OCW3
+    outb(IO_PIC2, 0x0a);    // OCW3
+
+    if (irq_mask != 0xFFFF) {
+        pic_setmask(irq_mask);
+    }
+}
+
diff --git a/code/lab3/kern/driver/picirq.h b/code/lab3/kern/driver/picirq.h
new file mode 100644
index 0000000..b61e72e
--- /dev/null
+++ b/code/lab3/kern/driver/picirq.h
@@ -0,0 +1,10 @@
+#ifndef __KERN_DRIVER_PICIRQ_H__
+#define __KERN_DRIVER_PICIRQ_H__
+
+void pic_init(void);
+void pic_enable(unsigned int irq);
+
+#define IRQ_OFFSET      32
+
+#endif /* !__KERN_DRIVER_PICIRQ_H__ */
+
diff --git a/code/lab3/kern/fs/fs.h b/code/lab3/kern/fs/fs.h
new file mode 100644
index 0000000..92c05e7
--- /dev/null
+++ b/code/lab3/kern/fs/fs.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_FS_FS_H__
+#define __KERN_FS_FS_H__
+
+#include <mmu.h>
+
+#define SECTSIZE            512
+#define PAGE_NSECT          (PGSIZE / SECTSIZE)
+
+#define SWAP_DEV_NO         1
+
+#endif /* !__KERN_FS_FS_H__ */
+
diff --git a/code/lab3/kern/fs/swapfs.c b/code/lab3/kern/fs/swapfs.c
new file mode 100644
index 0000000..d9f6090
--- /dev/null
+++ b/code/lab3/kern/fs/swapfs.c
@@ -0,0 +1,27 @@
+#include <swap.h>
+#include <swapfs.h>
+#include <mmu.h>
+#include <fs.h>
+#include <ide.h>
+#include <pmm.h>
+#include <assert.h>
+
+void
+swapfs_init(void) {
+    static_assert((PGSIZE % SECTSIZE) == 0);
+    if (!ide_device_valid(SWAP_DEV_NO)) {
+        panic("swap fs isn't available.\n");
+    }
+    max_swap_offset = ide_device_size(SWAP_DEV_NO) / (PGSIZE / SECTSIZE);
+}
+
+int
+swapfs_read(swap_entry_t entry, struct Page *page) {
+    return ide_read_secs(SWAP_DEV_NO, swap_offset(entry) * PAGE_NSECT, page2kva(page), PAGE_NSECT);
+}
+
+int
+swapfs_write(swap_entry_t entry, struct Page *page) {
+    return ide_write_secs(SWAP_DEV_NO, swap_offset(entry) * PAGE_NSECT, page2kva(page), PAGE_NSECT);
+}
+
diff --git a/code/lab3/kern/fs/swapfs.h b/code/lab3/kern/fs/swapfs.h
new file mode 100644
index 0000000..d433926
--- /dev/null
+++ b/code/lab3/kern/fs/swapfs.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_FS_SWAPFS_H__
+#define __KERN_FS_SWAPFS_H__
+
+#include <memlayout.h>
+#include <swap.h>
+
+void swapfs_init(void);
+int swapfs_read(swap_entry_t entry, struct Page *page);
+int swapfs_write(swap_entry_t entry, struct Page *page);
+
+#endif /* !__KERN_FS_SWAPFS_H__ */
+
diff --git a/code/lab3/kern/init/entry.S b/code/lab3/kern/init/entry.S
new file mode 100644
index 0000000..8e37f2a
--- /dev/null
+++ b/code/lab3/kern/init/entry.S
@@ -0,0 +1,49 @@
+#include <mmu.h>
+#include <memlayout.h>
+
+#define REALLOC(x) (x - KERNBASE)
+
+.text
+.globl kern_entry
+kern_entry:
+    # reload temperate gdt (second time) to remap all physical memory
+    # virtual_addr 0~4G=linear_addr&physical_addr -KERNBASE~4G-KERNBASE 
+    lgdt REALLOC(__gdtdesc)
+    movl $KERNEL_DS, %eax
+    movw %ax, %ds
+    movw %ax, %es
+    movw %ax, %ss
+
+    ljmp $KERNEL_CS, $relocated
+
+relocated:
+
+    # set ebp, esp
+    movl $0x0, %ebp
+    # the kernel stack region is from bootstack -- bootstacktop,
+    # the kernel stack size is KSTACKSIZE (8KB)defined in memlayout.h
+    movl $bootstacktop, %esp
+    # now kernel stack is ready , call the first C function
+    call kern_init
+
+# should never get here
+spin:
+    jmp spin
+
+.data
+.align PGSIZE
+    .globl bootstack
+bootstack:
+    .space KSTACKSIZE
+    .globl bootstacktop
+bootstacktop:
+
+.align 4
+__gdt:
+    SEG_NULL
+    SEG_ASM(STA_X | STA_R, - KERNBASE, 0xFFFFFFFF)      # code segment
+    SEG_ASM(STA_W, - KERNBASE, 0xFFFFFFFF)              # data segment
+__gdtdesc:
+    .word 0x17                                          # sizeof(__gdt) - 1
+    .long REALLOC(__gdt)
+
diff --git a/code/lab3/kern/init/init.c b/code/lab3/kern/init/init.c
new file mode 100644
index 0000000..3564c96
--- /dev/null
+++ b/code/lab3/kern/init/init.c
@@ -0,0 +1,112 @@
+#include <defs.h>
+#include <stdio.h>
+#include <string.h>
+#include <console.h>
+#include <kdebug.h>
+#include <picirq.h>
+#include <trap.h>
+#include <clock.h>
+#include <intr.h>
+#include <pmm.h>
+#include <vmm.h>
+#include <ide.h>
+#include <swap.h>
+
+int kern_init(void) __attribute__((noreturn));
+
+static void lab1_switch_test(void);
+
+int
+kern_init(void) {
+    extern char edata[], end[];
+    memset(edata, 0, end - edata);
+
+    cons_init();                // init the console
+
+    const char *message = "(THU.CST) os is loading ...";
+    cprintf("%s\n\n", message);
+
+    print_kerninfo();
+
+    grade_backtrace();
+
+    pmm_init();                 // init physical memory management
+
+    pic_init();                 // init interrupt controller
+    idt_init();                 // init interrupt descriptor table
+
+    vmm_init();                 // init virtual memory management
+
+    ide_init();                 // init ide devices
+    swap_init();                // init swap
+
+    clock_init();               // init clock interrupt
+    intr_enable();              // enable irq interrupt
+
+    //LAB1: CAHLLENGE 1 If you try to do it, uncomment lab1_switch_test()
+    // user/kernel mode switch test
+    //lab1_switch_test();
+
+    /* do nothing */
+    while (1);
+}
+
+void __attribute__((noinline))
+grade_backtrace2(int arg0, int arg1, int arg2, int arg3) {
+    mon_backtrace(0, NULL, NULL);
+}
+
+void __attribute__((noinline))
+grade_backtrace1(int arg0, int arg1) {
+    grade_backtrace2(arg0, (int)&arg0, arg1, (int)&arg1);
+}
+
+void __attribute__((noinline))
+grade_backtrace0(int arg0, int arg1, int arg2) {
+    grade_backtrace1(arg0, arg2);
+}
+
+void
+grade_backtrace(void) {
+    grade_backtrace0(0, (int)kern_init, 0xffff0000);
+}
+
+static void
+lab1_print_cur_status(void) {
+    static int round = 0;
+    uint16_t reg1, reg2, reg3, reg4;
+    asm volatile (
+            "mov %%cs, %0;"
+            "mov %%ds, %1;"
+            "mov %%es, %2;"
+            "mov %%ss, %3;"
+            : "=m"(reg1), "=m"(reg2), "=m"(reg3), "=m"(reg4));
+    cprintf("%d: @ring %d\n", round, reg1 & 3);
+    cprintf("%d:  cs = %x\n", round, reg1);
+    cprintf("%d:  ds = %x\n", round, reg2);
+    cprintf("%d:  es = %x\n", round, reg3);
+    cprintf("%d:  ss = %x\n", round, reg4);
+    round ++;
+}
+
+static void
+lab1_switch_to_user(void) {
+    //LAB1 CHALLENGE 1 : TODO
+}
+
+static void
+lab1_switch_to_kernel(void) {
+    //LAB1 CHALLENGE 1 :  TODO
+}
+
+static void
+lab1_switch_test(void) {
+    lab1_print_cur_status();
+    cprintf("+++ switch to  user  mode +++\n");
+    lab1_switch_to_user();
+    lab1_print_cur_status();
+    cprintf("+++ switch to kernel mode +++\n");
+    lab1_switch_to_kernel();
+    lab1_print_cur_status();
+}
+
diff --git a/code/lab3/kern/libs/readline.c b/code/lab3/kern/libs/readline.c
new file mode 100644
index 0000000..cc1eddb
--- /dev/null
+++ b/code/lab3/kern/libs/readline.c
@@ -0,0 +1,50 @@
+#include <stdio.h>
+
+#define BUFSIZE 1024
+static char buf[BUFSIZE];
+
+/* *
+ * readline - get a line from stdin
+ * @prompt:     the string to be written to stdout
+ *
+ * The readline() function will write the input string @prompt to
+ * stdout first. If the @prompt is NULL or the empty string,
+ * no prompt is issued.
+ *
+ * This function will keep on reading characters and saving them to buffer
+ * 'buf' until '\n' or '\r' is encountered.
+ *
+ * Note that, if the length of string that will be read is longer than
+ * buffer size, the end of string will be discarded.
+ *
+ * The readline() function returns the text of the line read. If some errors
+ * are happened, NULL is returned. The return value is a global variable,
+ * thus it should be copied before it is used.
+ * */
+char *
+readline(const char *prompt) {
+    if (prompt != NULL) {
+        cprintf("%s", prompt);
+    }
+    int i = 0, c;
+    while (1) {
+        c = getchar();
+        if (c < 0) {
+            return NULL;
+        }
+        else if (c >= ' ' && i < BUFSIZE - 1) {
+            cputchar(c);
+            buf[i ++] = c;
+        }
+        else if (c == '\b' && i > 0) {
+            cputchar(c);
+            i --;
+        }
+        else if (c == '\n' || c == '\r') {
+            cputchar(c);
+            buf[i] = '\0';
+            return buf;
+        }
+    }
+}
+
diff --git a/code/lab3/kern/libs/stdio.c b/code/lab3/kern/libs/stdio.c
new file mode 100644
index 0000000..5efefcd
--- /dev/null
+++ b/code/lab3/kern/libs/stdio.c
@@ -0,0 +1,78 @@
+#include <defs.h>
+#include <stdio.h>
+#include <console.h>
+
+/* HIGH level console I/O */
+
+/* *
+ * cputch - writes a single character @c to stdout, and it will
+ * increace the value of counter pointed by @cnt.
+ * */
+static void
+cputch(int c, int *cnt) {
+    cons_putc(c);
+    (*cnt) ++;
+}
+
+/* *
+ * vcprintf - format a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want cprintf() instead.
+ * */
+int
+vcprintf(const char *fmt, va_list ap) {
+    int cnt = 0;
+    vprintfmt((void*)cputch, &cnt, fmt, ap);
+    return cnt;
+}
+
+/* *
+ * cprintf - formats a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ * */
+int
+cprintf(const char *fmt, ...) {
+    va_list ap;
+    int cnt;
+    va_start(ap, fmt);
+    cnt = vcprintf(fmt, ap);
+    va_end(ap);
+    return cnt;
+}
+
+/* cputchar - writes a single character to stdout */
+void
+cputchar(int c) {
+    cons_putc(c);
+}
+
+/* *
+ * cputs- writes the string pointed by @str to stdout and
+ * appends a newline character.
+ * */
+int
+cputs(const char *str) {
+    int cnt = 0;
+    char c;
+    while ((c = *str ++) != '\0') {
+        cputch(c, &cnt);
+    }
+    cputch('\n', &cnt);
+    return cnt;
+}
+
+/* getchar - reads a single non-zero character from stdin */
+int
+getchar(void) {
+    int c;
+    while ((c = cons_getc()) == 0)
+        /* do nothing */;
+    return c;
+}
+
diff --git a/code/lab3/kern/mm/default_pmm.c b/code/lab3/kern/mm/default_pmm.c
new file mode 100644
index 0000000..770a30f
--- /dev/null
+++ b/code/lab3/kern/mm/default_pmm.c
@@ -0,0 +1,272 @@
+#include <pmm.h>
+#include <list.h>
+#include <string.h>
+#include <default_pmm.h>
+
+/* In the first fit algorithm, the allocator keeps a list of free blocks (known as the free list) and,
+   on receiving a request for memory, scans along the list for the first block that is large enough to
+   satisfy the request. If the chosen block is significantly larger than that requested, then it is 
+   usually split, and the remainder added to the list as another free block.
+   Please see Page 196~198, Section 8.2 of Yan Wei Ming's chinese book "Data Structure -- C programming language"
+*/
+// LAB2 EXERCISE 1: YOUR CODE
+// you should rewrite functions: default_init,default_init_memmap,default_alloc_pages, default_free_pages.
+/*
+ * Details of FFMA
+ * (1) Prepare: In order to implement the First-Fit Mem Alloc (FFMA), we should manage the free mem block use some list.
+ *              The struct free_area_t is used for the management of free mem blocks. At first you should
+ *              be familiar to the struct list in list.h. struct list is a simple doubly linked list implementation.
+ *              You should know howto USE: list_init, list_add(list_add_after), list_add_before, list_del, list_next, list_prev
+ *              Another tricky method is to transform a general list struct to a special struct (such as struct page):
+ *              you can find some MACRO: le2page (in memlayout.h), (in future labs: le2vma (in vmm.h), le2proc (in proc.h),etc.)
+ * (2) default_init: you can reuse the  demo default_init fun to init the free_list and set nr_free to 0.
+ *              free_list is used to record the free mem blocks. nr_free is the total number for free mem blocks.
+ * (3) default_init_memmap:  CALL GRAPH: kern_init --> pmm_init-->page_init-->init_memmap--> pmm_manager->init_memmap
+ *              This fun is used to init a free block (with parameter: addr_base, page_number).
+ *              First you should init each page (in memlayout.h) in this free block, include:
+ *                  p->flags should be set bit PG_property (means this page is valid. In pmm_init fun (in pmm.c),
+ *                  the bit PG_reserved is setted in p->flags)
+ *                  if this page  is free and is not the first page of free block, p->property should be set to 0.
+ *                  if this page  is free and is the first page of free block, p->property should be set to total num of block.
+ *                  p->ref should be 0, because now p is free and no reference.
+ *                  We can use p->page_link to link this page to free_list, (such as: list_add_before(&free_list, &(p->page_link)); )
+ *              Finally, we should sum the number of free mem block: nr_free+=n
+ * (4) default_alloc_pages: search find a first free block (block size >=n) in free list and reszie the free block, return the addr
+ *              of malloced block.
+ *              (4.1) So you should search freelist like this:
+ *                       list_entry_t le = &free_list;
+ *                       while((le=list_next(le)) != &free_list) {
+ *                       ....
+ *                 (4.1.1) In while loop, get the struct page and check the p->property (record the num of free block) >=n?
+ *                       struct Page *p = le2page(le, page_link);
+ *                       if(p->property >= n){ ...
+ *                 (4.1.2) If we find this p, then it' means we find a free block(block size >=n), and the first n pages can be malloced.
+ *                     Some flag bits of this page should be setted: PG_reserved =1, PG_property =0
+ *                     unlink the pages from free_list
+ *                     (4.1.2.1) If (p->property >n), we should re-caluclate number of the the rest of this free block,
+ *                           (such as: le2page(le,page_link))->property = p->property - n;)
+ *                 (4.1.3)  re-caluclate nr_free (number of the the rest of all free block)
+ *                 (4.1.4)  return p
+ *               (4.2) If we can not find a free block (block size >=n), then return NULL
+ * (5) default_free_pages: relink the pages into  free list, maybe merge small free blocks into big free blocks.
+ *               (5.1) according the base addr of withdrawed blocks, search free list, find the correct position
+ *                     (from low to high addr), and insert the pages. (may use list_next, le2page, list_add_before)
+ *               (5.2) reset the fields of pages, such as p->ref, p->flags (PageProperty)
+ *               (5.3) try to merge low addr or high addr blocks. Notice: should change some pages's p->property correctly.
+ */
+free_area_t free_area;
+
+#define free_list (free_area.free_list)
+#define nr_free (free_area.nr_free)
+
+static void
+default_init(void) {
+    list_init(&free_list);
+    nr_free = 0;
+}
+
+static void
+default_init_memmap(struct Page *base, size_t n) {
+    assert(n > 0);
+    struct Page *p = base;
+    for (; p != base + n; p ++) {
+        assert(PageReserved(p));
+        p->flags = p->property = 0;
+        set_page_ref(p, 0);
+    }
+    base->property = n;
+    SetPageProperty(base);
+    nr_free += n;
+    list_add(&free_list, &(base->page_link));
+}
+
+static struct Page *
+default_alloc_pages(size_t n) {
+    assert(n > 0);
+    if (n > nr_free) {
+        return NULL;
+    }
+    struct Page *page = NULL;
+    list_entry_t *le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        if (p->property >= n) {
+            page = p;
+            break;
+        }
+    }
+    if (page != NULL) {
+        list_del(&(page->page_link));
+        if (page->property > n) {
+            struct Page *p = page + n;
+            p->property = page->property - n;
+            list_add(&free_list, &(p->page_link));
+    }
+        nr_free -= n;
+        ClearPageProperty(page);
+    }
+    return page;
+}
+
+static void
+default_free_pages(struct Page *base, size_t n) {
+    assert(n > 0);
+    struct Page *p = base;
+    for (; p != base + n; p ++) {
+        assert(!PageReserved(p) && !PageProperty(p));
+        p->flags = 0;
+        set_page_ref(p, 0);
+    }
+    base->property = n;
+    SetPageProperty(base);
+    list_entry_t *le = list_next(&free_list);
+    while (le != &free_list) {
+        p = le2page(le, page_link);
+        le = list_next(le);
+        if (base + base->property == p) {
+            base->property += p->property;
+            ClearPageProperty(p);
+            list_del(&(p->page_link));
+        }
+        else if (p + p->property == base) {
+            p->property += base->property;
+            ClearPageProperty(base);
+            base = p;
+            list_del(&(p->page_link));
+        }
+    }
+    nr_free += n;
+    list_add(&free_list, &(base->page_link));
+}
+
+static size_t
+default_nr_free_pages(void) {
+    return nr_free;
+}
+
+static void
+basic_check(void) {
+    struct Page *p0, *p1, *p2;
+    p0 = p1 = p2 = NULL;
+    assert((p0 = alloc_page()) != NULL);
+    assert((p1 = alloc_page()) != NULL);
+    assert((p2 = alloc_page()) != NULL);
+
+    assert(p0 != p1 && p0 != p2 && p1 != p2);
+    assert(page_ref(p0) == 0 && page_ref(p1) == 0 && page_ref(p2) == 0);
+
+    assert(page2pa(p0) < npage * PGSIZE);
+    assert(page2pa(p1) < npage * PGSIZE);
+    assert(page2pa(p2) < npage * PGSIZE);
+
+    list_entry_t free_list_store = free_list;
+    list_init(&free_list);
+    assert(list_empty(&free_list));
+
+    unsigned int nr_free_store = nr_free;
+    nr_free = 0;
+
+    assert(alloc_page() == NULL);
+
+    free_page(p0);
+    free_page(p1);
+    free_page(p2);
+    assert(nr_free == 3);
+
+    assert((p0 = alloc_page()) != NULL);
+    assert((p1 = alloc_page()) != NULL);
+    assert((p2 = alloc_page()) != NULL);
+
+    assert(alloc_page() == NULL);
+
+    free_page(p0);
+    assert(!list_empty(&free_list));
+
+    struct Page *p;
+    assert((p = alloc_page()) == p0);
+    assert(alloc_page() == NULL);
+
+    assert(nr_free == 0);
+    free_list = free_list_store;
+    nr_free = nr_free_store;
+
+    free_page(p);
+    free_page(p1);
+    free_page(p2);
+}
+
+// LAB2: below code is used to check the first fit allocation algorithm (your EXERCISE 1) 
+// NOTICE: You SHOULD NOT CHANGE basic_check, default_check functions!
+static void
+default_check(void) {
+    int count = 0, total = 0;
+    list_entry_t *le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        assert(PageProperty(p));
+        count ++, total += p->property;
+    }
+    assert(total == nr_free_pages());
+
+    basic_check();
+
+    struct Page *p0 = alloc_pages(5), *p1, *p2;
+    assert(p0 != NULL);
+    assert(!PageProperty(p0));
+
+    list_entry_t free_list_store = free_list;
+    list_init(&free_list);
+    assert(list_empty(&free_list));
+    assert(alloc_page() == NULL);
+
+    unsigned int nr_free_store = nr_free;
+    nr_free = 0;
+
+    free_pages(p0 + 2, 3);
+    assert(alloc_pages(4) == NULL);
+    assert(PageProperty(p0 + 2) && p0[2].property == 3);
+    assert((p1 = alloc_pages(3)) != NULL);
+    assert(alloc_page() == NULL);
+    assert(p0 + 2 == p1);
+
+    p2 = p0 + 1;
+    free_page(p0);
+    free_pages(p1, 3);
+    assert(PageProperty(p0) && p0->property == 1);
+    assert(PageProperty(p1) && p1->property == 3);
+
+    assert((p0 = alloc_page()) == p2 - 1);
+    free_page(p0);
+    assert((p0 = alloc_pages(2)) == p2 + 1);
+
+    free_pages(p0, 2);
+    free_page(p2);
+
+    assert((p0 = alloc_pages(5)) != NULL);
+    assert(alloc_page() == NULL);
+
+    assert(nr_free == 0);
+    nr_free = nr_free_store;
+
+    free_list = free_list_store;
+    free_pages(p0, 5);
+
+    le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        count --, total -= p->property;
+    }
+    assert(count == 0);
+    assert(total == 0);
+}
+
+const struct pmm_manager default_pmm_manager = {
+    .name = "default_pmm_manager",
+    .init = default_init,
+    .init_memmap = default_init_memmap,
+    .alloc_pages = default_alloc_pages,
+    .free_pages = default_free_pages,
+    .nr_free_pages = default_nr_free_pages,
+    .check = default_check,
+};
+
diff --git a/code/lab3/kern/mm/default_pmm.h b/code/lab3/kern/mm/default_pmm.h
new file mode 100644
index 0000000..07352aa
--- /dev/null
+++ b/code/lab3/kern/mm/default_pmm.h
@@ -0,0 +1,9 @@
+#ifndef __KERN_MM_DEFAULT_PMM_H__
+#define  __KERN_MM_DEFAULT_PMM_H__
+
+#include <pmm.h>
+
+extern const struct pmm_manager default_pmm_manager;
+
+#endif /* ! __KERN_MM_DEFAULT_PMM_H__ */
+
diff --git a/code/lab3/kern/mm/memlayout.h b/code/lab3/kern/mm/memlayout.h
new file mode 100644
index 0000000..af4f82e
--- /dev/null
+++ b/code/lab3/kern/mm/memlayout.h
@@ -0,0 +1,133 @@
+#ifndef __KERN_MM_MEMLAYOUT_H__
+#define __KERN_MM_MEMLAYOUT_H__
+
+/* This file contains the definitions for memory management in our OS. */
+
+/* global segment number */
+#define SEG_KTEXT   1
+#define SEG_KDATA   2
+#define SEG_UTEXT   3
+#define SEG_UDATA   4
+#define SEG_TSS     5
+
+/* global descrptor numbers */
+#define GD_KTEXT    ((SEG_KTEXT) << 3)      // kernel text
+#define GD_KDATA    ((SEG_KDATA) << 3)      // kernel data
+#define GD_UTEXT    ((SEG_UTEXT) << 3)      // user text
+#define GD_UDATA    ((SEG_UDATA) << 3)      // user data
+#define GD_TSS      ((SEG_TSS) << 3)        // task segment selector
+
+#define DPL_KERNEL  (0)
+#define DPL_USER    (3)
+
+#define KERNEL_CS   ((GD_KTEXT) | DPL_KERNEL)
+#define KERNEL_DS   ((GD_KDATA) | DPL_KERNEL)
+#define USER_CS     ((GD_UTEXT) | DPL_USER)
+#define USER_DS     ((GD_UDATA) | DPL_USER)
+
+/* *
+ * Virtual memory map:                                          Permissions
+ *                                                              kernel/user
+ *
+ *     4G ------------------> +---------------------------------+
+ *                            |                                 |
+ *                            |         Empty Memory (*)        |
+ *                            |                                 |
+ *                            +---------------------------------+ 0xFB000000
+ *                            |   Cur. Page Table (Kern, RW)    | RW/-- PTSIZE
+ *     VPT -----------------> +---------------------------------+ 0xFAC00000
+ *                            |        Invalid Memory (*)       | --/--
+ *     KERNTOP -------------> +---------------------------------+ 0xF8000000
+ *                            |                                 |
+ *                            |    Remapped Physical Memory     | RW/-- KMEMSIZE
+ *                            |                                 |
+ *     KERNBASE ------------> +---------------------------------+ 0xC0000000
+ *                            |                                 |
+ *                            |                                 |
+ *                            |                                 |
+ *                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * (*) Note: The kernel ensures that "Invalid Memory" is *never* mapped.
+ *     "Empty Memory" is normally unmapped, but user programs may map pages
+ *     there if desired.
+ *
+ * */
+
+/* All physical memory mapped at this address */
+#define KERNBASE            0xC0000000
+#define KMEMSIZE            0x38000000                  // the maximum amount of physical memory
+#define KERNTOP             (KERNBASE + KMEMSIZE)
+
+/* *
+ * Virtual page table. Entry PDX[VPT] in the PD (Page Directory) contains
+ * a pointer to the page directory itself, thereby turning the PD into a page
+ * table, which maps all the PTEs (Page Table Entry) containing the page mappings
+ * for the entire virtual address space into that 4 Meg region starting at VPT.
+ * */
+#define VPT                 0xFAC00000
+
+#define KSTACKPAGE          2                           // # of pages in kernel stack
+#define KSTACKSIZE          (KSTACKPAGE * PGSIZE)       // sizeof kernel stack
+
+#ifndef __ASSEMBLER__
+
+#include <defs.h>
+#include <atomic.h>
+#include <list.h>
+
+typedef uintptr_t pte_t;
+typedef uintptr_t pde_t;
+typedef pte_t swap_entry_t; //the pte can also be a swap entry
+
+// some constants for bios interrupt 15h AX = 0xE820
+#define E820MAX             20      // number of entries in E820MAP
+#define E820_ARM            1       // address range memory
+#define E820_ARR            2       // address range reserved
+
+struct e820map {
+    int nr_map;
+    struct {
+        uint64_t addr;
+        uint64_t size;
+        uint32_t type;
+    } __attribute__((packed)) map[E820MAX];
+};
+
+/* *
+ * struct Page - Page descriptor structures. Each Page describes one
+ * physical page. In kern/mm/pmm.h, you can find lots of useful functions
+ * that convert Page to other data types, such as phyical address.
+ * */
+struct Page {
+    atomic_t ref;                   // page frame's reference counter
+    uint32_t flags;                 // array of flags that describe the status of the page frame
+    unsigned int property;          // the num of free block, used in first fit pm manager
+    list_entry_t page_link;         // free list link
+    list_entry_t pra_page_link;     // used for pra (page replace algorithm)
+    uintptr_t pra_vaddr;            // used for pra (page replace algorithm)
+};
+
+/* Flags describing the status of a page frame */
+#define PG_reserved                 0       // the page descriptor is reserved for kernel or unusable
+#define PG_property                 1       // the member 'property' is valid
+
+#define SetPageReserved(page)       set_bit(PG_reserved, &((page)->flags))
+#define ClearPageReserved(page)     clear_bit(PG_reserved, &((page)->flags))
+#define PageReserved(page)          test_bit(PG_reserved, &((page)->flags))
+#define SetPageProperty(page)       set_bit(PG_property, &((page)->flags))
+#define ClearPageProperty(page)     clear_bit(PG_property, &((page)->flags))
+#define PageProperty(page)          test_bit(PG_property, &((page)->flags))
+
+// convert list entry to page
+#define le2page(le, member)                 \
+    to_struct((le), struct Page, member)
+
+/* free_area_t - maintains a doubly linked list to record free (unused) pages */
+typedef struct {
+    list_entry_t free_list;         // the list header
+    unsigned int nr_free;           // # of free pages in this free list
+} free_area_t;
+
+#endif /* !__ASSEMBLER__ */
+
+#endif /* !__KERN_MM_MEMLAYOUT_H__ */
+
diff --git a/code/lab3/kern/mm/mmu.h b/code/lab3/kern/mm/mmu.h
new file mode 100644
index 0000000..3858ad9
--- /dev/null
+++ b/code/lab3/kern/mm/mmu.h
@@ -0,0 +1,272 @@
+#ifndef __KERN_MM_MMU_H__
+#define __KERN_MM_MMU_H__
+
+/* Eflags register */
+#define FL_CF           0x00000001  // Carry Flag
+#define FL_PF           0x00000004  // Parity Flag
+#define FL_AF           0x00000010  // Auxiliary carry Flag
+#define FL_ZF           0x00000040  // Zero Flag
+#define FL_SF           0x00000080  // Sign Flag
+#define FL_TF           0x00000100  // Trap Flag
+#define FL_IF           0x00000200  // Interrupt Flag
+#define FL_DF           0x00000400  // Direction Flag
+#define FL_OF           0x00000800  // Overflow Flag
+#define FL_IOPL_MASK    0x00003000  // I/O Privilege Level bitmask
+#define FL_IOPL_0       0x00000000  //   IOPL == 0
+#define FL_IOPL_1       0x00001000  //   IOPL == 1
+#define FL_IOPL_2       0x00002000  //   IOPL == 2
+#define FL_IOPL_3       0x00003000  //   IOPL == 3
+#define FL_NT           0x00004000  // Nested Task
+#define FL_RF           0x00010000  // Resume Flag
+#define FL_VM           0x00020000  // Virtual 8086 mode
+#define FL_AC           0x00040000  // Alignment Check
+#define FL_VIF          0x00080000  // Virtual Interrupt Flag
+#define FL_VIP          0x00100000  // Virtual Interrupt Pending
+#define FL_ID           0x00200000  // ID flag
+
+/* Application segment type bits */
+#define STA_X           0x8         // Executable segment
+#define STA_E           0x4         // Expand down (non-executable segments)
+#define STA_C           0x4         // Conforming code segment (executable only)
+#define STA_W           0x2         // Writeable (non-executable segments)
+#define STA_R           0x2         // Readable (executable segments)
+#define STA_A           0x1         // Accessed
+
+/* System segment type bits */
+#define STS_T16A        0x1         // Available 16-bit TSS
+#define STS_LDT         0x2         // Local Descriptor Table
+#define STS_T16B        0x3         // Busy 16-bit TSS
+#define STS_CG16        0x4         // 16-bit Call Gate
+#define STS_TG          0x5         // Task Gate / Coum Transmitions
+#define STS_IG16        0x6         // 16-bit Interrupt Gate
+#define STS_TG16        0x7         // 16-bit Trap Gate
+#define STS_T32A        0x9         // Available 32-bit TSS
+#define STS_T32B        0xB         // Busy 32-bit TSS
+#define STS_CG32        0xC         // 32-bit Call Gate
+#define STS_IG32        0xE         // 32-bit Interrupt Gate
+#define STS_TG32        0xF         // 32-bit Trap Gate
+
+#ifdef __ASSEMBLER__
+
+#define SEG_NULL                                                \
+    .word 0, 0;                                                 \
+    .byte 0, 0, 0, 0
+
+#define SEG_ASM(type,base,lim)                                  \
+    .word (((lim) >> 12) & 0xffff), ((base) & 0xffff);          \
+    .byte (((base) >> 16) & 0xff), (0x90 | (type)),             \
+        (0xC0 | (((lim) >> 28) & 0xf)), (((base) >> 24) & 0xff)
+
+#else /* not __ASSEMBLER__ */
+
+#include <defs.h>
+
+/* Gate descriptors for interrupts and traps */
+struct gatedesc {
+    unsigned gd_off_15_0 : 16;      // low 16 bits of offset in segment
+    unsigned gd_ss : 16;            // segment selector
+    unsigned gd_args : 5;           // # args, 0 for interrupt/trap gates
+    unsigned gd_rsv1 : 3;           // reserved(should be zero I guess)
+    unsigned gd_type : 4;           // type(STS_{TG,IG32,TG32})
+    unsigned gd_s : 1;              // must be 0 (system)
+    unsigned gd_dpl : 2;            // descriptor(meaning new) privilege level
+    unsigned gd_p : 1;              // Present
+    unsigned gd_off_31_16 : 16;     // high bits of offset in segment
+};
+
+/* *
+ * Set up a normal interrupt/trap gate descriptor
+ *   - istrap: 1 for a trap (= exception) gate, 0 for an interrupt gate
+ *   - sel: Code segment selector for interrupt/trap handler
+ *   - off: Offset in code segment for interrupt/trap handler
+ *   - dpl: Descriptor Privilege Level - the privilege level required
+ *          for software to invoke this interrupt/trap gate explicitly
+ *          using an int instruction.
+ * */
+#define SETGATE(gate, istrap, sel, off, dpl) {               \
+        (gate).gd_off_15_0 = (uint32_t)(off) & 0xffff;      \
+        (gate).gd_ss = (sel);                                \
+        (gate).gd_args = 0;                                 \
+        (gate).gd_rsv1 = 0;                                 \
+        (gate).gd_type = (istrap) ? STS_TG32 : STS_IG32;    \
+        (gate).gd_s = 0;                                    \
+        (gate).gd_dpl = (dpl);                              \
+        (gate).gd_p = 1;                                    \
+        (gate).gd_off_31_16 = (uint32_t)(off) >> 16;        \
+    }
+
+/* Set up a call gate descriptor */
+#define SETCALLGATE(gate, ss, off, dpl) {                   \
+        (gate).gd_off_15_0 = (uint32_t)(off) & 0xffff;      \
+        (gate).gd_ss = (ss);                                \
+        (gate).gd_args = 0;                                 \
+        (gate).gd_rsv1 = 0;                                 \
+        (gate).gd_type = STS_CG32;                          \
+        (gate).gd_s = 0;                                    \
+        (gate).gd_dpl = (dpl);                              \
+        (gate).gd_p = 1;                                    \
+        (gate).gd_off_31_16 = (uint32_t)(off) >> 16;        \
+    }
+
+/* segment descriptors */
+struct segdesc {
+    unsigned sd_lim_15_0 : 16;      // low bits of segment limit
+    unsigned sd_base_15_0 : 16;     // low bits of segment base address
+    unsigned sd_base_23_16 : 8;     // middle bits of segment base address
+    unsigned sd_type : 4;           // segment type (see STS_ constants)
+    unsigned sd_s : 1;              // 0 = system, 1 = application
+    unsigned sd_dpl : 2;            // descriptor Privilege Level
+    unsigned sd_p : 1;              // present
+    unsigned sd_lim_19_16 : 4;      // high bits of segment limit
+    unsigned sd_avl : 1;            // unused (available for software use)
+    unsigned sd_rsv1 : 1;           // reserved
+    unsigned sd_db : 1;             // 0 = 16-bit segment, 1 = 32-bit segment
+    unsigned sd_g : 1;              // granularity: limit scaled by 4K when set
+    unsigned sd_base_31_24 : 8;     // high bits of segment base address
+};
+
+#define SEG_NULL                                            \
+    (struct segdesc) {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+
+#define SEG(type, base, lim, dpl)                           \
+    (struct segdesc) {                                      \
+        ((lim) >> 12) & 0xffff, (base) & 0xffff,            \
+        ((base) >> 16) & 0xff, type, 1, dpl, 1,             \
+        (unsigned)(lim) >> 28, 0, 0, 1, 1,                  \
+        (unsigned) (base) >> 24                             \
+    }
+
+#define SEGTSS(type, base, lim, dpl)                        \
+    (struct segdesc) {                                      \
+        (lim) & 0xffff, (base) & 0xffff,                    \
+        ((base) >> 16) & 0xff, type, 0, dpl, 1,             \
+        (unsigned) (lim) >> 16, 0, 0, 1, 0,                 \
+        (unsigned) (base) >> 24                             \
+    }
+
+/* task state segment format (as described by the Pentium architecture book) */
+struct taskstate {
+    uint32_t ts_link;       // old ts selector
+    uintptr_t ts_esp0;      // stack pointers and segment selectors
+    uint16_t ts_ss0;        // after an increase in privilege level
+    uint16_t ts_padding1;
+    uintptr_t ts_esp1;
+    uint16_t ts_ss1;
+    uint16_t ts_padding2;
+    uintptr_t ts_esp2;
+    uint16_t ts_ss2;
+    uint16_t ts_padding3;
+    uintptr_t ts_cr3;       // page directory base
+    uintptr_t ts_eip;       // saved state from last task switch
+    uint32_t ts_eflags;
+    uint32_t ts_eax;        // more saved state (registers)
+    uint32_t ts_ecx;
+    uint32_t ts_edx;
+    uint32_t ts_ebx;
+    uintptr_t ts_esp;
+    uintptr_t ts_ebp;
+    uint32_t ts_esi;
+    uint32_t ts_edi;
+    uint16_t ts_es;         // even more saved state (segment selectors)
+    uint16_t ts_padding4;
+    uint16_t ts_cs;
+    uint16_t ts_padding5;
+    uint16_t ts_ss;
+    uint16_t ts_padding6;
+    uint16_t ts_ds;
+    uint16_t ts_padding7;
+    uint16_t ts_fs;
+    uint16_t ts_padding8;
+    uint16_t ts_gs;
+    uint16_t ts_padding9;
+    uint16_t ts_ldt;
+    uint16_t ts_padding10;
+    uint16_t ts_t;          // trap on task switch
+    uint16_t ts_iomb;       // i/o map base address
+} __attribute__((packed));
+
+#endif /* !__ASSEMBLER__ */
+
+// A linear address 'la' has a three-part structure as follows:
+//
+// +--------10------+-------10-------+---------12----------+
+// | Page Directory |   Page Table   | Offset within Page  |
+// |      Index     |     Index      |                     |
+// +----------------+----------------+---------------------+
+//  \--- PDX(la) --/ \--- PTX(la) --/ \---- PGOFF(la) ----/
+//  \----------- PPN(la) -----------/
+//
+// The PDX, PTX, PGOFF, and PPN macros decompose linear addresses as shown.
+// To construct a linear address la from PDX(la), PTX(la), and PGOFF(la),
+// use PGADDR(PDX(la), PTX(la), PGOFF(la)).
+
+// page directory index
+#define PDX(la) ((((uintptr_t)(la)) >> PDXSHIFT) & 0x3FF)
+
+// page table index
+#define PTX(la) ((((uintptr_t)(la)) >> PTXSHIFT) & 0x3FF)
+
+// page number field of address
+#define PPN(la) (((uintptr_t)(la)) >> PTXSHIFT)
+
+// offset in page
+#define PGOFF(la) (((uintptr_t)(la)) & 0xFFF)
+
+// construct linear address from indexes and offset
+#define PGADDR(d, t, o) ((uintptr_t)((d) << PDXSHIFT | (t) << PTXSHIFT | (o)))
+
+// address in page table or page directory entry
+#define PTE_ADDR(pte)   ((uintptr_t)(pte) & ~0xFFF)
+#define PDE_ADDR(pde)   PTE_ADDR(pde)
+
+/* page directory and page table constants */
+#define NPDEENTRY       1024                    // page directory entries per page directory
+#define NPTEENTRY       1024                    // page table entries per page table
+
+#define PGSIZE          4096                    // bytes mapped by a page
+#define PGSHIFT         12                      // log2(PGSIZE)
+#define PTSIZE          (PGSIZE * NPTEENTRY)    // bytes mapped by a page directory entry
+#define PTSHIFT         22                      // log2(PTSIZE)
+
+#define PTXSHIFT        12                      // offset of PTX in a linear address
+#define PDXSHIFT        22                      // offset of PDX in a linear address
+
+/* page table/directory entry flags */
+#define PTE_P           0x001                   // Present
+#define PTE_W           0x002                   // Writeable
+#define PTE_U           0x004                   // User
+#define PTE_PWT         0x008                   // Write-Through
+#define PTE_PCD         0x010                   // Cache-Disable
+#define PTE_A           0x020                   // Accessed
+#define PTE_D           0x040                   // Dirty
+#define PTE_PS          0x080                   // Page Size
+#define PTE_MBZ         0x180                   // Bits must be zero
+#define PTE_AVAIL       0xE00                   // Available for software use
+                                                // The PTE_AVAIL bits aren't used by the kernel or interpreted by the
+                                                // hardware, so user processes are allowed to set them arbitrarily.
+
+#define PTE_USER        (PTE_U | PTE_W | PTE_P)
+
+/* Control Register flags */
+#define CR0_PE          0x00000001              // Protection Enable
+#define CR0_MP          0x00000002              // Monitor coProcessor
+#define CR0_EM          0x00000004              // Emulation
+#define CR0_TS          0x00000008              // Task Switched
+#define CR0_ET          0x00000010              // Extension Type
+#define CR0_NE          0x00000020              // Numeric Errror
+#define CR0_WP          0x00010000              // Write Protect
+#define CR0_AM          0x00040000              // Alignment Mask
+#define CR0_NW          0x20000000              // Not Writethrough
+#define CR0_CD          0x40000000              // Cache Disable
+#define CR0_PG          0x80000000              // Paging
+
+#define CR4_PCE         0x00000100              // Performance counter enable
+#define CR4_MCE         0x00000040              // Machine Check Enable
+#define CR4_PSE         0x00000010              // Page Size Extensions
+#define CR4_DE          0x00000008              // Debugging Extensions
+#define CR4_TSD         0x00000004              // Time Stamp Disable
+#define CR4_PVI         0x00000002              // Protected-Mode Virtual Interrupts
+#define CR4_VME         0x00000001              // V86 Mode Extensions
+
+#endif /* !__KERN_MM_MMU_H__ */
+
diff --git a/code/lab3/kern/mm/pmm.c b/code/lab3/kern/mm/pmm.c
new file mode 100644
index 0000000..3b63deb
--- /dev/null
+++ b/code/lab3/kern/mm/pmm.c
@@ -0,0 +1,684 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <default_pmm.h>
+#include <sync.h>
+#include <error.h>
+#include <swap.h>
+#include <vmm.h>
+
+/* *
+ * Task State Segment:
+ *
+ * The TSS may reside anywhere in memory. A special segment register called
+ * the Task Register (TR) holds a segment selector that points a valid TSS
+ * segment descriptor which resides in the GDT. Therefore, to use a TSS
+ * the following must be done in function gdt_init:
+ *   - create a TSS descriptor entry in GDT
+ *   - add enough information to the TSS in memory as needed
+ *   - load the TR register with a segment selector for that segment
+ *
+ * There are several fileds in TSS for specifying the new stack pointer when a
+ * privilege level change happens. But only the fields SS0 and ESP0 are useful
+ * in our os kernel.
+ *
+ * The field SS0 contains the stack segment selector for CPL = 0, and the ESP0
+ * contains the new ESP value for CPL = 0. When an interrupt happens in protected
+ * mode, the x86 CPU will look in the TSS for SS0 and ESP0 and load their value
+ * into SS and ESP respectively.
+ * */
+static struct taskstate ts = {0};
+
+// virtual address of physicall page array
+struct Page *pages;
+// amount of physical memory (in pages)
+size_t npage = 0;
+
+// virtual address of boot-time page directory
+pde_t *boot_pgdir = NULL;
+// physical address of boot-time page directory
+uintptr_t boot_cr3;
+
+// physical memory management
+const struct pmm_manager *pmm_manager;
+
+/* *
+ * The page directory entry corresponding to the virtual address range
+ * [VPT, VPT + PTSIZE) points to the page directory itself. Thus, the page
+ * directory is treated as a page table as well as a page directory.
+ *
+ * One result of treating the page directory as a page table is that all PTEs
+ * can be accessed though a "virtual page table" at virtual address VPT. And the
+ * PTE for number n is stored in vpt[n].
+ *
+ * A second consequence is that the contents of the current page directory will
+ * always available at virtual address PGADDR(PDX(VPT), PDX(VPT), 0), to which
+ * vpd is set bellow.
+ * */
+pte_t * const vpt = (pte_t *)VPT;
+pde_t * const vpd = (pde_t *)PGADDR(PDX(VPT), PDX(VPT), 0);
+
+/* *
+ * Global Descriptor Table:
+ *
+ * The kernel and user segments are identical (except for the DPL). To load
+ * the %ss register, the CPL must equal the DPL. Thus, we must duplicate the
+ * segments for the user and the kernel. Defined as follows:
+ *   - 0x0 :  unused (always faults -- for trapping NULL far pointers)
+ *   - 0x8 :  kernel code segment
+ *   - 0x10:  kernel data segment
+ *   - 0x18:  user code segment
+ *   - 0x20:  user data segment
+ *   - 0x28:  defined for tss, initialized in gdt_init
+ * */
+static struct segdesc gdt[] = {
+    SEG_NULL,
+    [SEG_KTEXT] = SEG(STA_X | STA_R, 0x0, 0xFFFFFFFF, DPL_KERNEL),
+    [SEG_KDATA] = SEG(STA_W, 0x0, 0xFFFFFFFF, DPL_KERNEL),
+    [SEG_UTEXT] = SEG(STA_X | STA_R, 0x0, 0xFFFFFFFF, DPL_USER),
+    [SEG_UDATA] = SEG(STA_W, 0x0, 0xFFFFFFFF, DPL_USER),
+    [SEG_TSS]   = SEG_NULL,
+};
+
+static struct pseudodesc gdt_pd = {
+    sizeof(gdt) - 1, (uintptr_t)gdt
+};
+
+static void check_alloc_page(void);
+static void check_pgdir(void);
+static void check_boot_pgdir(void);
+
+/* *
+ * lgdt - load the global descriptor table register and reset the
+ * data/code segement registers for kernel.
+ * */
+static inline void
+lgdt(struct pseudodesc *pd) {
+    asm volatile ("lgdt (%0)" :: "r" (pd));
+    asm volatile ("movw %%ax, %%gs" :: "a" (USER_DS));
+    asm volatile ("movw %%ax, %%fs" :: "a" (USER_DS));
+    asm volatile ("movw %%ax, %%es" :: "a" (KERNEL_DS));
+    asm volatile ("movw %%ax, %%ds" :: "a" (KERNEL_DS));
+    asm volatile ("movw %%ax, %%ss" :: "a" (KERNEL_DS));
+    // reload cs
+    asm volatile ("ljmp %0, $1f\n 1:\n" :: "i" (KERNEL_CS));
+}
+
+/* *
+ * load_esp0 - change the ESP0 in default task state segment,
+ * so that we can use different kernel stack when we trap frame
+ * user to kernel.
+ * */
+void
+load_esp0(uintptr_t esp0) {
+    ts.ts_esp0 = esp0;
+}
+
+/* gdt_init - initialize the default GDT and TSS */
+static void
+gdt_init(void) {
+    // set boot kernel stack and default SS0
+    load_esp0((uintptr_t)bootstacktop);
+    ts.ts_ss0 = KERNEL_DS;
+
+    // initialize the TSS filed of the gdt
+    gdt[SEG_TSS] = SEGTSS(STS_T32A, (uintptr_t)&ts, sizeof(ts), DPL_KERNEL);
+
+    // reload all segment registers
+    lgdt(&gdt_pd);
+
+    // load the TSS
+    ltr(GD_TSS);
+}
+
+//init_pmm_manager - initialize a pmm_manager instance
+static void
+init_pmm_manager(void) {
+    pmm_manager = &default_pmm_manager;
+    cprintf("memory management: %s\n", pmm_manager->name);
+    pmm_manager->init();
+}
+
+//init_memmap - call pmm->init_memmap to build Page struct for free memory  
+static void
+init_memmap(struct Page *base, size_t n) {
+    pmm_manager->init_memmap(base, n);
+}
+
+//alloc_pages - call pmm->alloc_pages to allocate a continuous n*PAGESIZE memory 
+struct Page *
+alloc_pages(size_t n) {
+    struct Page *page=NULL;
+    bool intr_flag;
+    
+    while (1)
+    {
+         local_intr_save(intr_flag);
+         {
+              page = pmm_manager->alloc_pages(n);
+         }
+         local_intr_restore(intr_flag);
+
+         if (page != NULL || n > 1 || swap_init_ok == 0) break;
+         
+         extern struct mm_struct *check_mm_struct;
+         //cprintf("page %x, call swap_out in alloc_pages %d\n",page, n);
+         swap_out(check_mm_struct, n, 0);
+    }
+    //cprintf("n %d,get page %x, No %d in alloc_pages\n",n,page,(page-pages));
+    return page;
+}
+
+//free_pages - call pmm->free_pages to free a continuous n*PAGESIZE memory 
+void
+free_pages(struct Page *base, size_t n) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        pmm_manager->free_pages(base, n);
+    }
+    local_intr_restore(intr_flag);
+}
+
+//nr_free_pages - call pmm->nr_free_pages to get the size (nr*PAGESIZE) 
+//of current free memory
+size_t
+nr_free_pages(void) {
+    size_t ret;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        ret = pmm_manager->nr_free_pages();
+    }
+    local_intr_restore(intr_flag);
+    return ret;
+}
+
+/* pmm_init - initialize the physical memory management */
+static void
+page_init(void) {
+    struct e820map *memmap = (struct e820map *)(0x8000 + KERNBASE);
+    uint64_t maxpa = 0;
+
+    cprintf("e820map:\n");
+    int i;
+    for (i = 0; i < memmap->nr_map; i ++) {
+        uint64_t begin = memmap->map[i].addr, end = begin + memmap->map[i].size;
+        cprintf("  memory: %08llx, [%08llx, %08llx], type = %d.\n",
+                memmap->map[i].size, begin, end - 1, memmap->map[i].type);
+        if (memmap->map[i].type == E820_ARM) {
+            if (maxpa < end && begin < KMEMSIZE) {
+                maxpa = end;
+            }
+        }
+    }
+    if (maxpa > KMEMSIZE) {
+        maxpa = KMEMSIZE;
+    }
+
+    extern char end[];
+
+    npage = maxpa / PGSIZE;
+    pages = (struct Page *)ROUNDUP((void *)end, PGSIZE);
+
+    for (i = 0; i < npage; i ++) {
+        SetPageReserved(pages + i);
+    }
+
+    uintptr_t freemem = PADDR((uintptr_t)pages + sizeof(struct Page) * npage);
+
+    for (i = 0; i < memmap->nr_map; i ++) {
+        uint64_t begin = memmap->map[i].addr, end = begin + memmap->map[i].size;
+        if (memmap->map[i].type == E820_ARM) {
+            if (begin < freemem) {
+                begin = freemem;
+            }
+            if (end > KMEMSIZE) {
+                end = KMEMSIZE;
+            }
+            if (begin < end) {
+                begin = ROUNDUP(begin, PGSIZE);
+                end = ROUNDDOWN(end, PGSIZE);
+                if (begin < end) {
+                    init_memmap(pa2page(begin), (end - begin) / PGSIZE);
+                }
+            }
+        }
+    }
+}
+
+static void
+enable_paging(void) {
+    lcr3(boot_cr3);
+
+    // turn on paging
+    uint32_t cr0 = rcr0();
+    cr0 |= CR0_PE | CR0_PG | CR0_AM | CR0_WP | CR0_NE | CR0_TS | CR0_EM | CR0_MP;
+    cr0 &= ~(CR0_TS | CR0_EM);
+    lcr0(cr0);
+}
+
+//boot_map_segment - setup&enable the paging mechanism
+// parameters
+//  la:   linear address of this memory need to map (after x86 segment map)
+//  size: memory size
+//  pa:   physical address of this memory
+//  perm: permission of this memory  
+static void
+boot_map_segment(pde_t *pgdir, uintptr_t la, size_t size, uintptr_t pa, uint32_t perm) {
+    assert(PGOFF(la) == PGOFF(pa));
+    size_t n = ROUNDUP(size + PGOFF(la), PGSIZE) / PGSIZE;
+    la = ROUNDDOWN(la, PGSIZE);
+    pa = ROUNDDOWN(pa, PGSIZE);
+    for (; n > 0; n --, la += PGSIZE, pa += PGSIZE) {
+        pte_t *ptep = get_pte(pgdir, la, 1);
+        assert(ptep != NULL);
+        *ptep = pa | PTE_P | perm;
+    }
+}
+
+//boot_alloc_page - allocate one page using pmm->alloc_pages(1) 
+// return value: the kernel virtual address of this allocated page
+//note: this function is used to get the memory for PDT(Page Directory Table)&PT(Page Table)
+static void *
+boot_alloc_page(void) {
+    struct Page *p = alloc_page();
+    if (p == NULL) {
+        panic("boot_alloc_page failed.\n");
+    }
+    return page2kva(p);
+}
+
+//pmm_init - setup a pmm to manage physical memory, build PDT&PT to setup paging mechanism 
+//         - check the correctness of pmm & paging mechanism, print PDT&PT
+void
+pmm_init(void) {
+    //We need to alloc/free the physical memory (granularity is 4KB or other size). 
+    //So a framework of physical memory manager (struct pmm_manager)is defined in pmm.h
+    //First we should init a physical memory manager(pmm) based on the framework.
+    //Then pmm can alloc/free the physical memory. 
+    //Now the first_fit/best_fit/worst_fit/buddy_system pmm are available.
+    init_pmm_manager();
+
+    // detect physical memory space, reserve already used memory,
+    // then use pmm->init_memmap to create free page list
+    page_init();
+
+    //use pmm->check to verify the correctness of the alloc/free function in a pmm
+    check_alloc_page();
+
+    // create boot_pgdir, an initial page directory(Page Directory Table, PDT)
+    boot_pgdir = boot_alloc_page();
+    memset(boot_pgdir, 0, PGSIZE);
+    boot_cr3 = PADDR(boot_pgdir);
+
+    check_pgdir();
+
+    static_assert(KERNBASE % PTSIZE == 0 && KERNTOP % PTSIZE == 0);
+
+    // recursively insert boot_pgdir in itself
+    // to form a virtual page table at virtual address VPT
+    boot_pgdir[PDX(VPT)] = PADDR(boot_pgdir) | PTE_P | PTE_W;
+
+    // map all physical memory to linear memory with base linear addr KERNBASE
+    //linear_addr KERNBASE~KERNBASE+KMEMSIZE = phy_addr 0~KMEMSIZE
+    //But shouldn't use this map until enable_paging() & gdt_init() finished.
+    boot_map_segment(boot_pgdir, KERNBASE, KMEMSIZE, 0, PTE_W);
+
+    //temporary map: 
+    //virtual_addr 3G~3G+4M = linear_addr 0~4M = linear_addr 3G~3G+4M = phy_addr 0~4M     
+    boot_pgdir[0] = boot_pgdir[PDX(KERNBASE)];
+
+    enable_paging();
+
+    //reload gdt(third time,the last time) to map all physical memory
+    //virtual_addr 0~4G=liear_addr 0~4G
+    //then set kernel stack(ss:esp) in TSS, setup TSS in gdt, load TSS
+    gdt_init();
+
+    //disable the map of virtual_addr 0~4M
+    boot_pgdir[0] = 0;
+
+    //now the basic virtual memory map(see memalyout.h) is established.
+    //check the correctness of the basic virtual memory map.
+    check_boot_pgdir();
+
+    print_pgdir();
+
+}
+
+//get_pte - get pte and return the kernel virtual address of this pte for la
+//        - if the PT contians this pte didn't exist, alloc a page for PT
+// parameter:
+//  pgdir:  the kernel virtual base address of PDT
+//  la:     the linear address need to map
+//  create: a logical value to decide if alloc a page for PT
+// return vaule: the kernel virtual address of this pte
+pte_t *
+get_pte(pde_t *pgdir, uintptr_t la, bool create) {
+    /* LAB2 EXERCISE 2: YOUR CODE
+     *
+     * If you need to visit a physical address, please use KADDR()
+     * please read pmm.h for useful macros
+     *
+     * Maybe you want help comment, BELOW comments can help you finish the code
+     *
+     * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   PDX(la) = the index of page directory entry of VIRTUAL ADDRESS la.
+     *   KADDR(pa) : takes a physical address and returns the corresponding kernel virtual address.
+     *   set_page_ref(page,1) : means the page be referenced by one time
+     *   page2pa(page): get the physical address of memory which this (struct Page *) page  manages
+     *   struct Page * alloc_page() : allocation a page
+     *   memset(void *s, char c, size_t n) : sets the first n bytes of the memory area pointed by s
+     *                                       to the specified value c.
+     * DEFINEs:
+     *   PTE_P           0x001                   // page table/directory entry flags bit : Present
+     *   PTE_W           0x002                   // page table/directory entry flags bit : Writeable
+     *   PTE_U           0x004                   // page table/directory entry flags bit : User can access
+     */
+#if 0
+    pde_t *pdep = NULL;   // (1) find page directory entry
+    if (0) {              // (2) check if entry is not present
+                          // (3) check if creating is needed, then alloc page for page table
+                          // CAUTION: this page is used for page table, not for common data page
+                          // (4) set page reference
+        uintptr_t pa = 0; // (5) get linear address of page
+                          // (6) clear page content using memset
+                          // (7) set page directory entry's permission
+    }
+    return NULL;          // (8) return page table entry
+#endif
+}
+
+//get_page - get related Page struct for linear address la using PDT pgdir
+struct Page *
+get_page(pde_t *pgdir, uintptr_t la, pte_t **ptep_store) {
+    pte_t *ptep = get_pte(pgdir, la, 0);
+    if (ptep_store != NULL) {
+        *ptep_store = ptep;
+    }
+    if (ptep != NULL && *ptep & PTE_P) {
+        return pa2page(*ptep);
+    }
+    return NULL;
+}
+
+//page_remove_pte - free an Page sturct which is related linear address la
+//                - and clean(invalidate) pte which is related linear address la
+//note: PT is changed, so the TLB need to be invalidate 
+static inline void
+page_remove_pte(pde_t *pgdir, uintptr_t la, pte_t *ptep) {
+    /* LAB2 EXERCISE 3: YOUR CODE
+     *
+     * Please check if ptep is valid, and tlb must be manually updated if mapping is updated
+     *
+     * Maybe you want help comment, BELOW comments can help you finish the code
+     *
+     * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   struct Page *page pte2page(*ptep): get the according page from the value of a ptep
+     *   free_page : free a page
+     *   page_ref_dec(page) : decrease page->ref. NOTICE: ff page->ref == 0 , then this page should be free.
+     *   tlb_invalidate(pde_t *pgdir, uintptr_t la) : Invalidate a TLB entry, but only if the page tables being
+     *                        edited are the ones currently in use by the processor.
+     * DEFINEs:
+     *   PTE_P           0x001                   // page table/directory entry flags bit : Present
+     */
+#if 0
+    if (0) {                      //(1) check if page directory is present
+        struct Page *page = NULL; //(2) find corresponding page to pte
+                                  //(3) decrease page reference
+                                  //(4) and free this page when page reference reachs 0
+                                  //(5) clear second page table entry
+                                  //(6) flush tlb
+    }
+#endif
+}
+
+//page_remove - free an Page which is related linear address la and has an validated pte
+void
+page_remove(pde_t *pgdir, uintptr_t la) {
+    pte_t *ptep = get_pte(pgdir, la, 0);
+    if (ptep != NULL) {
+        page_remove_pte(pgdir, la, ptep);
+    }
+}
+
+//page_insert - build the map of phy addr of an Page with the linear addr la
+// paramemters:
+//  pgdir: the kernel virtual base address of PDT
+//  page:  the Page which need to map
+//  la:    the linear address need to map
+//  perm:  the permission of this Page which is setted in related pte
+// return value: always 0
+//note: PT is changed, so the TLB need to be invalidate 
+int
+page_insert(pde_t *pgdir, struct Page *page, uintptr_t la, uint32_t perm) {
+    pte_t *ptep = get_pte(pgdir, la, 1);
+    if (ptep == NULL) {
+        return -E_NO_MEM;
+    }
+    page_ref_inc(page);
+    if (*ptep & PTE_P) {
+        struct Page *p = pte2page(*ptep);
+        if (p == page) {
+            page_ref_dec(page);
+        }
+        else {
+            page_remove_pte(pgdir, la, ptep);
+        }
+    }
+    *ptep = page2pa(page) | PTE_P | perm;
+    tlb_invalidate(pgdir, la);
+    return 0;
+}
+
+// invalidate a TLB entry, but only if the page tables being
+// edited are the ones currently in use by the processor.
+void
+tlb_invalidate(pde_t *pgdir, uintptr_t la) {
+    if (rcr3() == PADDR(pgdir)) {
+        invlpg((void *)la);
+    }
+}
+
+// pgdir_alloc_page - call alloc_page & page_insert functions to 
+//                  - allocate a page size memory & setup an addr map
+//                  - pa<->la with linear address la and the PDT pgdir
+struct Page *
+pgdir_alloc_page(pde_t *pgdir, uintptr_t la, uint32_t perm) {
+    struct Page *page = alloc_page();
+    if (page != NULL) {
+        if (page_insert(pgdir, page, la, perm) != 0) {
+            free_page(page);
+            return NULL;
+        }
+        if (swap_init_ok){
+            swap_map_swappable(check_mm_struct, la, page, 0);
+            page->pra_vaddr=la;
+            assert(page_ref(page) == 1);
+            //cprintf("get No. %d  page: pra_vaddr %x, pra_link.prev %x, pra_link_next %x in pgdir_alloc_page\n", (page-pages), page->pra_vaddr,page->pra_page_link.prev, page->pra_page_link.next);
+        }
+
+    }
+
+    return page;
+}
+
+static void
+check_alloc_page(void) {
+    pmm_manager->check();
+    cprintf("check_alloc_page() succeeded!\n");
+}
+
+static void
+check_pgdir(void) {
+    assert(npage <= KMEMSIZE / PGSIZE);
+    assert(boot_pgdir != NULL && (uint32_t)PGOFF(boot_pgdir) == 0);
+    assert(get_page(boot_pgdir, 0x0, NULL) == NULL);
+
+    struct Page *p1, *p2;
+    p1 = alloc_page();
+    assert(page_insert(boot_pgdir, p1, 0x0, 0) == 0);
+
+    pte_t *ptep;
+    assert((ptep = get_pte(boot_pgdir, 0x0, 0)) != NULL);
+    assert(pa2page(*ptep) == p1);
+    assert(page_ref(p1) == 1);
+
+    ptep = &((pte_t *)KADDR(PDE_ADDR(boot_pgdir[0])))[1];
+    assert(get_pte(boot_pgdir, PGSIZE, 0) == ptep);
+
+    p2 = alloc_page();
+    assert(page_insert(boot_pgdir, p2, PGSIZE, PTE_U | PTE_W) == 0);
+    assert((ptep = get_pte(boot_pgdir, PGSIZE, 0)) != NULL);
+    assert(*ptep & PTE_U);
+    assert(*ptep & PTE_W);
+    assert(boot_pgdir[0] & PTE_U);
+    assert(page_ref(p2) == 1);
+
+    assert(page_insert(boot_pgdir, p1, PGSIZE, 0) == 0);
+    assert(page_ref(p1) == 2);
+    assert(page_ref(p2) == 0);
+    assert((ptep = get_pte(boot_pgdir, PGSIZE, 0)) != NULL);
+    assert(pa2page(*ptep) == p1);
+    assert((*ptep & PTE_U) == 0);
+
+    page_remove(boot_pgdir, 0x0);
+    assert(page_ref(p1) == 1);
+    assert(page_ref(p2) == 0);
+
+    page_remove(boot_pgdir, PGSIZE);
+    assert(page_ref(p1) == 0);
+    assert(page_ref(p2) == 0);
+
+    assert(page_ref(pa2page(boot_pgdir[0])) == 1);
+    free_page(pa2page(boot_pgdir[0]));
+    boot_pgdir[0] = 0;
+
+    cprintf("check_pgdir() succeeded!\n");
+}
+
+static void
+check_boot_pgdir(void) {
+    pte_t *ptep;
+    int i;
+    for (i = 0; i < npage; i += PGSIZE) {
+        assert((ptep = get_pte(boot_pgdir, (uintptr_t)KADDR(i), 0)) != NULL);
+        assert(PTE_ADDR(*ptep) == i);
+    }
+
+    assert(PDE_ADDR(boot_pgdir[PDX(VPT)]) == PADDR(boot_pgdir));
+
+    assert(boot_pgdir[0] == 0);
+
+    struct Page *p;
+    p = alloc_page();
+    assert(page_insert(boot_pgdir, p, 0x100, PTE_W) == 0);
+    assert(page_ref(p) == 1);
+    assert(page_insert(boot_pgdir, p, 0x100 + PGSIZE, PTE_W) == 0);
+    assert(page_ref(p) == 2);
+
+    const char *str = "ucore: Hello world!!";
+    strcpy((void *)0x100, str);
+    assert(strcmp((void *)0x100, (void *)(0x100 + PGSIZE)) == 0);
+
+    *(char *)(page2kva(p) + 0x100) = '\0';
+    assert(strlen((const char *)0x100) == 0);
+
+    free_page(p);
+    free_page(pa2page(PDE_ADDR(boot_pgdir[0])));
+    boot_pgdir[0] = 0;
+
+    cprintf("check_boot_pgdir() succeeded!\n");
+}
+
+//perm2str - use string 'u,r,w,-' to present the permission
+static const char *
+perm2str(int perm) {
+    static char str[4];
+    str[0] = (perm & PTE_U) ? 'u' : '-';
+    str[1] = 'r';
+    str[2] = (perm & PTE_W) ? 'w' : '-';
+    str[3] = '\0';
+    return str;
+}
+
+//get_pgtable_items - In [left, right] range of PDT or PT, find a continuous linear addr space
+//                  - (left_store*X_SIZE~right_store*X_SIZE) for PDT or PT
+//                  - X_SIZE=PTSIZE=4M, if PDT; X_SIZE=PGSIZE=4K, if PT
+// paramemters:
+//  left:        no use ???
+//  right:       the high side of table's range
+//  start:       the low side of table's range
+//  table:       the beginning addr of table
+//  left_store:  the pointer of the high side of table's next range
+//  right_store: the pointer of the low side of table's next range
+// return value: 0 - not a invalid item range, perm - a valid item range with perm permission 
+static int
+get_pgtable_items(size_t left, size_t right, size_t start, uintptr_t *table, size_t *left_store, size_t *right_store) {
+    if (start >= right) {
+        return 0;
+    }
+    while (start < right && !(table[start] & PTE_P)) {
+        start ++;
+    }
+    if (start < right) {
+        if (left_store != NULL) {
+            *left_store = start;
+        }
+        int perm = (table[start ++] & PTE_USER);
+        while (start < right && (table[start] & PTE_USER) == perm) {
+            start ++;
+        }
+        if (right_store != NULL) {
+            *right_store = start;
+        }
+        return perm;
+    }
+    return 0;
+}
+
+//print_pgdir - print the PDT&PT
+void
+print_pgdir(void) {
+    cprintf("-------------------- BEGIN --------------------\n");
+    size_t left, right = 0, perm;
+    while ((perm = get_pgtable_items(0, NPDEENTRY, right, vpd, &left, &right)) != 0) {
+        cprintf("PDE(%03x) %08x-%08x %08x %s\n", right - left,
+                left * PTSIZE, right * PTSIZE, (right - left) * PTSIZE, perm2str(perm));
+        size_t l, r = left * NPTEENTRY;
+        while ((perm = get_pgtable_items(left * NPTEENTRY, right * NPTEENTRY, r, vpt, &l, &r)) != 0) {
+            cprintf("  |-- PTE(%05x) %08x-%08x %08x %s\n", r - l,
+                    l * PGSIZE, r * PGSIZE, (r - l) * PGSIZE, perm2str(perm));
+        }
+    }
+    cprintf("--------------------- END ---------------------\n");
+}
+
+void *
+kmalloc(size_t n) {
+    void * ptr=NULL;
+    struct Page *base=NULL;
+    assert(n > 0 && n < 1024*0124);
+    int num_pages=(n+PGSIZE-1)/PGSIZE;
+    base = alloc_pages(num_pages);
+    assert(base != NULL);
+    ptr=page2kva(base);
+    return ptr;
+}
+
+void 
+kfree(void *ptr, size_t n) {
+    assert(n > 0 && n < 1024*0124);
+    assert(ptr != NULL);
+    struct Page *base=NULL;
+    int num_pages=(n+PGSIZE-1)/PGSIZE;
+    base = kva2page(ptr);
+    free_pages(base, num_pages);
+}
diff --git a/code/lab3/kern/mm/pmm.h b/code/lab3/kern/mm/pmm.h
new file mode 100644
index 0000000..003084f
--- /dev/null
+++ b/code/lab3/kern/mm/pmm.h
@@ -0,0 +1,144 @@
+#ifndef __KERN_MM_PMM_H__
+#define __KERN_MM_PMM_H__
+
+#include <defs.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <atomic.h>
+#include <assert.h>
+
+// pmm_manager is a physical memory management class. A special pmm manager - XXX_pmm_manager
+// only needs to implement the methods in pmm_manager class, then XXX_pmm_manager can be used
+// by ucore to manage the total physical memory space.
+struct pmm_manager {
+    const char *name;                                 // XXX_pmm_manager's name
+    void (*init)(void);                               // initialize internal description&management data structure
+                                                      // (free block list, number of free block) of XXX_pmm_manager 
+    void (*init_memmap)(struct Page *base, size_t n); // setup description&management data structcure according to
+                                                      // the initial free physical memory space 
+    struct Page *(*alloc_pages)(size_t n);            // allocate >=n pages, depend on the allocation algorithm 
+    void (*free_pages)(struct Page *base, size_t n);  // free >=n pages with "base" addr of Page descriptor structures(memlayout.h)
+    size_t (*nr_free_pages)(void);                    // return the number of free pages 
+    void (*check)(void);                              // check the correctness of XXX_pmm_manager 
+};
+
+extern const struct pmm_manager *pmm_manager;
+extern pde_t *boot_pgdir;
+extern uintptr_t boot_cr3;
+
+void pmm_init(void);
+
+struct Page *alloc_pages(size_t n);
+void free_pages(struct Page *base, size_t n);
+size_t nr_free_pages(void);
+
+#define alloc_page() alloc_pages(1)
+#define free_page(page) free_pages(page, 1)
+
+pte_t *get_pte(pde_t *pgdir, uintptr_t la, bool create);
+struct Page *get_page(pde_t *pgdir, uintptr_t la, pte_t **ptep_store);
+void page_remove(pde_t *pgdir, uintptr_t la);
+int page_insert(pde_t *pgdir, struct Page *page, uintptr_t la, uint32_t perm);
+
+void load_esp0(uintptr_t esp0);
+void tlb_invalidate(pde_t *pgdir, uintptr_t la);
+struct Page *pgdir_alloc_page(pde_t *pgdir, uintptr_t la, uint32_t perm);
+
+void print_pgdir(void);
+
+/* *
+ * PADDR - takes a kernel virtual address (an address that points above KERNBASE),
+ * where the machine's maximum 256MB of physical memory is mapped and returns the
+ * corresponding physical address.  It panics if you pass it a non-kernel virtual address.
+ * */
+#define PADDR(kva) ({                                                   \
+            uintptr_t __m_kva = (uintptr_t)(kva);                       \
+            if (__m_kva < KERNBASE) {                                   \
+                panic("PADDR called with invalid kva %08lx", __m_kva);  \
+            }                                                           \
+            __m_kva - KERNBASE;                                         \
+        })
+
+/* *
+ * KADDR - takes a physical address and returns the corresponding kernel virtual
+ * address. It panics if you pass an invalid physical address.
+ * */
+#define KADDR(pa) ({                                                    \
+            uintptr_t __m_pa = (pa);                                    \
+            size_t __m_ppn = PPN(__m_pa);                               \
+            if (__m_ppn >= npage) {                                     \
+                panic("KADDR called with invalid pa %08lx", __m_pa);    \
+            }                                                           \
+            (void *) (__m_pa + KERNBASE);                               \
+        })
+
+extern struct Page *pages;
+extern size_t npage;
+
+static inline ppn_t
+page2ppn(struct Page *page) {
+    return page - pages;
+}
+
+static inline uintptr_t
+page2pa(struct Page *page) {
+    return page2ppn(page) << PGSHIFT;
+}
+
+static inline struct Page *
+pa2page(uintptr_t pa) {
+    if (PPN(pa) >= npage) {
+        panic("pa2page called with invalid pa");
+    }
+    return &pages[PPN(pa)];
+}
+
+static inline void *
+page2kva(struct Page *page) {
+    return KADDR(page2pa(page));
+}
+
+static inline struct Page *
+kva2page(void *kva) {
+    return pa2page(PADDR(kva));
+}
+
+static inline struct Page *
+pte2page(pte_t pte) {
+    if (!(pte & PTE_P)) {
+        panic("pte2page called with invalid pte");
+    }
+    return pa2page(PTE_ADDR(pte));
+}
+
+static inline struct Page *
+pde2page(pde_t pde) {
+    return pa2page(PDE_ADDR(pde));
+}
+
+static inline int
+page_ref(struct Page *page) {
+    return atomic_read(&(page->ref));
+}
+
+static inline void
+set_page_ref(struct Page *page, int val) {
+    atomic_set(&(page->ref), val);
+}
+
+static inline int
+page_ref_inc(struct Page *page) {
+    return atomic_add_return(&(page->ref), 1);
+}
+
+static inline int
+page_ref_dec(struct Page *page) {
+    return atomic_sub_return(&(page->ref), 1);
+}
+
+extern char bootstack[], bootstacktop[];
+
+extern void * kmalloc(size_t n);
+extern void kfree(void *ptr, size_t n);
+#endif /* !__KERN_MM_PMM_H__ */
+
diff --git a/code/lab3/kern/mm/swap.c b/code/lab3/kern/mm/swap.c
new file mode 100644
index 0000000..3004255
--- /dev/null
+++ b/code/lab3/kern/mm/swap.c
@@ -0,0 +1,279 @@
+#include <swap.h>
+#include <swapfs.h>
+#include <swap_fifo.h>
+#include <stdio.h>
+#include <string.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <mmu.h>
+
+// the valid vaddr for check is between 0~CHECK_VALID_VADDR-1
+#define CHECK_VALID_VIR_PAGE_NUM 5
+#define BEING_CHECK_VALID_VADDR 0X1000
+#define CHECK_VALID_VADDR (CHECK_VALID_VIR_PAGE_NUM+1)*0x1000
+// the max number of valid physical page for check
+#define CHECK_VALID_PHY_PAGE_NUM 4
+// the max access seq number
+#define MAX_SEQ_NO 10
+
+static struct swap_manager *sm;
+size_t max_swap_offset;
+
+volatile int swap_init_ok = 0;
+
+unsigned int swap_page[CHECK_VALID_VIR_PAGE_NUM];
+
+unsigned int swap_in_seq_no[MAX_SEQ_NO],swap_out_seq_no[MAX_SEQ_NO];
+
+static void check_swap(void);
+
+int
+swap_init(void)
+{
+     swapfs_init();
+
+     if (!(1024 <= max_swap_offset && max_swap_offset < MAX_SWAP_OFFSET_LIMIT))
+     {
+          panic("bad max_swap_offset %08x.\n", max_swap_offset);
+     }
+     
+
+     sm = &swap_manager_fifo;
+     int r = sm->init();
+     
+     if (r == 0)
+     {
+          swap_init_ok = 1;
+          cprintf("SWAP: manager = %s\n", sm->name);
+          check_swap();
+     }
+
+     return r;
+}
+
+int
+swap_init_mm(struct mm_struct *mm)
+{
+     return sm->init_mm(mm);
+}
+
+int
+swap_tick_event(struct mm_struct *mm)
+{
+     return sm->tick_event(mm);
+}
+
+int
+swap_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in)
+{
+     return sm->map_swappable(mm, addr, page, swap_in);
+}
+
+int
+swap_set_unswappable(struct mm_struct *mm, uintptr_t addr)
+{
+     return sm->set_unswappable(mm, addr);
+}
+
+volatile unsigned int swap_out_num=0;
+
+int
+swap_out(struct mm_struct *mm, int n, int in_tick)
+{
+     int i;
+     for (i = 0; i != n; ++ i)
+     {
+          uintptr_t v;
+          //struct Page **ptr_page=NULL;
+          struct Page *page;
+          // cprintf("i %d, SWAP: call swap_out_victim\n",i);
+          int r = sm->swap_out_victim(mm, &page, in_tick);
+          if (r != 0) {
+                    cprintf("i %d, swap_out: call swap_out_victim failed\n",i);
+                  break;
+          }          
+          assert(!PageReserved(page));
+
+          //cprintf("SWAP: choose victim page 0x%08x\n", page);
+          
+          v=page->pra_vaddr; 
+          pte_t *ptep = get_pte(mm->pgdir, v, 0);
+          assert((*ptep & PTE_P) != 0);
+
+          if (swapfs_write( (page->pra_vaddr/PGSIZE+1)<<8, page) != 0) {
+                    cprintf("SWAP: failed to save\n");
+                    sm->map_swappable(mm, v, page, 0);
+                    continue;
+          }
+          else {
+                    cprintf("swap_out: i %d, store page in vaddr 0x%x to disk swap entry %d\n", i, v, page->pra_vaddr/PGSIZE+1);
+                    *ptep = (page->pra_vaddr/PGSIZE+1)<<8;
+                    free_page(page);
+          }
+          
+          tlb_invalidate(mm->pgdir, v);
+     }
+     return i;
+}
+
+int
+swap_in(struct mm_struct *mm, uintptr_t addr, struct Page **ptr_result)
+{
+     struct Page *result = alloc_page();
+     assert(result!=NULL);
+
+     pte_t *ptep = get_pte(mm->pgdir, addr, 0);
+     // cprintf("SWAP: load ptep %x swap entry %d to vaddr 0x%08x, page %x, No %d\n", ptep, (*ptep)>>8, addr, result, (result-pages));
+    
+     int r;
+     if ((r = swapfs_read((*ptep), result)) != 0)
+     {
+        assert(r!=0);
+     }
+     cprintf("swap_in: load disk swap entry %d with swap_page in vadr 0x%x\n", (*ptep)>>8, addr);
+     *ptr_result=result;
+     return 0;
+}
+
+
+
+static inline void
+check_content_set(void)
+{
+     *(unsigned char *)0x1000 = 0x0a;
+     assert(pgfault_num==1);
+     *(unsigned char *)0x1010 = 0x0a;
+     assert(pgfault_num==1);
+     *(unsigned char *)0x2000 = 0x0b;
+     assert(pgfault_num==2);
+     *(unsigned char *)0x2010 = 0x0b;
+     assert(pgfault_num==2);
+     *(unsigned char *)0x3000 = 0x0c;
+     assert(pgfault_num==3);
+     *(unsigned char *)0x3010 = 0x0c;
+     assert(pgfault_num==3);
+     *(unsigned char *)0x4000 = 0x0d;
+     assert(pgfault_num==4);
+     *(unsigned char *)0x4010 = 0x0d;
+     assert(pgfault_num==4);
+}
+
+static inline int
+check_content_access(void)
+{
+    int ret = sm->check_swap();
+    return ret;
+}
+
+struct Page * check_rp[CHECK_VALID_PHY_PAGE_NUM];
+pte_t * check_ptep[CHECK_VALID_PHY_PAGE_NUM];
+unsigned int check_swap_addr[CHECK_VALID_VIR_PAGE_NUM];
+
+extern free_area_t free_area;
+
+#define free_list (free_area.free_list)
+#define nr_free (free_area.nr_free)
+
+static void
+check_swap(void)
+{
+    //backup mem env
+     int ret, count = 0, total = 0, i;
+     list_entry_t *le = &free_list;
+     while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        assert(PageProperty(p));
+        count ++, total += p->property;
+     }
+     assert(total == nr_free_pages());
+     cprintf("BEGIN check_swap: count %d, total %d\n",count,total);
+     
+     //now we set the phy pages env     
+     struct mm_struct *mm = mm_create();
+     assert(mm != NULL);
+
+     extern struct mm_struct *check_mm_struct;
+     assert(check_mm_struct == NULL);
+
+     check_mm_struct = mm;
+
+     pde_t *pgdir = mm->pgdir = boot_pgdir;
+     assert(pgdir[0] == 0);
+
+     struct vma_struct *vma = vma_create(BEING_CHECK_VALID_VADDR, CHECK_VALID_VADDR, VM_WRITE | VM_READ);
+     assert(vma != NULL);
+
+     insert_vma_struct(mm, vma);
+
+     //setup the temp Page Table vaddr 0~4MB
+     cprintf("setup Page Table for vaddr 0X1000, so alloc a page\n");
+     pte_t *temp_ptep=NULL;
+     temp_ptep = get_pte(mm->pgdir, BEING_CHECK_VALID_VADDR, 1);
+     assert(temp_ptep!= NULL);
+     cprintf("setup Page Table vaddr 0~4MB OVER!\n");
+     
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+          check_rp[i] = alloc_page();
+          assert(check_rp[i] != NULL );
+          assert(!PageProperty(check_rp[i]));
+     }
+     list_entry_t free_list_store = free_list;
+     list_init(&free_list);
+     assert(list_empty(&free_list));
+     
+     //assert(alloc_page() == NULL);
+     
+     unsigned int nr_free_store = nr_free;
+     nr_free = 0;
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+        free_pages(check_rp[i],1);
+     }
+     assert(nr_free==CHECK_VALID_PHY_PAGE_NUM);
+     
+     cprintf("set up init env for check_swap begin!\n");
+     //setup initial vir_page<->phy_page environment for page relpacement algorithm 
+
+     
+     pgfault_num=0;
+     
+     check_content_set();
+     assert( nr_free == 0);         
+     for(i = 0; i<MAX_SEQ_NO ; i++) 
+         swap_out_seq_no[i]=swap_in_seq_no[i]=-1;
+     
+     for (i= 0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+         check_ptep[i]=0;
+         check_ptep[i] = get_pte(pgdir, (i+1)*0x1000, 0);
+         //cprintf("i %d, check_ptep addr %x, value %x\n", i, check_ptep[i], *check_ptep[i]);
+         assert(check_ptep[i] != NULL);
+         assert(pte2page(*check_ptep[i]) == check_rp[i]);
+         assert((*check_ptep[i] & PTE_P));          
+     }
+     cprintf("set up init env for check_swap over!\n");
+     // now access the virt pages to test  page relpacement algorithm 
+     ret=check_content_access();
+     assert(ret==0);
+     
+     //restore kernel mem env
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+         free_pages(check_rp[i],1);
+     } 
+
+     //free_page(pte2page(*temp_ptep));
+     
+     mm_destroy(mm);
+         
+     nr_free = nr_free_store;
+     free_list = free_list_store;
+
+     
+     le = &free_list;
+     while ((le = list_next(le)) != &free_list) {
+         struct Page *p = le2page(le, page_link);
+         count --, total -= p->property;
+     }
+
+     assert(count == 0);
+     
+     cprintf("check_swap() succeeded!\n");
+}
diff --git a/code/lab3/kern/mm/swap.h b/code/lab3/kern/mm/swap.h
new file mode 100644
index 0000000..5d4aea8
--- /dev/null
+++ b/code/lab3/kern/mm/swap.h
@@ -0,0 +1,65 @@
+#ifndef __KERN_MM_SWAP_H__
+#define __KERN_MM_SWAP_H__
+
+#include <defs.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <vmm.h>
+
+/* *
+ * swap_entry_t
+ * --------------------------------------------
+ * |         offset        |   reserved   | 0 |
+ * --------------------------------------------
+ *           24 bits            7 bits    1 bit
+ * */
+
+#define MAX_SWAP_OFFSET_LIMIT                   (1 << 24)
+
+extern size_t max_swap_offset;
+
+/* *
+ * swap_offset - takes a swap_entry (saved in pte), and returns
+ * the corresponding offset in swap mem_map.
+ * */
+#define swap_offset(entry) ({                                       \
+               size_t __offset = (entry >> 8);                        \
+               if (!(__offset > 0 && __offset < max_swap_offset)) {    \
+                    panic("invalid swap_entry_t = %08x.\n", entry);    \
+               }                                                    \
+               __offset;                                            \
+          })
+
+struct swap_manager
+{
+     const char *name;
+     /* Global initialization for the swap manager */
+     int (*init)            (void);
+     /* Initialize the priv data inside mm_struct */
+     int (*init_mm)         (struct mm_struct *mm);
+     /* Called when tick interrupt occured */
+     int (*tick_event)      (struct mm_struct *mm);
+     /* Called when map a swappable page into the mm_struct */
+     int (*map_swappable)   (struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in);
+     /* When a page is marked as shared, this routine is called to
+      * delete the addr entry from the swap manager */
+     int (*set_unswappable) (struct mm_struct *mm, uintptr_t addr);
+     /* Try to swap out a page, return then victim */
+     int (*swap_out_victim) (struct mm_struct *mm, struct Page **ptr_page, int in_tick);
+     /* check the page relpacement algorithm */
+     int (*check_swap)(void);     
+};
+
+extern volatile int swap_init_ok;
+int swap_init(void);
+int swap_init_mm(struct mm_struct *mm);
+int swap_tick_event(struct mm_struct *mm);
+int swap_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in);
+int swap_set_unswappable(struct mm_struct *mm, uintptr_t addr);
+int swap_out(struct mm_struct *mm, int n, int in_tick);
+int swap_in(struct mm_struct *mm, uintptr_t addr, struct Page **ptr_result);
+
+//#define MEMBER_OFFSET(m,t) ((int)(&((t *)0)->m))
+//#define FROM_MEMBER(m,t,a) ((t *)((char *)(a) - MEMBER_OFFSET(m,t)))
+
+#endif
diff --git a/code/lab3/kern/mm/swap_fifo.c b/code/lab3/kern/mm/swap_fifo.c
new file mode 100644
index 0000000..4cb00c1
--- /dev/null
+++ b/code/lab3/kern/mm/swap_fifo.c
@@ -0,0 +1,136 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <swap.h>
+#include <swap_fifo.h>
+#include <list.h>
+
+/* [wikipedia]The simplest Page Replacement Algorithm(PRA) is a FIFO algorithm. The first-in, first-out
+ * page replacement algorithm is a low-overhead algorithm that requires little book-keeping on
+ * the part of the operating system. The idea is obvious from the name - the operating system
+ * keeps track of all the pages in memory in a queue, with the most recent arrival at the back,
+ * and the earliest arrival in front. When a page needs to be replaced, the page at the front
+ * of the queue (the oldest page) is selected. While FIFO is cheap and intuitive, it performs
+ * poorly in practical application. Thus, it is rarely used in its unmodified form. This
+ * algorithm experiences Belady's anomaly.
+ *
+ * Details of FIFO PRA
+ * (1) Prepare: In order to implement FIFO PRA, we should manage all swappable pages, so we can
+ *              link these pages into pra_list_head according the time order. At first you should
+ *              be familiar to the struct list in list.h. struct list is a simple doubly linked list
+ *              implementation. You should know howto USE: list_init, list_add(list_add_after),
+ *              list_add_before, list_del, list_next, list_prev. Another tricky method is to transform
+ *              a general list struct to a special struct (such as struct page). You can find some MACRO:
+ *              le2page (in memlayout.h), (in future labs: le2vma (in vmm.h), le2proc (in proc.h),etc.
+ */
+
+list_entry_t pra_list_head;
+/*
+ * (2) _fifo_init_mm: init pra_list_head and let  mm->sm_priv point to the addr of pra_list_head.
+ *              Now, From the memory control struct mm_struct, we can access FIFO PRA
+ */
+static int
+_fifo_init_mm(struct mm_struct *mm)
+{     
+     list_init(&pra_list_head);
+     mm->sm_priv = &pra_list_head;
+     //cprintf(" mm->sm_priv %x in fifo_init_mm\n",mm->sm_priv);
+     return 0;
+}
+/*
+ * (3)_fifo_map_swappable: According FIFO PRA, we should link the most recent arrival page at the back of pra_list_head qeueue
+ */
+static int
+_fifo_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in)
+{
+    list_entry_t *head=(list_entry_t*) mm->sm_priv;
+    list_entry_t *entry=&(page->pra_page_link);
+ 
+    assert(entry != NULL && head != NULL);
+    //record the page access situlation
+    /*LAB3 EXERCISE 2: YOUR CODE*/ 
+    //(1)link the most recent arrival page at the back of the pra_list_head qeueue.
+    return 0;
+}
+/*
+ *  (4)_fifo_swap_out_victim: According FIFO PRA, we should unlink the  earliest arrival page in front of pra_list_head qeueue,
+ *                            then set the addr of addr of this page to ptr_page.
+ */
+static int
+_fifo_swap_out_victim(struct mm_struct *mm, struct Page ** ptr_page, int in_tick)
+{
+     list_entry_t *head=(list_entry_t*) mm->sm_priv;
+         assert(head != NULL);
+     assert(in_tick==0);
+     /* Select the victim */
+     /*LAB3 EXERCISE 2: YOUR CODE*/ 
+     //(1)  unlink the  earliest arrival page in front of pra_list_head qeueue
+     //(2)  set the addr of addr of this page to ptr_page
+     return 0;
+}
+
+static int
+_fifo_check_swap(void) {
+    cprintf("write Virt Page c in fifo_check_swap\n");
+    *(unsigned char *)0x3000 = 0x0c;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page a in fifo_check_swap\n");
+    *(unsigned char *)0x1000 = 0x0a;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page d in fifo_check_swap\n");
+    *(unsigned char *)0x4000 = 0x0d;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page e in fifo_check_swap\n");
+    *(unsigned char *)0x5000 = 0x0e;
+    assert(pgfault_num==5);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==5);
+    cprintf("write Virt Page a in fifo_check_swap\n");
+    *(unsigned char *)0x1000 = 0x0a;
+    assert(pgfault_num==6);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==7);
+    cprintf("write Virt Page c in fifo_check_swap\n");
+    *(unsigned char *)0x3000 = 0x0c;
+    assert(pgfault_num==8);
+    cprintf("write Virt Page d in fifo_check_swap\n");
+    *(unsigned char *)0x4000 = 0x0d;
+    assert(pgfault_num==9);
+    return 0;
+}
+
+
+static int
+_fifo_init(void)
+{
+    return 0;
+}
+
+static int
+_fifo_set_unswappable(struct mm_struct *mm, uintptr_t addr)
+{
+    return 0;
+}
+
+static int
+_fifo_tick_event(struct mm_struct *mm)
+{ return 0; }
+
+
+struct swap_manager swap_manager_fifo =
+{
+     .name            = "fifo swap manager",
+     .init            = &_fifo_init,
+     .init_mm         = &_fifo_init_mm,
+     .tick_event      = &_fifo_tick_event,
+     .map_swappable   = &_fifo_map_swappable,
+     .set_unswappable = &_fifo_set_unswappable,
+     .swap_out_victim = &_fifo_swap_out_victim,
+     .check_swap      = &_fifo_check_swap,
+};
diff --git a/code/lab3/kern/mm/swap_fifo.h b/code/lab3/kern/mm/swap_fifo.h
new file mode 100644
index 0000000..1d74269
--- /dev/null
+++ b/code/lab3/kern/mm/swap_fifo.h
@@ -0,0 +1,7 @@
+#ifndef __KERN_MM_SWAP_FIFO_H__
+#define __KERN_MM_SWAP_FIFO_H__
+
+#include <swap.h>
+extern struct swap_manager swap_manager_fifo;
+
+#endif
diff --git a/code/lab3/kern/mm/vmm.c b/code/lab3/kern/mm/vmm.c
new file mode 100644
index 0000000..d374aee
--- /dev/null
+++ b/code/lab3/kern/mm/vmm.c
@@ -0,0 +1,389 @@
+#include <vmm.h>
+#include <sync.h>
+#include <string.h>
+#include <assert.h>
+#include <stdio.h>
+#include <error.h>
+#include <pmm.h>
+#include <x86.h>
+#include <swap.h>
+
+/* 
+  vmm design include two parts: mm_struct (mm) & vma_struct (vma)
+  mm is the memory manager for the set of continuous virtual memory  
+  area which have the same PDT. vma is a continuous virtual memory area.
+  There a linear link list for vma & a redblack link list for vma in mm.
+---------------
+  mm related functions:
+   golbal functions
+     struct mm_struct * mm_create(void)
+     void mm_destroy(struct mm_struct *mm)
+     int do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr)
+--------------
+  vma related functions:
+   global functions
+     struct vma_struct * vma_create (uintptr_t vm_start, uintptr_t vm_end,...)
+     void insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma)
+     struct vma_struct * find_vma(struct mm_struct *mm, uintptr_t addr)
+   local functions
+     inline void check_vma_overlap(struct vma_struct *prev, struct vma_struct *next)
+---------------
+   check correctness functions
+     void check_vmm(void);
+     void check_vma_struct(void);
+     void check_pgfault(void);
+*/
+
+static void check_vmm(void);
+static void check_vma_struct(void);
+static void check_pgfault(void);
+
+// mm_create -  alloc a mm_struct & initialize it.
+struct mm_struct *
+mm_create(void) {
+    struct mm_struct *mm = kmalloc(sizeof(struct mm_struct));
+
+    if (mm != NULL) {
+        list_init(&(mm->mmap_list));
+        mm->mmap_cache = NULL;
+        mm->pgdir = NULL;
+        mm->map_count = 0;
+
+        if (swap_init_ok) swap_init_mm(mm);
+        else mm->sm_priv = NULL;
+    }
+    return mm;
+}
+
+// vma_create - alloc a vma_struct & initialize it. (addr range: vm_start~vm_end)
+struct vma_struct *
+vma_create(uintptr_t vm_start, uintptr_t vm_end, uint32_t vm_flags) {
+    struct vma_struct *vma = kmalloc(sizeof(struct vma_struct));
+
+    if (vma != NULL) {
+        vma->vm_start = vm_start;
+        vma->vm_end = vm_end;
+        vma->vm_flags = vm_flags;
+    }
+    return vma;
+}
+
+
+// find_vma - find a vma  (vma->vm_start <= addr <= vma_vm_end)
+struct vma_struct *
+find_vma(struct mm_struct *mm, uintptr_t addr) {
+    struct vma_struct *vma = NULL;
+    if (mm != NULL) {
+        vma = mm->mmap_cache;
+        if (!(vma != NULL && vma->vm_start <= addr && vma->vm_end > addr)) {
+                bool found = 0;
+                list_entry_t *list = &(mm->mmap_list), *le = list;
+                while ((le = list_next(le)) != list) {
+                    vma = le2vma(le, list_link);
+                    if (addr < vma->vm_end) {
+                        found = 1;
+                        break;
+                    }
+                }
+                if (!found) {
+                    vma = NULL;
+                }
+        }
+        if (vma != NULL) {
+            mm->mmap_cache = vma;
+        }
+    }
+    return vma;
+}
+
+
+// check_vma_overlap - check if vma1 overlaps vma2 ?
+static inline void
+check_vma_overlap(struct vma_struct *prev, struct vma_struct *next) {
+    assert(prev->vm_start < prev->vm_end);
+    assert(prev->vm_end <= next->vm_start);
+    assert(next->vm_start < next->vm_end);
+}
+
+
+// insert_vma_struct -insert vma in mm's list link
+void
+insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma) {
+    assert(vma->vm_start < vma->vm_end);
+    list_entry_t *list = &(mm->mmap_list);
+    list_entry_t *le_prev = list, *le_next;
+
+        list_entry_t *le = list;
+        while ((le = list_next(le)) != list) {
+            struct vma_struct *mmap_prev = le2vma(le, list_link);
+            if (mmap_prev->vm_start > vma->vm_start) {
+                break;
+            }
+            le_prev = le;
+        }
+
+    le_next = list_next(le_prev);
+
+    /* check overlap */
+    if (le_prev != list) {
+        check_vma_overlap(le2vma(le_prev, list_link), vma);
+    }
+    if (le_next != list) {
+        check_vma_overlap(vma, le2vma(le_next, list_link));
+    }
+
+    vma->vm_mm = mm;
+    list_add_after(le_prev, &(vma->list_link));
+
+    mm->map_count ++;
+}
+
+// mm_destroy - free mm and mm internal fields
+void
+mm_destroy(struct mm_struct *mm) {
+
+    list_entry_t *list = &(mm->mmap_list), *le;
+    while ((le = list_next(list)) != list) {
+        list_del(le);
+        kfree(le2vma(le, list_link),sizeof(struct vma_struct));  //kfree vma        
+    }
+    kfree(mm, sizeof(struct mm_struct)); //kfree mm
+    mm=NULL;
+}
+
+// vmm_init - initialize virtual memory management
+//          - now just call check_vmm to check correctness of vmm
+void
+vmm_init(void) {
+    check_vmm();
+}
+
+// check_vmm - check correctness of vmm
+static void
+check_vmm(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+    
+    check_vma_struct();
+    check_pgfault();
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_vmm() succeeded.\n");
+}
+
+static void
+check_vma_struct(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+
+    struct mm_struct *mm = mm_create();
+    assert(mm != NULL);
+
+    int step1 = 10, step2 = step1 * 10;
+
+    int i;
+    for (i = step1; i >= 0; i --) {
+        struct vma_struct *vma = vma_create(i * 5, i * 5 + 2, 0);
+        assert(vma != NULL);
+        insert_vma_struct(mm, vma);
+    }
+
+    for (i = step1 + 1; i <= step2; i ++) {
+        struct vma_struct *vma = vma_create(i * 5, i * 5 + 2, 0);
+        assert(vma != NULL);
+        insert_vma_struct(mm, vma);
+    }
+
+    list_entry_t *le = list_next(&(mm->mmap_list));
+
+    for (i = 0; i <= step2; i ++) {
+        assert(le != &(mm->mmap_list));
+        struct vma_struct *mmap = le2vma(le, list_link);
+        assert(mmap->vm_start == i * 5 && mmap->vm_end == i * 5 + 2);
+        le = list_next(le);
+    }
+
+    for (i = 0; i < 5 * step2 + 2; i ++) {
+        struct vma_struct *vma = find_vma(mm, i);
+        assert(vma != NULL);
+        int j = i / 5;
+        if (i >= 5 * j + 2) {
+            j ++;
+        }
+        assert(vma->vm_start == j * 5 && vma->vm_end == j * 5 + 2);
+    }
+
+    mm_destroy(mm);
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_vma_struct() succeeded!\n");
+}
+
+struct mm_struct *check_mm_struct;
+
+// check_pgfault - check correctness of pgfault handler
+static void
+check_pgfault(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+
+    check_mm_struct = mm_create();
+    assert(check_mm_struct != NULL);
+
+    struct mm_struct *mm = check_mm_struct;
+    pde_t *pgdir = mm->pgdir = boot_pgdir;
+    assert(pgdir[0] == 0);
+
+    struct vma_struct *vma = vma_create(0, PTSIZE, VM_WRITE);
+    assert(vma != NULL);
+
+    insert_vma_struct(mm, vma);
+
+    uintptr_t addr = 0x100;
+    assert(find_vma(mm, addr) == vma);
+
+    int i, sum = 0;
+    for (i = 0; i < 100; i ++) {
+        *(char *)(addr + i) = i;
+        sum += i;
+    }
+    for (i = 0; i < 100; i ++) {
+        sum -= *(char *)(addr + i);
+    }
+    assert(sum == 0);
+
+    page_remove(pgdir, ROUNDDOWN(addr, PGSIZE));
+    free_page(pa2page(pgdir[0]));
+    pgdir[0] = 0;
+
+    mm->pgdir = NULL;
+    mm_destroy(mm);
+    check_mm_struct = NULL;
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_pgfault() succeeded!\n");
+}
+//page fault number
+volatile unsigned int pgfault_num=0;
+
+/* do_pgfault - interrupt handler to process the page fault execption
+ * @mm         : the control struct for a set of vma using the same PDT
+ * @error_code : the error code recorded in trapframe->tf_err which is setted by x86 hardware
+ * @addr       : the addr which causes a memory access exception, (the contents of the CR2 register)
+ *
+ * CALL GRAPH: trap--> trap_dispatch-->pgfault_handler-->do_pgfault
+ * The processor provides ucore's do_pgfault function with two items of information to aid in diagnosing
+ * the exception and recovering from it.
+ *   (1) The contents of the CR2 register. The processor loads the CR2 register with the
+ *       32-bit linear address that generated the exception. The do_pgfault fun can
+ *       use this address to locate the corresponding page directory and page-table
+ *       entries.
+ *   (2) An error code on the kernel stack. The error code for a page fault has a format different from
+ *       that for other exceptions. The error code tells the exception handler three things:
+ *         -- The P flag   (bit 0) indicates whether the exception was due to a not-present page (0)
+ *            or to either an access rights violation or the use of a reserved bit (1).
+ *         -- The W/R flag (bit 1) indicates whether the memory access that caused the exception
+ *            was a read (0) or write (1).
+ *         -- The U/S flag (bit 2) indicates whether the processor was executing at user mode (1)
+ *            or supervisor mode (0) at the time of the exception.
+ */
+int
+do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr) {
+    int ret = -E_INVAL;
+    //try to find a vma which include addr
+    struct vma_struct *vma = find_vma(mm, addr);
+
+    pgfault_num++;
+    //If the addr is in the range of a mm's vma?
+    if (vma == NULL || vma->vm_start > addr) {
+        cprintf("not valid addr %x, and  can not find it in vma\n", addr);
+        goto failed;
+    }
+    //check the error_code
+    switch (error_code & 3) {
+    default:
+            /* error code flag : default is 3 ( W/R=1, P=1): write, present */
+    case 2: /* error code flag : (W/R=1, P=0): write, not present */
+        if (!(vma->vm_flags & VM_WRITE)) {
+            cprintf("do_pgfault failed: error code flag = write AND not present, but the addr's vma cannot write\n");
+            goto failed;
+        }
+        break;
+    case 1: /* error code flag : (W/R=0, P=1): read, present */
+        cprintf("do_pgfault failed: error code flag = read AND present\n");
+        goto failed;
+    case 0: /* error code flag : (W/R=0, P=0): read, not present */
+        if (!(vma->vm_flags & (VM_READ | VM_EXEC))) {
+            cprintf("do_pgfault failed: error code flag = read AND not present, but the addr's vma cannot read or exec\n");
+            goto failed;
+        }
+    }
+    /* IF (write an existed addr ) OR
+     *    (write an non_existed addr && addr is writable) OR
+     *    (read  an non_existed addr && addr is readable)
+     * THEN
+     *    continue process
+     */
+    uint32_t perm = PTE_U;
+    if (vma->vm_flags & VM_WRITE) {
+        perm |= PTE_W;
+    }
+    addr = ROUNDDOWN(addr, PGSIZE);
+
+    ret = -E_NO_MEM;
+
+    pte_t *ptep=NULL;
+    /*LAB3 EXERCISE 1: YOUR CODE
+    * Maybe you want help comment, BELOW comments can help you finish the code
+    *
+    * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+    * MACROs or Functions:
+    *   get_pte : get an pte and return the kernel virtual address of this pte for la
+    *             if the PT contians this pte didn't exist, alloc a page for PT (notice the 3th parameter '1')
+    *   pgdir_alloc_page : call alloc_page & page_insert functions to allocate a page size memory & setup
+    *             an addr map pa<--->la with linear address la and the PDT pgdir
+    * DEFINES:
+    *   VM_WRITE  : If vma->vm_flags & VM_WRITE == 1/0, then the vma is writable/non writable
+    *   PTE_W           0x002                   // page table/directory entry flags bit : Writeable
+    *   PTE_U           0x004                   // page table/directory entry flags bit : User can access
+    * VARIABLES:
+    *   mm->pgdir : the PDT of these vma
+    *
+    */
+#if 0
+    /*LAB3 EXERCISE 1: YOUR CODE*/
+    ptep = ???              //(1) try to find a pte, if pte's PT(Page Table) isn't existed, then create a PT.
+    if (*ptep == 0) {
+                            //(2) if the phy addr isn't exist, then alloc a page & map the phy addr with logical addr
+
+    }
+    else {
+    /*LAB3 EXERCISE 2: YOUR CODE
+    * Now we think this pte is a  swap entry, we should load data from disk to a page with phy addr,
+    * and map the phy addr with logical addr, trigger swap manager to record the access situation of this page.
+    *
+    *  Some Useful MACROs and DEFINEs, you can use them in below implementation.
+    *  MACROs or Functions:
+    *    swap_in(mm, addr, &page) : alloc a memory page, then according to the swap entry in PTE for addr,
+    *                               find the addr of disk page, read the content of disk page into this memroy page
+    *    page_insert : build the map of phy addr of an Page with the linear addr la
+    *    swap_map_swappable : set the page swappable
+    */
+        if(swap_init_ok) {
+            struct Page *page=NULL;
+                                    //(1)According to the mm AND addr, try to load the content of right disk page
+                                    //    into the memory which page managed.
+                                    //(2) According to the mm, addr AND page, setup the map of phy addr <---> logical addr
+                                    //(3) make the page swappable.
+        }
+        else {
+            cprintf("no swap_init_ok but ptep is %x, failed\n",*ptep);
+            goto failed;
+        }
+   }
+#endif
+   ret = 0;
+failed:
+    return ret;
+}
+
diff --git a/code/lab3/kern/mm/vmm.h b/code/lab3/kern/mm/vmm.h
new file mode 100644
index 0000000..c48634b
--- /dev/null
+++ b/code/lab3/kern/mm/vmm.h
@@ -0,0 +1,51 @@
+#ifndef __KERN_MM_VMM_H__
+#define __KERN_MM_VMM_H__
+
+#include <defs.h>
+#include <list.h>
+#include <memlayout.h>
+#include <sync.h>
+
+//pre define
+struct mm_struct;
+
+// the virtual continuous memory area(vma)
+struct vma_struct {
+    struct mm_struct *vm_mm; // the set of vma using the same PDT 
+    uintptr_t vm_start;      //    start addr of vma    
+    uintptr_t vm_end;        // end addr of vma
+    uint32_t vm_flags;       // flags of vma
+    list_entry_t list_link;  // linear list link which sorted by start addr of vma
+};
+
+#define le2vma(le, member)                  \
+    to_struct((le), struct vma_struct, member)
+
+#define VM_READ                 0x00000001
+#define VM_WRITE                0x00000002
+#define VM_EXEC                 0x00000004
+
+// the control struct for a set of vma using the same PDT
+struct mm_struct {
+    list_entry_t mmap_list;        // linear list link which sorted by start addr of vma
+    struct vma_struct *mmap_cache; // current accessed vma, used for speed purpose
+    pde_t *pgdir;                  // the PDT of these vma
+    int map_count;                 // the count of these vma
+    void *sm_priv;                   // the private data for swap manager
+};
+
+struct vma_struct *find_vma(struct mm_struct *mm, uintptr_t addr);
+struct vma_struct *vma_create(uintptr_t vm_start, uintptr_t vm_end, uint32_t vm_flags);
+void insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma);
+
+struct mm_struct *mm_create(void);
+void mm_destroy(struct mm_struct *mm);
+
+void vmm_init(void);
+
+int do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr);
+
+extern volatile unsigned int pgfault_num;
+extern struct mm_struct *check_mm_struct;
+#endif /* !__KERN_MM_VMM_H__ */
+
diff --git a/code/lab3/kern/sync/sync.h b/code/lab3/kern/sync/sync.h
new file mode 100644
index 0000000..9653377
--- /dev/null
+++ b/code/lab3/kern/sync/sync.h
@@ -0,0 +1,28 @@
+#ifndef __KERN_SYNC_SYNC_H__
+#define __KERN_SYNC_SYNC_H__
+
+#include <x86.h>
+#include <intr.h>
+#include <mmu.h>
+
+static inline bool
+__intr_save(void) {
+    if (read_eflags() & FL_IF) {
+        intr_disable();
+        return 1;
+    }
+    return 0;
+}
+
+static inline void
+__intr_restore(bool flag) {
+    if (flag) {
+        intr_enable();
+    }
+}
+
+#define local_intr_save(x)      do { x = __intr_save(); } while (0)
+#define local_intr_restore(x)   __intr_restore(x);
+
+#endif /* !__KERN_SYNC_SYNC_H__ */
+
diff --git a/code/lab3/kern/trap/trap.c b/code/lab3/kern/trap/trap.c
new file mode 100644
index 0000000..90f266e
--- /dev/null
+++ b/code/lab3/kern/trap/trap.c
@@ -0,0 +1,226 @@
+#include <defs.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <clock.h>
+#include <trap.h>
+#include <x86.h>
+#include <stdio.h>
+#include <assert.h>
+#include <console.h>
+#include <vmm.h>
+#include <swap.h>
+#include <kdebug.h>
+
+#define TICK_NUM 100
+
+static void print_ticks() {
+    cprintf("%d ticks\n",TICK_NUM);
+#ifdef DEBUG_GRADE
+    cprintf("End of Test.\n");
+    panic("EOT: kernel seems ok.");
+#endif
+}
+
+/* *
+ * Interrupt descriptor table:
+ *
+ * Must be built at run time because shifted function addresses can't
+ * be represented in relocation records.
+ * */
+static struct gatedesc idt[256] = {{0}};
+
+static struct pseudodesc idt_pd = {
+    sizeof(idt) - 1, (uintptr_t)idt
+};
+
+/* idt_init - initialize IDT to each of the entry points in kern/trap/vectors.S */
+void
+idt_init(void) {
+     /* LAB1 YOUR CODE : STEP 2 */
+     /* (1) Where are the entry addrs of each Interrupt Service Routine (ISR)?
+      *     All ISR's entry addrs are stored in __vectors. where is uintptr_t __vectors[] ?
+      *     __vectors[] is in kern/trap/vector.S which is produced by tools/vector.c
+      *     (try "make" command in lab1, then you will find vector.S in kern/trap DIR)
+      *     You can use  "extern uintptr_t __vectors[];" to define this extern variable which will be used later.
+      * (2) Now you should setup the entries of ISR in Interrupt Description Table (IDT).
+      *     Can you see idt[256] in this file? Yes, it's IDT! you can use SETGATE macro to setup each item of IDT
+      * (3) After setup the contents of IDT, you will let CPU know where is the IDT by using 'lidt' instruction.
+      *     You don't know the meaning of this instruction? just google it! and check the libs/x86.h to know more.
+      *     Notice: the argument of lidt is idt_pd. try to find it!
+      */
+}
+
+static const char *
+trapname(int trapno) {
+    static const char * const excnames[] = {
+        "Divide error",
+        "Debug",
+        "Non-Maskable Interrupt",
+        "Breakpoint",
+        "Overflow",
+        "BOUND Range Exceeded",
+        "Invalid Opcode",
+        "Device Not Available",
+        "Double Fault",
+        "Coprocessor Segment Overrun",
+        "Invalid TSS",
+        "Segment Not Present",
+        "Stack Fault",
+        "General Protection",
+        "Page Fault",
+        "(unknown trap)",
+        "x87 FPU Floating-Point Error",
+        "Alignment Check",
+        "Machine-Check",
+        "SIMD Floating-Point Exception"
+    };
+
+    if (trapno < sizeof(excnames)/sizeof(const char * const)) {
+        return excnames[trapno];
+    }
+    if (trapno >= IRQ_OFFSET && trapno < IRQ_OFFSET + 16) {
+        return "Hardware Interrupt";
+    }
+    return "(unknown trap)";
+}
+
+/* trap_in_kernel - test if trap happened in kernel */
+bool
+trap_in_kernel(struct trapframe *tf) {
+    return (tf->tf_cs == (uint16_t)KERNEL_CS);
+}
+
+static const char *IA32flags[] = {
+    "CF", NULL, "PF", NULL, "AF", NULL, "ZF", "SF",
+    "TF", "IF", "DF", "OF", NULL, NULL, "NT", NULL,
+    "RF", "VM", "AC", "VIF", "VIP", "ID", NULL, NULL,
+};
+
+void
+print_trapframe(struct trapframe *tf) {
+    cprintf("trapframe at %p\n", tf);
+    print_regs(&tf->tf_regs);
+    cprintf("  ds   0x----%04x\n", tf->tf_ds);
+    cprintf("  es   0x----%04x\n", tf->tf_es);
+    cprintf("  fs   0x----%04x\n", tf->tf_fs);
+    cprintf("  gs   0x----%04x\n", tf->tf_gs);
+    cprintf("  trap 0x%08x %s\n", tf->tf_trapno, trapname(tf->tf_trapno));
+    cprintf("  err  0x%08x\n", tf->tf_err);
+    cprintf("  eip  0x%08x\n", tf->tf_eip);
+    cprintf("  cs   0x----%04x\n", tf->tf_cs);
+    cprintf("  flag 0x%08x ", tf->tf_eflags);
+
+    int i, j;
+    for (i = 0, j = 1; i < sizeof(IA32flags) / sizeof(IA32flags[0]); i ++, j <<= 1) {
+        if ((tf->tf_eflags & j) && IA32flags[i] != NULL) {
+            cprintf("%s,", IA32flags[i]);
+        }
+    }
+    cprintf("IOPL=%d\n", (tf->tf_eflags & FL_IOPL_MASK) >> 12);
+
+    if (!trap_in_kernel(tf)) {
+        cprintf("  esp  0x%08x\n", tf->tf_esp);
+        cprintf("  ss   0x----%04x\n", tf->tf_ss);
+    }
+}
+
+void
+print_regs(struct pushregs *regs) {
+    cprintf("  edi  0x%08x\n", regs->reg_edi);
+    cprintf("  esi  0x%08x\n", regs->reg_esi);
+    cprintf("  ebp  0x%08x\n", regs->reg_ebp);
+    cprintf("  oesp 0x%08x\n", regs->reg_oesp);
+    cprintf("  ebx  0x%08x\n", regs->reg_ebx);
+    cprintf("  edx  0x%08x\n", regs->reg_edx);
+    cprintf("  ecx  0x%08x\n", regs->reg_ecx);
+    cprintf("  eax  0x%08x\n", regs->reg_eax);
+}
+
+static inline void
+print_pgfault(struct trapframe *tf) {
+    /* error_code:
+     * bit 0 == 0 means no page found, 1 means protection fault
+     * bit 1 == 0 means read, 1 means write
+     * bit 2 == 0 means kernel, 1 means user
+     * */
+    cprintf("page fault at 0x%08x: %c/%c [%s].\n", rcr2(),
+            (tf->tf_err & 4) ? 'U' : 'K',
+            (tf->tf_err & 2) ? 'W' : 'R',
+            (tf->tf_err & 1) ? "protection fault" : "no page found");
+}
+
+static int
+pgfault_handler(struct trapframe *tf) {
+    extern struct mm_struct *check_mm_struct;
+    print_pgfault(tf);
+    if (check_mm_struct != NULL) {
+        return do_pgfault(check_mm_struct, tf->tf_err, rcr2());
+    }
+    panic("unhandled page fault.\n");
+}
+
+static volatile int in_swap_tick_event = 0;
+extern struct mm_struct *check_mm_struct;
+
+static void
+trap_dispatch(struct trapframe *tf) {
+    char c;
+
+    int ret;
+
+    switch (tf->tf_trapno) {
+    case T_PGFLT:  //page fault
+        if ((ret = pgfault_handler(tf)) != 0) {
+            print_trapframe(tf);
+            panic("handle pgfault failed. %e\n", ret);
+        }
+        break;
+    case IRQ_OFFSET + IRQ_TIMER:
+#if 0
+    LAB3 : If some page replacement algorithm(such as CLOCK PRA) need tick to change the priority of pages, 
+    then you can add code here. 
+#endif
+        /* LAB1 YOUR CODE : STEP 3 */
+        /* handle the timer interrupt */
+        /* (1) After a timer interrupt, you should record this event using a global variable (increase it), such as ticks in kern/driver/clock.c
+         * (2) Every TICK_NUM cycle, you can print some info using a funciton, such as print_ticks().
+         * (3) Too Simple? Yes, I think so!
+         */
+        break;
+    case IRQ_OFFSET + IRQ_COM1:
+        c = cons_getc();
+        cprintf("serial [%03d] %c\n", c, c);
+        break;
+    case IRQ_OFFSET + IRQ_KBD:
+        c = cons_getc();
+        cprintf("kbd [%03d] %c\n", c, c);
+        break;
+    //LAB1 CHALLENGE 1 : YOUR CODE you should modify below codes.
+    case T_SWITCH_TOU:
+    case T_SWITCH_TOK:
+        panic("T_SWITCH_** ??\n");
+        break;
+    case IRQ_OFFSET + IRQ_IDE1:
+    case IRQ_OFFSET + IRQ_IDE2:
+        /* do nothing */
+        break;
+    default:
+        // in kernel, it must be a mistake
+        if ((tf->tf_cs & 3) == 0) {
+            print_trapframe(tf);
+            panic("unexpected trap in kernel.\n");
+        }
+    }
+}
+
+/* *
+ * trap - handles or dispatches an exception/interrupt. if and when trap() returns,
+ * the code in kern/trap/trapentry.S restores the old CPU state saved in the
+ * trapframe and then uses the iret instruction to return from the exception.
+ * */
+void
+trap(struct trapframe *tf) {
+    // dispatch based on what type of trap occurred
+    trap_dispatch(tf);
+}
+
diff --git a/code/lab3/kern/trap/trap.h b/code/lab3/kern/trap/trap.h
new file mode 100644
index 0000000..74d973d
--- /dev/null
+++ b/code/lab3/kern/trap/trap.h
@@ -0,0 +1,91 @@
+#ifndef __KERN_TRAP_TRAP_H__
+#define __KERN_TRAP_TRAP_H__
+
+#include <defs.h>
+
+/* Trap Numbers */
+
+/* Processor-defined: */
+#define T_DIVIDE                0   // divide error
+#define T_DEBUG                 1   // debug exception
+#define T_NMI                   2   // non-maskable interrupt
+#define T_BRKPT                 3   // breakpoint
+#define T_OFLOW                 4   // overflow
+#define T_BOUND                 5   // bounds check
+#define T_ILLOP                 6   // illegal opcode
+#define T_DEVICE                7   // device not available
+#define T_DBLFLT                8   // double fault
+// #define T_COPROC             9   // reserved (not used since 486)
+#define T_TSS                   10  // invalid task switch segment
+#define T_SEGNP                 11  // segment not present
+#define T_STACK                 12  // stack exception
+#define T_GPFLT                 13  // general protection fault
+#define T_PGFLT                 14  // page fault
+// #define T_RES                15  // reserved
+#define T_FPERR                 16  // floating point error
+#define T_ALIGN                 17  // aligment check
+#define T_MCHK                  18  // machine check
+#define T_SIMDERR               19  // SIMD floating point error
+
+#define T_SYSCALL               0x80 // SYSCALL, ONLY FOR THIS PROJ
+
+/* Hardware IRQ numbers. We receive these as (IRQ_OFFSET + IRQ_xx) */
+#define IRQ_OFFSET              32  // IRQ 0 corresponds to int IRQ_OFFSET
+
+#define IRQ_TIMER               0
+#define IRQ_KBD                 1
+#define IRQ_COM1                4
+#define IRQ_IDE1                14
+#define IRQ_IDE2                15
+#define IRQ_ERROR               19
+#define IRQ_SPURIOUS            31
+
+/* *
+ * These are arbitrarily chosen, but with care not to overlap
+ * processor defined exceptions or interrupt vectors.
+ * */
+#define T_SWITCH_TOU                120    // user/kernel switch
+#define T_SWITCH_TOK                121    // user/kernel switch
+
+/* registers as pushed by pushal */
+struct pushregs {
+    uint32_t reg_edi;
+    uint32_t reg_esi;
+    uint32_t reg_ebp;
+    uint32_t reg_oesp;          /* Useless */
+    uint32_t reg_ebx;
+    uint32_t reg_edx;
+    uint32_t reg_ecx;
+    uint32_t reg_eax;
+};
+
+struct trapframe {
+    struct pushregs tf_regs;
+    uint16_t tf_gs;
+    uint16_t tf_padding0;
+    uint16_t tf_fs;
+    uint16_t tf_padding1;
+    uint16_t tf_es;
+    uint16_t tf_padding2;
+    uint16_t tf_ds;
+    uint16_t tf_padding3;
+    uint32_t tf_trapno;
+    /* below here defined by x86 hardware */
+    uint32_t tf_err;
+    uintptr_t tf_eip;
+    uint16_t tf_cs;
+    uint16_t tf_padding4;
+    uint32_t tf_eflags;
+    /* below here only when crossing rings, such as from user to kernel */
+    uintptr_t tf_esp;
+    uint16_t tf_ss;
+    uint16_t tf_padding5;
+} __attribute__((packed));
+
+void idt_init(void);
+void print_trapframe(struct trapframe *tf);
+void print_regs(struct pushregs *regs);
+bool trap_in_kernel(struct trapframe *tf);
+
+#endif /* !__KERN_TRAP_TRAP_H__ */
+
diff --git a/code/lab3/kern/trap/trapentry.S b/code/lab3/kern/trap/trapentry.S
new file mode 100644
index 0000000..55e29b7
--- /dev/null
+++ b/code/lab3/kern/trap/trapentry.S
@@ -0,0 +1,44 @@
+#include <memlayout.h>
+
+# vectors.S sends all traps here.
+.text
+.globl __alltraps
+__alltraps:
+    # push registers to build a trap frame
+    # therefore make the stack look like a struct trapframe
+    pushl %ds
+    pushl %es
+    pushl %fs
+    pushl %gs
+    pushal
+
+    # load GD_KDATA into %ds and %es to set up data segments for kernel
+    movl $GD_KDATA, %eax
+    movw %ax, %ds
+    movw %ax, %es
+
+    # push %esp to pass a pointer to the trapframe as an argument to trap()
+    pushl %esp
+
+    # call trap(tf), where tf=%esp
+    call trap
+
+    # pop the pushed stack pointer
+    popl %esp
+
+    # return falls through to trapret...
+.globl __trapret
+__trapret:
+    # restore registers from stack
+    popal
+
+    # restore %ds, %es, %fs and %gs
+    popl %gs
+    popl %fs
+    popl %es
+    popl %ds
+
+    # get rid of the trap number and error code
+    addl $0x8, %esp
+    iret
+
diff --git a/code/lab3/kern/trap/vectors.S b/code/lab3/kern/trap/vectors.S
new file mode 100644
index 0000000..1d05b4a
--- /dev/null
+++ b/code/lab3/kern/trap/vectors.S
@@ -0,0 +1,1536 @@
+# handler
+.text
+.globl __alltraps
+.globl vector0
+vector0:
+  pushl $0
+  pushl $0
+  jmp __alltraps
+.globl vector1
+vector1:
+  pushl $0
+  pushl $1
+  jmp __alltraps
+.globl vector2
+vector2:
+  pushl $0
+  pushl $2
+  jmp __alltraps
+.globl vector3
+vector3:
+  pushl $0
+  pushl $3
+  jmp __alltraps
+.globl vector4
+vector4:
+  pushl $0
+  pushl $4
+  jmp __alltraps
+.globl vector5
+vector5:
+  pushl $0
+  pushl $5
+  jmp __alltraps
+.globl vector6
+vector6:
+  pushl $0
+  pushl $6
+  jmp __alltraps
+.globl vector7
+vector7:
+  pushl $0
+  pushl $7
+  jmp __alltraps
+.globl vector8
+vector8:
+  pushl $8
+  jmp __alltraps
+.globl vector9
+vector9:
+  pushl $9
+  jmp __alltraps
+.globl vector10
+vector10:
+  pushl $10
+  jmp __alltraps
+.globl vector11
+vector11:
+  pushl $11
+  jmp __alltraps
+.globl vector12
+vector12:
+  pushl $12
+  jmp __alltraps
+.globl vector13
+vector13:
+  pushl $13
+  jmp __alltraps
+.globl vector14
+vector14:
+  pushl $14
+  jmp __alltraps
+.globl vector15
+vector15:
+  pushl $0
+  pushl $15
+  jmp __alltraps
+.globl vector16
+vector16:
+  pushl $0
+  pushl $16
+  jmp __alltraps
+.globl vector17
+vector17:
+  pushl $17
+  jmp __alltraps
+.globl vector18
+vector18:
+  pushl $0
+  pushl $18
+  jmp __alltraps
+.globl vector19
+vector19:
+  pushl $0
+  pushl $19
+  jmp __alltraps
+.globl vector20
+vector20:
+  pushl $0
+  pushl $20
+  jmp __alltraps
+.globl vector21
+vector21:
+  pushl $0
+  pushl $21
+  jmp __alltraps
+.globl vector22
+vector22:
+  pushl $0
+  pushl $22
+  jmp __alltraps
+.globl vector23
+vector23:
+  pushl $0
+  pushl $23
+  jmp __alltraps
+.globl vector24
+vector24:
+  pushl $0
+  pushl $24
+  jmp __alltraps
+.globl vector25
+vector25:
+  pushl $0
+  pushl $25
+  jmp __alltraps
+.globl vector26
+vector26:
+  pushl $0
+  pushl $26
+  jmp __alltraps
+.globl vector27
+vector27:
+  pushl $0
+  pushl $27
+  jmp __alltraps
+.globl vector28
+vector28:
+  pushl $0
+  pushl $28
+  jmp __alltraps
+.globl vector29
+vector29:
+  pushl $0
+  pushl $29
+  jmp __alltraps
+.globl vector30
+vector30:
+  pushl $0
+  pushl $30
+  jmp __alltraps
+.globl vector31
+vector31:
+  pushl $0
+  pushl $31
+  jmp __alltraps
+.globl vector32
+vector32:
+  pushl $0
+  pushl $32
+  jmp __alltraps
+.globl vector33
+vector33:
+  pushl $0
+  pushl $33
+  jmp __alltraps
+.globl vector34
+vector34:
+  pushl $0
+  pushl $34
+  jmp __alltraps
+.globl vector35
+vector35:
+  pushl $0
+  pushl $35
+  jmp __alltraps
+.globl vector36
+vector36:
+  pushl $0
+  pushl $36
+  jmp __alltraps
+.globl vector37
+vector37:
+  pushl $0
+  pushl $37
+  jmp __alltraps
+.globl vector38
+vector38:
+  pushl $0
+  pushl $38
+  jmp __alltraps
+.globl vector39
+vector39:
+  pushl $0
+  pushl $39
+  jmp __alltraps
+.globl vector40
+vector40:
+  pushl $0
+  pushl $40
+  jmp __alltraps
+.globl vector41
+vector41:
+  pushl $0
+  pushl $41
+  jmp __alltraps
+.globl vector42
+vector42:
+  pushl $0
+  pushl $42
+  jmp __alltraps
+.globl vector43
+vector43:
+  pushl $0
+  pushl $43
+  jmp __alltraps
+.globl vector44
+vector44:
+  pushl $0
+  pushl $44
+  jmp __alltraps
+.globl vector45
+vector45:
+  pushl $0
+  pushl $45
+  jmp __alltraps
+.globl vector46
+vector46:
+  pushl $0
+  pushl $46
+  jmp __alltraps
+.globl vector47
+vector47:
+  pushl $0
+  pushl $47
+  jmp __alltraps
+.globl vector48
+vector48:
+  pushl $0
+  pushl $48
+  jmp __alltraps
+.globl vector49
+vector49:
+  pushl $0
+  pushl $49
+  jmp __alltraps
+.globl vector50
+vector50:
+  pushl $0
+  pushl $50
+  jmp __alltraps
+.globl vector51
+vector51:
+  pushl $0
+  pushl $51
+  jmp __alltraps
+.globl vector52
+vector52:
+  pushl $0
+  pushl $52
+  jmp __alltraps
+.globl vector53
+vector53:
+  pushl $0
+  pushl $53
+  jmp __alltraps
+.globl vector54
+vector54:
+  pushl $0
+  pushl $54
+  jmp __alltraps
+.globl vector55
+vector55:
+  pushl $0
+  pushl $55
+  jmp __alltraps
+.globl vector56
+vector56:
+  pushl $0
+  pushl $56
+  jmp __alltraps
+.globl vector57
+vector57:
+  pushl $0
+  pushl $57
+  jmp __alltraps
+.globl vector58
+vector58:
+  pushl $0
+  pushl $58
+  jmp __alltraps
+.globl vector59
+vector59:
+  pushl $0
+  pushl $59
+  jmp __alltraps
+.globl vector60
+vector60:
+  pushl $0
+  pushl $60
+  jmp __alltraps
+.globl vector61
+vector61:
+  pushl $0
+  pushl $61
+  jmp __alltraps
+.globl vector62
+vector62:
+  pushl $0
+  pushl $62
+  jmp __alltraps
+.globl vector63
+vector63:
+  pushl $0
+  pushl $63
+  jmp __alltraps
+.globl vector64
+vector64:
+  pushl $0
+  pushl $64
+  jmp __alltraps
+.globl vector65
+vector65:
+  pushl $0
+  pushl $65
+  jmp __alltraps
+.globl vector66
+vector66:
+  pushl $0
+  pushl $66
+  jmp __alltraps
+.globl vector67
+vector67:
+  pushl $0
+  pushl $67
+  jmp __alltraps
+.globl vector68
+vector68:
+  pushl $0
+  pushl $68
+  jmp __alltraps
+.globl vector69
+vector69:
+  pushl $0
+  pushl $69
+  jmp __alltraps
+.globl vector70
+vector70:
+  pushl $0
+  pushl $70
+  jmp __alltraps
+.globl vector71
+vector71:
+  pushl $0
+  pushl $71
+  jmp __alltraps
+.globl vector72
+vector72:
+  pushl $0
+  pushl $72
+  jmp __alltraps
+.globl vector73
+vector73:
+  pushl $0
+  pushl $73
+  jmp __alltraps
+.globl vector74
+vector74:
+  pushl $0
+  pushl $74
+  jmp __alltraps
+.globl vector75
+vector75:
+  pushl $0
+  pushl $75
+  jmp __alltraps
+.globl vector76
+vector76:
+  pushl $0
+  pushl $76
+  jmp __alltraps
+.globl vector77
+vector77:
+  pushl $0
+  pushl $77
+  jmp __alltraps
+.globl vector78
+vector78:
+  pushl $0
+  pushl $78
+  jmp __alltraps
+.globl vector79
+vector79:
+  pushl $0
+  pushl $79
+  jmp __alltraps
+.globl vector80
+vector80:
+  pushl $0
+  pushl $80
+  jmp __alltraps
+.globl vector81
+vector81:
+  pushl $0
+  pushl $81
+  jmp __alltraps
+.globl vector82
+vector82:
+  pushl $0
+  pushl $82
+  jmp __alltraps
+.globl vector83
+vector83:
+  pushl $0
+  pushl $83
+  jmp __alltraps
+.globl vector84
+vector84:
+  pushl $0
+  pushl $84
+  jmp __alltraps
+.globl vector85
+vector85:
+  pushl $0
+  pushl $85
+  jmp __alltraps
+.globl vector86
+vector86:
+  pushl $0
+  pushl $86
+  jmp __alltraps
+.globl vector87
+vector87:
+  pushl $0
+  pushl $87
+  jmp __alltraps
+.globl vector88
+vector88:
+  pushl $0
+  pushl $88
+  jmp __alltraps
+.globl vector89
+vector89:
+  pushl $0
+  pushl $89
+  jmp __alltraps
+.globl vector90
+vector90:
+  pushl $0
+  pushl $90
+  jmp __alltraps
+.globl vector91
+vector91:
+  pushl $0
+  pushl $91
+  jmp __alltraps
+.globl vector92
+vector92:
+  pushl $0
+  pushl $92
+  jmp __alltraps
+.globl vector93
+vector93:
+  pushl $0
+  pushl $93
+  jmp __alltraps
+.globl vector94
+vector94:
+  pushl $0
+  pushl $94
+  jmp __alltraps
+.globl vector95
+vector95:
+  pushl $0
+  pushl $95
+  jmp __alltraps
+.globl vector96
+vector96:
+  pushl $0
+  pushl $96
+  jmp __alltraps
+.globl vector97
+vector97:
+  pushl $0
+  pushl $97
+  jmp __alltraps
+.globl vector98
+vector98:
+  pushl $0
+  pushl $98
+  jmp __alltraps
+.globl vector99
+vector99:
+  pushl $0
+  pushl $99
+  jmp __alltraps
+.globl vector100
+vector100:
+  pushl $0
+  pushl $100
+  jmp __alltraps
+.globl vector101
+vector101:
+  pushl $0
+  pushl $101
+  jmp __alltraps
+.globl vector102
+vector102:
+  pushl $0
+  pushl $102
+  jmp __alltraps
+.globl vector103
+vector103:
+  pushl $0
+  pushl $103
+  jmp __alltraps
+.globl vector104
+vector104:
+  pushl $0
+  pushl $104
+  jmp __alltraps
+.globl vector105
+vector105:
+  pushl $0
+  pushl $105
+  jmp __alltraps
+.globl vector106
+vector106:
+  pushl $0
+  pushl $106
+  jmp __alltraps
+.globl vector107
+vector107:
+  pushl $0
+  pushl $107
+  jmp __alltraps
+.globl vector108
+vector108:
+  pushl $0
+  pushl $108
+  jmp __alltraps
+.globl vector109
+vector109:
+  pushl $0
+  pushl $109
+  jmp __alltraps
+.globl vector110
+vector110:
+  pushl $0
+  pushl $110
+  jmp __alltraps
+.globl vector111
+vector111:
+  pushl $0
+  pushl $111
+  jmp __alltraps
+.globl vector112
+vector112:
+  pushl $0
+  pushl $112
+  jmp __alltraps
+.globl vector113
+vector113:
+  pushl $0
+  pushl $113
+  jmp __alltraps
+.globl vector114
+vector114:
+  pushl $0
+  pushl $114
+  jmp __alltraps
+.globl vector115
+vector115:
+  pushl $0
+  pushl $115
+  jmp __alltraps
+.globl vector116
+vector116:
+  pushl $0
+  pushl $116
+  jmp __alltraps
+.globl vector117
+vector117:
+  pushl $0
+  pushl $117
+  jmp __alltraps
+.globl vector118
+vector118:
+  pushl $0
+  pushl $118
+  jmp __alltraps
+.globl vector119
+vector119:
+  pushl $0
+  pushl $119
+  jmp __alltraps
+.globl vector120
+vector120:
+  pushl $0
+  pushl $120
+  jmp __alltraps
+.globl vector121
+vector121:
+  pushl $0
+  pushl $121
+  jmp __alltraps
+.globl vector122
+vector122:
+  pushl $0
+  pushl $122
+  jmp __alltraps
+.globl vector123
+vector123:
+  pushl $0
+  pushl $123
+  jmp __alltraps
+.globl vector124
+vector124:
+  pushl $0
+  pushl $124
+  jmp __alltraps
+.globl vector125
+vector125:
+  pushl $0
+  pushl $125
+  jmp __alltraps
+.globl vector126
+vector126:
+  pushl $0
+  pushl $126
+  jmp __alltraps
+.globl vector127
+vector127:
+  pushl $0
+  pushl $127
+  jmp __alltraps
+.globl vector128
+vector128:
+  pushl $0
+  pushl $128
+  jmp __alltraps
+.globl vector129
+vector129:
+  pushl $0
+  pushl $129
+  jmp __alltraps
+.globl vector130
+vector130:
+  pushl $0
+  pushl $130
+  jmp __alltraps
+.globl vector131
+vector131:
+  pushl $0
+  pushl $131
+  jmp __alltraps
+.globl vector132
+vector132:
+  pushl $0
+  pushl $132
+  jmp __alltraps
+.globl vector133
+vector133:
+  pushl $0
+  pushl $133
+  jmp __alltraps
+.globl vector134
+vector134:
+  pushl $0
+  pushl $134
+  jmp __alltraps
+.globl vector135
+vector135:
+  pushl $0
+  pushl $135
+  jmp __alltraps
+.globl vector136
+vector136:
+  pushl $0
+  pushl $136
+  jmp __alltraps
+.globl vector137
+vector137:
+  pushl $0
+  pushl $137
+  jmp __alltraps
+.globl vector138
+vector138:
+  pushl $0
+  pushl $138
+  jmp __alltraps
+.globl vector139
+vector139:
+  pushl $0
+  pushl $139
+  jmp __alltraps
+.globl vector140
+vector140:
+  pushl $0
+  pushl $140
+  jmp __alltraps
+.globl vector141
+vector141:
+  pushl $0
+  pushl $141
+  jmp __alltraps
+.globl vector142
+vector142:
+  pushl $0
+  pushl $142
+  jmp __alltraps
+.globl vector143
+vector143:
+  pushl $0
+  pushl $143
+  jmp __alltraps
+.globl vector144
+vector144:
+  pushl $0
+  pushl $144
+  jmp __alltraps
+.globl vector145
+vector145:
+  pushl $0
+  pushl $145
+  jmp __alltraps
+.globl vector146
+vector146:
+  pushl $0
+  pushl $146
+  jmp __alltraps
+.globl vector147
+vector147:
+  pushl $0
+  pushl $147
+  jmp __alltraps
+.globl vector148
+vector148:
+  pushl $0
+  pushl $148
+  jmp __alltraps
+.globl vector149
+vector149:
+  pushl $0
+  pushl $149
+  jmp __alltraps
+.globl vector150
+vector150:
+  pushl $0
+  pushl $150
+  jmp __alltraps
+.globl vector151
+vector151:
+  pushl $0
+  pushl $151
+  jmp __alltraps
+.globl vector152
+vector152:
+  pushl $0
+  pushl $152
+  jmp __alltraps
+.globl vector153
+vector153:
+  pushl $0
+  pushl $153
+  jmp __alltraps
+.globl vector154
+vector154:
+  pushl $0
+  pushl $154
+  jmp __alltraps
+.globl vector155
+vector155:
+  pushl $0
+  pushl $155
+  jmp __alltraps
+.globl vector156
+vector156:
+  pushl $0
+  pushl $156
+  jmp __alltraps
+.globl vector157
+vector157:
+  pushl $0
+  pushl $157
+  jmp __alltraps
+.globl vector158
+vector158:
+  pushl $0
+  pushl $158
+  jmp __alltraps
+.globl vector159
+vector159:
+  pushl $0
+  pushl $159
+  jmp __alltraps
+.globl vector160
+vector160:
+  pushl $0
+  pushl $160
+  jmp __alltraps
+.globl vector161
+vector161:
+  pushl $0
+  pushl $161
+  jmp __alltraps
+.globl vector162
+vector162:
+  pushl $0
+  pushl $162
+  jmp __alltraps
+.globl vector163
+vector163:
+  pushl $0
+  pushl $163
+  jmp __alltraps
+.globl vector164
+vector164:
+  pushl $0
+  pushl $164
+  jmp __alltraps
+.globl vector165
+vector165:
+  pushl $0
+  pushl $165
+  jmp __alltraps
+.globl vector166
+vector166:
+  pushl $0
+  pushl $166
+  jmp __alltraps
+.globl vector167
+vector167:
+  pushl $0
+  pushl $167
+  jmp __alltraps
+.globl vector168
+vector168:
+  pushl $0
+  pushl $168
+  jmp __alltraps
+.globl vector169
+vector169:
+  pushl $0
+  pushl $169
+  jmp __alltraps
+.globl vector170
+vector170:
+  pushl $0
+  pushl $170
+  jmp __alltraps
+.globl vector171
+vector171:
+  pushl $0
+  pushl $171
+  jmp __alltraps
+.globl vector172
+vector172:
+  pushl $0
+  pushl $172
+  jmp __alltraps
+.globl vector173
+vector173:
+  pushl $0
+  pushl $173
+  jmp __alltraps
+.globl vector174
+vector174:
+  pushl $0
+  pushl $174
+  jmp __alltraps
+.globl vector175
+vector175:
+  pushl $0
+  pushl $175
+  jmp __alltraps
+.globl vector176
+vector176:
+  pushl $0
+  pushl $176
+  jmp __alltraps
+.globl vector177
+vector177:
+  pushl $0
+  pushl $177
+  jmp __alltraps
+.globl vector178
+vector178:
+  pushl $0
+  pushl $178
+  jmp __alltraps
+.globl vector179
+vector179:
+  pushl $0
+  pushl $179
+  jmp __alltraps
+.globl vector180
+vector180:
+  pushl $0
+  pushl $180
+  jmp __alltraps
+.globl vector181
+vector181:
+  pushl $0
+  pushl $181
+  jmp __alltraps
+.globl vector182
+vector182:
+  pushl $0
+  pushl $182
+  jmp __alltraps
+.globl vector183
+vector183:
+  pushl $0
+  pushl $183
+  jmp __alltraps
+.globl vector184
+vector184:
+  pushl $0
+  pushl $184
+  jmp __alltraps
+.globl vector185
+vector185:
+  pushl $0
+  pushl $185
+  jmp __alltraps
+.globl vector186
+vector186:
+  pushl $0
+  pushl $186
+  jmp __alltraps
+.globl vector187
+vector187:
+  pushl $0
+  pushl $187
+  jmp __alltraps
+.globl vector188
+vector188:
+  pushl $0
+  pushl $188
+  jmp __alltraps
+.globl vector189
+vector189:
+  pushl $0
+  pushl $189
+  jmp __alltraps
+.globl vector190
+vector190:
+  pushl $0
+  pushl $190
+  jmp __alltraps
+.globl vector191
+vector191:
+  pushl $0
+  pushl $191
+  jmp __alltraps
+.globl vector192
+vector192:
+  pushl $0
+  pushl $192
+  jmp __alltraps
+.globl vector193
+vector193:
+  pushl $0
+  pushl $193
+  jmp __alltraps
+.globl vector194
+vector194:
+  pushl $0
+  pushl $194
+  jmp __alltraps
+.globl vector195
+vector195:
+  pushl $0
+  pushl $195
+  jmp __alltraps
+.globl vector196
+vector196:
+  pushl $0
+  pushl $196
+  jmp __alltraps
+.globl vector197
+vector197:
+  pushl $0
+  pushl $197
+  jmp __alltraps
+.globl vector198
+vector198:
+  pushl $0
+  pushl $198
+  jmp __alltraps
+.globl vector199
+vector199:
+  pushl $0
+  pushl $199
+  jmp __alltraps
+.globl vector200
+vector200:
+  pushl $0
+  pushl $200
+  jmp __alltraps
+.globl vector201
+vector201:
+  pushl $0
+  pushl $201
+  jmp __alltraps
+.globl vector202
+vector202:
+  pushl $0
+  pushl $202
+  jmp __alltraps
+.globl vector203
+vector203:
+  pushl $0
+  pushl $203
+  jmp __alltraps
+.globl vector204
+vector204:
+  pushl $0
+  pushl $204
+  jmp __alltraps
+.globl vector205
+vector205:
+  pushl $0
+  pushl $205
+  jmp __alltraps
+.globl vector206
+vector206:
+  pushl $0
+  pushl $206
+  jmp __alltraps
+.globl vector207
+vector207:
+  pushl $0
+  pushl $207
+  jmp __alltraps
+.globl vector208
+vector208:
+  pushl $0
+  pushl $208
+  jmp __alltraps
+.globl vector209
+vector209:
+  pushl $0
+  pushl $209
+  jmp __alltraps
+.globl vector210
+vector210:
+  pushl $0
+  pushl $210
+  jmp __alltraps
+.globl vector211
+vector211:
+  pushl $0
+  pushl $211
+  jmp __alltraps
+.globl vector212
+vector212:
+  pushl $0
+  pushl $212
+  jmp __alltraps
+.globl vector213
+vector213:
+  pushl $0
+  pushl $213
+  jmp __alltraps
+.globl vector214
+vector214:
+  pushl $0
+  pushl $214
+  jmp __alltraps
+.globl vector215
+vector215:
+  pushl $0
+  pushl $215
+  jmp __alltraps
+.globl vector216
+vector216:
+  pushl $0
+  pushl $216
+  jmp __alltraps
+.globl vector217
+vector217:
+  pushl $0
+  pushl $217
+  jmp __alltraps
+.globl vector218
+vector218:
+  pushl $0
+  pushl $218
+  jmp __alltraps
+.globl vector219
+vector219:
+  pushl $0
+  pushl $219
+  jmp __alltraps
+.globl vector220
+vector220:
+  pushl $0
+  pushl $220
+  jmp __alltraps
+.globl vector221
+vector221:
+  pushl $0
+  pushl $221
+  jmp __alltraps
+.globl vector222
+vector222:
+  pushl $0
+  pushl $222
+  jmp __alltraps
+.globl vector223
+vector223:
+  pushl $0
+  pushl $223
+  jmp __alltraps
+.globl vector224
+vector224:
+  pushl $0
+  pushl $224
+  jmp __alltraps
+.globl vector225
+vector225:
+  pushl $0
+  pushl $225
+  jmp __alltraps
+.globl vector226
+vector226:
+  pushl $0
+  pushl $226
+  jmp __alltraps
+.globl vector227
+vector227:
+  pushl $0
+  pushl $227
+  jmp __alltraps
+.globl vector228
+vector228:
+  pushl $0
+  pushl $228
+  jmp __alltraps
+.globl vector229
+vector229:
+  pushl $0
+  pushl $229
+  jmp __alltraps
+.globl vector230
+vector230:
+  pushl $0
+  pushl $230
+  jmp __alltraps
+.globl vector231
+vector231:
+  pushl $0
+  pushl $231
+  jmp __alltraps
+.globl vector232
+vector232:
+  pushl $0
+  pushl $232
+  jmp __alltraps
+.globl vector233
+vector233:
+  pushl $0
+  pushl $233
+  jmp __alltraps
+.globl vector234
+vector234:
+  pushl $0
+  pushl $234
+  jmp __alltraps
+.globl vector235
+vector235:
+  pushl $0
+  pushl $235
+  jmp __alltraps
+.globl vector236
+vector236:
+  pushl $0
+  pushl $236
+  jmp __alltraps
+.globl vector237
+vector237:
+  pushl $0
+  pushl $237
+  jmp __alltraps
+.globl vector238
+vector238:
+  pushl $0
+  pushl $238
+  jmp __alltraps
+.globl vector239
+vector239:
+  pushl $0
+  pushl $239
+  jmp __alltraps
+.globl vector240
+vector240:
+  pushl $0
+  pushl $240
+  jmp __alltraps
+.globl vector241
+vector241:
+  pushl $0
+  pushl $241
+  jmp __alltraps
+.globl vector242
+vector242:
+  pushl $0
+  pushl $242
+  jmp __alltraps
+.globl vector243
+vector243:
+  pushl $0
+  pushl $243
+  jmp __alltraps
+.globl vector244
+vector244:
+  pushl $0
+  pushl $244
+  jmp __alltraps
+.globl vector245
+vector245:
+  pushl $0
+  pushl $245
+  jmp __alltraps
+.globl vector246
+vector246:
+  pushl $0
+  pushl $246
+  jmp __alltraps
+.globl vector247
+vector247:
+  pushl $0
+  pushl $247
+  jmp __alltraps
+.globl vector248
+vector248:
+  pushl $0
+  pushl $248
+  jmp __alltraps
+.globl vector249
+vector249:
+  pushl $0
+  pushl $249
+  jmp __alltraps
+.globl vector250
+vector250:
+  pushl $0
+  pushl $250
+  jmp __alltraps
+.globl vector251
+vector251:
+  pushl $0
+  pushl $251
+  jmp __alltraps
+.globl vector252
+vector252:
+  pushl $0
+  pushl $252
+  jmp __alltraps
+.globl vector253
+vector253:
+  pushl $0
+  pushl $253
+  jmp __alltraps
+.globl vector254
+vector254:
+  pushl $0
+  pushl $254
+  jmp __alltraps
+.globl vector255
+vector255:
+  pushl $0
+  pushl $255
+  jmp __alltraps
+
+# vector table
+.data
+.globl __vectors
+__vectors:
+  .long vector0
+  .long vector1
+  .long vector2
+  .long vector3
+  .long vector4
+  .long vector5
+  .long vector6
+  .long vector7
+  .long vector8
+  .long vector9
+  .long vector10
+  .long vector11
+  .long vector12
+  .long vector13
+  .long vector14
+  .long vector15
+  .long vector16
+  .long vector17
+  .long vector18
+  .long vector19
+  .long vector20
+  .long vector21
+  .long vector22
+  .long vector23
+  .long vector24
+  .long vector25
+  .long vector26
+  .long vector27
+  .long vector28
+  .long vector29
+  .long vector30
+  .long vector31
+  .long vector32
+  .long vector33
+  .long vector34
+  .long vector35
+  .long vector36
+  .long vector37
+  .long vector38
+  .long vector39
+  .long vector40
+  .long vector41
+  .long vector42
+  .long vector43
+  .long vector44
+  .long vector45
+  .long vector46
+  .long vector47
+  .long vector48
+  .long vector49
+  .long vector50
+  .long vector51
+  .long vector52
+  .long vector53
+  .long vector54
+  .long vector55
+  .long vector56
+  .long vector57
+  .long vector58
+  .long vector59
+  .long vector60
+  .long vector61
+  .long vector62
+  .long vector63
+  .long vector64
+  .long vector65
+  .long vector66
+  .long vector67
+  .long vector68
+  .long vector69
+  .long vector70
+  .long vector71
+  .long vector72
+  .long vector73
+  .long vector74
+  .long vector75
+  .long vector76
+  .long vector77
+  .long vector78
+  .long vector79
+  .long vector80
+  .long vector81
+  .long vector82
+  .long vector83
+  .long vector84
+  .long vector85
+  .long vector86
+  .long vector87
+  .long vector88
+  .long vector89
+  .long vector90
+  .long vector91
+  .long vector92
+  .long vector93
+  .long vector94
+  .long vector95
+  .long vector96
+  .long vector97
+  .long vector98
+  .long vector99
+  .long vector100
+  .long vector101
+  .long vector102
+  .long vector103
+  .long vector104
+  .long vector105
+  .long vector106
+  .long vector107
+  .long vector108
+  .long vector109
+  .long vector110
+  .long vector111
+  .long vector112
+  .long vector113
+  .long vector114
+  .long vector115
+  .long vector116
+  .long vector117
+  .long vector118
+  .long vector119
+  .long vector120
+  .long vector121
+  .long vector122
+  .long vector123
+  .long vector124
+  .long vector125
+  .long vector126
+  .long vector127
+  .long vector128
+  .long vector129
+  .long vector130
+  .long vector131
+  .long vector132
+  .long vector133
+  .long vector134
+  .long vector135
+  .long vector136
+  .long vector137
+  .long vector138
+  .long vector139
+  .long vector140
+  .long vector141
+  .long vector142
+  .long vector143
+  .long vector144
+  .long vector145
+  .long vector146
+  .long vector147
+  .long vector148
+  .long vector149
+  .long vector150
+  .long vector151
+  .long vector152
+  .long vector153
+  .long vector154
+  .long vector155
+  .long vector156
+  .long vector157
+  .long vector158
+  .long vector159
+  .long vector160
+  .long vector161
+  .long vector162
+  .long vector163
+  .long vector164
+  .long vector165
+  .long vector166
+  .long vector167
+  .long vector168
+  .long vector169
+  .long vector170
+  .long vector171
+  .long vector172
+  .long vector173
+  .long vector174
+  .long vector175
+  .long vector176
+  .long vector177
+  .long vector178
+  .long vector179
+  .long vector180
+  .long vector181
+  .long vector182
+  .long vector183
+  .long vector184
+  .long vector185
+  .long vector186
+  .long vector187
+  .long vector188
+  .long vector189
+  .long vector190
+  .long vector191
+  .long vector192
+  .long vector193
+  .long vector194
+  .long vector195
+  .long vector196
+  .long vector197
+  .long vector198
+  .long vector199
+  .long vector200
+  .long vector201
+  .long vector202
+  .long vector203
+  .long vector204
+  .long vector205
+  .long vector206
+  .long vector207
+  .long vector208
+  .long vector209
+  .long vector210
+  .long vector211
+  .long vector212
+  .long vector213
+  .long vector214
+  .long vector215
+  .long vector216
+  .long vector217
+  .long vector218
+  .long vector219
+  .long vector220
+  .long vector221
+  .long vector222
+  .long vector223
+  .long vector224
+  .long vector225
+  .long vector226
+  .long vector227
+  .long vector228
+  .long vector229
+  .long vector230
+  .long vector231
+  .long vector232
+  .long vector233
+  .long vector234
+  .long vector235
+  .long vector236
+  .long vector237
+  .long vector238
+  .long vector239
+  .long vector240
+  .long vector241
+  .long vector242
+  .long vector243
+  .long vector244
+  .long vector245
+  .long vector246
+  .long vector247
+  .long vector248
+  .long vector249
+  .long vector250
+  .long vector251
+  .long vector252
+  .long vector253
+  .long vector254
+  .long vector255
diff --git a/code/lab3/libs/atomic.h b/code/lab3/libs/atomic.h
new file mode 100644
index 0000000..a3a9525
--- /dev/null
+++ b/code/lab3/libs/atomic.h
@@ -0,0 +1,251 @@
+#ifndef __LIBS_ATOMIC_H__
+#define __LIBS_ATOMIC_H__
+
+/* Atomic operations that C can't guarantee us. Useful for resource counting etc.. */
+
+typedef struct {
+    volatile int counter;
+} atomic_t;
+
+static inline int atomic_read(const atomic_t *v) __attribute__((always_inline));
+static inline void atomic_set(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_add(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_sub(atomic_t *v, int i) __attribute__((always_inline));
+static inline bool atomic_sub_test_zero(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_inc(atomic_t *v) __attribute__((always_inline));
+static inline void atomic_dec(atomic_t *v) __attribute__((always_inline));
+static inline bool atomic_inc_test_zero(atomic_t *v) __attribute__((always_inline));
+static inline bool atomic_dec_test_zero(atomic_t *v) __attribute__((always_inline));
+static inline int atomic_add_return(atomic_t *v, int i) __attribute__((always_inline));
+static inline int atomic_sub_return(atomic_t *v, int i) __attribute__((always_inline));
+
+/* *
+ * atomic_read - read atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically reads the value of @v.
+ * */
+static inline int
+atomic_read(const atomic_t *v) {
+    return v->counter;
+}
+
+/* *
+ * atomic_set - set atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  required value
+ *
+ * Atomically sets the value of @v to @i.
+ * */
+static inline void
+atomic_set(atomic_t *v, int i) {
+    v->counter = i;
+}
+
+/* *
+ * atomic_add - add integer to atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to add
+ *
+ * Atomically adds @i to @v.
+ * */
+static inline void
+atomic_add(atomic_t *v, int i) {
+    asm volatile ("addl %1, %0" : "+m" (v->counter) : "ir" (i));
+}
+
+/* *
+ * atomic_sub - subtract integer from atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v.
+ * */
+static inline void
+atomic_sub(atomic_t *v, int i) {
+    asm volatile("subl %1, %0" : "+m" (v->counter) : "ir" (i));
+}
+
+/* *
+ * atomic_sub_test_zero - subtract value from variable and test result
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v and
+ * returns true if the result is zero, or false for all other cases.
+ * */
+static inline bool
+atomic_sub_test_zero(atomic_t *v, int i) {
+    unsigned char c;
+    asm volatile("subl %2, %0; sete %1" : "+m" (v->counter), "=qm" (c) : "ir" (i) : "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_inc - increment atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically increments @v by 1.
+ * */
+static inline void
+atomic_inc(atomic_t *v) {
+    asm volatile("incl %0" : "+m" (v->counter));
+}
+
+/* *
+ * atomic_dec - decrement atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically decrements @v by 1.
+ * */
+static inline void
+atomic_dec(atomic_t *v) {
+    asm volatile("decl %0" : "+m" (v->counter));
+}
+
+/* *
+ * atomic_inc_test_zero - increment and test
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically increments @v by 1 and
+ * returns true if the result is zero, or false for all other cases.
+ * */
+static inline bool
+atomic_inc_test_zero(atomic_t *v) {
+    unsigned char c;
+    asm volatile("incl %0; sete %1" : "+m" (v->counter), "=qm" (c) :: "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_dec_test_zero - decrement and test
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically decrements @v by 1 and
+ * returns true if the result is 0, or false for all other cases.
+ * */
+static inline bool
+atomic_dec_test_zero(atomic_t *v) {
+    unsigned char c;
+    asm volatile("decl %0; sete %1" : "+m" (v->counter), "=qm" (c) :: "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_add_return - add integer and return
+ * @i:  integer value to add
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically adds @i to @v and returns @i + @v
+ * Requires Modern 486+ processor
+ * */
+static inline int
+atomic_add_return(atomic_t *v, int i) {
+    int __i = i;
+    asm volatile("xaddl %0, %1" : "+r" (i), "+m" (v->counter) :: "memory");
+    return i + __i;
+}
+
+/* *
+ * atomic_sub_return - subtract integer and return
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v and returns @v - @i
+ * */
+static inline int
+atomic_sub_return(atomic_t *v, int i) {
+    return atomic_add_return(v, -i);
+}
+
+static inline void set_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline void clear_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline void change_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_set_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_clear_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_change_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_bit(int nr, volatile void *addr) __attribute__((always_inline));
+
+/* *
+ * set_bit - Atomically set a bit in memory
+ * @nr:     the bit to set
+ * @addr:   the address to start counting from
+ *
+ * Note that @nr may be almost arbitrarily large; this function is not
+ * restricted to acting on a single-word quantity.
+ * */
+static inline void
+set_bit(int nr, volatile void *addr) {
+    asm volatile ("btsl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * clear_bit - Atomically clears a bit in memory
+ * @nr:     the bit to clear
+ * @addr:   the address to start counting from
+ * */
+static inline void
+clear_bit(int nr, volatile void *addr) {
+    asm volatile ("btrl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * change_bit - Atomically toggle a bit in memory
+ * @nr:     the bit to change
+ * @addr:   the address to start counting from
+ * */
+static inline void
+change_bit(int nr, volatile void *addr) {
+    asm volatile ("btcl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * test_and_set_bit - Atomically set a bit and return its old value
+ * @nr:     the bit to set
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_set_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btsl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_and_clear_bit - Atomically clear a bit and return its old value
+ * @nr:     the bit to clear
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_clear_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btrl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_and_change_bit - Atomically change a bit and return its old value
+ * @nr:     the bit to change
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_change_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btcl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_bit - Determine whether a bit is set
+ * @nr:     the bit to test
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btl %2, %1; sbbl %0,%0" : "=r" (oldbit) : "m" (*(volatile long *)addr), "Ir" (nr));
+    return oldbit != 0;
+}
+
+#endif /* !__LIBS_ATOMIC_H__ */
+
diff --git a/code/lab3/libs/defs.h b/code/lab3/libs/defs.h
new file mode 100644
index 0000000..88f280e
--- /dev/null
+++ b/code/lab3/libs/defs.h
@@ -0,0 +1,68 @@
+#ifndef __LIBS_DEFS_H__
+#define __LIBS_DEFS_H__
+
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+#define __always_inline inline __attribute__((always_inline))
+#define __noinline __attribute__((noinline))
+#define __noreturn __attribute__((noreturn))
+
+/* Represents true-or-false values */
+typedef int bool;
+
+/* Explicitly-sized versions of integer types */
+typedef char int8_t;
+typedef unsigned char uint8_t;
+typedef short int16_t;
+typedef unsigned short uint16_t;
+typedef int int32_t;
+typedef unsigned int uint32_t;
+typedef long long int64_t;
+typedef unsigned long long uint64_t;
+
+/* *
+ * Pointers and addresses are 32 bits long.
+ * We use pointer types to represent addresses,
+ * uintptr_t to represent the numerical values of addresses.
+ * */
+typedef int32_t intptr_t;
+typedef uint32_t uintptr_t;
+
+/* size_t is used for memory object sizes */
+typedef uintptr_t size_t;
+
+/* used for page numbers */
+typedef size_t ppn_t;
+
+/* *
+ * Rounding operations (efficient when n is a power of 2)
+ * Round down to the nearest multiple of n
+ * */
+#define ROUNDDOWN(a, n) ({                                          \
+            size_t __a = (size_t)(a);                               \
+            (typeof(a))(__a - __a % (n));                           \
+        })
+
+/* Round up to the nearest multiple of n */
+#define ROUNDUP(a, n) ({                                            \
+            size_t __n = (size_t)(n);                               \
+            (typeof(a))(ROUNDDOWN((size_t)(a) + __n - 1, __n));     \
+        })
+
+/* Return the offset of 'member' relative to the beginning of a struct type */
+#define offsetof(type, member)                                      \
+    ((size_t)(&((type *)0)->member))
+
+/* *
+ * to_struct - get the struct from a ptr
+ * @ptr:    a struct pointer of member
+ * @type:   the type of the struct this is embedded in
+ * @member: the name of the member within the struct
+ * */
+#define to_struct(ptr, type, member)                               \
+    ((type *)((char *)(ptr) - offsetof(type, member)))
+
+#endif /* !__LIBS_DEFS_H__ */
+
diff --git a/code/lab3/libs/elf.h b/code/lab3/libs/elf.h
new file mode 100644
index 0000000..bdfee3d
--- /dev/null
+++ b/code/lab3/libs/elf.h
@@ -0,0 +1,40 @@
+#ifndef __LIBS_ELF_H__
+#define __LIBS_ELF_H__
+
+#include <defs.h>
+
+#define ELF_MAGIC   0x464C457FU         // "\x7FELF" in little endian
+
+/* file header */
+struct elfhdr {
+    uint32_t e_magic;     // must equal ELF_MAGIC
+    uint8_t e_elf[12];
+    uint16_t e_type;      // 1=relocatable, 2=executable, 3=shared object, 4=core image
+    uint16_t e_machine;   // 3=x86, 4=68K, etc.
+    uint32_t e_version;   // file version, always 1
+    uint32_t e_entry;     // entry point if executable
+    uint32_t e_phoff;     // file position of program header or 0
+    uint32_t e_shoff;     // file position of section header or 0
+    uint32_t e_flags;     // architecture-specific flags, usually 0
+    uint16_t e_ehsize;    // size of this elf header
+    uint16_t e_phentsize; // size of an entry in program header
+    uint16_t e_phnum;     // number of entries in program header or 0
+    uint16_t e_shentsize; // size of an entry in section header
+    uint16_t e_shnum;     // number of entries in section header or 0
+    uint16_t e_shstrndx;  // section number that contains section name strings
+};
+
+/* program section header */
+struct proghdr {
+    uint32_t p_type;   // loadable code or data, dynamic linking info,etc.
+    uint32_t p_offset; // file offset of segment
+    uint32_t p_va;     // virtual address to map segment
+    uint32_t p_pa;     // physical address, not used
+    uint32_t p_filesz; // size of segment in file
+    uint32_t p_memsz;  // size of segment in memory (bigger if contains bss)
+    uint32_t p_flags;  // read/write/execute bits
+    uint32_t p_align;  // required alignment, invariably hardware page size
+};
+
+#endif /* !__LIBS_ELF_H__ */
+
diff --git a/code/lab3/libs/error.h b/code/lab3/libs/error.h
new file mode 100644
index 0000000..b43fbd6
--- /dev/null
+++ b/code/lab3/libs/error.h
@@ -0,0 +1,16 @@
+#ifndef __LIBS_ERROR_H__
+#define __LIBS_ERROR_H__
+
+/* kernel error codes -- keep in sync with list in lib/printfmt.c */
+#define E_UNSPECIFIED       1   // Unspecified or unknown problem
+#define E_BAD_PROC          2   // Process doesn't exist or otherwise
+#define E_INVAL             3   // Invalid parameter
+#define E_NO_MEM            4   // Request failed due to memory shortage
+#define E_NO_FREE_PROC      5   // Attempt to create a new process beyond
+#define E_FAULT             6   // Memory fault
+
+/* the maximum allowed */
+#define MAXERROR            6
+
+#endif /* !__LIBS_ERROR_H__ */
+
diff --git a/code/lab3/libs/list.h b/code/lab3/libs/list.h
new file mode 100644
index 0000000..3dbf772
--- /dev/null
+++ b/code/lab3/libs/list.h
@@ -0,0 +1,163 @@
+#ifndef __LIBS_LIST_H__
+#define __LIBS_LIST_H__
+
+#ifndef __ASSEMBLER__
+
+#include <defs.h>
+
+/* *
+ * Simple doubly linked list implementation.
+ *
+ * Some of the internal functions ("__xxx") are useful when manipulating
+ * whole lists rather than single entries, as sometimes we already know
+ * the next/prev entries and we can generate better code by using them
+ * directly rather than using the generic single-entry routines.
+ * */
+
+struct list_entry {
+    struct list_entry *prev, *next;
+};
+
+typedef struct list_entry list_entry_t;
+
+static inline void list_init(list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add_before(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add_after(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_del(list_entry_t *listelm) __attribute__((always_inline));
+static inline void list_del_init(list_entry_t *listelm) __attribute__((always_inline));
+static inline bool list_empty(list_entry_t *list) __attribute__((always_inline));
+static inline list_entry_t *list_next(list_entry_t *listelm) __attribute__((always_inline));
+static inline list_entry_t *list_prev(list_entry_t *listelm) __attribute__((always_inline));
+
+static inline void __list_add(list_entry_t *elm, list_entry_t *prev, list_entry_t *next) __attribute__((always_inline));
+static inline void __list_del(list_entry_t *prev, list_entry_t *next) __attribute__((always_inline));
+
+/* *
+ * list_init - initialize a new entry
+ * @elm:        new entry to be initialized
+ * */
+static inline void
+list_init(list_entry_t *elm) {
+    elm->prev = elm->next = elm;
+}
+
+/* *
+ * list_add - add a new entry
+ * @listelm:    list head to add after
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *after* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add(list_entry_t *listelm, list_entry_t *elm) {
+    list_add_after(listelm, elm);
+}
+
+/* *
+ * list_add_before - add a new entry
+ * @listelm:    list head to add before
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *before* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add_before(list_entry_t *listelm, list_entry_t *elm) {
+    __list_add(elm, listelm->prev, listelm);
+}
+
+/* *
+ * list_add_after - add a new entry
+ * @listelm:    list head to add after
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *after* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add_after(list_entry_t *listelm, list_entry_t *elm) {
+    __list_add(elm, listelm, listelm->next);
+}
+
+/* *
+ * list_del - deletes entry from list
+ * @listelm:    the element to delete from the list
+ *
+ * Note: list_empty() on @listelm does not return true after this, the entry is
+ * in an undefined state.
+ * */
+static inline void
+list_del(list_entry_t *listelm) {
+    __list_del(listelm->prev, listelm->next);
+}
+
+/* *
+ * list_del_init - deletes entry from list and reinitialize it.
+ * @listelm:    the element to delete from the list.
+ *
+ * Note: list_empty() on @listelm returns true after this.
+ * */
+static inline void
+list_del_init(list_entry_t *listelm) {
+    list_del(listelm);
+    list_init(listelm);
+}
+
+/* *
+ * list_empty - tests whether a list is empty
+ * @list:       the list to test.
+ * */
+static inline bool
+list_empty(list_entry_t *list) {
+    return list->next == list;
+}
+
+/* *
+ * list_next - get the next entry
+ * @listelm:    the list head
+ **/
+static inline list_entry_t *
+list_next(list_entry_t *listelm) {
+    return listelm->next;
+}
+
+/* *
+ * list_prev - get the previous entry
+ * @listelm:    the list head
+ **/
+static inline list_entry_t *
+list_prev(list_entry_t *listelm) {
+    return listelm->prev;
+}
+
+/* *
+ * Insert a new entry between two known consecutive entries.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ * */
+static inline void
+__list_add(list_entry_t *elm, list_entry_t *prev, list_entry_t *next) {
+    prev->next = next->prev = elm;
+    elm->next = next;
+    elm->prev = prev;
+}
+
+/* *
+ * Delete a list entry by making the prev/next entries point to each other.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ * */
+static inline void
+__list_del(list_entry_t *prev, list_entry_t *next) {
+    prev->next = next;
+    next->prev = prev;
+}
+
+#endif /* !__ASSEMBLER__ */
+
+#endif /* !__LIBS_LIST_H__ */
+
diff --git a/code/lab3/libs/printfmt.c b/code/lab3/libs/printfmt.c
new file mode 100644
index 0000000..93a1c47
--- /dev/null
+++ b/code/lab3/libs/printfmt.c
@@ -0,0 +1,340 @@
+#include <defs.h>
+#include <x86.h>
+#include <error.h>
+#include <stdio.h>
+#include <string.h>
+
+/* *
+ * Space or zero padding and a field width are supported for the numeric
+ * formats only.
+ *
+ * The special format %e takes an integer error code
+ * and prints a string describing the error.
+ * The integer may be positive or negative,
+ * so that -E_NO_MEM and E_NO_MEM are equivalent.
+ * */
+
+static const char * const error_string[MAXERROR + 1] = {
+    [0]                     NULL,
+    [E_UNSPECIFIED]         "unspecified error",
+    [E_BAD_PROC]            "bad process",
+    [E_INVAL]               "invalid parameter",
+    [E_NO_MEM]              "out of memory",
+    [E_NO_FREE_PROC]        "out of processes",
+    [E_FAULT]               "segmentation fault",
+};
+
+/* *
+ * printnum - print a number (base <= 16) in reverse order
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @num:        the number will be printed
+ * @base:       base for print, must be in [1, 16]
+ * @width:      maximum number of digits, if the actual width is less than @width, use @padc instead
+ * @padc:       character that padded on the left if the actual width is less than @width
+ * */
+static void
+printnum(void (*putch)(int, void*), void *putdat,
+        unsigned long long num, unsigned base, int width, int padc) {
+    unsigned long long result = num;
+    unsigned mod = do_div(result, base);
+
+    // first recursively print all preceding (more significant) digits
+    if (num >= base) {
+        printnum(putch, putdat, result, base, width - 1, padc);
+    } else {
+        // print any needed pad characters before first digit
+        while (-- width > 0)
+            putch(padc, putdat);
+    }
+    // then print this (the least significant) digit
+    putch("0123456789abcdef"[mod], putdat);
+}
+
+/* *
+ * getuint - get an unsigned int of various possible sizes from a varargs list
+ * @ap:         a varargs list pointer
+ * @lflag:      determines the size of the vararg that @ap points to
+ * */
+static unsigned long long
+getuint(va_list *ap, int lflag) {
+    if (lflag >= 2) {
+        return va_arg(*ap, unsigned long long);
+    }
+    else if (lflag) {
+        return va_arg(*ap, unsigned long);
+    }
+    else {
+        return va_arg(*ap, unsigned int);
+    }
+}
+
+/* *
+ * getint - same as getuint but signed, we can't use getuint because of sign extension
+ * @ap:         a varargs list pointer
+ * @lflag:      determines the size of the vararg that @ap points to
+ * */
+static long long
+getint(va_list *ap, int lflag) {
+    if (lflag >= 2) {
+        return va_arg(*ap, long long);
+    }
+    else if (lflag) {
+        return va_arg(*ap, long);
+    }
+    else {
+        return va_arg(*ap, int);
+    }
+}
+
+/* *
+ * printfmt - format a string and print it by using putch
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @fmt:        the format string to use
+ * */
+void
+printfmt(void (*putch)(int, void*), void *putdat, const char *fmt, ...) {
+    va_list ap;
+
+    va_start(ap, fmt);
+    vprintfmt(putch, putdat, fmt, ap);
+    va_end(ap);
+}
+
+/* *
+ * vprintfmt - format a string and print it by using putch, it's called with a va_list
+ * instead of a variable number of arguments
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @fmt:        the format string to use
+ * @ap:         arguments for the format string
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want printfmt() instead.
+ * */
+void
+vprintfmt(void (*putch)(int, void*), void *putdat, const char *fmt, va_list ap) {
+    register const char *p;
+    register int ch, err;
+    unsigned long long num;
+    int base, width, precision, lflag, altflag;
+
+    while (1) {
+        while ((ch = *(unsigned char *)fmt ++) != '%') {
+            if (ch == '\0') {
+                return;
+            }
+            putch(ch, putdat);
+        }
+
+        // Process a %-escape sequence
+        char padc = ' ';
+        width = precision = -1;
+        lflag = altflag = 0;
+
+    reswitch:
+        switch (ch = *(unsigned char *)fmt ++) {
+
+        // flag to pad on the right
+        case '-':
+            padc = '-';
+            goto reswitch;
+
+        // flag to pad with 0's instead of spaces
+        case '0':
+            padc = '0';
+            goto reswitch;
+
+        // width field
+        case '1' ... '9':
+            for (precision = 0; ; ++ fmt) {
+                precision = precision * 10 + ch - '0';
+                ch = *fmt;
+                if (ch < '0' || ch > '9') {
+                    break;
+                }
+            }
+            goto process_precision;
+
+        case '*':
+            precision = va_arg(ap, int);
+            goto process_precision;
+
+        case '.':
+            if (width < 0)
+                width = 0;
+            goto reswitch;
+
+        case '#':
+            altflag = 1;
+            goto reswitch;
+
+        process_precision:
+            if (width < 0)
+                width = precision, precision = -1;
+            goto reswitch;
+
+        // long flag (doubled for long long)
+        case 'l':
+            lflag ++;
+            goto reswitch;
+
+        // character
+        case 'c':
+            putch(va_arg(ap, int), putdat);
+            break;
+
+        // error message
+        case 'e':
+            err = va_arg(ap, int);
+            if (err < 0) {
+                err = -err;
+            }
+            if (err > MAXERROR || (p = error_string[err]) == NULL) {
+                printfmt(putch, putdat, "error %d", err);
+            }
+            else {
+                printfmt(putch, putdat, "%s", p);
+            }
+            break;
+
+        // string
+        case 's':
+            if ((p = va_arg(ap, char *)) == NULL) {
+                p = "(null)";
+            }
+            if (width > 0 && padc != '-') {
+                for (width -= strnlen(p, precision); width > 0; width --) {
+                    putch(padc, putdat);
+                }
+            }
+            for (; (ch = *p ++) != '\0' && (precision < 0 || -- precision >= 0); width --) {
+                if (altflag && (ch < ' ' || ch > '~')) {
+                    putch('?', putdat);
+                }
+                else {
+                    putch(ch, putdat);
+                }
+            }
+            for (; width > 0; width --) {
+                putch(' ', putdat);
+            }
+            break;
+
+        // (signed) decimal
+        case 'd':
+            num = getint(&ap, lflag);
+            if ((long long)num < 0) {
+                putch('-', putdat);
+                num = -(long long)num;
+            }
+            base = 10;
+            goto number;
+
+        // unsigned decimal
+        case 'u':
+            num = getuint(&ap, lflag);
+            base = 10;
+            goto number;
+
+        // (unsigned) octal
+        case 'o':
+            num = getuint(&ap, lflag);
+            base = 8;
+            goto number;
+
+        // pointer
+        case 'p':
+            putch('0', putdat);
+            putch('x', putdat);
+            num = (unsigned long long)(uintptr_t)va_arg(ap, void *);
+            base = 16;
+            goto number;
+
+        // (unsigned) hexadecimal
+        case 'x':
+            num = getuint(&ap, lflag);
+            base = 16;
+        number:
+            printnum(putch, putdat, num, base, width, padc);
+            break;
+
+        // escaped '%' character
+        case '%':
+            putch(ch, putdat);
+            break;
+
+        // unrecognized escape sequence - just print it literally
+        default:
+            putch('%', putdat);
+            for (fmt --; fmt[-1] != '%'; fmt --)
+                /* do nothing */;
+            break;
+        }
+    }
+}
+
+/* sprintbuf is used to save enough information of a buffer */
+struct sprintbuf {
+    char *buf;          // address pointer points to the first unused memory
+    char *ebuf;         // points the end of the buffer
+    int cnt;            // the number of characters that have been placed in this buffer
+};
+
+/* *
+ * sprintputch - 'print' a single character in a buffer
+ * @ch:         the character will be printed
+ * @b:          the buffer to place the character @ch
+ * */
+static void
+sprintputch(int ch, struct sprintbuf *b) {
+    b->cnt ++;
+    if (b->buf < b->ebuf) {
+        *b->buf ++ = ch;
+    }
+}
+
+/* *
+ * snprintf - format a string and place it in a buffer
+ * @str:        the buffer to place the result into
+ * @size:       the size of buffer, including the trailing null space
+ * @fmt:        the format string to use
+ * */
+int
+snprintf(char *str, size_t size, const char *fmt, ...) {
+    va_list ap;
+    int cnt;
+    va_start(ap, fmt);
+    cnt = vsnprintf(str, size, fmt, ap);
+    va_end(ap);
+    return cnt;
+}
+
+/* *
+ * vsnprintf - format a string and place it in a buffer, it's called with a va_list
+ * instead of a variable number of arguments
+ * @str:        the buffer to place the result into
+ * @size:       the size of buffer, including the trailing null space
+ * @fmt:        the format string to use
+ * @ap:         arguments for the format string
+ *
+ * The return value is the number of characters which would be generated for the
+ * given input, excluding the trailing '\0'.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want snprintf() instead.
+ * */
+int
+vsnprintf(char *str, size_t size, const char *fmt, va_list ap) {
+    struct sprintbuf b = {str, str + size - 1, 0};
+    if (str == NULL || b.buf > b.ebuf) {
+        return -E_INVAL;
+    }
+    // print the string to the buffer
+    vprintfmt((void*)sprintputch, &b, fmt, ap);
+    // null terminate the buffer
+    *b.buf = '\0';
+    return b.cnt;
+}
+
diff --git a/code/lab3/libs/rand.c b/code/lab3/libs/rand.c
new file mode 100644
index 0000000..2a2c4e7
--- /dev/null
+++ b/code/lab3/libs/rand.c
@@ -0,0 +1,26 @@
+#include <x86.h>
+#include <stdlib.h>
+
+static unsigned long long next = 1;
+
+/* *
+ * rand - returns a pseudo-random integer
+ *
+ * The rand() function return a value in the range [0, RAND_MAX].
+ * */
+int
+rand(void) {
+    next = (next * 0x5DEECE66DLL + 0xBLL) & ((1LL << 48) - 1);
+    unsigned long long result = (next >> 12);
+    return (int)do_div(result, RAND_MAX + 1);
+}
+
+/* *
+ * srand - seed the random number generator with the given number
+ * @seed:   the required seed number
+ * */
+void
+srand(unsigned int seed) {
+    next = seed;
+}
+
diff --git a/code/lab3/libs/stdarg.h b/code/lab3/libs/stdarg.h
new file mode 100644
index 0000000..f6e0758
--- /dev/null
+++ b/code/lab3/libs/stdarg.h
@@ -0,0 +1,12 @@
+#ifndef __LIBS_STDARG_H__
+#define __LIBS_STDARG_H__
+
+/* compiler provides size of save area */
+typedef __builtin_va_list va_list;
+
+#define va_start(ap, last)              (__builtin_va_start(ap, last))
+#define va_arg(ap, type)                (__builtin_va_arg(ap, type))
+#define va_end(ap)                      /*nothing*/
+
+#endif /* !__LIBS_STDARG_H__ */
+
diff --git a/code/lab3/libs/stdio.h b/code/lab3/libs/stdio.h
new file mode 100644
index 0000000..41e8b41
--- /dev/null
+++ b/code/lab3/libs/stdio.h
@@ -0,0 +1,24 @@
+#ifndef __LIBS_STDIO_H__
+#define __LIBS_STDIO_H__
+
+#include <defs.h>
+#include <stdarg.h>
+
+/* kern/libs/stdio.c */
+int cprintf(const char *fmt, ...);
+int vcprintf(const char *fmt, va_list ap);
+void cputchar(int c);
+int cputs(const char *str);
+int getchar(void);
+
+/* kern/libs/readline.c */
+char *readline(const char *prompt);
+
+/* libs/printfmt.c */
+void printfmt(void (*putch)(int, void *), void *putdat, const char *fmt, ...);
+void vprintfmt(void (*putch)(int, void *), void *putdat, const char *fmt, va_list ap);
+int snprintf(char *str, size_t size, const char *fmt, ...);
+int vsnprintf(char *str, size_t size, const char *fmt, va_list ap);
+
+#endif /* !__LIBS_STDIO_H__ */
+
diff --git a/code/lab3/libs/stdlib.h b/code/lab3/libs/stdlib.h
new file mode 100644
index 0000000..297e778
--- /dev/null
+++ b/code/lab3/libs/stdlib.h
@@ -0,0 +1,12 @@
+#ifndef __LIBS_STDLIB_H__
+#define __LIBS_STDLIB_H__
+
+/* the largest number rand will return */
+#define RAND_MAX    2147483647UL
+
+/* libs/rand.c */
+int rand(void);
+void srand(unsigned int seed);
+
+#endif /* !__LIBS_RAND_H__ */
+
diff --git a/code/lab3/libs/string.c b/code/lab3/libs/string.c
new file mode 100644
index 0000000..bcf1b1c
--- /dev/null
+++ b/code/lab3/libs/string.c
@@ -0,0 +1,367 @@
+#include <string.h>
+#include <x86.h>
+
+/* *
+ * strlen - calculate the length of the string @s, not including
+ * the terminating '\0' character.
+ * @s:      the input string
+ *
+ * The strlen() function returns the length of string @s.
+ * */
+size_t
+strlen(const char *s) {
+    size_t cnt = 0;
+    while (*s ++ != '\0') {
+        cnt ++;
+    }
+    return cnt;
+}
+
+/* *
+ * strnlen - calculate the length of the string @s, not including
+ * the terminating '\0' char acter, but at most @len.
+ * @s:      the input string
+ * @len:    the max-length that function will scan
+ *
+ * Note that, this function looks only at the first @len characters
+ * at @s, and never beyond @s + @len.
+ *
+ * The return value is strlen(s), if that is less than @len, or
+ * @len if there is no '\0' character among the first @len characters
+ * pointed by @s.
+ * */
+size_t
+strnlen(const char *s, size_t len) {
+    size_t cnt = 0;
+    while (cnt < len && *s ++ != '\0') {
+        cnt ++;
+    }
+    return cnt;
+}
+
+/* *
+ * strcpy - copies the string pointed by @src into the array pointed by @dst,
+ * including the terminating null character.
+ * @dst:    pointer to the destination array where the content is to be copied
+ * @src:    string to be copied
+ *
+ * The return value is @dst.
+ *
+ * To avoid overflows, the size of array pointed by @dst should be long enough to
+ * contain the same string as @src (including the terminating null character), and
+ * should not overlap in memory with @src.
+ * */
+char *
+strcpy(char *dst, const char *src) {
+#ifdef __HAVE_ARCH_STRCPY
+    return __strcpy(dst, src);
+#else
+    char *p = dst;
+    while ((*p ++ = *src ++) != '\0')
+        /* nothing */;
+    return dst;
+#endif /* __HAVE_ARCH_STRCPY */
+}
+
+/* *
+ * strncpy - copies the first @len characters of @src to @dst. If the end of string @src
+ * if found before @len characters have been copied, @dst is padded with '\0' until a
+ * total of @len characters have been written to it.
+ * @dst:    pointer to the destination array where the content is to be copied
+ * @src:    string to be copied
+ * @len:    maximum number of characters to be copied from @src
+ *
+ * The return value is @dst
+ * */
+char *
+strncpy(char *dst, const char *src, size_t len) {
+    char *p = dst;
+    while (len > 0) {
+        if ((*p = *src) != '\0') {
+            src ++;
+        }
+        p ++, len --;
+    }
+    return dst;
+}
+
+/* *
+ * strcmp - compares the string @s1 and @s2
+ * @s1:     string to be compared
+ * @s2:     string to be compared
+ *
+ * This function starts comparing the first character of each string. If
+ * they are equal to each other, it continues with the following pairs until
+ * the characters differ or until a terminanting null-character is reached.
+ *
+ * Returns an integral value indicating the relationship between the strings:
+ * - A zero value indicates that both strings are equal;
+ * - A value greater than zero indicates that the first character that does
+ *   not match has a greater value in @s1 than in @s2;
+ * - And a value less than zero indicates the opposite.
+ * */
+int
+strcmp(const char *s1, const char *s2) {
+#ifdef __HAVE_ARCH_STRCMP
+    return __strcmp(s1, s2);
+#else
+    while (*s1 != '\0' && *s1 == *s2) {
+        s1 ++, s2 ++;
+    }
+    return (int)((unsigned char)*s1 - (unsigned char)*s2);
+#endif /* __HAVE_ARCH_STRCMP */
+}
+
+/* *
+ * strncmp - compares up to @n characters of the string @s1 to those of the string @s2
+ * @s1:     string to be compared
+ * @s2:     string to be compared
+ * @n:      maximum number of characters to compare
+ *
+ * This function starts comparing the first character of each string. If
+ * they are equal to each other, it continues with the following pairs until
+ * the characters differ, until a terminating null-character is reached, or
+ * until @n characters match in both strings, whichever happens first.
+ * */
+int
+strncmp(const char *s1, const char *s2, size_t n) {
+    while (n > 0 && *s1 != '\0' && *s1 == *s2) {
+        n --, s1 ++, s2 ++;
+    }
+    return (n == 0) ? 0 : (int)((unsigned char)*s1 - (unsigned char)*s2);
+}
+
+/* *
+ * strchr - locates first occurrence of character in string
+ * @s:      the input string
+ * @c:      character to be located
+ *
+ * The strchr() function returns a pointer to the first occurrence of
+ * character in @s. If the value is not found, the function returns 'NULL'.
+ * */
+char *
+strchr(const char *s, char c) {
+    while (*s != '\0') {
+        if (*s == c) {
+            return (char *)s;
+        }
+        s ++;
+    }
+    return NULL;
+}
+
+/* *
+ * strfind - locates first occurrence of character in string
+ * @s:      the input string
+ * @c:      character to be located
+ *
+ * The strfind() function is like strchr() except that if @c is
+ * not found in @s, then it returns a pointer to the null byte at the
+ * end of @s, rather than 'NULL'.
+ * */
+char *
+strfind(const char *s, char c) {
+    while (*s != '\0') {
+        if (*s == c) {
+            break;
+        }
+        s ++;
+    }
+    return (char *)s;
+}
+
+/* *
+ * strtol - converts string to long integer
+ * @s:      the input string that contains the representation of an integer number
+ * @endptr: reference to an object of type char *, whose value is set by the
+ *          function to the next character in @s after the numerical value. This
+ *          parameter can also be a null pointer, in which case it is not used.
+ * @base:   x
+ *
+ * The function first discards as many whitespace characters as necessary until
+ * the first non-whitespace character is found. Then, starting from this character,
+ * takes as many characters as possible that are valid following a syntax that
+ * depends on the base parameter, and interprets them as a numerical value. Finally,
+ * a pointer to the first character following the integer representation in @s
+ * is stored in the object pointed by @endptr.
+ *
+ * If the value of base is zero, the syntax expected is similar to that of
+ * integer constants, which is formed by a succession of:
+ * - An optional plus or minus sign;
+ * - An optional prefix indicating octal or hexadecimal base ("0" or "0x" respectively)
+ * - A sequence of decimal digits (if no base prefix was specified) or either octal
+ *   or hexadecimal digits if a specific prefix is present
+ *
+ * If the base value is between 2 and 36, the format expected for the integral number
+ * is a succession of the valid digits and/or letters needed to represent integers of
+ * the specified radix (starting from '0' and up to 'z'/'Z' for radix 36). The
+ * sequence may optionally be preceded by a plus or minus sign and, if base is 16,
+ * an optional "0x" or "0X" prefix.
+ *
+ * The strtol() function returns the converted integral number as a long int value.
+ * */
+long
+strtol(const char *s, char **endptr, int base) {
+    int neg = 0;
+    long val = 0;
+
+    // gobble initial whitespace
+    while (*s == ' ' || *s == '\t') {
+        s ++;
+    }
+
+    // plus/minus sign
+    if (*s == '+') {
+        s ++;
+    }
+    else if (*s == '-') {
+        s ++, neg = 1;
+    }
+
+    // hex or octal base prefix
+    if ((base == 0 || base == 16) && (s[0] == '0' && s[1] == 'x')) {
+        s += 2, base = 16;
+    }
+    else if (base == 0 && s[0] == '0') {
+        s ++, base = 8;
+    }
+    else if (base == 0) {
+        base = 10;
+    }
+
+    // digits
+    while (1) {
+        int dig;
+
+        if (*s >= '0' && *s <= '9') {
+            dig = *s - '0';
+        }
+        else if (*s >= 'a' && *s <= 'z') {
+            dig = *s - 'a' + 10;
+        }
+        else if (*s >= 'A' && *s <= 'Z') {
+            dig = *s - 'A' + 10;
+        }
+        else {
+            break;
+        }
+        if (dig >= base) {
+            break;
+        }
+        s ++, val = (val * base) + dig;
+        // we don't properly detect overflow!
+    }
+
+    if (endptr) {
+        *endptr = (char *) s;
+    }
+    return (neg ? -val : val);
+}
+
+/* *
+ * memset - sets the first @n bytes of the memory area pointed by @s
+ * to the specified value @c.
+ * @s:      pointer the the memory area to fill
+ * @c:      value to set
+ * @n:      number of bytes to be set to the value
+ *
+ * The memset() function returns @s.
+ * */
+void *
+memset(void *s, char c, size_t n) {
+#ifdef __HAVE_ARCH_MEMSET
+    return __memset(s, c, n);
+#else
+    char *p = s;
+    while (n -- > 0) {
+        *p ++ = c;
+    }
+    return s;
+#endif /* __HAVE_ARCH_MEMSET */
+}
+
+/* *
+ * memmove - copies the values of @n bytes from the location pointed by @src to
+ * the memory area pointed by @dst. @src and @dst are allowed to overlap.
+ * @dst     pointer to the destination array where the content is to be copied
+ * @src     pointer to the source of data to by copied
+ * @n:      number of bytes to copy
+ *
+ * The memmove() function returns @dst.
+ * */
+void *
+memmove(void *dst, const void *src, size_t n) {
+#ifdef __HAVE_ARCH_MEMMOVE
+    return __memmove(dst, src, n);
+#else
+    const char *s = src;
+    char *d = dst;
+    if (s < d && s + n > d) {
+        s += n, d += n;
+        while (n -- > 0) {
+            *-- d = *-- s;
+        }
+    } else {
+        while (n -- > 0) {
+            *d ++ = *s ++;
+        }
+    }
+    return dst;
+#endif /* __HAVE_ARCH_MEMMOVE */
+}
+
+/* *
+ * memcpy - copies the value of @n bytes from the location pointed by @src to
+ * the memory area pointed by @dst.
+ * @dst     pointer to the destination array where the content is to be copied
+ * @src     pointer to the source of data to by copied
+ * @n:      number of bytes to copy
+ *
+ * The memcpy() returns @dst.
+ *
+ * Note that, the function does not check any terminating null character in @src,
+ * it always copies exactly @n bytes. To avoid overflows, the size of arrays pointed
+ * by both @src and @dst, should be at least @n bytes, and should not overlap
+ * (for overlapping memory area, memmove is a safer approach).
+ * */
+void *
+memcpy(void *dst, const void *src, size_t n) {
+#ifdef __HAVE_ARCH_MEMCPY
+    return __memcpy(dst, src, n);
+#else
+    const char *s = src;
+    char *d = dst;
+    while (n -- > 0) {
+        *d ++ = *s ++;
+    }
+    return dst;
+#endif /* __HAVE_ARCH_MEMCPY */
+}
+
+/* *
+ * memcmp - compares two blocks of memory
+ * @v1:     pointer to block of memory
+ * @v2:     pointer to block of memory
+ * @n:      number of bytes to compare
+ *
+ * The memcmp() functions returns an integral value indicating the
+ * relationship between the content of the memory blocks:
+ * - A zero value indicates that the contents of both memory blocks are equal;
+ * - A value greater than zero indicates that the first byte that does not
+ *   match in both memory blocks has a greater value in @v1 than in @v2
+ *   as if evaluated as unsigned char values;
+ * - And a value less than zero indicates the opposite.
+ * */
+int
+memcmp(const void *v1, const void *v2, size_t n) {
+    const char *s1 = (const char *)v1;
+    const char *s2 = (const char *)v2;
+    while (n -- > 0) {
+        if (*s1 != *s2) {
+            return (int)((unsigned char)*s1 - (unsigned char)*s2);
+        }
+        s1 ++, s2 ++;
+    }
+    return 0;
+}
+
diff --git a/code/lab3/libs/string.h b/code/lab3/libs/string.h
new file mode 100644
index 0000000..14d0aac
--- /dev/null
+++ b/code/lab3/libs/string.h
@@ -0,0 +1,25 @@
+#ifndef __LIBS_STRING_H__
+#define __LIBS_STRING_H__
+
+#include <defs.h>
+
+size_t strlen(const char *s);
+size_t strnlen(const char *s, size_t len);
+
+char *strcpy(char *dst, const char *src);
+char *strncpy(char *dst, const char *src, size_t len);
+
+int strcmp(const char *s1, const char *s2);
+int strncmp(const char *s1, const char *s2, size_t n);
+
+char *strchr(const char *s, char c);
+char *strfind(const char *s, char c);
+long strtol(const char *s, char **endptr, int base);
+
+void *memset(void *s, char c, size_t n);
+void *memmove(void *dst, const void *src, size_t n);
+void *memcpy(void *dst, const void *src, size_t n);
+int memcmp(const void *v1, const void *v2, size_t n);
+
+#endif /* !__LIBS_STRING_H__ */
+
diff --git a/code/lab3/libs/x86.h b/code/lab3/libs/x86.h
new file mode 100644
index 0000000..b29f671
--- /dev/null
+++ b/code/lab3/libs/x86.h
@@ -0,0 +1,302 @@
+#ifndef __LIBS_X86_H__
+#define __LIBS_X86_H__
+
+#include <defs.h>
+
+#define do_div(n, base) ({                                          \
+            unsigned long __upper, __low, __high, __mod, __base;    \
+            __base = (base);                                        \
+            asm ("" : "=a" (__low), "=d" (__high) : "A" (n));       \
+            __upper = __high;                                       \
+            if (__high != 0) {                                      \
+                __upper = __high % __base;                          \
+                __high = __high / __base;                           \
+            }                                                       \
+            asm ("divl %2" : "=a" (__low), "=d" (__mod)             \
+                : "rm" (__base), "0" (__low), "1" (__upper));       \
+            asm ("" : "=A" (n) : "a" (__low), "d" (__high));        \
+            __mod;                                                  \
+        })
+
+#define barrier() __asm__ __volatile__ ("" ::: "memory")
+
+static inline uint8_t inb(uint16_t port) __attribute__((always_inline));
+static inline void insl(uint32_t port, void *addr, int cnt) __attribute__((always_inline));
+static inline void outb(uint16_t port, uint8_t data) __attribute__((always_inline));
+static inline void outw(uint16_t port, uint16_t data) __attribute__((always_inline));
+static inline void outsl(uint32_t port, const void *addr, int cnt) __attribute__((always_inline));
+static inline uint32_t read_ebp(void) __attribute__((always_inline));
+static inline void breakpoint(void) __attribute__((always_inline));
+static inline uint32_t read_dr(unsigned regnum) __attribute__((always_inline));
+static inline void write_dr(unsigned regnum, uint32_t value) __attribute__((always_inline));
+
+/* Pseudo-descriptors used for LGDT, LLDT(not used) and LIDT instructions. */
+struct pseudodesc {
+    uint16_t pd_lim;        // Limit
+    uintptr_t pd_base;      // Base address
+} __attribute__ ((packed));
+
+static inline void lidt(struct pseudodesc *pd) __attribute__((always_inline));
+static inline void sti(void) __attribute__((always_inline));
+static inline void cli(void) __attribute__((always_inline));
+static inline void ltr(uint16_t sel) __attribute__((always_inline));
+static inline uint32_t read_eflags(void) __attribute__((always_inline));
+static inline void write_eflags(uint32_t eflags) __attribute__((always_inline));
+static inline void lcr0(uintptr_t cr0) __attribute__((always_inline));
+static inline void lcr3(uintptr_t cr3) __attribute__((always_inline));
+static inline uintptr_t rcr0(void) __attribute__((always_inline));
+static inline uintptr_t rcr1(void) __attribute__((always_inline));
+static inline uintptr_t rcr2(void) __attribute__((always_inline));
+static inline uintptr_t rcr3(void) __attribute__((always_inline));
+static inline void invlpg(void *addr) __attribute__((always_inline));
+
+static inline uint8_t
+inb(uint16_t port) {
+    uint8_t data;
+    asm volatile ("inb %1, %0" : "=a" (data) : "d" (port) : "memory");
+    return data;
+}
+
+static inline void
+insl(uint32_t port, void *addr, int cnt) {
+    asm volatile (
+        "cld;"
+        "repne; insl;"
+        : "=D" (addr), "=c" (cnt)
+        : "d" (port), "0" (addr), "1" (cnt)
+        : "memory", "cc");
+}
+
+static inline void
+outb(uint16_t port, uint8_t data) {
+    asm volatile ("outb %0, %1" :: "a" (data), "d" (port) : "memory");
+}
+
+static inline void
+outw(uint16_t port, uint16_t data) {
+    asm volatile ("outw %0, %1" :: "a" (data), "d" (port) : "memory");
+}
+
+static inline void
+outsl(uint32_t port, const void *addr, int cnt) {
+    asm volatile (
+        "cld;"
+        "repne; outsl;"
+        : "=S" (addr), "=c" (cnt)
+        : "d" (port), "0" (addr), "1" (cnt)
+        : "memory", "cc");
+}
+
+static inline uint32_t
+read_ebp(void) {
+    uint32_t ebp;
+    asm volatile ("movl %%ebp, %0" : "=r" (ebp));
+    return ebp;
+}
+
+static inline void
+breakpoint(void) {
+    asm volatile ("int $3");
+}
+
+static inline uint32_t
+read_dr(unsigned regnum) {
+    uint32_t value = 0;
+    switch (regnum) {
+    case 0: asm volatile ("movl %%db0, %0" : "=r" (value)); break;
+    case 1: asm volatile ("movl %%db1, %0" : "=r" (value)); break;
+    case 2: asm volatile ("movl %%db2, %0" : "=r" (value)); break;
+    case 3: asm volatile ("movl %%db3, %0" : "=r" (value)); break;
+    case 6: asm volatile ("movl %%db6, %0" : "=r" (value)); break;
+    case 7: asm volatile ("movl %%db7, %0" : "=r" (value)); break;
+    }
+    return value;
+}
+
+static void
+write_dr(unsigned regnum, uint32_t value) {
+    switch (regnum) {
+    case 0: asm volatile ("movl %0, %%db0" :: "r" (value)); break;
+    case 1: asm volatile ("movl %0, %%db1" :: "r" (value)); break;
+    case 2: asm volatile ("movl %0, %%db2" :: "r" (value)); break;
+    case 3: asm volatile ("movl %0, %%db3" :: "r" (value)); break;
+    case 6: asm volatile ("movl %0, %%db6" :: "r" (value)); break;
+    case 7: asm volatile ("movl %0, %%db7" :: "r" (value)); break;
+    }
+}
+
+static inline void
+lidt(struct pseudodesc *pd) {
+    asm volatile ("lidt (%0)" :: "r" (pd) : "memory");
+}
+
+static inline void
+sti(void) {
+    asm volatile ("sti");
+}
+
+static inline void
+cli(void) {
+    asm volatile ("cli" ::: "memory");
+}
+
+static inline void
+ltr(uint16_t sel) {
+    asm volatile ("ltr %0" :: "r" (sel) : "memory");
+}
+
+static inline uint32_t
+read_eflags(void) {
+    uint32_t eflags;
+    asm volatile ("pushfl; popl %0" : "=r" (eflags));
+    return eflags;
+}
+
+static inline void
+write_eflags(uint32_t eflags) {
+    asm volatile ("pushl %0; popfl" :: "r" (eflags));
+}
+
+static inline void
+lcr0(uintptr_t cr0) {
+    asm volatile ("mov %0, %%cr0" :: "r" (cr0) : "memory");
+}
+
+static inline void
+lcr3(uintptr_t cr3) {
+    asm volatile ("mov %0, %%cr3" :: "r" (cr3) : "memory");
+}
+
+static inline uintptr_t
+rcr0(void) {
+    uintptr_t cr0;
+    asm volatile ("mov %%cr0, %0" : "=r" (cr0) :: "memory");
+    return cr0;
+}
+
+static inline uintptr_t
+rcr1(void) {
+    uintptr_t cr1;
+    asm volatile ("mov %%cr1, %0" : "=r" (cr1) :: "memory");
+    return cr1;
+}
+
+static inline uintptr_t
+rcr2(void) {
+    uintptr_t cr2;
+    asm volatile ("mov %%cr2, %0" : "=r" (cr2) :: "memory");
+    return cr2;
+}
+
+static inline uintptr_t
+rcr3(void) {
+    uintptr_t cr3;
+    asm volatile ("mov %%cr3, %0" : "=r" (cr3) :: "memory");
+    return cr3;
+}
+
+static inline void
+invlpg(void *addr) {
+    asm volatile ("invlpg (%0)" :: "r" (addr) : "memory");
+}
+
+static inline int __strcmp(const char *s1, const char *s2) __attribute__((always_inline));
+static inline char *__strcpy(char *dst, const char *src) __attribute__((always_inline));
+static inline void *__memset(void *s, char c, size_t n) __attribute__((always_inline));
+static inline void *__memmove(void *dst, const void *src, size_t n) __attribute__((always_inline));
+static inline void *__memcpy(void *dst, const void *src, size_t n) __attribute__((always_inline));
+
+#ifndef __HAVE_ARCH_STRCMP
+#define __HAVE_ARCH_STRCMP
+static inline int
+__strcmp(const char *s1, const char *s2) {
+    int d0, d1, ret;
+    asm volatile (
+        "1: lodsb;"
+        "scasb;"
+        "jne 2f;"
+        "testb %%al, %%al;"
+        "jne 1b;"
+        "xorl %%eax, %%eax;"
+        "jmp 3f;"
+        "2: sbbl %%eax, %%eax;"
+        "orb $1, %%al;"
+        "3:"
+        : "=a" (ret), "=&S" (d0), "=&D" (d1)
+        : "1" (s1), "2" (s2)
+        : "memory");
+    return ret;
+}
+
+#endif /* __HAVE_ARCH_STRCMP */
+
+#ifndef __HAVE_ARCH_STRCPY
+#define __HAVE_ARCH_STRCPY
+static inline char *
+__strcpy(char *dst, const char *src) {
+    int d0, d1, d2;
+    asm volatile (
+        "1: lodsb;"
+        "stosb;"
+        "testb %%al, %%al;"
+        "jne 1b;"
+        : "=&S" (d0), "=&D" (d1), "=&a" (d2)
+        : "0" (src), "1" (dst) : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_STRCPY */
+
+#ifndef __HAVE_ARCH_MEMSET
+#define __HAVE_ARCH_MEMSET
+static inline void *
+__memset(void *s, char c, size_t n) {
+    int d0, d1;
+    asm volatile (
+        "rep; stosb;"
+        : "=&c" (d0), "=&D" (d1)
+        : "0" (n), "a" (c), "1" (s)
+        : "memory");
+    return s;
+}
+#endif /* __HAVE_ARCH_MEMSET */
+
+#ifndef __HAVE_ARCH_MEMMOVE
+#define __HAVE_ARCH_MEMMOVE
+static inline void *
+__memmove(void *dst, const void *src, size_t n) {
+    if (dst < src) {
+        return __memcpy(dst, src, n);
+    }
+    int d0, d1, d2;
+    asm volatile (
+        "std;"
+        "rep; movsb;"
+        "cld;"
+        : "=&c" (d0), "=&S" (d1), "=&D" (d2)
+        : "0" (n), "1" (n - 1 + src), "2" (n - 1 + dst)
+        : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_MEMMOVE */
+
+#ifndef __HAVE_ARCH_MEMCPY
+#define __HAVE_ARCH_MEMCPY
+static inline void *
+__memcpy(void *dst, const void *src, size_t n) {
+    int d0, d1, d2;
+    asm volatile (
+        "rep; movsl;"
+        "movl %4, %%ecx;"
+        "andl $3, %%ecx;"
+        "jz 1f;"
+        "rep; movsb;"
+        "1:"
+        : "=&c" (d0), "=&D" (d1), "=&S" (d2)
+        : "0" (n / 4), "g" (n), "1" (dst), "2" (src)
+        : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_MEMCPY */
+
+#endif /* !__LIBS_X86_H__ */
+
diff --git a/code/lab3/tools/boot.ld b/code/lab3/tools/boot.ld
new file mode 100644
index 0000000..dc732b0
--- /dev/null
+++ b/code/lab3/tools/boot.ld
@@ -0,0 +1,15 @@
+OUTPUT_FORMAT("elf32-i386")
+OUTPUT_ARCH(i386)
+
+SECTIONS {
+    . = 0x7C00;
+
+    .startup : {
+        *bootasm.o(.text)
+    }
+
+    .text : { *(.text) }
+    .data : { *(.data .rodata) }
+    
+    /DISCARD/ : { *(.eh_*) }
+}
diff --git a/code/lab3/tools/function.mk b/code/lab3/tools/function.mk
new file mode 100644
index 0000000..9b8be0c
--- /dev/null
+++ b/code/lab3/tools/function.mk
@@ -0,0 +1,95 @@
+OBJPREFIX	:= __objs_
+
+.SECONDEXPANSION:
+# -------------------- function begin --------------------
+
+# list all files in some directories: (#directories, #types)
+listf = $(filter $(if $(2),$(addprefix %.,$(2)),%),\
+		  $(wildcard $(addsuffix $(SLASH)*,$(1))))
+
+# get .o obj files: (#files[, packet])
+toobj = $(addprefix $(OBJDIR)$(SLASH)$(if $(2),$(2)$(SLASH)),\
+		$(addsuffix .o,$(basename $(1))))
+
+# get .d dependency files: (#files[, packet])
+todep = $(patsubst %.o,%.d,$(call toobj,$(1),$(2)))
+
+totarget = $(addprefix $(BINDIR)$(SLASH),$(1))
+
+# change $(name) to $(OBJPREFIX)$(name): (#names)
+packetname = $(if $(1),$(addprefix $(OBJPREFIX),$(1)),$(OBJPREFIX))
+
+# cc compile template, generate rule for dep, obj: (file, cc[, flags, dir])
+define cc_template
+$$(call todep,$(1),$(4)): $(1) | $$$$(dir $$$$@)
+	@$(2) -I$$(dir $(1)) $(3) -MM $$< -MT "$$(patsubst %.d,%.o,$$@) $$@"> $$@
+$$(call toobj,$(1),$(4)): $(1) | $$$$(dir $$$$@)
+	@echo + cc $$<
+	$(V)$(2) -I$$(dir $(1)) $(3) -c $$< -o $$@
+ALLOBJS += $$(call toobj,$(1),$(4))
+endef
+
+# compile file: (#files, cc[, flags, dir])
+define do_cc_compile
+$$(foreach f,$(1),$$(eval $$(call cc_template,$$(f),$(2),$(3),$(4))))
+endef
+
+# add files to packet: (#files, cc[, flags, packet, dir])
+define do_add_files_to_packet
+__temp_packet__ := $(call packetname,$(4))
+ifeq ($$(origin $$(__temp_packet__)),undefined)
+$$(__temp_packet__) :=
+endif
+__temp_objs__ := $(call toobj,$(1),$(5))
+$$(foreach f,$(1),$$(eval $$(call cc_template,$$(f),$(2),$(3),$(5))))
+$$(__temp_packet__) += $$(__temp_objs__)
+endef
+
+# add objs to packet: (#objs, packet)
+define do_add_objs_to_packet
+__temp_packet__ := $(call packetname,$(2))
+ifeq ($$(origin $$(__temp_packet__)),undefined)
+$$(__temp_packet__) :=
+endif
+$$(__temp_packet__) += $(1)
+endef
+
+# add packets and objs to target (target, #packes, #objs[, cc, flags])
+define do_create_target
+__temp_target__ = $(call totarget,$(1))
+__temp_objs__ = $$(foreach p,$(call packetname,$(2)),$$($$(p))) $(3)
+TARGETS += $$(__temp_target__)
+ifneq ($(4),)
+$$(__temp_target__): $$(__temp_objs__) | $$$$(dir $$$$@)
+	$(V)$(4) $(5) $$^ -o $$@
+else
+$$(__temp_target__): $$(__temp_objs__) | $$$$(dir $$$$@)
+endif
+endef
+
+# finish all
+define do_finish_all
+ALLDEPS = $$(ALLOBJS:.o=.d)
+$$(sort $$(dir $$(ALLOBJS)) $(BINDIR)$(SLASH) $(OBJDIR)$(SLASH)):
+	@$(MKDIR) $$@
+endef
+
+# --------------------  function end  --------------------
+# compile file: (#files, cc[, flags, dir])
+cc_compile = $(eval $(call do_cc_compile,$(1),$(2),$(3),$(4)))
+
+# add files to packet: (#files, cc[, flags, packet, dir])
+add_files = $(eval $(call do_add_files_to_packet,$(1),$(2),$(3),$(4),$(5)))
+
+# add objs to packet: (#objs, packet)
+add_objs = $(eval $(call do_add_objs_to_packet,$(1),$(2)))
+
+# add packets and objs to target (target, #packes, #objs, cc, [, flags])
+create_target = $(eval $(call do_create_target,$(1),$(2),$(3),$(4),$(5)))
+
+read_packet = $(foreach p,$(call packetname,$(1)),$($(p)))
+
+add_dependency = $(eval $(1): $(2))
+
+finish_all = $(eval $(call do_finish_all))
+
diff --git a/code/lab3/tools/gdbinit b/code/lab3/tools/gdbinit
new file mode 100644
index 0000000..df5df85
--- /dev/null
+++ b/code/lab3/tools/gdbinit
@@ -0,0 +1,3 @@
+file bin/kernel
+target remote :1234
+break kern_init
diff --git a/code/lab3/tools/grade.sh b/code/lab3/tools/grade.sh
new file mode 100644
index 0000000..a6f2425
--- /dev/null
+++ b/code/lab3/tools/grade.sh
@@ -0,0 +1,364 @@
+#!/bin/sh
+
+verbose=false
+if [ "x$1" = "x-v" ]; then
+    verbose=true
+    out=/dev/stdout
+    err=/dev/stderr
+else
+    out=/dev/null
+    err=/dev/null
+fi
+
+## make & makeopts
+if gmake --version > /dev/null 2>&1; then
+    make=gmake;
+else
+    make=make;
+fi
+
+makeopts="--quiet --no-print-directory -j"
+
+make_print() {
+    echo `$make $makeopts print-$1`
+}
+
+## command tools
+awk='awk'
+bc='bc'
+date='date'
+grep='grep'
+rm='rm -f'
+sed='sed'
+
+## symbol table
+sym_table='obj/kernel.sym'
+
+## gdb & gdbopts
+gdb="$(make_print GDB)"
+gdbport='1234'
+
+gdb_in="$(make_print GRADE_GDB_IN)"
+
+## qemu & qemuopts
+qemu="$(make_print qemu)"
+
+qemu_out="$(make_print GRADE_QEMU_OUT)"
+
+if $qemu -nographic -help | grep -q '^-gdb'; then
+    qemugdb="-gdb tcp::$gdbport"
+else
+    qemugdb="-s -p $gdbport"
+fi
+
+## default variables
+default_timeout=30
+default_pts=5
+
+pts=5
+part=0
+part_pos=0
+total=0
+total_pos=0
+
+## default functions
+update_score() {
+    total=`expr $total + $part`
+    total_pos=`expr $total_pos + $part_pos`
+    part=0
+    part_pos=0
+}
+
+get_time() {
+    echo `$date +%s.%N 2> /dev/null`
+}
+
+show_part() {
+    echo "Part $1 Score: $part/$part_pos"
+    echo
+    update_score
+}
+
+show_final() {
+    update_score
+    echo "Total Score: $total/$total_pos"
+    if [ $total -lt $total_pos ]; then
+        exit 1
+    fi
+}
+
+show_time() {
+    t1=$(get_time)
+    time=`echo "scale=1; ($t1-$t0)/1" | $sed 's/.N/.0/g' | $bc 2> /dev/null`
+    echo "(${time}s)"
+}
+
+show_build_tag() {
+    echo "$1:" | $awk '{printf "%-24s ", $0}'
+}
+
+show_check_tag() {
+    echo "$1:" | $awk '{printf "  -%-40s  ", $0}'
+}
+
+show_msg() {
+    echo $1
+    shift
+    if [ $# -gt 0 ]; then
+        echo "$@" | awk '{printf "   %s\n", $0}'
+        echo
+    fi
+}
+
+pass() {
+    show_msg OK "$@"
+    part=`expr $part + $pts`
+    part_pos=`expr $part_pos + $pts`
+}
+
+fail() {
+    show_msg WRONG "$@"
+    part_pos=`expr $part_pos + $pts`
+}
+
+run_qemu() {
+    # Run qemu with serial output redirected to $qemu_out. If $brkfun is non-empty,
+    # wait until $brkfun is reached or $timeout expires, then kill QEMU
+    qemuextra=
+    if [ "$brkfun" ]; then
+        qemuextra="-S $qemugdb"
+    fi
+
+    if [ -z "$timeout" ] || [ $timeout -le 0 ]; then
+        timeout=$default_timeout;
+    fi
+
+    t0=$(get_time)
+    (
+        ulimit -t $timeout
+        exec $qemu -nographic $qemuopts -serial file:$qemu_out -monitor null -no-reboot $qemuextra
+    ) > $out 2> $err &
+    pid=$!
+
+    # wait for QEMU to start
+    sleep 1
+
+    if [ -n "$brkfun" ]; then
+        # find the address of the kernel $brkfun function
+        brkaddr=`$grep " $brkfun\$" $sym_table | $sed -e's/ .*$//g'`
+        (
+            echo "target remote localhost:$gdbport"
+            echo "break *0x$brkaddr"
+            echo "continue"
+        ) > $gdb_in
+
+        $gdb -batch -nx -x $gdb_in > /dev/null 2>&1
+
+        # make sure that QEMU is dead
+        # on OS X, exiting gdb doesn't always exit qemu
+        kill $pid > /dev/null 2>&1
+    fi
+}
+
+build_run() {
+    # usage: build_run <tag> <args>
+    show_build_tag "$1"
+    shift
+
+    if $verbose; then
+        echo "$make $@ ..."
+    fi
+    $make $makeopts $@ 'DEFS+=-DDEBUG_GRADE' > $out 2> $err
+
+    if [ $? -ne 0 ]; then
+        echo $make $@ failed
+        exit 1
+    fi
+
+    # now run qemu and save the output
+    run_qemu
+
+    show_time
+}
+
+check_result() {
+    # usage: check_result <tag> <check> <check args...>
+    show_check_tag "$1"
+    shift
+
+    # give qemu some time to run (for asynchronous mode)
+    if [ ! -s $qemu_out ]; then
+        sleep 4
+    fi
+
+    if [ ! -s $qemu_out ]; then
+        fail > /dev/null
+        echo 'no $qemu_out'
+    else
+        check=$1
+        shift
+        $check "$@"
+    fi
+}
+
+check_regexps() {
+    okay=yes
+    not=0
+    reg=0
+    error=
+    for i do
+        if [ "x$i" = "x!" ]; then
+            not=1
+        elif [ "x$i" = "x-" ]; then
+            reg=1
+        else
+            if [ $reg -ne 0 ]; then
+                $grep '-E' "^$i\$" $qemu_out > /dev/null
+            else
+                $grep '-F' "$i" $qemu_out > /dev/null
+            fi
+            found=$(($? == 0))
+            if [ $found -eq $not ]; then
+                if [ $found -eq 0 ]; then
+                    msg="!! error: missing '$i'"
+                else
+                    msg="!! error: got unexpected line '$i'"
+                fi
+                okay=no
+                if [ -z "$error" ]; then
+                    error="$msg"
+                else
+                    error="$error\n$msg"
+                fi
+            fi
+            not=0
+            reg=0
+        fi
+    done
+    if [ "$okay" = "yes" ]; then
+        pass
+    else
+        fail "$error"
+        if $verbose; then
+            exit 1
+        fi
+    fi
+}
+
+run_test() {
+    # usage: run_test [-tag <tag>] [-Ddef...] [-check <check>] checkargs ...
+    tag=
+    check=check_regexps
+    while true; do
+        select=
+        case $1 in
+            -tag)
+                select=`expr substr $1 2 ${#1}`
+                eval $select='$2'
+                ;;
+        esac
+        if [ -z "$select" ]; then
+            break
+        fi
+        shift
+        shift
+    done
+    defs=
+    while expr "x$1" : "x-D.*" > /dev/null; do
+        defs="DEFS+='$1' $defs"
+        shift
+    done
+    if [ "x$1" = "x-check" ]; then
+        check=$2
+        shift
+        shift
+    fi
+
+    $make $makeopts touch > /dev/null 2>&1
+    build_run "$tag" "$defs"
+
+    check_result 'check result' "$check" "$@"
+}
+
+quick_run() {
+    # usage: quick_run <tag> [-Ddef...]
+    tag="$1"
+    shift
+    defs=
+    while expr "x$1" : "x-D.*" > /dev/null; do
+        defs="DEFS+='$1' $defs"
+        shift
+    done
+
+    $make $makeopts touch > /dev/null 2>&1
+    build_run "$tag" "$defs"
+}
+
+quick_check() {
+    # usage: quick_check <tag> checkargs ...
+    tag="$1"
+    shift
+    check_result "$tag" check_regexps "$@"
+}
+
+## kernel image
+osimg=$(make_print ucoreimg)
+
+## swap image
+swapimg=$(make_print swapimg)
+
+## set default qemu-options
+qemuopts="-hda $osimg -drive file=$swapimg,media=disk,cache=writeback"
+
+## set break-function, default is readline
+brkfun=readline
+
+## check now!!
+
+quick_run 'Check SWAP'
+
+pts=5
+quick_check 'check pmm'                                         \
+    'memory management: default_pmm_manager'                      \
+    'check_alloc_page() succeeded!'                             \
+    'check_pgdir() succeeded!'                                  \
+    'check_boot_pgdir() succeeded!'
+
+pts=5
+quick_check 'check page table'                                  \
+    'PDE(0e0) c0000000-f8000000 38000000 urw'                   \
+    '  |-- PTE(38000) c0000000-f8000000 38000000 -rw'           \
+    'PDE(001) fac00000-fb000000 00400000 -rw'                   \
+    '  |-- PTE(000e0) faf00000-fafe0000 000e0000 urw'           \
+    '  |-- PTE(00001) fafeb000-fafec000 00001000 -rw'
+
+pts=10
+quick_check 'check vmm'                                         \
+    'check_vma_struct() succeeded!'                             \
+    'page fault at 0x00000100: K/W [no page found].'            \
+    'check_pgfault() succeeded!'                                \
+    'check_vmm() succeeded.'
+
+pts=20
+quick_check 'check swap page fault'                             \
+    'page fault at 0x00001000: K/W [no page found].'            \
+    'page fault at 0x00002000: K/W [no page found].'            \
+    'page fault at 0x00003000: K/W [no page found].'            \
+    'page fault at 0x00004000: K/W [no page found].'            \
+    'write Virt Page e in fifo_check_swap'			\
+    'page fault at 0x00005000: K/W [no page found].'		\
+    'page fault at 0x00001000: K/W [no page found]'		\
+    'page fault at 0x00002000: K/W [no page found].'		\
+    'page fault at 0x00003000: K/W [no page found].'		\
+    'page fault at 0x00004000: K/W [no page found].'		\
+    'check_swap() succeeded!'
+
+pts=5
+quick_check 'check ticks'                                       \
+    '++ setup timer interrupts'                                 \
+    '100 ticks'                                                 \
+    'End of Test.'
+
+## print final-score
+show_final
+
diff --git a/code/lab3/tools/kernel.ld b/code/lab3/tools/kernel.ld
new file mode 100644
index 0000000..1838500
--- /dev/null
+++ b/code/lab3/tools/kernel.ld
@@ -0,0 +1,58 @@
+/* Simple linker script for the ucore kernel.
+   See the GNU ld 'info' manual ("info ld") to learn the syntax. */
+
+OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
+OUTPUT_ARCH(i386)
+ENTRY(kern_entry)
+
+SECTIONS {
+    /* Load the kernel at this address: "." means the current address */
+    . = 0xC0100000;
+
+    .text : {
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+
+    PROVIDE(etext = .); /* Define the 'etext' symbol to this value */
+
+    .rodata : {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+
+    /* Include debugging information in kernel memory */
+    .stab : {
+        PROVIDE(__STAB_BEGIN__ = .);
+        *(.stab);
+        PROVIDE(__STAB_END__ = .);
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    .stabstr : {
+        PROVIDE(__STABSTR_BEGIN__ = .);
+        *(.stabstr);
+        PROVIDE(__STABSTR_END__ = .);
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    /* Adjust the address for the data segment to the next page */
+    . = ALIGN(0x1000);
+
+    /* The data segment */
+    .data : {
+        *(.data)
+    }
+
+    PROVIDE(edata = .);
+
+    .bss : {
+        *(.bss)
+    }
+
+    PROVIDE(end = .);
+
+    /DISCARD/ : {
+        *(.eh_frame .note.GNU-stack)
+    }
+}
diff --git a/code/lab3/tools/sign.c b/code/lab3/tools/sign.c
new file mode 100644
index 0000000..9d81bb6
--- /dev/null
+++ b/code/lab3/tools/sign.c
@@ -0,0 +1,43 @@
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+
+int
+main(int argc, char *argv[]) {
+    struct stat st;
+    if (argc != 3) {
+        fprintf(stderr, "Usage: <input filename> <output filename>\n");
+        return -1;
+    }
+    if (stat(argv[1], &st) != 0) {
+        fprintf(stderr, "Error opening file '%s': %s\n", argv[1], strerror(errno));
+        return -1;
+    }
+    printf("'%s' size: %lld bytes\n", argv[1], (long long)st.st_size);
+    if (st.st_size > 510) {
+        fprintf(stderr, "%lld >> 510!!\n", (long long)st.st_size);
+        return -1;
+    }
+    char buf[512];
+    memset(buf, 0, sizeof(buf));
+    FILE *ifp = fopen(argv[1], "rb");
+    int size = fread(buf, 1, st.st_size, ifp);
+    if (size != st.st_size) {
+        fprintf(stderr, "read '%s' error, size is %d.\n", argv[1], size);
+        return -1;
+    }
+    fclose(ifp);
+    buf[510] = 0x55;
+    buf[511] = 0xAA;
+    FILE *ofp = fopen(argv[2], "wb+");
+    size = fwrite(buf, 1, 512, ofp);
+    if (size != 512) {
+        fprintf(stderr, "write '%s' error, size is %d.\n", argv[2], size);
+        return -1;
+    }
+    fclose(ofp);
+    printf("build 512 bytes boot sector: '%s' success!\n", argv[2]);
+    return 0;
+}
+
diff --git a/code/lab3/tools/vector.c b/code/lab3/tools/vector.c
new file mode 100644
index 0000000..e24d77e
--- /dev/null
+++ b/code/lab3/tools/vector.c
@@ -0,0 +1,29 @@
+#include <stdio.h>
+
+int
+main(void) {
+    printf("# handler\n");
+    printf(".text\n");
+    printf(".globl __alltraps\n");
+
+    int i;
+    for (i = 0; i < 256; i ++) {
+        printf(".globl vector%d\n", i);
+        printf("vector%d:\n", i);
+        if ((i < 8 || i > 14) && i != 17) {
+            printf("  pushl $0\n");
+        }
+        printf("  pushl $%d\n", i);
+        printf("  jmp __alltraps\n");
+    }
+    printf("\n");
+    printf("# vector table\n");
+    printf(".data\n");
+    printf(".globl __vectors\n");
+    printf("__vectors:\n");
+    for (i = 0; i < 256; i ++) {
+        printf("  .long vector%d\n", i);
+    }
+    return 0;
+}
+
diff --git a/code/lab4/Makefile b/code/lab4/Makefile
new file mode 100644
index 0000000..bc3349a
--- /dev/null
+++ b/code/lab4/Makefile
@@ -0,0 +1,275 @@
+PROJ	:= 8
+EMPTY	:=
+SPACE	:= $(EMPTY) $(EMPTY)
+SLASH	:= /
+
+V       := @
+
+# try to infer the correct GCCPREFX
+ifndef GCCPREFIX
+GCCPREFIX := $(shell if i386-ucore-elf-objdump -i 2>&1 | grep '^elf32-i386$$' >/dev/null 2>&1; \
+	then echo 'i386-ucore-elf-'; \
+	elif objdump -i 2>&1 | grep 'elf32-i386' >/dev/null 2>&1; \
+	then echo ''; \
+	else echo "***" 1>&2; \
+	echo "*** Error: Couldn't find an i386-ucore-elf version of GCC/binutils." 1>&2; \
+	echo "*** Is the directory with i386-ucore-elf-gcc in your PATH?" 1>&2; \
+	echo "*** If your i386-ucore-elf toolchain is installed with a command" 1>&2; \
+	echo "*** prefix other than 'i386-ucore-elf-', set your GCCPREFIX" 1>&2; \
+	echo "*** environment variable to that prefix and run 'make' again." 1>&2; \
+	echo "*** To turn off this error, run 'gmake GCCPREFIX= ...'." 1>&2; \
+	echo "***" 1>&2; exit 1; fi)
+endif
+
+# try to infer the correct QEMU
+ifndef QEMU
+QEMU := $(shell if which qemu > /dev/null; \
+	then echo 'qemu'; exit; \
+	elif which i386-ucore-elf-qemu > /dev/null; \
+	then echo 'i386-ucore-elf-qemu'; exit; \
+	else \
+	echo "***" 1>&2; \
+	echo "*** Error: Couldn't find a working QEMU executable." 1>&2; \
+	echo "*** Is the directory containing the qemu binary in your PATH" 1>&2; \
+	echo "***" 1>&2; exit 1; fi)
+endif
+
+# eliminate default suffix rules
+.SUFFIXES: .c .S .h
+
+# delete target files if there is an error (or make is interrupted)
+.DELETE_ON_ERROR:
+
+# define compiler and flags
+
+HOSTCC		:= gcc
+HOSTCFLAGS	:= -g -Wall -O2
+
+GDB		:= $(GCCPREFIX)gdb
+
+CC		?= $(GCCPREFIX)gcc
+CFLAGS	:= -fno-builtin -Wall -ggdb -m32 -gstabs -nostdinc $(DEFS)
+CFLAGS	+= $(shell $(CC) -fno-stack-protector -E -x c /dev/null >/dev/null 2>&1 && echo -fno-stack-protector)
+CTYPE	:= c S
+
+LD      := $(GCCPREFIX)ld
+LDFLAGS	:= -m $(shell $(LD) -V | grep elf_i386 2>/dev/null)
+LDFLAGS	+= -nostdlib
+
+OBJCOPY := $(GCCPREFIX)objcopy
+OBJDUMP := $(GCCPREFIX)objdump
+
+COPY	:= cp
+MKDIR   := mkdir -p
+MV		:= mv
+RM		:= rm -f
+AWK		:= awk
+SED		:= sed
+SH		:= sh
+TR		:= tr
+TOUCH	:= touch -c
+
+OBJDIR	:= obj
+BINDIR	:= bin
+
+ALLOBJS	:=
+ALLDEPS	:=
+TARGETS	:=
+
+include tools/function.mk
+
+listf_cc = $(call listf,$(1),$(CTYPE))
+
+# for cc
+add_files_cc = $(call add_files,$(1),$(CC),$(CFLAGS) $(3),$(2),$(4))
+create_target_cc = $(call create_target,$(1),$(2),$(3),$(CC),$(CFLAGS))
+
+# for hostcc
+add_files_host = $(call add_files,$(1),$(HOSTCC),$(HOSTCFLAGS),$(2),$(3))
+create_target_host = $(call create_target,$(1),$(2),$(3),$(HOSTCC),$(HOSTCFLAGS))
+
+cgtype = $(patsubst %.$(2),%.$(3),$(1))
+objfile = $(call toobj,$(1))
+asmfile = $(call cgtype,$(call toobj,$(1)),o,asm)
+outfile = $(call cgtype,$(call toobj,$(1)),o,out)
+symfile = $(call cgtype,$(call toobj,$(1)),o,sym)
+
+# for match pattern
+match = $(shell echo $(2) | $(AWK) '{for(i=1;i<=NF;i++){if(match("$(1)","^"$$(i)"$$")){exit 1;}}}'; echo $$?)
+
+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+# include kernel/user
+
+INCLUDE	+= libs/
+
+CFLAGS	+= $(addprefix -I,$(INCLUDE))
+
+LIBDIR	+= libs
+
+$(call add_files_cc,$(call listf_cc,$(LIBDIR)),libs,)
+
+# -------------------------------------------------------------------
+# kernel
+
+KINCLUDE	+= kern/debug/ \
+			   kern/driver/ \
+			   kern/trap/ \
+			   kern/mm/ \
+			   kern/libs/ \
+			   kern/sync/ \
+			   kern/fs/    \
+			   kern/process \
+			   kern/schedule
+
+KSRCDIR		+= kern/init \
+			   kern/libs \
+			   kern/debug \
+			   kern/driver \
+			   kern/trap \
+			   kern/mm \
+			   kern/sync \
+			   kern/fs    \
+			   kern/process \
+			   kern/schedule
+
+KCFLAGS		+= $(addprefix -I,$(KINCLUDE))
+
+$(call add_files_cc,$(call listf_cc,$(KSRCDIR)),kernel,$(KCFLAGS))
+
+KOBJS	= $(call read_packet,kernel libs)
+
+# create kernel target
+kernel = $(call totarget,kernel)
+
+$(kernel): tools/kernel.ld
+
+$(kernel): $(KOBJS)
+	@echo + ld $@
+	$(V)$(LD) $(LDFLAGS) -T tools/kernel.ld -o $@ $(KOBJS)
+	@$(OBJDUMP) -S $@ > $(call asmfile,kernel)
+	@$(OBJDUMP) -t $@ | $(SED) '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > $(call symfile,kernel)
+
+$(call create_target,kernel)
+
+# -------------------------------------------------------------------
+
+# create bootblock
+bootfiles = $(call listf_cc,boot)
+$(foreach f,$(bootfiles),$(call cc_compile,$(f),$(CC),$(CFLAGS) -Os -nostdinc))
+
+bootblock = $(call totarget,bootblock)
+
+$(bootblock): $(call toobj,boot/bootasm.S) $(call toobj,$(bootfiles)) | $(call totarget,sign)
+	@echo + ld $@
+	$(V)$(LD) $(LDFLAGS) -N -T tools/boot.ld $^ -o $(call toobj,bootblock)
+	@$(OBJDUMP) -S $(call objfile,bootblock) > $(call asmfile,bootblock)
+	@$(OBJCOPY) -S -O binary $(call objfile,bootblock) $(call outfile,bootblock)
+	@$(call totarget,sign) $(call outfile,bootblock) $(bootblock)
+
+$(call create_target,bootblock)
+
+# -------------------------------------------------------------------
+
+# create 'sign' tools
+$(call add_files_host,tools/sign.c,sign,sign)
+$(call create_target_host,sign,sign)
+
+# -------------------------------------------------------------------
+
+# create ucore.img
+UCOREIMG	:= $(call totarget,ucore.img)
+
+$(UCOREIMG): $(kernel) $(bootblock)
+	$(V)dd if=/dev/zero of=$@ count=10000
+	$(V)dd if=$(bootblock) of=$@ conv=notrunc
+	$(V)dd if=$(kernel) of=$@ seek=1 conv=notrunc
+
+$(call create_target,ucore.img)
+
+# -------------------------------------------------------------------
+
+# create swap.img
+SWAPIMG		:= $(call totarget,swap.img)
+
+$(SWAPIMG):
+	$(V)dd if=/dev/zero of=$@ bs=1M count=128
+
+$(call create_target,swap.img)
+
+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+$(call finish_all)
+
+IGNORE_ALLDEPS	= clean \
+				  dist-clean \
+				  grade \
+				  touch \
+				  print-.+ \
+				  handin
+
+ifeq ($(call match,$(MAKECMDGOALS),$(IGNORE_ALLDEPS)),0)
+-include $(ALLDEPS)
+endif
+
+# files for grade script
+
+TARGETS: $(TARGETS)
+
+.DEFAULT_GOAL := TARGETS
+
+QEMUOPTS = -hda $(UCOREIMG) -drive file=$(SWAPIMG),media=disk,cache=writeback
+
+.PHONY: qemu qemu-nox debug debug-nox
+qemu: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -parallel stdio $(QEMUOPTS) -serial null
+
+qemu-nox: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -serial mon:stdio $(QEMUOPTS) -nographic
+
+TERMINAL := gnome-terminal
+
+debug: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -S -s -parallel stdio $(QEMUOPTS) -serial null &
+	$(V)sleep 2
+	$(V)$(TERMINAL) -e "$(GDB) -q -x tools/gdbinit"
+
+debug-nox: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -S -s -serial mon:stdio $(QEMUOPTS) -nographic &
+	$(V)sleep 2
+	$(V)$(TERMINAL) -e "$(GDB) -q -x tools/gdbinit"
+
+.PHONY: grade touch
+
+GRADE_GDB_IN	:= .gdb.in
+GRADE_QEMU_OUT	:= .qemu.out
+HANDIN			:= proj$(PROJ)-handin.tar.gz
+
+TOUCH_FILES		:= kern/trap/trap.c
+
+MAKEOPTS		:= --quiet --no-print-directory
+
+grade:
+	$(V)$(MAKE) $(MAKEOPTS) clean
+	$(V)$(SH) tools/grade.sh
+
+touch:
+	$(V)$(foreach f,$(TOUCH_FILES),$(TOUCH) $(f))
+
+print-%:
+	@echo $($(shell echo $(patsubst print-%,%,$@) | $(TR) [a-z] [A-Z]))
+
+.PHONY: clean dist-clean handin packall
+clean:
+	$(V)$(RM) $(GRADE_GDB_IN) $(GRADE_QEMU_OUT)
+	-$(RM) -r $(OBJDIR) $(BINDIR)
+
+dist-clean: clean
+	-$(RM) $(HANDIN)
+
+handin: packall
+	@echo Please visit http://learn.tsinghua.edu.cn and upload $(HANDIN). Thanks!
+
+packall: clean
+	@$(RM) -f $(HANDIN)
+	@tar -czf $(HANDIN) `find . -type f -o -type d | grep -v '^\.*$$' | grep -vF '$(HANDIN)'`
+
diff --git a/code/lab4/boot/asm.h b/code/lab4/boot/asm.h
new file mode 100644
index 0000000..8e0405a
--- /dev/null
+++ b/code/lab4/boot/asm.h
@@ -0,0 +1,26 @@
+#ifndef __BOOT_ASM_H__
+#define __BOOT_ASM_H__
+
+/* Assembler macros to create x86 segments */
+
+/* Normal segment */
+#define SEG_NULLASM                                             \
+    .word 0, 0;                                                 \
+    .byte 0, 0, 0, 0
+
+#define SEG_ASM(type,base,lim)                                  \
+    .word (((lim) >> 12) & 0xffff), ((base) & 0xffff);          \
+    .byte (((base) >> 16) & 0xff), (0x90 | (type)),             \
+        (0xC0 | (((lim) >> 28) & 0xf)), (((base) >> 24) & 0xff)
+
+
+/* Application segment type bits */
+#define STA_X       0x8     // Executable segment
+#define STA_E       0x4     // Expand down (non-executable segments)
+#define STA_C       0x4     // Conforming code segment (executable only)
+#define STA_W       0x2     // Writeable (non-executable segments)
+#define STA_R       0x2     // Readable (executable segments)
+#define STA_A       0x1     // Accessed
+
+#endif /* !__BOOT_ASM_H__ */
+
diff --git a/code/lab4/boot/bootasm.S b/code/lab4/boot/bootasm.S
new file mode 100644
index 0000000..f1852c3
--- /dev/null
+++ b/code/lab4/boot/bootasm.S
@@ -0,0 +1,107 @@
+#include <asm.h>
+
+# Start the CPU: switch to 32-bit protected mode, jump into C.
+# The BIOS loads this code from the first sector of the hard disk into
+# memory at physical address 0x7c00 and starts executing in real mode
+# with %cs=0 %ip=7c00.
+
+.set PROT_MODE_CSEG,        0x8                     # kernel code segment selector
+.set PROT_MODE_DSEG,        0x10                    # kernel data segment selector
+.set CR0_PE_ON,             0x1                     # protected mode enable flag
+.set SMAP,                  0x534d4150
+
+# start address should be 0:7c00, in real mode, the beginning address of the running bootloader
+.globl start
+start:
+.code16                                             # Assemble for 16-bit mode
+    cli                                             # Disable interrupts
+    cld                                             # String operations increment
+
+    # Set up the important data segment registers (DS, ES, SS).
+    xorw %ax, %ax                                   # Segment number zero
+    movw %ax, %ds                                   # -> Data Segment
+    movw %ax, %es                                   # -> Extra Segment
+    movw %ax, %ss                                   # -> Stack Segment
+
+    # Enable A20:
+    #  For backwards compatibility with the earliest PCs, physical
+    #  address line 20 is tied low, so that addresses higher than
+    #  1MB wrap around to zero by default. This code undoes this.
+seta20.1:
+    inb $0x64, %al                                  # Wait for not busy
+    testb $0x2, %al
+    jnz seta20.1
+
+    movb $0xd1, %al                                 # 0xd1 -> port 0x64
+    outb %al, $0x64
+
+seta20.2:
+    inb $0x64, %al                                  # Wait for not busy
+    testb $0x2, %al
+    jnz seta20.2
+
+    movb $0xdf, %al                                 # 0xdf -> port 0x60
+    outb %al, $0x60
+
+probe_memory:
+    movl $0, 0x8000
+    xorl %ebx, %ebx
+    movw $0x8004, %di
+start_probe:
+    movl $0xE820, %eax
+    movl $20, %ecx
+    movl $SMAP, %edx
+    int $0x15
+    jnc cont
+    movw $12345, 0x8000
+    jmp finish_probe
+cont:
+    addw $20, %di
+    incl 0x8000
+    cmpl $0, %ebx
+    jnz start_probe
+finish_probe:
+
+    # Switch from real to protected mode, using a bootstrap GDT
+    # and segment translation that makes virtual addresses
+    # identical to physical addresses, so that the
+    # effective memory map does not change during the switch.
+    lgdt gdtdesc
+    movl %cr0, %eax
+    orl $CR0_PE_ON, %eax
+    movl %eax, %cr0
+
+    # Jump to next instruction, but in 32-bit code segment.
+    # Switches processor into 32-bit mode.
+    ljmp $PROT_MODE_CSEG, $protcseg
+
+.code32                                             # Assemble for 32-bit mode
+protcseg:
+    # Set up the protected-mode data segment registers
+    movw $PROT_MODE_DSEG, %ax                       # Our data segment selector
+    movw %ax, %ds                                   # -> DS: Data Segment
+    movw %ax, %es                                   # -> ES: Extra Segment
+    movw %ax, %fs                                   # -> FS
+    movw %ax, %gs                                   # -> GS
+    movw %ax, %ss                                   # -> SS: Stack Segment
+
+    # Set up the stack pointer and call into C. The stack region is from 0--start(0x7c00)
+    movl $0x0, %ebp
+    movl $start, %esp
+    call bootmain
+
+    # If bootmain returns (it shouldn't), loop.
+spin:
+    jmp spin
+
+.data
+# Bootstrap GDT
+.p2align 2                                          # force 4 byte alignment
+gdt:
+    SEG_NULLASM                                     # null seg
+    SEG_ASM(STA_X|STA_R, 0x0, 0xffffffff)           # code seg for bootloader and kernel
+    SEG_ASM(STA_W, 0x0, 0xffffffff)                 # data seg for bootloader and kernel
+
+gdtdesc:
+    .word 0x17                                      # sizeof(gdt) - 1
+    .long gdt                                       # address gdt
diff --git a/code/lab4/boot/bootmain.c b/code/lab4/boot/bootmain.c
new file mode 100644
index 0000000..4b55eb7
--- /dev/null
+++ b/code/lab4/boot/bootmain.c
@@ -0,0 +1,116 @@
+#include <defs.h>
+#include <x86.h>
+#include <elf.h>
+
+/* *********************************************************************
+ * This a dirt simple boot loader, whose sole job is to boot
+ * an ELF kernel image from the first IDE hard disk.
+ *
+ * DISK LAYOUT
+ *  * This program(bootasm.S and bootmain.c) is the bootloader.
+ *    It should be stored in the first sector of the disk.
+ *
+ *  * The 2nd sector onward holds the kernel image.
+ *
+ *  * The kernel image must be in ELF format.
+ *
+ * BOOT UP STEPS
+ *  * when the CPU boots it loads the BIOS into memory and executes it
+ *
+ *  * the BIOS intializes devices, sets of the interrupt routines, and
+ *    reads the first sector of the boot device(e.g., hard-drive)
+ *    into memory and jumps to it.
+ *
+ *  * Assuming this boot loader is stored in the first sector of the
+ *    hard-drive, this code takes over...
+ *
+ *  * control starts in bootasm.S -- which sets up protected mode,
+ *    and a stack so C code then run, then calls bootmain()
+ *
+ *  * bootmain() in this file takes over, reads in the kernel and jumps to it.
+ * */
+
+#define SECTSIZE        512
+#define ELFHDR          ((struct elfhdr *)0x10000)      // scratch space
+
+/* waitdisk - wait for disk ready */
+static void
+waitdisk(void) {
+    while ((inb(0x1F7) & 0xC0) != 0x40)
+        /* do nothing */;
+}
+
+/* readsect - read a single sector at @secno into @dst */
+static void
+readsect(void *dst, uint32_t secno) {
+    // wait for disk to be ready
+    waitdisk();
+
+    outb(0x1F2, 1);                         // count = 1
+    outb(0x1F3, secno & 0xFF);
+    outb(0x1F4, (secno >> 8) & 0xFF);
+    outb(0x1F5, (secno >> 16) & 0xFF);
+    outb(0x1F6, ((secno >> 24) & 0xF) | 0xE0);
+    outb(0x1F7, 0x20);                      // cmd 0x20 - read sectors
+
+    // wait for disk to be ready
+    waitdisk();
+
+    // read a sector
+    insl(0x1F0, dst, SECTSIZE / 4);
+}
+
+/* *
+ * readseg - read @count bytes at @offset from kernel into virtual address @va,
+ * might copy more than asked.
+ * */
+static void
+readseg(uintptr_t va, uint32_t count, uint32_t offset) {
+    uintptr_t end_va = va + count;
+
+    // round down to sector boundary
+    va -= offset % SECTSIZE;
+
+    // translate from bytes to sectors; kernel starts at sector 1
+    uint32_t secno = (offset / SECTSIZE) + 1;
+
+    // If this is too slow, we could read lots of sectors at a time.
+    // We'd write more to memory than asked, but it doesn't matter --
+    // we load in increasing order.
+    for (; va < end_va; va += SECTSIZE, secno ++) {
+        readsect((void *)va, secno);
+    }
+}
+
+/* bootmain - the entry of bootloader */
+void
+bootmain(void) {
+    // read the 1st page off disk
+    readseg((uintptr_t)ELFHDR, SECTSIZE * 8, 0);
+
+    // is this a valid ELF?
+    if (ELFHDR->e_magic != ELF_MAGIC) {
+        goto bad;
+    }
+
+    struct proghdr *ph, *eph;
+
+    // load each program segment (ignores ph flags)
+    ph = (struct proghdr *)((uintptr_t)ELFHDR + ELFHDR->e_phoff);
+    eph = ph + ELFHDR->e_phnum;
+    for (; ph < eph; ph ++) {
+        readseg(ph->p_va & 0xFFFFFF, ph->p_memsz, ph->p_offset);
+    }
+
+    // call the entry point from the ELF header
+    // note: does not return
+    ((void (*)(void))(ELFHDR->e_entry & 0xFFFFFF))();
+
+bad:
+    outw(0x8A00, 0x8A00);
+    outw(0x8A00, 0x8E00);
+
+    /* do nothing */
+    while (1);
+}
+
diff --git a/code/lab4/kern/debug/assert.h b/code/lab4/kern/debug/assert.h
new file mode 100644
index 0000000..ac1a966
--- /dev/null
+++ b/code/lab4/kern/debug/assert.h
@@ -0,0 +1,27 @@
+#ifndef __KERN_DEBUG_ASSERT_H__
+#define __KERN_DEBUG_ASSERT_H__
+
+#include <defs.h>
+
+void __warn(const char *file, int line, const char *fmt, ...);
+void __noreturn __panic(const char *file, int line, const char *fmt, ...);
+
+#define warn(...)                                       \
+    __warn(__FILE__, __LINE__, __VA_ARGS__)
+
+#define panic(...)                                      \
+    __panic(__FILE__, __LINE__, __VA_ARGS__)
+
+#define assert(x)                                       \
+    do {                                                \
+        if (!(x)) {                                     \
+            panic("assertion failed: %s", #x);          \
+        }                                               \
+    } while (0)
+
+// static_assert(x) will generate a compile-time error if 'x' is false.
+#define static_assert(x)                                \
+    switch (x) { case 0: case (x): ; }
+
+#endif /* !__KERN_DEBUG_ASSERT_H__ */
+
diff --git a/code/lab4/kern/debug/kdebug.c b/code/lab4/kern/debug/kdebug.c
new file mode 100644
index 0000000..fbf7346
--- /dev/null
+++ b/code/lab4/kern/debug/kdebug.c
@@ -0,0 +1,309 @@
+#include <defs.h>
+#include <x86.h>
+#include <stab.h>
+#include <stdio.h>
+#include <string.h>
+#include <sync.h>
+#include <kdebug.h>
+#include <monitor.h>
+#include <assert.h>
+
+#define STACKFRAME_DEPTH 20
+
+extern const struct stab __STAB_BEGIN__[];  // beginning of stabs table
+extern const struct stab __STAB_END__[];    // end of stabs table
+extern const char __STABSTR_BEGIN__[];      // beginning of string table
+extern const char __STABSTR_END__[];        // end of string table
+
+/* debug information about a particular instruction pointer */
+struct eipdebuginfo {
+    const char *eip_file;                   // source code filename for eip
+    int eip_line;                           // source code line number for eip
+    const char *eip_fn_name;                // name of function containing eip
+    int eip_fn_namelen;                     // length of function's name
+    uintptr_t eip_fn_addr;                  // start address of function
+    int eip_fn_narg;                        // number of function arguments
+};
+
+/* *
+ * stab_binsearch - according to the input, the initial value of
+ * range [*@region_left, *@region_right], find a single stab entry
+ * that includes the address @addr and matches the type @type,
+ * and then save its boundary to the locations that pointed
+ * by @region_left and @region_right.
+ *
+ * Some stab types are arranged in increasing order by instruction address.
+ * For example, N_FUN stabs (stab entries with n_type == N_FUN), which
+ * mark functions, and N_SO stabs, which mark source files.
+ *
+ * Given an instruction address, this function finds the single stab entry
+ * of type @type that contains that address.
+ *
+ * The search takes place within the range [*@region_left, *@region_right].
+ * Thus, to search an entire set of N stabs, you might do:
+ *
+ *      left = 0;
+ *      right = N - 1;    (rightmost stab)
+ *      stab_binsearch(stabs, &left, &right, type, addr);
+ *
+ * The search modifies *region_left and *region_right to bracket the @addr.
+ * *@region_left points to the matching stab that contains @addr,
+ * and *@region_right points just before the next stab.
+ * If *@region_left > *region_right, then @addr is not contained in any
+ * matching stab.
+ *
+ * For example, given these N_SO stabs:
+ *      Index  Type   Address
+ *      0      SO     f0100000
+ *      13     SO     f0100040
+ *      117    SO     f0100176
+ *      118    SO     f0100178
+ *      555    SO     f0100652
+ *      556    SO     f0100654
+ *      657    SO     f0100849
+ * this code:
+ *      left = 0, right = 657;
+ *      stab_binsearch(stabs, &left, &right, N_SO, 0xf0100184);
+ * will exit setting left = 118, right = 554.
+ * */
+static void
+stab_binsearch(const struct stab *stabs, int *region_left, int *region_right,
+           int type, uintptr_t addr) {
+    int l = *region_left, r = *region_right, any_matches = 0;
+
+    while (l <= r) {
+        int true_m = (l + r) / 2, m = true_m;
+
+        // search for earliest stab with right type
+        while (m >= l && stabs[m].n_type != type) {
+            m --;
+        }
+        if (m < l) {    // no match in [l, m]
+            l = true_m + 1;
+            continue;
+        }
+
+        // actual binary search
+        any_matches = 1;
+        if (stabs[m].n_value < addr) {
+            *region_left = m;
+            l = true_m + 1;
+        } else if (stabs[m].n_value > addr) {
+            *region_right = m - 1;
+            r = m - 1;
+        } else {
+            // exact match for 'addr', but continue loop to find
+            // *region_right
+            *region_left = m;
+            l = m;
+            addr ++;
+        }
+    }
+
+    if (!any_matches) {
+        *region_right = *region_left - 1;
+    }
+    else {
+        // find rightmost region containing 'addr'
+        l = *region_right;
+        for (; l > *region_left && stabs[l].n_type != type; l --)
+            /* do nothing */;
+        *region_left = l;
+    }
+}
+
+/* *
+ * debuginfo_eip - Fill in the @info structure with information about
+ * the specified instruction address, @addr.  Returns 0 if information
+ * was found, and negative if not.  But even if it returns negative it
+ * has stored some information into '*info'.
+ * */
+int
+debuginfo_eip(uintptr_t addr, struct eipdebuginfo *info) {
+    const struct stab *stabs, *stab_end;
+    const char *stabstr, *stabstr_end;
+
+    info->eip_file = "<unknown>";
+    info->eip_line = 0;
+    info->eip_fn_name = "<unknown>";
+    info->eip_fn_namelen = 9;
+    info->eip_fn_addr = addr;
+    info->eip_fn_narg = 0;
+
+    stabs = __STAB_BEGIN__;
+    stab_end = __STAB_END__;
+    stabstr = __STABSTR_BEGIN__;
+    stabstr_end = __STABSTR_END__;
+
+    // String table validity checks
+    if (stabstr_end <= stabstr || stabstr_end[-1] != 0) {
+        return -1;
+    }
+
+    // Now we find the right stabs that define the function containing
+    // 'eip'.  First, we find the basic source file containing 'eip'.
+    // Then, we look in that source file for the function.  Then we look
+    // for the line number.
+
+    // Search the entire set of stabs for the source file (type N_SO).
+    int lfile = 0, rfile = (stab_end - stabs) - 1;
+    stab_binsearch(stabs, &lfile, &rfile, N_SO, addr);
+    if (lfile == 0)
+        return -1;
+
+    // Search within that file's stabs for the function definition
+    // (N_FUN).
+    int lfun = lfile, rfun = rfile;
+    int lline, rline;
+    stab_binsearch(stabs, &lfun, &rfun, N_FUN, addr);
+
+    if (lfun <= rfun) {
+        // stabs[lfun] points to the function name
+        // in the string table, but check bounds just in case.
+        if (stabs[lfun].n_strx < stabstr_end - stabstr) {
+            info->eip_fn_name = stabstr + stabs[lfun].n_strx;
+        }
+        info->eip_fn_addr = stabs[lfun].n_value;
+        addr -= info->eip_fn_addr;
+        // Search within the function definition for the line number.
+        lline = lfun;
+        rline = rfun;
+    } else {
+        // Couldn't find function stab!  Maybe we're in an assembly
+        // file.  Search the whole file for the line number.
+        info->eip_fn_addr = addr;
+        lline = lfile;
+        rline = rfile;
+    }
+    info->eip_fn_namelen = strfind(info->eip_fn_name, ':') - info->eip_fn_name;
+
+    // Search within [lline, rline] for the line number stab.
+    // If found, set info->eip_line to the right line number.
+    // If not found, return -1.
+    stab_binsearch(stabs, &lline, &rline, N_SLINE, addr);
+    if (lline <= rline) {
+        info->eip_line = stabs[rline].n_desc;
+    } else {
+        return -1;
+    }
+
+    // Search backwards from the line number for the relevant filename stab.
+    // We can't just use the "lfile" stab because inlined functions
+    // can interpolate code from a different file!
+    // Such included source files use the N_SOL stab type.
+    while (lline >= lfile
+           && stabs[lline].n_type != N_SOL
+           && (stabs[lline].n_type != N_SO || !stabs[lline].n_value)) {
+        lline --;
+    }
+    if (lline >= lfile && stabs[lline].n_strx < stabstr_end - stabstr) {
+        info->eip_file = stabstr + stabs[lline].n_strx;
+    }
+
+    // Set eip_fn_narg to the number of arguments taken by the function,
+    // or 0 if there was no containing function.
+    if (lfun < rfun) {
+        for (lline = lfun + 1;
+             lline < rfun && stabs[lline].n_type == N_PSYM;
+             lline ++) {
+            info->eip_fn_narg ++;
+        }
+    }
+    return 0;
+}
+
+/* *
+ * print_kerninfo - print the information about kernel, including the location
+ * of kernel entry, the start addresses of data and text segements, the start
+ * address of free memory and how many memory that kernel has used.
+ * */
+void
+print_kerninfo(void) {
+    extern char etext[], edata[], end[], kern_init[];
+    cprintf("Special kernel symbols:\n");
+    cprintf("  entry  0x%08x (phys)\n", kern_init);
+    cprintf("  etext  0x%08x (phys)\n", etext);
+    cprintf("  edata  0x%08x (phys)\n", edata);
+    cprintf("  end    0x%08x (phys)\n", end);
+    cprintf("Kernel executable memory footprint: %dKB\n", (end - kern_init + 1023)/1024);
+}
+
+/* *
+ * print_debuginfo - read and print the stat information for the address @eip,
+ * and info.eip_fn_addr should be the first address of the related function.
+ * */
+void
+print_debuginfo(uintptr_t eip) {
+    struct eipdebuginfo info;
+    if (debuginfo_eip(eip, &info) != 0) {
+        cprintf("    <unknow>: -- 0x%08x --\n", eip);
+    }
+    else {
+        char fnname[256];
+        int j;
+        for (j = 0; j < info.eip_fn_namelen; j ++) {
+            fnname[j] = info.eip_fn_name[j];
+        }
+        fnname[j] = '\0';
+        cprintf("    %s:%d: %s+%d\n", info.eip_file, info.eip_line,
+                fnname, eip - info.eip_fn_addr);
+    }
+}
+
+static __noinline uint32_t
+read_eip(void) {
+    uint32_t eip;
+    asm volatile("movl 4(%%ebp), %0" : "=r" (eip));
+    return eip;
+}
+
+/* *
+ * print_stackframe - print a list of the saved eip values from the nested 'call'
+ * instructions that led to the current point of execution
+ *
+ * The x86 stack pointer, namely esp, points to the lowest location on the stack
+ * that is currently in use. Everything below that location in stack is free. Pushing
+ * a value onto the stack will invole decreasing the stack pointer and then writing
+ * the value to the place that stack pointer pointes to. And popping a value do the
+ * opposite.
+ *
+ * The ebp (base pointer) register, in contrast, is associated with the stack
+ * primarily by software convention. On entry to a C function, the function's
+ * prologue code normally saves the previous function's base pointer by pushing
+ * it onto the stack, and then copies the current esp value into ebp for the duration
+ * of the function. If all the functions in a program obey this convention,
+ * then at any given point during the program's execution, it is possible to trace
+ * back through the stack by following the chain of saved ebp pointers and determining
+ * exactly what nested sequence of function calls caused this particular point in the
+ * program to be reached. This capability can be particularly useful, for example,
+ * when a particular function causes an assert failure or panic because bad arguments
+ * were passed to it, but you aren't sure who passed the bad arguments. A stack
+ * backtrace lets you find the offending function.
+ *
+ * The inline function read_ebp() can tell us the value of current ebp. And the
+ * non-inline function read_eip() is useful, it can read the value of current eip,
+ * since while calling this function, read_eip() can read the caller's eip from
+ * stack easily.
+ *
+ * In print_debuginfo(), the function debuginfo_eip() can get enough information about
+ * calling-chain. Finally print_stackframe() will trace and print them for debugging.
+ *
+ * Note that, the length of ebp-chain is limited. In boot/bootasm.S, before jumping
+ * to the kernel entry, the value of ebp has been set to zero, that's the boundary.
+ * */
+void
+print_stackframe(void) {
+     /* LAB1 YOUR CODE : STEP 1 */
+     /* (1) call read_ebp() to get the value of ebp. the type is (uint32_t);
+      * (2) call read_eip() to get the value of eip. the type is (uint32_t);
+      * (3) from 0 .. STACKFRAME_DEPTH
+      *    (3.1) printf value of ebp, eip
+      *    (3.2) (uint32_t)calling arguments [0..4] = the contents in address (unit32_t)ebp +2 [0..4]
+      *    (3.3) cprintf("\n");
+      *    (3.4) call print_debuginfo(eip-1) to print the C calling function name and line number, etc.
+      *    (3.5) popup a calling stackframe
+      *           NOTICE: the calling funciton's return addr eip  = ss:[ebp+4]
+      *                   the calling funciton's ebp = ss:[ebp]
+      */
+}
+
diff --git a/code/lab4/kern/debug/kdebug.h b/code/lab4/kern/debug/kdebug.h
new file mode 100644
index 0000000..c2a7b74
--- /dev/null
+++ b/code/lab4/kern/debug/kdebug.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_DEBUG_KDEBUG_H__
+#define __KERN_DEBUG_KDEBUG_H__
+
+#include <defs.h>
+#include <trap.h>
+
+void print_kerninfo(void);
+void print_stackframe(void);
+void print_debuginfo(uintptr_t eip);
+
+#endif /* !__KERN_DEBUG_KDEBUG_H__ */
+
diff --git a/code/lab4/kern/debug/monitor.c b/code/lab4/kern/debug/monitor.c
new file mode 100644
index 0000000..85ac06c
--- /dev/null
+++ b/code/lab4/kern/debug/monitor.c
@@ -0,0 +1,132 @@
+#include <stdio.h>
+#include <string.h>
+#include <mmu.h>
+#include <trap.h>
+#include <monitor.h>
+#include <kdebug.h>
+
+/* *
+ * Simple command-line kernel monitor useful for controlling the
+ * kernel and exploring the system interactively.
+ * */
+
+struct command {
+    const char *name;
+    const char *desc;
+    // return -1 to force monitor to exit
+    int(*func)(int argc, char **argv, struct trapframe *tf);
+};
+
+static struct command commands[] = {
+    {"help", "Display this list of commands.", mon_help},
+    {"kerninfo", "Display information about the kernel.", mon_kerninfo},
+    {"backtrace", "Print backtrace of stack frame.", mon_backtrace},
+};
+
+/* return if kernel is panic, in kern/debug/panic.c */
+bool is_kernel_panic(void);
+
+#define NCOMMANDS (sizeof(commands)/sizeof(struct command))
+
+/***** Kernel monitor command interpreter *****/
+
+#define MAXARGS         16
+#define WHITESPACE      " \t\n\r"
+
+/* parse - parse the command buffer into whitespace-separated arguments */
+static int
+parse(char *buf, char **argv) {
+    int argc = 0;
+    while (1) {
+        // find global whitespace
+        while (*buf != '\0' && strchr(WHITESPACE, *buf) != NULL) {
+            *buf ++ = '\0';
+        }
+        if (*buf == '\0') {
+            break;
+        }
+
+        // save and scan past next arg
+        if (argc == MAXARGS - 1) {
+            cprintf("Too many arguments (max %d).\n", MAXARGS);
+        }
+        argv[argc ++] = buf;
+        while (*buf != '\0' && strchr(WHITESPACE, *buf) == NULL) {
+            buf ++;
+        }
+    }
+    return argc;
+}
+
+/* *
+ * runcmd - parse the input string, split it into separated arguments
+ * and then lookup and invoke some related commands/
+ * */
+static int
+runcmd(char *buf, struct trapframe *tf) {
+    char *argv[MAXARGS];
+    int argc = parse(buf, argv);
+    if (argc == 0) {
+        return 0;
+    }
+    int i;
+    for (i = 0; i < NCOMMANDS; i ++) {
+        if (strcmp(commands[i].name, argv[0]) == 0) {
+            return commands[i].func(argc - 1, argv + 1, tf);
+        }
+    }
+    cprintf("Unknown command '%s'\n", argv[0]);
+    return 0;
+}
+
+/***** Implementations of basic kernel monitor commands *****/
+
+void
+monitor(struct trapframe *tf) {
+    cprintf("Welcome to the kernel debug monitor!!\n");
+    cprintf("Type 'help' for a list of commands.\n");
+
+    if (tf != NULL) {
+        print_trapframe(tf);
+    }
+
+    char *buf;
+    while (1) {
+        if ((buf = readline("K> ")) != NULL) {
+            if (runcmd(buf, tf) < 0) {
+                break;
+            }
+        }
+    }
+}
+
+/* mon_help - print the information about mon_* functions */
+int
+mon_help(int argc, char **argv, struct trapframe *tf) {
+    int i;
+    for (i = 0; i < NCOMMANDS; i ++) {
+        cprintf("%s - %s\n", commands[i].name, commands[i].desc);
+    }
+    return 0;
+}
+
+/* *
+ * mon_kerninfo - call print_kerninfo in kern/debug/kdebug.c to
+ * print the memory occupancy in kernel.
+ * */
+int
+mon_kerninfo(int argc, char **argv, struct trapframe *tf) {
+    print_kerninfo();
+    return 0;
+}
+
+/* *
+ * mon_backtrace - call print_stackframe in kern/debug/kdebug.c to
+ * print a backtrace of the stack.
+ * */
+int
+mon_backtrace(int argc, char **argv, struct trapframe *tf) {
+    print_stackframe();
+    return 0;
+}
+
diff --git a/code/lab4/kern/debug/monitor.h b/code/lab4/kern/debug/monitor.h
new file mode 100644
index 0000000..2bc0854
--- /dev/null
+++ b/code/lab4/kern/debug/monitor.h
@@ -0,0 +1,19 @@
+#ifndef __KERN_DEBUG_MONITOR_H__
+#define __KERN_DEBUG_MONITOR_H__
+
+#include <trap.h>
+
+void monitor(struct trapframe *tf);
+
+int mon_help(int argc, char **argv, struct trapframe *tf);
+int mon_kerninfo(int argc, char **argv, struct trapframe *tf);
+int mon_backtrace(int argc, char **argv, struct trapframe *tf);
+int mon_continue(int argc, char **argv, struct trapframe *tf);
+int mon_step(int argc, char **argv, struct trapframe *tf);
+int mon_breakpoint(int argc, char **argv, struct trapframe *tf);
+int mon_watchpoint(int argc, char **argv, struct trapframe *tf);
+int mon_delete_dr(int argc, char **argv, struct trapframe *tf);
+int mon_list_dr(int argc, char **argv, struct trapframe *tf);
+
+#endif /* !__KERN_DEBUG_MONITOR_H__ */
+
diff --git a/code/lab4/kern/debug/panic.c b/code/lab4/kern/debug/panic.c
new file mode 100644
index 0000000..9be6c0b
--- /dev/null
+++ b/code/lab4/kern/debug/panic.c
@@ -0,0 +1,49 @@
+#include <defs.h>
+#include <stdio.h>
+#include <intr.h>
+#include <monitor.h>
+
+static bool is_panic = 0;
+
+/* *
+ * __panic - __panic is called on unresolvable fatal errors. it prints
+ * "panic: 'message'", and then enters the kernel monitor.
+ * */
+void
+__panic(const char *file, int line, const char *fmt, ...) {
+    if (is_panic) {
+        goto panic_dead;
+    }
+    is_panic = 1;
+
+    // print the 'message'
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("kernel panic at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+
+panic_dead:
+    intr_disable();
+    while (1) {
+        monitor(NULL);
+    }
+}
+
+/* __warn - like panic, but don't */
+void
+__warn(const char *file, int line, const char *fmt, ...) {
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("kernel warning at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+}
+
+bool
+is_kernel_panic(void) {
+    return is_panic;
+}
+
diff --git a/code/lab4/kern/debug/stab.h b/code/lab4/kern/debug/stab.h
new file mode 100644
index 0000000..8d5cea3
--- /dev/null
+++ b/code/lab4/kern/debug/stab.h
@@ -0,0 +1,54 @@
+#ifndef __KERN_DEBUG_STAB_H__
+#define __KERN_DEBUG_STAB_H__
+
+#include <defs.h>
+
+/* *
+ * STABS debugging info
+ *
+ * The kernel debugger can understand some debugging information in
+ * the STABS format.  For more information on this format, see
+ * http://sources.redhat.com/gdb/onlinedocs/stabs_toc.html
+ *
+ * The constants below define some symbol types used by various debuggers
+ * and compilers.  Kernel uses the N_SO, N_SOL, N_FUN, and N_SLINE types.
+ * */
+
+#define N_GSYM      0x20    // global symbol
+#define N_FNAME     0x22    // F77 function name
+#define N_FUN       0x24    // procedure name
+#define N_STSYM     0x26    // data segment variable
+#define N_LCSYM     0x28    // bss segment variable
+#define N_MAIN      0x2a    // main function name
+#define N_PC        0x30    // global Pascal symbol
+#define N_RSYM      0x40    // register variable
+#define N_SLINE     0x44    // text segment line number
+#define N_DSLINE    0x46    // data segment line number
+#define N_BSLINE    0x48    // bss segment line number
+#define N_SSYM      0x60    // structure/union element
+#define N_SO        0x64    // main source file name
+#define N_LSYM      0x80    // stack variable
+#define N_BINCL     0x82    // include file beginning
+#define N_SOL       0x84    // included source file name
+#define N_PSYM      0xa0    // parameter variable
+#define N_EINCL     0xa2    // include file end
+#define N_ENTRY     0xa4    // alternate entry point
+#define N_LBRAC     0xc0    // left bracket
+#define N_EXCL      0xc2    // deleted include file
+#define N_RBRAC     0xe0    // right bracket
+#define N_BCOMM     0xe2    // begin common
+#define N_ECOMM     0xe4    // end common
+#define N_ECOML     0xe8    // end common (local name)
+#define N_LENG      0xfe    // length of preceding entry
+
+/* Entries in the STABS table are formatted as follows. */
+struct stab {
+    uint32_t n_strx;        // index into string table of name
+    uint8_t n_type;         // type of symbol
+    uint8_t n_other;        // misc info (usually empty)
+    uint16_t n_desc;        // description field
+    uintptr_t n_value;      // value of symbol
+};
+
+#endif /* !__KERN_DEBUG_STAB_H__ */
+
diff --git a/code/lab4/kern/driver/clock.c b/code/lab4/kern/driver/clock.c
new file mode 100644
index 0000000..4e67c3b
--- /dev/null
+++ b/code/lab4/kern/driver/clock.c
@@ -0,0 +1,45 @@
+#include <x86.h>
+#include <trap.h>
+#include <stdio.h>
+#include <picirq.h>
+
+/* *
+ * Support for time-related hardware gadgets - the 8253 timer,
+ * which generates interruptes on IRQ-0.
+ * */
+
+#define IO_TIMER1           0x040               // 8253 Timer #1
+
+/* *
+ * Frequency of all three count-down timers; (TIMER_FREQ/freq)
+ * is the appropriate count to generate a frequency of freq Hz.
+ * */
+
+#define TIMER_FREQ      1193182
+#define TIMER_DIV(x)    ((TIMER_FREQ + (x) / 2) / (x))
+
+#define TIMER_MODE      (IO_TIMER1 + 3)         // timer mode port
+#define TIMER_SEL0      0x00                    // select counter 0
+#define TIMER_RATEGEN   0x04                    // mode 2, rate generator
+#define TIMER_16BIT     0x30                    // r/w counter 16 bits, LSB first
+
+volatile size_t ticks;
+
+/* *
+ * clock_init - initialize 8253 clock to interrupt 100 times per second,
+ * and then enable IRQ_TIMER.
+ * */
+void
+clock_init(void) {
+    // set 8253 timer-chip
+    outb(TIMER_MODE, TIMER_SEL0 | TIMER_RATEGEN | TIMER_16BIT);
+    outb(IO_TIMER1, TIMER_DIV(100) % 256);
+    outb(IO_TIMER1, TIMER_DIV(100) / 256);
+
+    // initialize time counter 'ticks' to zero
+    ticks = 0;
+
+    cprintf("++ setup timer interrupts\n");
+    pic_enable(IRQ_TIMER);
+}
+
diff --git a/code/lab4/kern/driver/clock.h b/code/lab4/kern/driver/clock.h
new file mode 100644
index 0000000..e22f393
--- /dev/null
+++ b/code/lab4/kern/driver/clock.h
@@ -0,0 +1,11 @@
+#ifndef __KERN_DRIVER_CLOCK_H__
+#define __KERN_DRIVER_CLOCK_H__
+
+#include <defs.h>
+
+extern volatile size_t ticks;
+
+void clock_init(void);
+
+#endif /* !__KERN_DRIVER_CLOCK_H__ */
+
diff --git a/code/lab4/kern/driver/console.c b/code/lab4/kern/driver/console.c
new file mode 100644
index 0000000..d4cf56b
--- /dev/null
+++ b/code/lab4/kern/driver/console.c
@@ -0,0 +1,465 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <kbdreg.h>
+#include <picirq.h>
+#include <trap.h>
+#include <memlayout.h>
+#include <sync.h>
+
+/* stupid I/O delay routine necessitated by historical PC design flaws */
+static void
+delay(void) {
+    inb(0x84);
+    inb(0x84);
+    inb(0x84);
+    inb(0x84);
+}
+
+/***** Serial I/O code *****/
+#define COM1            0x3F8
+
+#define COM_RX          0       // In:  Receive buffer (DLAB=0)
+#define COM_TX          0       // Out: Transmit buffer (DLAB=0)
+#define COM_DLL         0       // Out: Divisor Latch Low (DLAB=1)
+#define COM_DLM         1       // Out: Divisor Latch High (DLAB=1)
+#define COM_IER         1       // Out: Interrupt Enable Register
+#define COM_IER_RDI     0x01    // Enable receiver data interrupt
+#define COM_IIR         2       // In:  Interrupt ID Register
+#define COM_FCR         2       // Out: FIFO Control Register
+#define COM_LCR         3       // Out: Line Control Register
+#define COM_LCR_DLAB    0x80    // Divisor latch access bit
+#define COM_LCR_WLEN8   0x03    // Wordlength: 8 bits
+#define COM_MCR         4       // Out: Modem Control Register
+#define COM_MCR_RTS     0x02    // RTS complement
+#define COM_MCR_DTR     0x01    // DTR complement
+#define COM_MCR_OUT2    0x08    // Out2 complement
+#define COM_LSR         5       // In:  Line Status Register
+#define COM_LSR_DATA    0x01    // Data available
+#define COM_LSR_TXRDY   0x20    // Transmit buffer avail
+#define COM_LSR_TSRE    0x40    // Transmitter off
+
+#define MONO_BASE       0x3B4
+#define MONO_BUF        0xB0000
+#define CGA_BASE        0x3D4
+#define CGA_BUF         0xB8000
+#define CRT_ROWS        25
+#define CRT_COLS        80
+#define CRT_SIZE        (CRT_ROWS * CRT_COLS)
+
+#define LPTPORT         0x378
+
+static uint16_t *crt_buf;
+static uint16_t crt_pos;
+static uint16_t addr_6845;
+
+/* TEXT-mode CGA/VGA display output */
+
+static void
+cga_init(void) {
+    volatile uint16_t *cp = (uint16_t *)(CGA_BUF + KERNBASE);
+    uint16_t was = *cp;
+    *cp = (uint16_t) 0xA55A;
+    if (*cp != 0xA55A) {
+        cp = (uint16_t*)(MONO_BUF + KERNBASE);
+        addr_6845 = MONO_BASE;
+    } else {
+        *cp = was;
+        addr_6845 = CGA_BASE;
+    }
+
+    // Extract cursor location
+    uint32_t pos;
+    outb(addr_6845, 14);
+    pos = inb(addr_6845 + 1) << 8;
+    outb(addr_6845, 15);
+    pos |= inb(addr_6845 + 1);
+
+    crt_buf = (uint16_t*) cp;
+    crt_pos = pos;
+}
+
+static bool serial_exists = 0;
+
+static void
+serial_init(void) {
+    // Turn off the FIFO
+    outb(COM1 + COM_FCR, 0);
+
+    // Set speed; requires DLAB latch
+    outb(COM1 + COM_LCR, COM_LCR_DLAB);
+    outb(COM1 + COM_DLL, (uint8_t) (115200 / 9600));
+    outb(COM1 + COM_DLM, 0);
+
+    // 8 data bits, 1 stop bit, parity off; turn off DLAB latch
+    outb(COM1 + COM_LCR, COM_LCR_WLEN8 & ~COM_LCR_DLAB);
+
+    // No modem controls
+    outb(COM1 + COM_MCR, 0);
+    // Enable rcv interrupts
+    outb(COM1 + COM_IER, COM_IER_RDI);
+
+    // Clear any preexisting overrun indications and interrupts
+    // Serial port doesn't exist if COM_LSR returns 0xFF
+    serial_exists = (inb(COM1 + COM_LSR) != 0xFF);
+    (void) inb(COM1+COM_IIR);
+    (void) inb(COM1+COM_RX);
+
+    if (serial_exists) {
+        pic_enable(IRQ_COM1);
+    }
+}
+
+static void
+lpt_putc_sub(int c) {
+    int i;
+    for (i = 0; !(inb(LPTPORT + 1) & 0x80) && i < 12800; i ++) {
+        delay();
+    }
+    outb(LPTPORT + 0, c);
+    outb(LPTPORT + 2, 0x08 | 0x04 | 0x01);
+    outb(LPTPORT + 2, 0x08);
+}
+
+/* lpt_putc - copy console output to parallel port */
+static void
+lpt_putc(int c) {
+    if (c != '\b') {
+        lpt_putc_sub(c);
+    }
+    else {
+        lpt_putc_sub('\b');
+        lpt_putc_sub(' ');
+        lpt_putc_sub('\b');
+    }
+}
+
+/* cga_putc - print character to console */
+static void
+cga_putc(int c) {
+    // set black on white
+    if (!(c & ~0xFF)) {
+        c |= 0x0700;
+    }
+
+    switch (c & 0xff) {
+    case '\b':
+        if (crt_pos > 0) {
+            crt_pos --;
+            crt_buf[crt_pos] = (c & ~0xff) | ' ';
+        }
+        break;
+    case '\n':
+        crt_pos += CRT_COLS;
+    case '\r':
+        crt_pos -= (crt_pos % CRT_COLS);
+        break;
+    default:
+        crt_buf[crt_pos ++] = c;     // write the character
+        break;
+    }
+
+    // What is the purpose of this?
+    if (crt_pos >= CRT_SIZE) {
+        int i;
+        memmove(crt_buf, crt_buf + CRT_COLS, (CRT_SIZE - CRT_COLS) * sizeof(uint16_t));
+        for (i = CRT_SIZE - CRT_COLS; i < CRT_SIZE; i ++) {
+            crt_buf[i] = 0x0700 | ' ';
+        }
+        crt_pos -= CRT_COLS;
+    }
+
+    // move that little blinky thing
+    outb(addr_6845, 14);
+    outb(addr_6845 + 1, crt_pos >> 8);
+    outb(addr_6845, 15);
+    outb(addr_6845 + 1, crt_pos);
+}
+
+static void
+serial_putc_sub(int c) {
+    int i;
+    for (i = 0; !(inb(COM1 + COM_LSR) & COM_LSR_TXRDY) && i < 12800; i ++) {
+        delay();
+    }
+    outb(COM1 + COM_TX, c);
+}
+
+/* serial_putc - print character to serial port */
+static void
+serial_putc(int c) {
+    if (c != '\b') {
+        serial_putc_sub(c);
+    }
+    else {
+        serial_putc_sub('\b');
+        serial_putc_sub(' ');
+        serial_putc_sub('\b');
+    }
+}
+
+/* *
+ * Here we manage the console input buffer, where we stash characters
+ * received from the keyboard or serial port whenever the corresponding
+ * interrupt occurs.
+ * */
+
+#define CONSBUFSIZE 512
+
+static struct {
+    uint8_t buf[CONSBUFSIZE];
+    uint32_t rpos;
+    uint32_t wpos;
+} cons;
+
+/* *
+ * cons_intr - called by device interrupt routines to feed input
+ * characters into the circular console input buffer.
+ * */
+static void
+cons_intr(int (*proc)(void)) {
+    int c;
+    while ((c = (*proc)()) != -1) {
+        if (c != 0) {
+            cons.buf[cons.wpos ++] = c;
+            if (cons.wpos == CONSBUFSIZE) {
+                cons.wpos = 0;
+            }
+        }
+    }
+}
+
+/* serial_proc_data - get data from serial port */
+static int
+serial_proc_data(void) {
+    if (!(inb(COM1 + COM_LSR) & COM_LSR_DATA)) {
+        return -1;
+    }
+    int c = inb(COM1 + COM_RX);
+    if (c == 127) {
+        c = '\b';
+    }
+    return c;
+}
+
+/* serial_intr - try to feed input characters from serial port */
+void
+serial_intr(void) {
+    if (serial_exists) {
+        cons_intr(serial_proc_data);
+    }
+}
+
+/***** Keyboard input code *****/
+
+#define NO              0
+
+#define SHIFT           (1<<0)
+#define CTL             (1<<1)
+#define ALT             (1<<2)
+
+#define CAPSLOCK        (1<<3)
+#define NUMLOCK         (1<<4)
+#define SCROLLLOCK      (1<<5)
+
+#define E0ESC           (1<<6)
+
+static uint8_t shiftcode[256] = {
+    [0x1D] CTL,
+    [0x2A] SHIFT,
+    [0x36] SHIFT,
+    [0x38] ALT,
+    [0x9D] CTL,
+    [0xB8] ALT
+};
+
+static uint8_t togglecode[256] = {
+    [0x3A] CAPSLOCK,
+    [0x45] NUMLOCK,
+    [0x46] SCROLLLOCK
+};
+
+static uint8_t normalmap[256] = {
+    NO,   0x1B, '1',  '2',  '3',  '4',  '5',  '6',  // 0x00
+    '7',  '8',  '9',  '0',  '-',  '=',  '\b', '\t',
+    'q',  'w',  'e',  'r',  't',  'y',  'u',  'i',  // 0x10
+    'o',  'p',  '[',  ']',  '\n', NO,   'a',  's',
+    'd',  'f',  'g',  'h',  'j',  'k',  'l',  ';',  // 0x20
+    '\'', '`',  NO,   '\\', 'z',  'x',  'c',  'v',
+    'b',  'n',  'm',  ',',  '.',  '/',  NO,   '*',  // 0x30
+    NO,   ' ',  NO,   NO,   NO,   NO,   NO,   NO,
+    NO,   NO,   NO,   NO,   NO,   NO,   NO,   '7',  // 0x40
+    '8',  '9',  '-',  '4',  '5',  '6',  '+',  '1',
+    '2',  '3',  '0',  '.',  NO,   NO,   NO,   NO,   // 0x50
+    [0xC7] KEY_HOME,    [0x9C] '\n' /*KP_Enter*/,
+    [0xB5] '/' /*KP_Div*/,  [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+static uint8_t shiftmap[256] = {
+    NO,   033,  '!',  '@',  '#',  '$',  '%',  '^',  // 0x00
+    '&',  '*',  '(',  ')',  '_',  '+',  '\b', '\t',
+    'Q',  'W',  'E',  'R',  'T',  'Y',  'U',  'I',  // 0x10
+    'O',  'P',  '{',  '}',  '\n', NO,   'A',  'S',
+    'D',  'F',  'G',  'H',  'J',  'K',  'L',  ':',  // 0x20
+    '"',  '~',  NO,   '|',  'Z',  'X',  'C',  'V',
+    'B',  'N',  'M',  '<',  '>',  '?',  NO,   '*',  // 0x30
+    NO,   ' ',  NO,   NO,   NO,   NO,   NO,   NO,
+    NO,   NO,   NO,   NO,   NO,   NO,   NO,   '7',  // 0x40
+    '8',  '9',  '-',  '4',  '5',  '6',  '+',  '1',
+    '2',  '3',  '0',  '.',  NO,   NO,   NO,   NO,   // 0x50
+    [0xC7] KEY_HOME,    [0x9C] '\n' /*KP_Enter*/,
+    [0xB5] '/' /*KP_Div*/,  [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+#define C(x) (x - '@')
+
+static uint8_t ctlmap[256] = {
+    NO,      NO,      NO,      NO,      NO,      NO,      NO,      NO,
+    NO,      NO,      NO,      NO,      NO,      NO,      NO,      NO,
+    C('Q'),  C('W'),  C('E'),  C('R'),  C('T'),  C('Y'),  C('U'),  C('I'),
+    C('O'),  C('P'),  NO,      NO,      '\r',    NO,      C('A'),  C('S'),
+    C('D'),  C('F'),  C('G'),  C('H'),  C('J'),  C('K'),  C('L'),  NO,
+    NO,      NO,      NO,      C('\\'), C('Z'),  C('X'),  C('C'),  C('V'),
+    C('B'),  C('N'),  C('M'),  NO,      NO,      C('/'),  NO,      NO,
+    [0x97] KEY_HOME,
+    [0xB5] C('/'),      [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+static uint8_t *charcode[4] = {
+    normalmap,
+    shiftmap,
+    ctlmap,
+    ctlmap
+};
+
+/* *
+ * kbd_proc_data - get data from keyboard
+ *
+ * The kbd_proc_data() function gets data from the keyboard.
+ * If we finish a character, return it, else 0. And return -1 if no data.
+ * */
+static int
+kbd_proc_data(void) {
+    int c;
+    uint8_t data;
+    static uint32_t shift;
+
+    if ((inb(KBSTATP) & KBS_DIB) == 0) {
+        return -1;
+    }
+
+    data = inb(KBDATAP);
+
+    if (data == 0xE0) {
+        // E0 escape character
+        shift |= E0ESC;
+        return 0;
+    } else if (data & 0x80) {
+        // Key released
+        data = (shift & E0ESC ? data : data & 0x7F);
+        shift &= ~(shiftcode[data] | E0ESC);
+        return 0;
+    } else if (shift & E0ESC) {
+        // Last character was an E0 escape; or with 0x80
+        data |= 0x80;
+        shift &= ~E0ESC;
+    }
+
+    shift |= shiftcode[data];
+    shift ^= togglecode[data];
+
+    c = charcode[shift & (CTL | SHIFT)][data];
+    if (shift & CAPSLOCK) {
+        if ('a' <= c && c <= 'z')
+            c += 'A' - 'a';
+        else if ('A' <= c && c <= 'Z')
+            c += 'a' - 'A';
+    }
+
+    // Process special keys
+    // Ctrl-Alt-Del: reboot
+    if (!(~shift & (CTL | ALT)) && c == KEY_DEL) {
+        cprintf("Rebooting!\n");
+        outb(0x92, 0x3); // courtesy of Chris Frost
+    }
+    return c;
+}
+
+/* kbd_intr - try to feed input characters from keyboard */
+static void
+kbd_intr(void) {
+    cons_intr(kbd_proc_data);
+}
+
+static void
+kbd_init(void) {
+    // drain the kbd buffer
+    kbd_intr();
+    pic_enable(IRQ_KBD);
+}
+
+/* cons_init - initializes the console devices */
+void
+cons_init(void) {
+    cga_init();
+    serial_init();
+    kbd_init();
+    if (!serial_exists) {
+        cprintf("serial port does not exist!!\n");
+    }
+}
+
+/* cons_putc - print a single character @c to console devices */
+void
+cons_putc(int c) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        lpt_putc(c);
+        cga_putc(c);
+        serial_putc(c);
+    }
+    local_intr_restore(intr_flag);
+}
+
+/* *
+ * cons_getc - return the next input character from console,
+ * or 0 if none waiting.
+ * */
+int
+cons_getc(void) {
+    int c = 0;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        // poll for any pending input characters,
+        // so that this function works even when interrupts are disabled
+        // (e.g., when called from the kernel monitor).
+        serial_intr();
+        kbd_intr();
+
+        // grab the next character from the input buffer.
+        if (cons.rpos != cons.wpos) {
+            c = cons.buf[cons.rpos ++];
+            if (cons.rpos == CONSBUFSIZE) {
+                cons.rpos = 0;
+            }
+        }
+    }
+    local_intr_restore(intr_flag);
+    return c;
+}
+
diff --git a/code/lab4/kern/driver/console.h b/code/lab4/kern/driver/console.h
new file mode 100644
index 0000000..72e6167
--- /dev/null
+++ b/code/lab4/kern/driver/console.h
@@ -0,0 +1,11 @@
+#ifndef __KERN_DRIVER_CONSOLE_H__
+#define __KERN_DRIVER_CONSOLE_H__
+
+void cons_init(void);
+void cons_putc(int c);
+int cons_getc(void);
+void serial_intr(void);
+void kbd_intr(void);
+
+#endif /* !__KERN_DRIVER_CONSOLE_H__ */
+
diff --git a/code/lab4/kern/driver/ide.c b/code/lab4/kern/driver/ide.c
new file mode 100644
index 0000000..271cfa8
--- /dev/null
+++ b/code/lab4/kern/driver/ide.c
@@ -0,0 +1,214 @@
+#include <defs.h>
+#include <stdio.h>
+#include <trap.h>
+#include <picirq.h>
+#include <fs.h>
+#include <ide.h>
+#include <x86.h>
+#include <assert.h>
+
+#define ISA_DATA                0x00
+#define ISA_ERROR               0x01
+#define ISA_PRECOMP             0x01
+#define ISA_CTRL                0x02
+#define ISA_SECCNT              0x02
+#define ISA_SECTOR              0x03
+#define ISA_CYL_LO              0x04
+#define ISA_CYL_HI              0x05
+#define ISA_SDH                 0x06
+#define ISA_COMMAND             0x07
+#define ISA_STATUS              0x07
+
+#define IDE_BSY                 0x80
+#define IDE_DRDY                0x40
+#define IDE_DF                  0x20
+#define IDE_DRQ                 0x08
+#define IDE_ERR                 0x01
+
+#define IDE_CMD_READ            0x20
+#define IDE_CMD_WRITE           0x30
+#define IDE_CMD_IDENTIFY        0xEC
+
+#define IDE_IDENT_SECTORS       20
+#define IDE_IDENT_MODEL         54
+#define IDE_IDENT_CAPABILITIES  98
+#define IDE_IDENT_CMDSETS       164
+#define IDE_IDENT_MAX_LBA       120
+#define IDE_IDENT_MAX_LBA_EXT   200
+
+#define IO_BASE0                0x1F0
+#define IO_BASE1                0x170
+#define IO_CTRL0                0x3F4
+#define IO_CTRL1                0x374
+
+#define MAX_IDE                 4
+#define MAX_NSECS               128
+#define MAX_DISK_NSECS          0x10000000U
+#define VALID_IDE(ideno)        (((ideno) >= 0) && ((ideno) < MAX_IDE) && (ide_devices[ideno].valid))
+
+static const struct {
+    unsigned short base;        // I/O Base
+    unsigned short ctrl;        // Control Base
+} channels[2] = {
+    {IO_BASE0, IO_CTRL0},
+    {IO_BASE1, IO_CTRL1},
+};
+
+#define IO_BASE(ideno)          (channels[(ideno) >> 1].base)
+#define IO_CTRL(ideno)          (channels[(ideno) >> 1].ctrl)
+
+static struct ide_device {
+    unsigned char valid;        // 0 or 1 (If Device Really Exists)
+    unsigned int sets;          // Commend Sets Supported
+    unsigned int size;          // Size in Sectors
+    unsigned char model[41];    // Model in String
+} ide_devices[MAX_IDE];
+
+static int
+ide_wait_ready(unsigned short iobase, bool check_error) {
+    int r;
+    while ((r = inb(iobase + ISA_STATUS)) & IDE_BSY)
+        /* nothing */;
+    if (check_error && (r & (IDE_DF | IDE_ERR)) != 0) {
+        return -1;
+    }
+    return 0;
+}
+
+void
+ide_init(void) {
+    static_assert((SECTSIZE % 4) == 0);
+    unsigned short ideno, iobase;
+    for (ideno = 0; ideno < MAX_IDE; ideno ++) {
+        /* assume that no device here */
+        ide_devices[ideno].valid = 0;
+
+        iobase = IO_BASE(ideno);
+
+        /* wait device ready */
+        ide_wait_ready(iobase, 0);
+
+        /* step1: select drive */
+        outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4));
+        ide_wait_ready(iobase, 0);
+
+        /* step2: send ATA identify command */
+        outb(iobase + ISA_COMMAND, IDE_CMD_IDENTIFY);
+        ide_wait_ready(iobase, 0);
+
+        /* step3: polling */
+        if (inb(iobase + ISA_STATUS) == 0 || ide_wait_ready(iobase, 1) != 0) {
+            continue ;
+        }
+
+        /* device is ok */
+        ide_devices[ideno].valid = 1;
+
+        /* read identification space of the device */
+        unsigned int buffer[128];
+        insl(iobase + ISA_DATA, buffer, sizeof(buffer) / sizeof(unsigned int));
+
+        unsigned char *ident = (unsigned char *)buffer;
+        unsigned int sectors;
+        unsigned int cmdsets = *(unsigned int *)(ident + IDE_IDENT_CMDSETS);
+        /* device use 48-bits or 28-bits addressing */
+        if (cmdsets & (1 << 26)) {
+            sectors = *(unsigned int *)(ident + IDE_IDENT_MAX_LBA_EXT);
+        }
+        else {
+            sectors = *(unsigned int *)(ident + IDE_IDENT_MAX_LBA);
+        }
+        ide_devices[ideno].sets = cmdsets;
+        ide_devices[ideno].size = sectors;
+
+        /* check if supports LBA */
+        assert((*(unsigned short *)(ident + IDE_IDENT_CAPABILITIES) & 0x200) != 0);
+
+        unsigned char *model = ide_devices[ideno].model, *data = ident + IDE_IDENT_MODEL;
+        unsigned int i, length = 40;
+        for (i = 0; i < length; i += 2) {
+            model[i] = data[i + 1], model[i + 1] = data[i];
+        }
+        do {
+            model[i] = '\0';
+        } while (i -- > 0 && model[i] == ' ');
+
+        cprintf("ide %d: %10u(sectors), '%s'.\n", ideno, ide_devices[ideno].size, ide_devices[ideno].model);
+    }
+
+    // enable ide interrupt
+    pic_enable(IRQ_IDE1);
+    pic_enable(IRQ_IDE2);
+}
+
+bool
+ide_device_valid(unsigned short ideno) {
+    return VALID_IDE(ideno);
+}
+
+size_t
+ide_device_size(unsigned short ideno) {
+    if (ide_device_valid(ideno)) {
+        return ide_devices[ideno].size;
+    }
+    return 0;
+}
+
+int
+ide_read_secs(unsigned short ideno, uint32_t secno, void *dst, size_t nsecs) {
+    assert(nsecs <= MAX_NSECS && VALID_IDE(ideno));
+    assert(secno < MAX_DISK_NSECS && secno + nsecs <= MAX_DISK_NSECS);
+    unsigned short iobase = IO_BASE(ideno), ioctrl = IO_CTRL(ideno);
+
+    ide_wait_ready(iobase, 0);
+
+    // generate interrupt
+    outb(ioctrl + ISA_CTRL, 0);
+    outb(iobase + ISA_SECCNT, nsecs);
+    outb(iobase + ISA_SECTOR, secno & 0xFF);
+    outb(iobase + ISA_CYL_LO, (secno >> 8) & 0xFF);
+    outb(iobase + ISA_CYL_HI, (secno >> 16) & 0xFF);
+    outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4) | ((secno >> 24) & 0xF));
+    outb(iobase + ISA_COMMAND, IDE_CMD_READ);
+
+    int ret = 0;
+    for (; nsecs > 0; nsecs --, dst += SECTSIZE) {
+        if ((ret = ide_wait_ready(iobase, 1)) != 0) {
+            goto out;
+        }
+        insl(iobase, dst, SECTSIZE / sizeof(uint32_t));
+    }
+
+out:
+    return ret;
+}
+
+int
+ide_write_secs(unsigned short ideno, uint32_t secno, const void *src, size_t nsecs) {
+    assert(nsecs <= MAX_NSECS && VALID_IDE(ideno));
+    assert(secno < MAX_DISK_NSECS && secno + nsecs <= MAX_DISK_NSECS);
+    unsigned short iobase = IO_BASE(ideno), ioctrl = IO_CTRL(ideno);
+
+    ide_wait_ready(iobase, 0);
+
+    // generate interrupt
+    outb(ioctrl + ISA_CTRL, 0);
+    outb(iobase + ISA_SECCNT, nsecs);
+    outb(iobase + ISA_SECTOR, secno & 0xFF);
+    outb(iobase + ISA_CYL_LO, (secno >> 8) & 0xFF);
+    outb(iobase + ISA_CYL_HI, (secno >> 16) & 0xFF);
+    outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4) | ((secno >> 24) & 0xF));
+    outb(iobase + ISA_COMMAND, IDE_CMD_WRITE);
+
+    int ret = 0;
+    for (; nsecs > 0; nsecs --, src += SECTSIZE) {
+        if ((ret = ide_wait_ready(iobase, 1)) != 0) {
+            goto out;
+        }
+        outsl(iobase, src, SECTSIZE / sizeof(uint32_t));
+    }
+
+out:
+    return ret;
+}
+
diff --git a/code/lab4/kern/driver/ide.h b/code/lab4/kern/driver/ide.h
new file mode 100644
index 0000000..3e3fd21
--- /dev/null
+++ b/code/lab4/kern/driver/ide.h
@@ -0,0 +1,14 @@
+#ifndef __KERN_DRIVER_IDE_H__
+#define __KERN_DRIVER_IDE_H__
+
+#include <defs.h>
+
+void ide_init(void);
+bool ide_device_valid(unsigned short ideno);
+size_t ide_device_size(unsigned short ideno);
+
+int ide_read_secs(unsigned short ideno, uint32_t secno, void *dst, size_t nsecs);
+int ide_write_secs(unsigned short ideno, uint32_t secno, const void *src, size_t nsecs);
+
+#endif /* !__KERN_DRIVER_IDE_H__ */
+
diff --git a/code/lab4/kern/driver/intr.c b/code/lab4/kern/driver/intr.c
new file mode 100644
index 0000000..e64da62
--- /dev/null
+++ b/code/lab4/kern/driver/intr.c
@@ -0,0 +1,15 @@
+#include <x86.h>
+#include <intr.h>
+
+/* intr_enable - enable irq interrupt */
+void
+intr_enable(void) {
+    sti();
+}
+
+/* intr_disable - disable irq interrupt */
+void
+intr_disable(void) {
+    cli();
+}
+
diff --git a/code/lab4/kern/driver/intr.h b/code/lab4/kern/driver/intr.h
new file mode 100644
index 0000000..5fdf7a5
--- /dev/null
+++ b/code/lab4/kern/driver/intr.h
@@ -0,0 +1,8 @@
+#ifndef __KERN_DRIVER_INTR_H__
+#define __KERN_DRIVER_INTR_H__
+
+void intr_enable(void);
+void intr_disable(void);
+
+#endif /* !__KERN_DRIVER_INTR_H__ */
+
diff --git a/code/lab4/kern/driver/kbdreg.h b/code/lab4/kern/driver/kbdreg.h
new file mode 100644
index 0000000..00dc49a
--- /dev/null
+++ b/code/lab4/kern/driver/kbdreg.h
@@ -0,0 +1,84 @@
+#ifndef __KERN_DRIVER_KBDREG_H__
+#define __KERN_DRIVER_KBDREG_H__
+
+// Special keycodes
+#define KEY_HOME            0xE0
+#define KEY_END             0xE1
+#define KEY_UP              0xE2
+#define KEY_DN              0xE3
+#define KEY_LF              0xE4
+#define KEY_RT              0xE5
+#define KEY_PGUP            0xE6
+#define KEY_PGDN            0xE7
+#define KEY_INS             0xE8
+#define KEY_DEL             0xE9
+
+
+/* This is i8042reg.h + kbdreg.h from NetBSD. */
+
+#define KBSTATP             0x64    // kbd controller status port(I)
+#define KBS_DIB             0x01    // kbd data in buffer
+#define KBS_IBF             0x02    // kbd input buffer low
+#define KBS_WARM            0x04    // kbd input buffer low
+#define BS_OCMD             0x08    // kbd output buffer has command
+#define KBS_NOSEC           0x10    // kbd security lock not engaged
+#define KBS_TERR            0x20    // kbd transmission error
+#define KBS_RERR            0x40    // kbd receive error
+#define KBS_PERR            0x80    // kbd parity error
+
+#define KBCMDP              0x64    // kbd controller port(O)
+#define KBC_RAMREAD         0x20    // read from RAM
+#define KBC_RAMWRITE        0x60    // write to RAM
+#define KBC_AUXDISABLE      0xa7    // disable auxiliary port
+#define KBC_AUXENABLE       0xa8    // enable auxiliary port
+#define KBC_AUXTEST         0xa9    // test auxiliary port
+#define KBC_KBDECHO         0xd2    // echo to keyboard port
+#define KBC_AUXECHO         0xd3    // echo to auxiliary port
+#define KBC_AUXWRITE        0xd4    // write to auxiliary port
+#define KBC_SELFTEST        0xaa    // start self-test
+#define KBC_KBDTEST         0xab    // test keyboard port
+#define KBC_KBDDISABLE      0xad    // disable keyboard port
+#define KBC_KBDENABLE       0xae    // enable keyboard port
+#define KBC_PULSE0          0xfe    // pulse output bit 0
+#define KBC_PULSE1          0xfd    // pulse output bit 1
+#define KBC_PULSE2          0xfb    // pulse output bit 2
+#define KBC_PULSE3          0xf7    // pulse output bit 3
+
+#define KBDATAP             0x60    // kbd data port(I)
+#define KBOUTP              0x60    // kbd data port(O)
+
+#define K_RDCMDBYTE         0x20
+#define K_LDCMDBYTE         0x60
+
+#define KC8_TRANS           0x40    // convert to old scan codes
+#define KC8_MDISABLE        0x20    // disable mouse
+#define KC8_KDISABLE        0x10    // disable keyboard
+#define KC8_IGNSEC          0x08    // ignore security lock
+#define KC8_CPU             0x04    // exit from protected mode reset
+#define KC8_MENABLE         0x02    // enable mouse interrupt
+#define KC8_KENABLE         0x01    // enable keyboard interrupt
+#define CMDBYTE             (KC8_TRANS|KC8_CPU|KC8_MENABLE|KC8_KENABLE)
+
+/* keyboard commands */
+#define KBC_RESET           0xFF    // reset the keyboard
+#define KBC_RESEND          0xFE    // request the keyboard resend the last byte
+#define KBC_SETDEFAULT      0xF6    // resets keyboard to its power-on defaults
+#define KBC_DISABLE         0xF5    // as per KBC_SETDEFAULT, but also disable key scanning
+#define KBC_ENABLE          0xF4    // enable key scanning
+#define KBC_TYPEMATIC       0xF3    // set typematic rate and delay
+#define KBC_SETTABLE        0xF0    // set scancode translation table
+#define KBC_MODEIND         0xED    // set mode indicators(i.e. LEDs)
+#define KBC_ECHO            0xEE    // request an echo from the keyboard
+
+/* keyboard responses */
+#define KBR_EXTENDED        0xE0    // extended key sequence
+#define KBR_RESEND          0xFE    // needs resend of command
+#define KBR_ACK             0xFA    // received a valid command
+#define KBR_OVERRUN         0x00    // flooded
+#define KBR_FAILURE         0xFD    // diagnosic failure
+#define KBR_BREAK           0xF0    // break code prefix - sent on key release
+#define KBR_RSTDONE         0xAA    // reset complete
+#define KBR_ECHO            0xEE    // echo response
+
+#endif /* !__KERN_DRIVER_KBDREG_H__ */
+
diff --git a/code/lab4/kern/driver/picirq.c b/code/lab4/kern/driver/picirq.c
new file mode 100644
index 0000000..e7f7063
--- /dev/null
+++ b/code/lab4/kern/driver/picirq.c
@@ -0,0 +1,86 @@
+#include <defs.h>
+#include <x86.h>
+#include <picirq.h>
+
+// I/O Addresses of the two programmable interrupt controllers
+#define IO_PIC1             0x20    // Master (IRQs 0-7)
+#define IO_PIC2             0xA0    // Slave (IRQs 8-15)
+
+#define IRQ_SLAVE           2       // IRQ at which slave connects to master
+
+// Current IRQ mask.
+// Initial IRQ mask has interrupt 2 enabled (for slave 8259A).
+static uint16_t irq_mask = 0xFFFF & ~(1 << IRQ_SLAVE);
+static bool did_init = 0;
+
+static void
+pic_setmask(uint16_t mask) {
+    irq_mask = mask;
+    if (did_init) {
+        outb(IO_PIC1 + 1, mask);
+        outb(IO_PIC2 + 1, mask >> 8);
+    }
+}
+
+void
+pic_enable(unsigned int irq) {
+    pic_setmask(irq_mask & ~(1 << irq));
+}
+
+/* pic_init - initialize the 8259A interrupt controllers */
+void
+pic_init(void) {
+    did_init = 1;
+
+    // mask all interrupts
+    outb(IO_PIC1 + 1, 0xFF);
+    outb(IO_PIC2 + 1, 0xFF);
+
+    // Set up master (8259A-1)
+
+    // ICW1:  0001g0hi
+    //    g:  0 = edge triggering, 1 = level triggering
+    //    h:  0 = cascaded PICs, 1 = master only
+    //    i:  0 = no ICW4, 1 = ICW4 required
+    outb(IO_PIC1, 0x11);
+
+    // ICW2:  Vector offset
+    outb(IO_PIC1 + 1, IRQ_OFFSET);
+
+    // ICW3:  (master PIC) bit mask of IR lines connected to slaves
+    //        (slave PIC) 3-bit # of slave's connection to master
+    outb(IO_PIC1 + 1, 1 << IRQ_SLAVE);
+
+    // ICW4:  000nbmap
+    //    n:  1 = special fully nested mode
+    //    b:  1 = buffered mode
+    //    m:  0 = slave PIC, 1 = master PIC
+    //        (ignored when b is 0, as the master/slave role
+    //         can be hardwired).
+    //    a:  1 = Automatic EOI mode
+    //    p:  0 = MCS-80/85 mode, 1 = intel x86 mode
+    outb(IO_PIC1 + 1, 0x3);
+
+    // Set up slave (8259A-2)
+    outb(IO_PIC2, 0x11);    // ICW1
+    outb(IO_PIC2 + 1, IRQ_OFFSET + 8);  // ICW2
+    outb(IO_PIC2 + 1, IRQ_SLAVE);       // ICW3
+    // NB Automatic EOI mode doesn't tend to work on the slave.
+    // Linux source code says it's "to be investigated".
+    outb(IO_PIC2 + 1, 0x3);             // ICW4
+
+    // OCW3:  0ef01prs
+    //   ef:  0x = NOP, 10 = clear specific mask, 11 = set specific mask
+    //    p:  0 = no polling, 1 = polling mode
+    //   rs:  0x = NOP, 10 = read IRR, 11 = read ISR
+    outb(IO_PIC1, 0x68);    // clear specific mask
+    outb(IO_PIC1, 0x0a);    // read IRR by default
+
+    outb(IO_PIC2, 0x68);    // OCW3
+    outb(IO_PIC2, 0x0a);    // OCW3
+
+    if (irq_mask != 0xFFFF) {
+        pic_setmask(irq_mask);
+    }
+}
+
diff --git a/code/lab4/kern/driver/picirq.h b/code/lab4/kern/driver/picirq.h
new file mode 100644
index 0000000..b61e72e
--- /dev/null
+++ b/code/lab4/kern/driver/picirq.h
@@ -0,0 +1,10 @@
+#ifndef __KERN_DRIVER_PICIRQ_H__
+#define __KERN_DRIVER_PICIRQ_H__
+
+void pic_init(void);
+void pic_enable(unsigned int irq);
+
+#define IRQ_OFFSET      32
+
+#endif /* !__KERN_DRIVER_PICIRQ_H__ */
+
diff --git a/code/lab4/kern/fs/fs.h b/code/lab4/kern/fs/fs.h
new file mode 100644
index 0000000..92c05e7
--- /dev/null
+++ b/code/lab4/kern/fs/fs.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_FS_FS_H__
+#define __KERN_FS_FS_H__
+
+#include <mmu.h>
+
+#define SECTSIZE            512
+#define PAGE_NSECT          (PGSIZE / SECTSIZE)
+
+#define SWAP_DEV_NO         1
+
+#endif /* !__KERN_FS_FS_H__ */
+
diff --git a/code/lab4/kern/fs/swapfs.c b/code/lab4/kern/fs/swapfs.c
new file mode 100644
index 0000000..d9f6090
--- /dev/null
+++ b/code/lab4/kern/fs/swapfs.c
@@ -0,0 +1,27 @@
+#include <swap.h>
+#include <swapfs.h>
+#include <mmu.h>
+#include <fs.h>
+#include <ide.h>
+#include <pmm.h>
+#include <assert.h>
+
+void
+swapfs_init(void) {
+    static_assert((PGSIZE % SECTSIZE) == 0);
+    if (!ide_device_valid(SWAP_DEV_NO)) {
+        panic("swap fs isn't available.\n");
+    }
+    max_swap_offset = ide_device_size(SWAP_DEV_NO) / (PGSIZE / SECTSIZE);
+}
+
+int
+swapfs_read(swap_entry_t entry, struct Page *page) {
+    return ide_read_secs(SWAP_DEV_NO, swap_offset(entry) * PAGE_NSECT, page2kva(page), PAGE_NSECT);
+}
+
+int
+swapfs_write(swap_entry_t entry, struct Page *page) {
+    return ide_write_secs(SWAP_DEV_NO, swap_offset(entry) * PAGE_NSECT, page2kva(page), PAGE_NSECT);
+}
+
diff --git a/code/lab4/kern/fs/swapfs.h b/code/lab4/kern/fs/swapfs.h
new file mode 100644
index 0000000..d433926
--- /dev/null
+++ b/code/lab4/kern/fs/swapfs.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_FS_SWAPFS_H__
+#define __KERN_FS_SWAPFS_H__
+
+#include <memlayout.h>
+#include <swap.h>
+
+void swapfs_init(void);
+int swapfs_read(swap_entry_t entry, struct Page *page);
+int swapfs_write(swap_entry_t entry, struct Page *page);
+
+#endif /* !__KERN_FS_SWAPFS_H__ */
+
diff --git a/code/lab4/kern/init/entry.S b/code/lab4/kern/init/entry.S
new file mode 100644
index 0000000..8e37f2a
--- /dev/null
+++ b/code/lab4/kern/init/entry.S
@@ -0,0 +1,49 @@
+#include <mmu.h>
+#include <memlayout.h>
+
+#define REALLOC(x) (x - KERNBASE)
+
+.text
+.globl kern_entry
+kern_entry:
+    # reload temperate gdt (second time) to remap all physical memory
+    # virtual_addr 0~4G=linear_addr&physical_addr -KERNBASE~4G-KERNBASE 
+    lgdt REALLOC(__gdtdesc)
+    movl $KERNEL_DS, %eax
+    movw %ax, %ds
+    movw %ax, %es
+    movw %ax, %ss
+
+    ljmp $KERNEL_CS, $relocated
+
+relocated:
+
+    # set ebp, esp
+    movl $0x0, %ebp
+    # the kernel stack region is from bootstack -- bootstacktop,
+    # the kernel stack size is KSTACKSIZE (8KB)defined in memlayout.h
+    movl $bootstacktop, %esp
+    # now kernel stack is ready , call the first C function
+    call kern_init
+
+# should never get here
+spin:
+    jmp spin
+
+.data
+.align PGSIZE
+    .globl bootstack
+bootstack:
+    .space KSTACKSIZE
+    .globl bootstacktop
+bootstacktop:
+
+.align 4
+__gdt:
+    SEG_NULL
+    SEG_ASM(STA_X | STA_R, - KERNBASE, 0xFFFFFFFF)      # code segment
+    SEG_ASM(STA_W, - KERNBASE, 0xFFFFFFFF)              # data segment
+__gdtdesc:
+    .word 0x17                                          # sizeof(__gdt) - 1
+    .long REALLOC(__gdt)
+
diff --git a/code/lab4/kern/init/init.c b/code/lab4/kern/init/init.c
new file mode 100644
index 0000000..5546347
--- /dev/null
+++ b/code/lab4/kern/init/init.c
@@ -0,0 +1,113 @@
+#include <defs.h>
+#include <stdio.h>
+#include <string.h>
+#include <console.h>
+#include <kdebug.h>
+#include <picirq.h>
+#include <trap.h>
+#include <clock.h>
+#include <intr.h>
+#include <pmm.h>
+#include <vmm.h>
+#include <ide.h>
+#include <swap.h>
+#include <proc.h>
+
+int kern_init(void) __attribute__((noreturn));
+
+static void lab1_switch_test(void);
+
+int
+kern_init(void) {
+    extern char edata[], end[];
+    memset(edata, 0, end - edata);
+
+    cons_init();                // init the console
+
+    const char *message = "(THU.CST) os is loading ...";
+    cprintf("%s\n\n", message);
+
+    print_kerninfo();
+
+    grade_backtrace();
+
+    pmm_init();                 // init physical memory management
+
+    pic_init();                 // init interrupt controller
+    idt_init();                 // init interrupt descriptor table
+
+    vmm_init();                 // init virtual memory management
+    proc_init();                // init process table
+    
+    ide_init();                 // init ide devices
+    swap_init();                // init swap
+
+    clock_init();               // init clock interrupt
+    intr_enable();              // enable irq interrupt
+
+    //LAB1: CAHLLENGE 1 If you try to do it, uncomment lab1_switch_test()
+    // user/kernel mode switch test
+    //lab1_switch_test();
+    
+    cpu_idle();                 // run idle process
+}
+
+void __attribute__((noinline))
+grade_backtrace2(int arg0, int arg1, int arg2, int arg3) {
+    mon_backtrace(0, NULL, NULL);
+}
+
+void __attribute__((noinline))
+grade_backtrace1(int arg0, int arg1) {
+    grade_backtrace2(arg0, (int)&arg0, arg1, (int)&arg1);
+}
+
+void __attribute__((noinline))
+grade_backtrace0(int arg0, int arg1, int arg2) {
+    grade_backtrace1(arg0, arg2);
+}
+
+void
+grade_backtrace(void) {
+    grade_backtrace0(0, (int)kern_init, 0xffff0000);
+}
+
+static void
+lab1_print_cur_status(void) {
+    static int round = 0;
+    uint16_t reg1, reg2, reg3, reg4;
+    asm volatile (
+            "mov %%cs, %0;"
+            "mov %%ds, %1;"
+            "mov %%es, %2;"
+            "mov %%ss, %3;"
+            : "=m"(reg1), "=m"(reg2), "=m"(reg3), "=m"(reg4));
+    cprintf("%d: @ring %d\n", round, reg1 & 3);
+    cprintf("%d:  cs = %x\n", round, reg1);
+    cprintf("%d:  ds = %x\n", round, reg2);
+    cprintf("%d:  es = %x\n", round, reg3);
+    cprintf("%d:  ss = %x\n", round, reg4);
+    round ++;
+}
+
+static void
+lab1_switch_to_user(void) {
+    //LAB1 CHALLENGE 1 : TODO
+}
+
+static void
+lab1_switch_to_kernel(void) {
+    //LAB1 CHALLENGE 1 :  TODO
+}
+
+static void
+lab1_switch_test(void) {
+    lab1_print_cur_status();
+    cprintf("+++ switch to  user  mode +++\n");
+    lab1_switch_to_user();
+    lab1_print_cur_status();
+    cprintf("+++ switch to kernel mode +++\n");
+    lab1_switch_to_kernel();
+    lab1_print_cur_status();
+}
+
diff --git a/code/lab4/kern/libs/rb_tree.c b/code/lab4/kern/libs/rb_tree.c
new file mode 100644
index 0000000..0a5fcc8
--- /dev/null
+++ b/code/lab4/kern/libs/rb_tree.c
@@ -0,0 +1,528 @@
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <kmalloc.h>
+#include <rb_tree.h>
+#include <assert.h>
+
+/* rb_node_create - create a new rb_node */
+static inline rb_node *
+rb_node_create(void) {
+    return kmalloc(sizeof(rb_node));
+}
+
+/* rb_tree_empty - tests if tree is empty */
+static inline bool
+rb_tree_empty(rb_tree *tree) {
+    rb_node *nil = tree->nil, *root = tree->root;
+    return root->left == nil;
+}
+
+/* *
+ * rb_tree_create - creates a new red-black tree, the 'compare' function
+ * is required and returns 'NULL' if failed.
+ *
+ * Note that, root->left should always point to the node that is the root
+ * of the tree. And nil points to a 'NULL' node which should always be
+ * black and may have arbitrary children and parent node.
+ * */
+rb_tree *
+rb_tree_create(int (*compare)(rb_node *node1, rb_node *node2)) {
+    assert(compare != NULL);
+
+    rb_tree *tree;
+    rb_node *nil, *root;
+
+    if ((tree = kmalloc(sizeof(rb_tree))) == NULL) {
+        goto bad_tree;
+    }
+
+    tree->compare = compare;
+
+    if ((nil = rb_node_create()) == NULL) {
+        goto bad_node_cleanup_tree;
+    }
+
+    nil->parent = nil->left = nil->right = nil;
+    nil->red = 0;
+    tree->nil = nil;
+
+    if ((root = rb_node_create()) == NULL) {
+        goto bad_node_cleanup_nil;
+    }
+
+    root->parent = root->left = root->right = nil;
+    root->red = 0;
+    tree->root = root;
+    return tree;
+
+bad_node_cleanup_nil:
+    kfree(nil);
+bad_node_cleanup_tree:
+    kfree(tree);
+bad_tree:
+    return NULL;
+}
+
+/* *
+ * FUNC_ROTATE - rotates as described in "Introduction to Algorithm".
+ *
+ * For example, FUNC_ROTATE(rb_left_rotate, left, right) can be expaned to a
+ * left-rotate function, which requires an red-black 'tree' and a node 'x'
+ * to be rotated on. Basically, this function, named rb_left_rotate, makes the
+ * parent of 'x' be the left child of 'x', 'x' the parent of its parent before
+ * rotation and finally fixes other nodes accordingly.
+ *
+ * FUNC_ROTATE(xx, left, right) means left-rotate,
+ * and FUNC_ROTATE(xx, right, left) means right-rotate.
+ * */
+#define FUNC_ROTATE(func_name, _left, _right)                   \
+static void                                                     \
+func_name(rb_tree *tree, rb_node *x) {                          \
+    rb_node *nil = tree->nil, *y = x->_right;                   \
+    assert(x != tree->root && x != nil && y != nil);            \
+    x->_right = y->_left;                                       \
+    if (y->_left != nil) {                                      \
+        y->_left->parent = x;                                   \
+    }                                                           \
+    y->parent = x->parent;                                      \
+    if (x == x->parent->_left) {                                \
+        x->parent->_left = y;                                   \
+    }                                                           \
+    else {                                                      \
+        x->parent->_right = y;                                  \
+    }                                                           \
+    y->_left = x;                                               \
+    x->parent = y;                                              \
+    assert(!(nil->red));                                        \
+}
+
+FUNC_ROTATE(rb_left_rotate, left, right);
+FUNC_ROTATE(rb_right_rotate, right, left);
+
+#undef FUNC_ROTATE
+
+#define COMPARE(tree, node1, node2)                             \
+    ((tree))->compare((node1), (node2))
+
+/* *
+ * rb_insert_binary - insert @node to red-black @tree as if it were
+ * a regular binary tree. This function is only intended to be called
+ * by function rb_insert.
+ * */
+static inline void
+rb_insert_binary(rb_tree *tree, rb_node *node) {
+    rb_node *x, *y, *z = node, *nil = tree->nil, *root = tree->root;
+
+    z->left = z->right = nil;
+    y = root, x = y->left;
+    while (x != nil) {
+        y = x;
+        x = (COMPARE(tree, x, node) > 0) ? x->left : x->right;
+    }
+    z->parent = y;
+    if (y == root || COMPARE(tree, y, z) > 0) {
+        y->left = z;
+    }
+    else {
+        y->right = z;
+    }
+}
+
+/* rb_insert - insert a node to red-black tree */
+void
+rb_insert(rb_tree *tree, rb_node *node) {
+    rb_insert_binary(tree, node);
+    node->red = 1;
+
+    rb_node *x = node, *y;
+
+#define RB_INSERT_SUB(_left, _right)                            \
+    do {                                                        \
+        y = x->parent->parent->_right;                          \
+        if (y->red) {                                           \
+            x->parent->red = 0;                                 \
+            y->red = 0;                                         \
+            x->parent->parent->red = 1;                         \
+            x = x->parent->parent;                              \
+        }                                                       \
+        else {                                                  \
+            if (x == x->parent->_right) {                       \
+                x = x->parent;                                  \
+                rb_##_left##_rotate(tree, x);                   \
+            }                                                   \
+            x->parent->red = 0;                                 \
+            x->parent->parent->red = 1;                         \
+            rb_##_right##_rotate(tree, x->parent->parent);      \
+        }                                                       \
+    } while (0)
+
+    while (x->parent->red) {
+        if (x->parent == x->parent->parent->left) {
+            RB_INSERT_SUB(left, right);
+        }
+        else {
+            RB_INSERT_SUB(right, left);
+        }
+    }
+    tree->root->left->red = 0;
+    assert(!(tree->nil->red) && !(tree->root->red));
+
+#undef RB_INSERT_SUB
+}
+
+/* *
+ * rb_tree_successor - returns the successor of @node, or nil
+ * if no successor exists. Make sure that @node must belong to @tree,
+ * and this function should only be called by rb_node_prev.
+ * */
+static inline rb_node *
+rb_tree_successor(rb_tree *tree, rb_node *node) {
+    rb_node *x = node, *y, *nil = tree->nil;
+
+    if ((y = x->right) != nil) {
+        while (y->left != nil) {
+            y = y->left;
+        }
+        return y;
+    }
+    else {
+        y = x->parent;
+        while (x == y->right) {
+            x = y, y = y->parent;
+        }
+        if (y == tree->root) {
+            return nil;
+        }
+        return y;
+    }
+}
+
+/* *
+ * rb_tree_predecessor - returns the predecessor of @node, or nil
+ * if no predecessor exists, likes rb_tree_successor.
+ * */
+static inline rb_node *
+rb_tree_predecessor(rb_tree *tree, rb_node *node) {
+    rb_node *x = node, *y, *nil = tree->nil;
+
+    if ((y = x->left) != nil) {
+        while (y->right != nil) {
+            y = y->right;
+        }
+        return y;
+    }
+    else {
+        y = x->parent;
+        while (x == y->left) {
+            if (y == tree->root) {
+                return nil;
+            }
+            x = y, y = y->parent;
+        }
+        return y;
+    }
+}
+
+/* *
+ * rb_search - returns a node with value 'equal' to @key (according to
+ * function @compare). If there're multiple nodes with value 'equal' to @key,
+ * the functions returns the one highest in the tree.
+ * */
+rb_node *
+rb_search(rb_tree *tree, int (*compare)(rb_node *node, void *key), void *key) {
+    rb_node *nil = tree->nil, *node = tree->root->left;
+    int r;
+    while (node != nil && (r = compare(node, key)) != 0) {
+        node = (r > 0) ? node->left : node->right;
+    }
+    return (node != nil) ? node : NULL;
+}
+
+/* *
+ * rb_delete_fixup - performs rotations and changes colors to restore
+ * red-black properties after a node is deleted.
+ * */
+static void
+rb_delete_fixup(rb_tree *tree, rb_node *node) {
+    rb_node *x = node, *w, *root = tree->root->left;
+
+#define RB_DELETE_FIXUP_SUB(_left, _right)                      \
+    do {                                                        \
+        w = x->parent->_right;                                  \
+        if (w->red) {                                           \
+            w->red = 0;                                         \
+            x->parent->red = 1;                                 \
+            rb_##_left##_rotate(tree, x->parent);               \
+            w = x->parent->_right;                              \
+        }                                                       \
+        if (!w->_left->red && !w->_right->red) {                \
+            w->red = 1;                                         \
+            x = x->parent;                                      \
+        }                                                       \
+        else {                                                  \
+            if (!w->_right->red) {                              \
+                w->_left->red = 0;                              \
+                w->red = 1;                                     \
+                rb_##_right##_rotate(tree, w);                  \
+                w = x->parent->_right;                          \
+            }                                                   \
+            w->red = x->parent->red;                            \
+            x->parent->red = 0;                                 \
+            w->_right->red = 0;                                 \
+            rb_##_left##_rotate(tree, x->parent);               \
+            x = root;                                           \
+        }                                                       \
+    } while (0)
+
+    while (x != root && !x->red) {
+        if (x == x->parent->left) {
+            RB_DELETE_FIXUP_SUB(left, right);
+        }
+        else {
+            RB_DELETE_FIXUP_SUB(right, left);
+        }
+    }
+    x->red = 0;
+
+#undef RB_DELETE_FIXUP_SUB
+}
+
+/* *
+ * rb_delete - deletes @node from @tree, and calls rb_delete_fixup to
+ * restore red-black properties.
+ * */
+void
+rb_delete(rb_tree *tree, rb_node *node) {
+    rb_node *x, *y, *z = node;
+    rb_node *nil = tree->nil, *root = tree->root;
+
+    y = (z->left == nil || z->right == nil) ? z : rb_tree_successor(tree, z);
+    x = (y->left != nil) ? y->left : y->right;
+
+    assert(y != root && y != nil);
+
+    x->parent = y->parent;
+    if (y == y->parent->left) {
+        y->parent->left = x;
+    }
+    else {
+        y->parent->right = x;
+    }
+
+    bool need_fixup = !(y->red);
+
+    if (y != z) {
+        if (z == z->parent->left) {
+            z->parent->left = y;
+        }
+        else {
+            z->parent->right = y;
+        }
+        z->left->parent = z->right->parent = y;
+        *y = *z;
+    }
+    if (need_fixup) {
+        rb_delete_fixup(tree, x);
+    }
+}
+
+/* rb_tree_destroy - destroy a tree and free memory */
+void
+rb_tree_destroy(rb_tree *tree) {
+    kfree(tree->root);
+    kfree(tree->nil);
+    kfree(tree);
+}
+
+/* *
+ * rb_node_prev - returns the predecessor node of @node in @tree,
+ * or 'NULL' if no predecessor exists.
+ * */
+rb_node *
+rb_node_prev(rb_tree *tree, rb_node *node) {
+    rb_node *prev = rb_tree_predecessor(tree, node);
+    return (prev != tree->nil) ? prev : NULL;
+}
+
+/* *
+ * rb_node_next - returns the successor node of @node in @tree,
+ * or 'NULL' if no successor exists.
+ * */
+rb_node *
+rb_node_next(rb_tree *tree, rb_node *node) {
+    rb_node *next = rb_tree_successor(tree, node);
+    return (next != tree->nil) ? next : NULL;
+}
+
+/* rb_node_root - returns the root node of a @tree, or 'NULL' if tree is empty */
+rb_node *
+rb_node_root(rb_tree *tree) {
+    rb_node *node = tree->root->left;
+    return (node != tree->nil) ? node : NULL;
+}
+
+/* rb_node_left - gets the left child of @node, or 'NULL' if no such node */
+rb_node *
+rb_node_left(rb_tree *tree, rb_node *node) {
+    rb_node *left = node->left;
+    return (left != tree->nil) ? left : NULL;
+}
+
+/* rb_node_right - gets the right child of @node, or 'NULL' if no such node */
+rb_node *
+rb_node_right(rb_tree *tree, rb_node *node) {
+    rb_node *right = node->right;
+    return (right != tree->nil) ? right : NULL;
+}
+
+int
+check_tree(rb_tree *tree, rb_node *node) {
+    rb_node *nil = tree->nil;
+    if (node == nil) {
+        assert(!node->red);
+        return 1;
+    }
+    if (node->left != nil) {
+        assert(COMPARE(tree, node, node->left) >= 0);
+        assert(node->left->parent == node);
+    }
+    if (node->right != nil) {
+        assert(COMPARE(tree, node, node->right) <= 0);
+        assert(node->right->parent == node);
+    }
+    if (node->red) {
+        assert(!node->left->red && !node->right->red);
+    }
+    int hb_left = check_tree(tree, node->left);
+    int hb_right = check_tree(tree, node->right);
+    assert(hb_left == hb_right);
+    int hb = hb_left;
+    if (!node->red) {
+        hb ++;
+    }
+    return hb;
+}
+
+static void *
+check_safe_kmalloc(size_t size) {
+    void *ret = kmalloc(size);
+    assert(ret != NULL);
+    return ret;
+}
+
+struct check_data {
+    long data;
+    rb_node rb_link;
+};
+
+#define rbn2data(node)              \
+    (to_struct(node, struct check_data, rb_link))
+
+static inline int
+check_compare1(rb_node *node1, rb_node *node2) {
+    return rbn2data(node1)->data - rbn2data(node2)->data;
+}
+
+static inline int
+check_compare2(rb_node *node, void *key) {
+    return rbn2data(node)->data - (long)key;
+}
+
+void
+check_rb_tree(void) {
+    rb_tree *tree = rb_tree_create(check_compare1);
+    assert(tree != NULL);
+
+    rb_node *nil = tree->nil, *root = tree->root;
+    assert(!nil->red && root->left == nil);
+
+    int total = 1000;
+    struct check_data **all = check_safe_kmalloc(sizeof(struct check_data *) * total);
+
+    long i;
+    for (i = 0; i < total; i ++) {
+        all[i] = check_safe_kmalloc(sizeof(struct check_data));
+        all[i]->data = i;
+    }
+
+    int *mark = check_safe_kmalloc(sizeof(int) * total);
+    memset(mark, 0, sizeof(int) * total);
+
+    for (i = 0; i < total; i ++) {
+        mark[all[i]->data] = 1;
+    }
+    for (i = 0; i < total; i ++) {
+        assert(mark[i] == 1);
+    }
+
+    for (i = 0; i < total; i ++) {
+        int j = (rand() % (total - i)) + i;
+        struct check_data *z = all[i];
+        all[i] = all[j];
+        all[j] = z;
+    }
+
+    memset(mark, 0, sizeof(int) * total);
+    for (i = 0; i < total; i ++) {
+        mark[all[i]->data] = 1;
+    }
+    for (i = 0; i < total; i ++) {
+        assert(mark[i] == 1);
+    }
+
+    for (i = 0; i < total; i ++) {
+        rb_insert(tree, &(all[i]->rb_link));
+        check_tree(tree, root->left);
+    }
+
+    rb_node *node;
+    for (i = 0; i < total; i ++) {
+        node = rb_search(tree, check_compare2, (void *)(all[i]->data));
+        assert(node != NULL && node == &(all[i]->rb_link));
+    }
+
+    for (i = 0; i < total; i ++) {
+        node = rb_search(tree, check_compare2, (void *)i);
+        assert(node != NULL && rbn2data(node)->data == i);
+        rb_delete(tree, node);
+        check_tree(tree, root->left);
+    }
+
+    assert(!nil->red && root->left == nil);
+
+    long max = 32;
+    if (max > total) {
+        max = total;
+    }
+
+    for (i = 0; i < max; i ++) {
+        all[i]->data = max;
+        rb_insert(tree, &(all[i]->rb_link));
+        check_tree(tree, root->left);
+    }
+
+    for (i = 0; i < max; i ++) {
+        node = rb_search(tree, check_compare2, (void *)max);
+        assert(node != NULL && rbn2data(node)->data == max);
+        rb_delete(tree, node);
+        check_tree(tree, root->left);
+    }
+
+    assert(rb_tree_empty(tree));
+
+    for (i = 0; i < total; i ++) {
+        rb_insert(tree, &(all[i]->rb_link));
+        check_tree(tree, root->left);
+    }
+
+    rb_tree_destroy(tree);
+
+    for (i = 0; i < total; i ++) {
+        kfree(all[i]);
+    }
+
+    kfree(mark);
+    kfree(all);
+}
+
diff --git a/code/lab4/kern/libs/rb_tree.h b/code/lab4/kern/libs/rb_tree.h
new file mode 100644
index 0000000..a2aa9aa
--- /dev/null
+++ b/code/lab4/kern/libs/rb_tree.h
@@ -0,0 +1,32 @@
+#ifndef __KERN_LIBS_RB_TREE_H__
+#define __KERN_LIBS_RB_TREE_H__
+
+#include <defs.h>
+
+typedef struct rb_node {
+    bool red;                           // if red = 0, it's a black node
+    struct rb_node *parent;
+    struct rb_node *left, *right;
+} rb_node;
+
+typedef struct rb_tree {
+    // compare function should return -1 if *node1 < *node2, 1 if *node1 > *node2, and 0 otherwise
+    int (*compare)(rb_node *node1, rb_node *node2);
+    struct rb_node *nil, *root;
+} rb_tree;
+
+rb_tree *rb_tree_create(int (*compare)(rb_node *node1, rb_node *node2));
+void rb_tree_destroy(rb_tree *tree);
+void rb_insert(rb_tree *tree, rb_node *node);
+void rb_delete(rb_tree *tree, rb_node *node);
+rb_node *rb_search(rb_tree *tree, int (*compare)(rb_node *node, void *key), void *key);
+rb_node *rb_node_prev(rb_tree *tree, rb_node *node);
+rb_node *rb_node_next(rb_tree *tree, rb_node *node);
+rb_node *rb_node_root(rb_tree *tree);
+rb_node *rb_node_left(rb_tree *tree, rb_node *node);
+rb_node *rb_node_right(rb_tree *tree, rb_node *node);
+
+void check_rb_tree(void);
+
+#endif /* !__KERN_LIBS_RBTREE_H__ */
+
diff --git a/code/lab4/kern/libs/readline.c b/code/lab4/kern/libs/readline.c
new file mode 100644
index 0000000..cc1eddb
--- /dev/null
+++ b/code/lab4/kern/libs/readline.c
@@ -0,0 +1,50 @@
+#include <stdio.h>
+
+#define BUFSIZE 1024
+static char buf[BUFSIZE];
+
+/* *
+ * readline - get a line from stdin
+ * @prompt:     the string to be written to stdout
+ *
+ * The readline() function will write the input string @prompt to
+ * stdout first. If the @prompt is NULL or the empty string,
+ * no prompt is issued.
+ *
+ * This function will keep on reading characters and saving them to buffer
+ * 'buf' until '\n' or '\r' is encountered.
+ *
+ * Note that, if the length of string that will be read is longer than
+ * buffer size, the end of string will be discarded.
+ *
+ * The readline() function returns the text of the line read. If some errors
+ * are happened, NULL is returned. The return value is a global variable,
+ * thus it should be copied before it is used.
+ * */
+char *
+readline(const char *prompt) {
+    if (prompt != NULL) {
+        cprintf("%s", prompt);
+    }
+    int i = 0, c;
+    while (1) {
+        c = getchar();
+        if (c < 0) {
+            return NULL;
+        }
+        else if (c >= ' ' && i < BUFSIZE - 1) {
+            cputchar(c);
+            buf[i ++] = c;
+        }
+        else if (c == '\b' && i > 0) {
+            cputchar(c);
+            i --;
+        }
+        else if (c == '\n' || c == '\r') {
+            cputchar(c);
+            buf[i] = '\0';
+            return buf;
+        }
+    }
+}
+
diff --git a/code/lab4/kern/libs/stdio.c b/code/lab4/kern/libs/stdio.c
new file mode 100644
index 0000000..5efefcd
--- /dev/null
+++ b/code/lab4/kern/libs/stdio.c
@@ -0,0 +1,78 @@
+#include <defs.h>
+#include <stdio.h>
+#include <console.h>
+
+/* HIGH level console I/O */
+
+/* *
+ * cputch - writes a single character @c to stdout, and it will
+ * increace the value of counter pointed by @cnt.
+ * */
+static void
+cputch(int c, int *cnt) {
+    cons_putc(c);
+    (*cnt) ++;
+}
+
+/* *
+ * vcprintf - format a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want cprintf() instead.
+ * */
+int
+vcprintf(const char *fmt, va_list ap) {
+    int cnt = 0;
+    vprintfmt((void*)cputch, &cnt, fmt, ap);
+    return cnt;
+}
+
+/* *
+ * cprintf - formats a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ * */
+int
+cprintf(const char *fmt, ...) {
+    va_list ap;
+    int cnt;
+    va_start(ap, fmt);
+    cnt = vcprintf(fmt, ap);
+    va_end(ap);
+    return cnt;
+}
+
+/* cputchar - writes a single character to stdout */
+void
+cputchar(int c) {
+    cons_putc(c);
+}
+
+/* *
+ * cputs- writes the string pointed by @str to stdout and
+ * appends a newline character.
+ * */
+int
+cputs(const char *str) {
+    int cnt = 0;
+    char c;
+    while ((c = *str ++) != '\0') {
+        cputch(c, &cnt);
+    }
+    cputch('\n', &cnt);
+    return cnt;
+}
+
+/* getchar - reads a single non-zero character from stdin */
+int
+getchar(void) {
+    int c;
+    while ((c = cons_getc()) == 0)
+        /* do nothing */;
+    return c;
+}
+
diff --git a/code/lab4/kern/mm/default_pmm.c b/code/lab4/kern/mm/default_pmm.c
new file mode 100644
index 0000000..770a30f
--- /dev/null
+++ b/code/lab4/kern/mm/default_pmm.c
@@ -0,0 +1,272 @@
+#include <pmm.h>
+#include <list.h>
+#include <string.h>
+#include <default_pmm.h>
+
+/* In the first fit algorithm, the allocator keeps a list of free blocks (known as the free list) and,
+   on receiving a request for memory, scans along the list for the first block that is large enough to
+   satisfy the request. If the chosen block is significantly larger than that requested, then it is 
+   usually split, and the remainder added to the list as another free block.
+   Please see Page 196~198, Section 8.2 of Yan Wei Ming's chinese book "Data Structure -- C programming language"
+*/
+// LAB2 EXERCISE 1: YOUR CODE
+// you should rewrite functions: default_init,default_init_memmap,default_alloc_pages, default_free_pages.
+/*
+ * Details of FFMA
+ * (1) Prepare: In order to implement the First-Fit Mem Alloc (FFMA), we should manage the free mem block use some list.
+ *              The struct free_area_t is used for the management of free mem blocks. At first you should
+ *              be familiar to the struct list in list.h. struct list is a simple doubly linked list implementation.
+ *              You should know howto USE: list_init, list_add(list_add_after), list_add_before, list_del, list_next, list_prev
+ *              Another tricky method is to transform a general list struct to a special struct (such as struct page):
+ *              you can find some MACRO: le2page (in memlayout.h), (in future labs: le2vma (in vmm.h), le2proc (in proc.h),etc.)
+ * (2) default_init: you can reuse the  demo default_init fun to init the free_list and set nr_free to 0.
+ *              free_list is used to record the free mem blocks. nr_free is the total number for free mem blocks.
+ * (3) default_init_memmap:  CALL GRAPH: kern_init --> pmm_init-->page_init-->init_memmap--> pmm_manager->init_memmap
+ *              This fun is used to init a free block (with parameter: addr_base, page_number).
+ *              First you should init each page (in memlayout.h) in this free block, include:
+ *                  p->flags should be set bit PG_property (means this page is valid. In pmm_init fun (in pmm.c),
+ *                  the bit PG_reserved is setted in p->flags)
+ *                  if this page  is free and is not the first page of free block, p->property should be set to 0.
+ *                  if this page  is free and is the first page of free block, p->property should be set to total num of block.
+ *                  p->ref should be 0, because now p is free and no reference.
+ *                  We can use p->page_link to link this page to free_list, (such as: list_add_before(&free_list, &(p->page_link)); )
+ *              Finally, we should sum the number of free mem block: nr_free+=n
+ * (4) default_alloc_pages: search find a first free block (block size >=n) in free list and reszie the free block, return the addr
+ *              of malloced block.
+ *              (4.1) So you should search freelist like this:
+ *                       list_entry_t le = &free_list;
+ *                       while((le=list_next(le)) != &free_list) {
+ *                       ....
+ *                 (4.1.1) In while loop, get the struct page and check the p->property (record the num of free block) >=n?
+ *                       struct Page *p = le2page(le, page_link);
+ *                       if(p->property >= n){ ...
+ *                 (4.1.2) If we find this p, then it' means we find a free block(block size >=n), and the first n pages can be malloced.
+ *                     Some flag bits of this page should be setted: PG_reserved =1, PG_property =0
+ *                     unlink the pages from free_list
+ *                     (4.1.2.1) If (p->property >n), we should re-caluclate number of the the rest of this free block,
+ *                           (such as: le2page(le,page_link))->property = p->property - n;)
+ *                 (4.1.3)  re-caluclate nr_free (number of the the rest of all free block)
+ *                 (4.1.4)  return p
+ *               (4.2) If we can not find a free block (block size >=n), then return NULL
+ * (5) default_free_pages: relink the pages into  free list, maybe merge small free blocks into big free blocks.
+ *               (5.1) according the base addr of withdrawed blocks, search free list, find the correct position
+ *                     (from low to high addr), and insert the pages. (may use list_next, le2page, list_add_before)
+ *               (5.2) reset the fields of pages, such as p->ref, p->flags (PageProperty)
+ *               (5.3) try to merge low addr or high addr blocks. Notice: should change some pages's p->property correctly.
+ */
+free_area_t free_area;
+
+#define free_list (free_area.free_list)
+#define nr_free (free_area.nr_free)
+
+static void
+default_init(void) {
+    list_init(&free_list);
+    nr_free = 0;
+}
+
+static void
+default_init_memmap(struct Page *base, size_t n) {
+    assert(n > 0);
+    struct Page *p = base;
+    for (; p != base + n; p ++) {
+        assert(PageReserved(p));
+        p->flags = p->property = 0;
+        set_page_ref(p, 0);
+    }
+    base->property = n;
+    SetPageProperty(base);
+    nr_free += n;
+    list_add(&free_list, &(base->page_link));
+}
+
+static struct Page *
+default_alloc_pages(size_t n) {
+    assert(n > 0);
+    if (n > nr_free) {
+        return NULL;
+    }
+    struct Page *page = NULL;
+    list_entry_t *le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        if (p->property >= n) {
+            page = p;
+            break;
+        }
+    }
+    if (page != NULL) {
+        list_del(&(page->page_link));
+        if (page->property > n) {
+            struct Page *p = page + n;
+            p->property = page->property - n;
+            list_add(&free_list, &(p->page_link));
+    }
+        nr_free -= n;
+        ClearPageProperty(page);
+    }
+    return page;
+}
+
+static void
+default_free_pages(struct Page *base, size_t n) {
+    assert(n > 0);
+    struct Page *p = base;
+    for (; p != base + n; p ++) {
+        assert(!PageReserved(p) && !PageProperty(p));
+        p->flags = 0;
+        set_page_ref(p, 0);
+    }
+    base->property = n;
+    SetPageProperty(base);
+    list_entry_t *le = list_next(&free_list);
+    while (le != &free_list) {
+        p = le2page(le, page_link);
+        le = list_next(le);
+        if (base + base->property == p) {
+            base->property += p->property;
+            ClearPageProperty(p);
+            list_del(&(p->page_link));
+        }
+        else if (p + p->property == base) {
+            p->property += base->property;
+            ClearPageProperty(base);
+            base = p;
+            list_del(&(p->page_link));
+        }
+    }
+    nr_free += n;
+    list_add(&free_list, &(base->page_link));
+}
+
+static size_t
+default_nr_free_pages(void) {
+    return nr_free;
+}
+
+static void
+basic_check(void) {
+    struct Page *p0, *p1, *p2;
+    p0 = p1 = p2 = NULL;
+    assert((p0 = alloc_page()) != NULL);
+    assert((p1 = alloc_page()) != NULL);
+    assert((p2 = alloc_page()) != NULL);
+
+    assert(p0 != p1 && p0 != p2 && p1 != p2);
+    assert(page_ref(p0) == 0 && page_ref(p1) == 0 && page_ref(p2) == 0);
+
+    assert(page2pa(p0) < npage * PGSIZE);
+    assert(page2pa(p1) < npage * PGSIZE);
+    assert(page2pa(p2) < npage * PGSIZE);
+
+    list_entry_t free_list_store = free_list;
+    list_init(&free_list);
+    assert(list_empty(&free_list));
+
+    unsigned int nr_free_store = nr_free;
+    nr_free = 0;
+
+    assert(alloc_page() == NULL);
+
+    free_page(p0);
+    free_page(p1);
+    free_page(p2);
+    assert(nr_free == 3);
+
+    assert((p0 = alloc_page()) != NULL);
+    assert((p1 = alloc_page()) != NULL);
+    assert((p2 = alloc_page()) != NULL);
+
+    assert(alloc_page() == NULL);
+
+    free_page(p0);
+    assert(!list_empty(&free_list));
+
+    struct Page *p;
+    assert((p = alloc_page()) == p0);
+    assert(alloc_page() == NULL);
+
+    assert(nr_free == 0);
+    free_list = free_list_store;
+    nr_free = nr_free_store;
+
+    free_page(p);
+    free_page(p1);
+    free_page(p2);
+}
+
+// LAB2: below code is used to check the first fit allocation algorithm (your EXERCISE 1) 
+// NOTICE: You SHOULD NOT CHANGE basic_check, default_check functions!
+static void
+default_check(void) {
+    int count = 0, total = 0;
+    list_entry_t *le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        assert(PageProperty(p));
+        count ++, total += p->property;
+    }
+    assert(total == nr_free_pages());
+
+    basic_check();
+
+    struct Page *p0 = alloc_pages(5), *p1, *p2;
+    assert(p0 != NULL);
+    assert(!PageProperty(p0));
+
+    list_entry_t free_list_store = free_list;
+    list_init(&free_list);
+    assert(list_empty(&free_list));
+    assert(alloc_page() == NULL);
+
+    unsigned int nr_free_store = nr_free;
+    nr_free = 0;
+
+    free_pages(p0 + 2, 3);
+    assert(alloc_pages(4) == NULL);
+    assert(PageProperty(p0 + 2) && p0[2].property == 3);
+    assert((p1 = alloc_pages(3)) != NULL);
+    assert(alloc_page() == NULL);
+    assert(p0 + 2 == p1);
+
+    p2 = p0 + 1;
+    free_page(p0);
+    free_pages(p1, 3);
+    assert(PageProperty(p0) && p0->property == 1);
+    assert(PageProperty(p1) && p1->property == 3);
+
+    assert((p0 = alloc_page()) == p2 - 1);
+    free_page(p0);
+    assert((p0 = alloc_pages(2)) == p2 + 1);
+
+    free_pages(p0, 2);
+    free_page(p2);
+
+    assert((p0 = alloc_pages(5)) != NULL);
+    assert(alloc_page() == NULL);
+
+    assert(nr_free == 0);
+    nr_free = nr_free_store;
+
+    free_list = free_list_store;
+    free_pages(p0, 5);
+
+    le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        count --, total -= p->property;
+    }
+    assert(count == 0);
+    assert(total == 0);
+}
+
+const struct pmm_manager default_pmm_manager = {
+    .name = "default_pmm_manager",
+    .init = default_init,
+    .init_memmap = default_init_memmap,
+    .alloc_pages = default_alloc_pages,
+    .free_pages = default_free_pages,
+    .nr_free_pages = default_nr_free_pages,
+    .check = default_check,
+};
+
diff --git a/code/lab4/kern/mm/default_pmm.h b/code/lab4/kern/mm/default_pmm.h
new file mode 100644
index 0000000..07352aa
--- /dev/null
+++ b/code/lab4/kern/mm/default_pmm.h
@@ -0,0 +1,9 @@
+#ifndef __KERN_MM_DEFAULT_PMM_H__
+#define  __KERN_MM_DEFAULT_PMM_H__
+
+#include <pmm.h>
+
+extern const struct pmm_manager default_pmm_manager;
+
+#endif /* ! __KERN_MM_DEFAULT_PMM_H__ */
+
diff --git a/code/lab4/kern/mm/kmalloc.c b/code/lab4/kern/mm/kmalloc.c
new file mode 100644
index 0000000..8056bff
--- /dev/null
+++ b/code/lab4/kern/mm/kmalloc.c
@@ -0,0 +1,635 @@
+#include <defs.h>
+#include <list.h>
+#include <memlayout.h>
+#include <assert.h>
+#include <kmalloc.h>
+#include <sync.h>
+#include <pmm.h>
+#include <stdio.h>
+#include <rb_tree.h>
+
+/* The slab allocator used in ucore is based on an algorithm first introduced by 
+   Jeff Bonwick for the SunOS operating system. The paper can be download from 
+   http://citeseer.ist.psu.edu/bonwick94slab.html 
+   An implementation of the Slab Allocator as described in outline in;
+      UNIX Internals: The New Frontiers by Uresh Vahalia
+      Pub: Prentice Hall      ISBN 0-13-101908-2
+   Within a kernel, a considerable amount of memory is allocated for a finite set 
+   of objects such as file descriptors and other common structures. Jeff found that
+   the amount of time required to initialize a regular object in the kernel exceeded
+   the amount of time required to allocate and deallocate it. His conclusion was 
+   that instead of freeing the memory back to a global pool, he would have the memory
+   remain initialized for its intended purpose.
+   In our simple slab implementation, the the high-level organization of the slab 
+   structures is simplied. At the highest level is an array slab_cache[SLAB_CACHE_NUM],
+   and each array element is a slab_cache which has slab chains. Each slab_cache has 
+   two list, one list chains the full allocated slab, and another list chains the notfull 
+   allocated(maybe empty) slab.  And  each slab has fixed number(2^n) of pages. In each 
+   slab, there are a lot of objects (such as ) with same fixed size(32B ~ 128KB). 
+   
+   +----------------------------------+
+   | slab_cache[0] for 0~32B obj      |
+   +----------------------------------+
+   | slab_cache[1] for 33B~64B obj    |-->lists for slabs
+   +----------------------------------+            |  
+   | slab_cache[2] for 65B~128B obj   |            |            
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~            |                 
+   +----------------------------------+            |
+   | slab_cache[12]for 64KB~128KB obj |            |                    
+   +----------------------------------+            |
+                                                   |
+     slabs_full/slabs_not    +---------------------+
+   -<-----------<----------<-+
+   |           |         |
+  slab1       slab2     slab3...
+   |
+   |-------|-------|
+  pages1  pages2   pages3...
+   |
+   |
+   |
+   slab_t+n*bufctl_t+obj1-obj2-obj3...objn  (the size of obj is small)
+   |
+   OR
+   |
+   obj1-obj2-obj3...objn  WITH slab_t+n*bufctl_t in another slab (the size of obj is BIG)
+
+   The important functions are:
+     kmem_cache_grow(kmem_cache_t *cachep)
+     kmem_slab_destroy(kmem_cache_t *cachep, slab_t *slabp)
+     kmalloc(size_t size): used by outside functions need dynamicly get memory
+     kfree(void *objp): used by outside functions need dynamicly release memory
+*/
+  
+#define BUFCTL_END      0xFFFFFFFFL // the signature of the last bufctl
+#define SLAB_LIMIT      0xFFFFFFFEL // the max value of obj number
+
+typedef size_t kmem_bufctl_t; //the index of obj in slab
+
+typedef struct slab_s {
+    list_entry_t slab_link; // the list entry linked to kmem_cache list
+    void *s_mem;            // the kernel virtual address of the first obj in slab 
+    size_t inuse;           // the number of allocated objs
+    size_t offset;          // the first obj's offset value in slab
+    kmem_bufctl_t free;     // the first free obj's index in slab  
+} slab_t;
+
+// get the slab address according to the link element (see list.h)
+#define le2slab(le, member)                 \
+    to_struct((le), slab_t, member)
+
+typedef struct kmem_cache_s kmem_cache_t;
+
+
+struct kmem_cache_s {
+    list_entry_t slabs_full;     // list for fully allocated slabs
+    list_entry_t slabs_notfull;  // list for not-fully allocated slabs
+
+    size_t objsize;              // the fixed size of obj
+    size_t num;                  // number of objs per slab
+    size_t offset;               // this first obj's offset in slab 
+    bool off_slab;               // the control part of slab in slab or not.
+
+    /* order of pages per slab (2^n) */
+    size_t page_order;
+
+    kmem_cache_t *slab_cachep;
+};
+
+#define MIN_SIZE_ORDER          5           // 32
+#define MAX_SIZE_ORDER          17          // 128k
+#define SLAB_CACHE_NUM          (MAX_SIZE_ORDER - MIN_SIZE_ORDER + 1)
+
+static kmem_cache_t slab_cache[SLAB_CACHE_NUM];
+
+static void init_kmem_cache(kmem_cache_t *cachep, size_t objsize, size_t align);
+static void check_slab(void);
+
+
+//slab_init - call init_kmem_cache function to reset the slab_cache array
+static void
+slab_init(void) {
+    size_t i;
+    //the align bit for obj in slab. 2^n could be better for performance
+    size_t align = 16;
+    for (i = 0; i < SLAB_CACHE_NUM; i ++) {
+        init_kmem_cache(slab_cache + i, 1 << (i + MIN_SIZE_ORDER), align);
+    }
+    check_slab();
+}
+
+inline void 
+kmalloc_init(void) {
+    slab_init();
+    cprintf("kmalloc_init() succeeded!\n");
+}
+
+//slab_allocated - summary the total size of allocated objs
+static size_t
+slab_allocated(void) {
+    size_t total = 0;
+    int i;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        for (i = 0; i < SLAB_CACHE_NUM; i ++) {
+            kmem_cache_t *cachep = slab_cache + i;
+            list_entry_t *list, *le;
+            list = le = &(cachep->slabs_full);
+            while ((le = list_next(le)) != list) {
+                total += cachep->num * cachep->objsize;
+            }
+            list = le = &(cachep->slabs_notfull);
+            while ((le = list_next(le)) != list) {
+                slab_t *slabp = le2slab(le, slab_link);
+                total += slabp->inuse * cachep->objsize;
+            }
+        }
+    }
+    local_intr_restore(intr_flag);
+    return total;
+}
+
+// slab_mgmt_size - get the size of slab control area (slab_t+num*kmem_bufctl_t)
+static size_t
+slab_mgmt_size(size_t num, size_t align) {
+    return ROUNDUP(sizeof(slab_t) + num * sizeof(kmem_bufctl_t), align);
+}
+
+// cacahe_estimate - estimate the number of objs in a slab
+static void
+cache_estimate(size_t order, size_t objsize, size_t align, bool off_slab, size_t *remainder, size_t *num) {
+    size_t nr_objs, mgmt_size;
+    size_t slab_size = (PGSIZE << order);
+
+    if (off_slab) {
+        mgmt_size = 0;
+        nr_objs = slab_size / objsize;
+        if (nr_objs > SLAB_LIMIT) {
+            nr_objs = SLAB_LIMIT;
+        }
+    }
+    else {
+        nr_objs = (slab_size - sizeof(slab_t)) / (objsize + sizeof(kmem_bufctl_t));
+        while (slab_mgmt_size(nr_objs, align) + nr_objs * objsize > slab_size) {
+            nr_objs --;
+        }
+        if (nr_objs > SLAB_LIMIT) {
+            nr_objs = SLAB_LIMIT;
+        }
+        mgmt_size = slab_mgmt_size(nr_objs, align);
+    }
+    *num = nr_objs;
+    *remainder = slab_size - nr_objs * objsize - mgmt_size;
+}
+
+// calculate_slab_order - estimate the size(4K~4M) of slab
+// paramemters:
+//   cachep:    the slab_cache
+//   objsize:   the size of obj
+//   align:     align bit for objs
+//   off_slab:  the control part of slab in slab or not
+//   left_over: the size of can not be used area in slab
+static void
+calculate_slab_order(kmem_cache_t *cachep, size_t objsize, size_t align, bool off_slab, size_t *left_over) {
+    size_t order;
+    for (order = 0; order <= KMALLOC_MAX_ORDER; order ++) {
+        size_t num, remainder;
+        cache_estimate(order, objsize, align, off_slab, &remainder, &num);
+        if (num != 0) {
+            if (off_slab) {
+                size_t off_slab_limit = objsize - sizeof(slab_t);
+                off_slab_limit /= sizeof(kmem_bufctl_t);
+                if (num > off_slab_limit) {
+                    panic("off_slab: objsize = %d, num = %d.", objsize, num);
+                }
+            }
+            if (remainder * 8 <= (PGSIZE << order)) {
+                cachep->num = num;
+                cachep->page_order = order;
+                if (left_over != NULL) {
+                    *left_over = remainder;
+                }
+                return ;
+            }
+        }
+    }
+    panic("calculate_slab_over: failed.");
+}
+
+// getorder - find order, should satisfy n <= minest 2^order
+static inline size_t
+getorder(size_t n) {
+    size_t order = MIN_SIZE_ORDER, order_size = (1 << order);
+    for (; order <= MAX_SIZE_ORDER; order ++, order_size <<= 1) {
+        if (n <= order_size) {
+            return order;
+        }
+    }
+    panic("getorder failed. %d\n", n);
+}
+
+// init_kmem_cache - initial a slab_cache cachep according to the obj with the size = objsize
+static void
+init_kmem_cache(kmem_cache_t *cachep, size_t objsize, size_t align) {
+    list_init(&(cachep->slabs_full));
+    list_init(&(cachep->slabs_notfull));
+
+    objsize = ROUNDUP(objsize, align);
+    cachep->objsize = objsize;
+    cachep->off_slab = (objsize >= (PGSIZE >> 3));
+
+    size_t left_over;
+    calculate_slab_order(cachep, objsize, align, cachep->off_slab, &left_over);
+
+    assert(cachep->num > 0);
+
+    size_t mgmt_size = slab_mgmt_size(cachep->num, align);
+
+    if (cachep->off_slab && left_over >= mgmt_size) {
+        cachep->off_slab = 0;
+    }
+
+    if (cachep->off_slab) {
+        cachep->offset = 0;
+        cachep->slab_cachep = slab_cache + (getorder(mgmt_size) - MIN_SIZE_ORDER);
+    }
+    else {
+        cachep->offset = mgmt_size;
+    }
+}
+
+static void *kmem_cache_alloc(kmem_cache_t *cachep);
+
+#define slab_bufctl(slabp)              \
+    ((kmem_bufctl_t*)(((slab_t *)(slabp)) + 1))
+
+// kmem_cache_slabmgmt - get the address of a slab according to page
+//                     - and initialize the slab according to cachep
+static slab_t *
+kmem_cache_slabmgmt(kmem_cache_t *cachep, struct Page *page) {
+    void *objp = page2kva(page);
+    slab_t *slabp;
+    if (cachep->off_slab) {
+        if ((slabp = kmem_cache_alloc(cachep->slab_cachep)) == NULL) {
+            return NULL;
+        }
+    }
+    else {
+        slabp = page2kva(page);
+    }
+    slabp->inuse = 0;
+    slabp->offset = cachep->offset;
+    slabp->s_mem = objp + cachep->offset;
+    return slabp;
+}
+
+#define SET_PAGE_CACHE(page, cachep)                                                \
+    do {                                                                            \
+        struct Page *__page = (struct Page *)(page);                                \
+        kmem_cache_t **__cachepp = (kmem_cache_t **)&(__page->page_link.next);      \
+        *__cachepp = (kmem_cache_t *)(cachep);                                      \
+    } while (0)
+
+#define SET_PAGE_SLAB(page, slabp)                                                  \
+    do {                                                                            \
+        struct Page *__page = (struct Page *)(page);                                \
+        slab_t **__cachepp = (slab_t **)&(__page->page_link.prev);                  \
+        *__cachepp = (slab_t *)(slabp);                                             \
+    } while (0)
+
+// kmem_cache_grow - allocate a new slab by calling alloc_pages
+//                 - set control area in the new slab
+static bool
+kmem_cache_grow(kmem_cache_t *cachep) {
+    struct Page *page = alloc_pages(1 << cachep->page_order);
+    if (page == NULL) {
+        goto failed;
+    }
+
+    slab_t *slabp;
+    if ((slabp = kmem_cache_slabmgmt(cachep, page)) == NULL) {
+        goto oops;
+    }
+
+    size_t order_size = (1 << cachep->page_order);
+    do {
+        //setup this page in the free list (see memlayout.h: struct page)???
+        SET_PAGE_CACHE(page, cachep);
+        SET_PAGE_SLAB(page, slabp);
+    //this page is used for slab
+        SetPageSlab(page);
+        page ++;
+    } while (-- order_size);
+
+    int i;
+    for (i = 0; i < cachep->num; i ++) {
+        slab_bufctl(slabp)[i] = i + 1;
+    }
+    slab_bufctl(slabp)[cachep->num - 1] = BUFCTL_END;
+    slabp->free = 0;
+
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        list_add(&(cachep->slabs_notfull), &(slabp->slab_link));
+    }
+    local_intr_restore(intr_flag);
+    return 1;
+
+oops:
+    free_pages(page, 1 << cachep->page_order);
+failed:
+    return 0;
+}
+
+// kmem_cache_alloc_one - allocate a obj in a slab
+static void * 
+kmem_cache_alloc_one(kmem_cache_t *cachep, slab_t *slabp) {
+    slabp->inuse ++;
+    void *objp = slabp->s_mem + slabp->free * cachep->objsize;
+    slabp->free = slab_bufctl(slabp)[slabp->free];
+
+    if (slabp->free == BUFCTL_END) {
+        list_del(&(slabp->slab_link));
+        list_add(&(cachep->slabs_full), &(slabp->slab_link));
+    }
+    return objp;
+}
+
+// kmem_cache_alloc - call kmem_cache_alloc_one function to allocate a obj
+//                  - if no free obj, try to allocate a slab
+static void *
+kmem_cache_alloc(kmem_cache_t *cachep) {
+    void *objp;
+    bool intr_flag;
+
+try_again:
+    local_intr_save(intr_flag);
+    if (list_empty(&(cachep->slabs_notfull))) {
+        goto alloc_new_slab;
+    }
+    slab_t *slabp = le2slab(list_next(&(cachep->slabs_notfull)), slab_link);
+    objp = kmem_cache_alloc_one(cachep, slabp);
+    local_intr_restore(intr_flag);
+    return objp;
+
+alloc_new_slab:
+    local_intr_restore(intr_flag);
+
+    if (kmem_cache_grow(cachep)) {
+        goto try_again;
+    }
+    return NULL;
+}
+
+// kmalloc - simple interface used by outside functions 
+//         - to allocate a free memory using kmem_cache_alloc function
+void *
+kmalloc(size_t size) {
+    assert(size > 0);
+    size_t order = getorder(size);
+    if (order > MAX_SIZE_ORDER) {
+        return NULL;
+    }
+    return kmem_cache_alloc(slab_cache + (order - MIN_SIZE_ORDER));
+}
+
+static void kmem_cache_free(kmem_cache_t *cachep, void *obj);
+
+// kmem_slab_destroy - call free_pages & kmem_cache_free to free a slab 
+static void
+kmem_slab_destroy(kmem_cache_t *cachep, slab_t *slabp) {
+    struct Page *page = kva2page(slabp->s_mem - slabp->offset);
+
+    struct Page *p = page;
+    size_t order_size = (1 << cachep->page_order);
+    do {
+        assert(PageSlab(p));
+        ClearPageSlab(p);
+        p ++;
+    } while (-- order_size);
+
+    free_pages(page, 1 << cachep->page_order);
+
+    if (cachep->off_slab) {
+        kmem_cache_free(cachep->slab_cachep, slabp);
+    }
+}
+
+// kmem_cache_free_one - free an obj in a slab
+//                     - if slab->inuse==0, then free the slab
+static void
+kmem_cache_free_one(kmem_cache_t *cachep, slab_t *slabp, void *objp) {
+    //should not use divide operator ???
+    size_t objnr = (objp - slabp->s_mem) / cachep->objsize;
+    slab_bufctl(slabp)[objnr] = slabp->free;
+    slabp->free = objnr;
+
+    slabp->inuse --;
+
+    if (slabp->inuse == 0) {
+        list_del(&(slabp->slab_link));
+        kmem_slab_destroy(cachep, slabp);
+    }
+    else if (slabp->inuse == cachep->num -1 ) {
+        list_del(&(slabp->slab_link));
+        list_add(&(cachep->slabs_notfull), &(slabp->slab_link));
+    }
+}
+
+#define GET_PAGE_CACHE(page)                                \
+    (kmem_cache_t *)((page)->page_link.next)
+
+#define GET_PAGE_SLAB(page)                                 \
+    (slab_t *)((page)->page_link.prev)
+
+// kmem_cache_free - call kmem_cache_free_one function to free an obj 
+static void
+kmem_cache_free(kmem_cache_t *cachep, void *objp) {
+    bool intr_flag;
+    struct Page *page = kva2page(objp);
+
+    if (!PageSlab(page)) {
+        panic("not a slab page %08x\n", objp);
+    }
+    local_intr_save(intr_flag);
+    {
+        kmem_cache_free_one(cachep, GET_PAGE_SLAB(page), objp);
+    }
+    local_intr_restore(intr_flag);
+}
+
+// kfree - simple interface used by ooutside functions to free an obj
+void
+kfree(void *objp) {
+    kmem_cache_free(GET_PAGE_CACHE(kva2page(objp)), objp);
+}
+
+static inline void
+check_slab_empty(void) {
+    int i;
+    for (i = 0; i < SLAB_CACHE_NUM; i ++) {
+        kmem_cache_t *cachep = slab_cache + i;
+        assert(list_empty(&(cachep->slabs_full)));
+        assert(list_empty(&(cachep->slabs_notfull)));
+    }
+}
+
+void
+check_slab(void) {
+    int i;
+    void *v0, *v1;
+
+    size_t nr_free_pages_store = nr_free_pages();
+    size_t slab_allocated_store = slab_allocated();
+
+    /* slab must be empty now */
+    check_slab_empty();
+    assert(slab_allocated() == 0);
+
+    kmem_cache_t *cachep0, *cachep1;
+
+    cachep0 = slab_cache;
+    assert(cachep0->objsize == 32 && cachep0->num > 1 && !cachep0->off_slab);
+    assert((v0 = kmalloc(16)) != NULL);
+
+    slab_t *slabp0, *slabp1;
+
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    slabp0 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+    assert(slabp0->inuse == 1 && list_next(&(slabp0->slab_link)) == &(cachep0->slabs_notfull));
+
+    struct Page *p0, *p1;
+    size_t order_size;
+
+
+    p0 = kva2page(slabp0->s_mem - slabp0->offset), p1 = p0;
+    order_size = (1 << cachep0->page_order);
+    for (i = 0; i < cachep0->page_order; i ++, p1 ++) {
+        assert(PageSlab(p1));
+        assert(GET_PAGE_CACHE(p1) == cachep0 && GET_PAGE_SLAB(p1) == slabp0);
+    }
+
+    assert(v0 == slabp0->s_mem);
+    assert((v1 = kmalloc(16)) != NULL && v1 == v0 + 32);
+
+    kfree(v0);
+    assert(slabp0->free == 0);
+    kfree(v1);
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    for (i = 0; i < cachep0->page_order; i ++, p0 ++) {
+        assert(!PageSlab(p0));
+    }
+
+
+    v0 = kmalloc(16);
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    slabp0 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+
+    for (i = 0; i < cachep0->num - 1; i ++) {
+        kmalloc(16);
+    }
+
+    assert(slabp0->inuse == cachep0->num);
+    assert(list_next(&(cachep0->slabs_full)) == &(slabp0->slab_link));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    v1 = kmalloc(16);
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    slabp1 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+
+    kfree(v0);
+    assert(list_empty(&(cachep0->slabs_full)));
+    assert(list_next(&(slabp0->slab_link)) == &(slabp1->slab_link)
+            || list_next(&(slabp1->slab_link)) == &(slabp0->slab_link));
+
+    kfree(v1);
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    assert(list_next(&(cachep0->slabs_notfull)) == &(slabp0->slab_link));
+    assert(list_next(&(slabp0->slab_link)) == &(cachep0->slabs_notfull));
+
+    v1 = kmalloc(16);
+    assert(v1 == v0);
+    assert(list_next(&(cachep0->slabs_full)) == &(slabp0->slab_link));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    for (i = 0; i < cachep0->num; i ++) {
+        kfree(v1 + i * cachep0->objsize);
+    }
+
+    assert(list_empty(&(cachep0->slabs_full)));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    cachep0 = slab_cache;
+
+    bool has_off_slab = 0;
+    for (i = 0; i < SLAB_CACHE_NUM; i ++, cachep0 ++) {
+        if (cachep0->off_slab) {
+            has_off_slab = 1;
+            cachep1 = cachep0->slab_cachep;
+            if (!cachep1->off_slab) {
+                break;
+            }
+        }
+    }
+
+    if (!has_off_slab) {
+        goto check_pass;
+    }
+
+    assert(cachep0->off_slab && !cachep1->off_slab);
+    assert(cachep1 < cachep0);
+
+    assert(list_empty(&(cachep0->slabs_full)));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    assert(list_empty(&(cachep1->slabs_full)));
+    assert(list_empty(&(cachep1->slabs_notfull)));
+
+    v0 = kmalloc(cachep0->objsize);
+    p0 = kva2page(v0);
+    assert(page2kva(p0) == v0);
+
+    if (cachep0->num == 1) {
+        assert(!list_empty(&(cachep0->slabs_full)));
+        slabp0 = le2slab(list_next(&(cachep0->slabs_full)), slab_link);
+    }
+    else {
+        assert(!list_empty(&(cachep0->slabs_notfull)));
+        slabp0 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+    }
+
+    assert(slabp0 != NULL);
+
+    if (cachep1->num == 1) {
+        assert(!list_empty(&(cachep1->slabs_full)));
+        slabp1 = le2slab(list_next(&(cachep1->slabs_full)), slab_link);
+    }
+    else {
+        assert(!list_empty(&(cachep1->slabs_notfull)));
+        slabp1 = le2slab(list_next(&(cachep1->slabs_notfull)), slab_link);
+    }
+
+    assert(slabp1 != NULL);
+
+    order_size = (1 << cachep0->page_order);
+    for (i = 0; i < order_size; i ++, p0 ++) {
+        assert(PageSlab(p0));
+        assert(GET_PAGE_CACHE(p0) == cachep0 && GET_PAGE_SLAB(p0) == slabp0);
+    }
+
+    kfree(v0);
+
+check_pass:
+
+    check_rb_tree();
+    check_slab_empty();
+    assert(slab_allocated() == 0);
+    assert(nr_free_pages_store == nr_free_pages());
+    assert(slab_allocated_store == slab_allocated());
+
+    cprintf("check_slab() succeeded!\n");
+}
+
diff --git a/code/lab4/kern/mm/kmalloc.h b/code/lab4/kern/mm/kmalloc.h
new file mode 100644
index 0000000..26c4b5d
--- /dev/null
+++ b/code/lab4/kern/mm/kmalloc.h
@@ -0,0 +1,14 @@
+#ifndef __KERN_MM_SLAB_H__
+#define __KERN_MM_SLAB_H__
+
+#include <defs.h>
+
+#define KMALLOC_MAX_ORDER       10
+
+void kmalloc_init(void);
+
+void *kmalloc(size_t n);
+void kfree(void *objp);
+
+#endif /* !__KERN_MM_SLAB_H__ */
+
diff --git a/code/lab4/kern/mm/memlayout.h b/code/lab4/kern/mm/memlayout.h
new file mode 100644
index 0000000..26fbe9f
--- /dev/null
+++ b/code/lab4/kern/mm/memlayout.h
@@ -0,0 +1,140 @@
+#ifndef __KERN_MM_MEMLAYOUT_H__
+#define __KERN_MM_MEMLAYOUT_H__
+
+/* This file contains the definitions for memory management in our OS. */
+
+/* global segment number */
+#define SEG_KTEXT   1
+#define SEG_KDATA   2
+#define SEG_UTEXT   3
+#define SEG_UDATA   4
+#define SEG_TSS     5
+
+/* global descrptor numbers */
+#define GD_KTEXT    ((SEG_KTEXT) << 3)      // kernel text
+#define GD_KDATA    ((SEG_KDATA) << 3)      // kernel data
+#define GD_UTEXT    ((SEG_UTEXT) << 3)      // user text
+#define GD_UDATA    ((SEG_UDATA) << 3)      // user data
+#define GD_TSS      ((SEG_TSS) << 3)        // task segment selector
+
+#define DPL_KERNEL  (0)
+#define DPL_USER    (3)
+
+#define KERNEL_CS   ((GD_KTEXT) | DPL_KERNEL)
+#define KERNEL_DS   ((GD_KDATA) | DPL_KERNEL)
+#define USER_CS     ((GD_UTEXT) | DPL_USER)
+#define USER_DS     ((GD_UDATA) | DPL_USER)
+
+/* *
+ * Virtual memory map:                                          Permissions
+ *                                                              kernel/user
+ *
+ *     4G ------------------> +---------------------------------+
+ *                            |                                 |
+ *                            |         Empty Memory (*)        |
+ *                            |                                 |
+ *                            +---------------------------------+ 0xFB000000
+ *                            |   Cur. Page Table (Kern, RW)    | RW/-- PTSIZE
+ *     VPT -----------------> +---------------------------------+ 0xFAC00000
+ *                            |        Invalid Memory (*)       | --/--
+ *     KERNTOP -------------> +---------------------------------+ 0xF8000000
+ *                            |                                 |
+ *                            |    Remapped Physical Memory     | RW/-- KMEMSIZE
+ *                            |                                 |
+ *     KERNBASE ------------> +---------------------------------+ 0xC0000000
+ *                            |                                 |
+ *                            |                                 |
+ *                            |                                 |
+ *                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * (*) Note: The kernel ensures that "Invalid Memory" is *never* mapped.
+ *     "Empty Memory" is normally unmapped, but user programs may map pages
+ *     there if desired.
+ *
+ * */
+
+/* All physical memory mapped at this address */
+#define KERNBASE            0xC0000000
+#define KMEMSIZE            0x38000000                  // the maximum amount of physical memory
+#define KERNTOP             (KERNBASE + KMEMSIZE)
+
+/* *
+ * Virtual page table. Entry PDX[VPT] in the PD (Page Directory) contains
+ * a pointer to the page directory itself, thereby turning the PD into a page
+ * table, which maps all the PTEs (Page Table Entry) containing the page mappings
+ * for the entire virtual address space into that 4 Meg region starting at VPT.
+ * */
+#define VPT                 0xFAC00000
+
+#define KSTACKPAGE          2                           // # of pages in kernel stack
+#define KSTACKSIZE          (KSTACKPAGE * PGSIZE)       // sizeof kernel stack
+
+#ifndef __ASSEMBLER__
+
+#include <defs.h>
+#include <atomic.h>
+#include <list.h>
+
+typedef uintptr_t pte_t;
+typedef uintptr_t pde_t;
+typedef pte_t swap_entry_t; //the pte can also be a swap entry
+
+// some constants for bios interrupt 15h AX = 0xE820
+#define E820MAX             20      // number of entries in E820MAP
+#define E820_ARM            1       // address range memory
+#define E820_ARR            2       // address range reserved
+
+struct e820map {
+    int nr_map;
+    struct {
+        uint64_t addr;
+        uint64_t size;
+        uint32_t type;
+    } __attribute__((packed)) map[E820MAX];
+};
+
+/* *
+ * struct Page - Page descriptor structures. Each Page describes one
+ * physical page. In kern/mm/pmm.h, you can find lots of useful functions
+ * that convert Page to other data types, such as phyical address.
+ * */
+struct Page {
+    atomic_t ref;                   // page frame's reference counter
+    uint32_t flags;                 // array of flags that describe the status of the page frame
+    unsigned int property;          // used in buddy system, stores the order (the X in 2^X) of the continuous memory block
+    int zone_num;                   // used in buddy system, the No. of zone which the page belongs to
+    list_entry_t page_link;         // free list link
+    list_entry_t pra_page_link;     // used for pra (page replace algorithm)
+    uintptr_t pra_vaddr;            // used for pra (page replace algorithm)
+};
+
+/* Flags describing the status of a page frame */
+#define PG_reserved                 0       // the page descriptor is reserved for kernel or unusable
+#define PG_property                 1       // the member 'property' is valid
+
+#define SetPageReserved(page)       set_bit(PG_reserved, &((page)->flags))
+#define ClearPageReserved(page)     clear_bit(PG_reserved, &((page)->flags))
+#define PageReserved(page)          test_bit(PG_reserved, &((page)->flags))
+#define SetPageProperty(page)       set_bit(PG_property, &((page)->flags))
+#define ClearPageProperty(page)     clear_bit(PG_property, &((page)->flags))
+#define PageProperty(page)          test_bit(PG_property, &((page)->flags))
+
+// convert list entry to page
+#define le2page(le, member)                 \
+    to_struct((le), struct Page, member)
+
+/* free_area_t - maintains a doubly linked list to record free (unused) pages */
+typedef struct {
+    list_entry_t free_list;         // the list header
+    unsigned int nr_free;           // # of free pages in this free list
+} free_area_t;
+
+/* for slab style kmalloc */
+#define PG_slab                     2       // page frame is included in a slab
+#define SetPageSlab(page)           set_bit(PG_slab, &((page)->flags))
+#define ClearPageSlab(page)         clear_bit(PG_slab, &((page)->flags))
+#define PageSlab(page)              test_bit(PG_slab, &((page)->flags))
+
+#endif /* !__ASSEMBLER__ */
+
+#endif /* !__KERN_MM_MEMLAYOUT_H__ */
+
diff --git a/code/lab4/kern/mm/mmu.h b/code/lab4/kern/mm/mmu.h
new file mode 100644
index 0000000..3858ad9
--- /dev/null
+++ b/code/lab4/kern/mm/mmu.h
@@ -0,0 +1,272 @@
+#ifndef __KERN_MM_MMU_H__
+#define __KERN_MM_MMU_H__
+
+/* Eflags register */
+#define FL_CF           0x00000001  // Carry Flag
+#define FL_PF           0x00000004  // Parity Flag
+#define FL_AF           0x00000010  // Auxiliary carry Flag
+#define FL_ZF           0x00000040  // Zero Flag
+#define FL_SF           0x00000080  // Sign Flag
+#define FL_TF           0x00000100  // Trap Flag
+#define FL_IF           0x00000200  // Interrupt Flag
+#define FL_DF           0x00000400  // Direction Flag
+#define FL_OF           0x00000800  // Overflow Flag
+#define FL_IOPL_MASK    0x00003000  // I/O Privilege Level bitmask
+#define FL_IOPL_0       0x00000000  //   IOPL == 0
+#define FL_IOPL_1       0x00001000  //   IOPL == 1
+#define FL_IOPL_2       0x00002000  //   IOPL == 2
+#define FL_IOPL_3       0x00003000  //   IOPL == 3
+#define FL_NT           0x00004000  // Nested Task
+#define FL_RF           0x00010000  // Resume Flag
+#define FL_VM           0x00020000  // Virtual 8086 mode
+#define FL_AC           0x00040000  // Alignment Check
+#define FL_VIF          0x00080000  // Virtual Interrupt Flag
+#define FL_VIP          0x00100000  // Virtual Interrupt Pending
+#define FL_ID           0x00200000  // ID flag
+
+/* Application segment type bits */
+#define STA_X           0x8         // Executable segment
+#define STA_E           0x4         // Expand down (non-executable segments)
+#define STA_C           0x4         // Conforming code segment (executable only)
+#define STA_W           0x2         // Writeable (non-executable segments)
+#define STA_R           0x2         // Readable (executable segments)
+#define STA_A           0x1         // Accessed
+
+/* System segment type bits */
+#define STS_T16A        0x1         // Available 16-bit TSS
+#define STS_LDT         0x2         // Local Descriptor Table
+#define STS_T16B        0x3         // Busy 16-bit TSS
+#define STS_CG16        0x4         // 16-bit Call Gate
+#define STS_TG          0x5         // Task Gate / Coum Transmitions
+#define STS_IG16        0x6         // 16-bit Interrupt Gate
+#define STS_TG16        0x7         // 16-bit Trap Gate
+#define STS_T32A        0x9         // Available 32-bit TSS
+#define STS_T32B        0xB         // Busy 32-bit TSS
+#define STS_CG32        0xC         // 32-bit Call Gate
+#define STS_IG32        0xE         // 32-bit Interrupt Gate
+#define STS_TG32        0xF         // 32-bit Trap Gate
+
+#ifdef __ASSEMBLER__
+
+#define SEG_NULL                                                \
+    .word 0, 0;                                                 \
+    .byte 0, 0, 0, 0
+
+#define SEG_ASM(type,base,lim)                                  \
+    .word (((lim) >> 12) & 0xffff), ((base) & 0xffff);          \
+    .byte (((base) >> 16) & 0xff), (0x90 | (type)),             \
+        (0xC0 | (((lim) >> 28) & 0xf)), (((base) >> 24) & 0xff)
+
+#else /* not __ASSEMBLER__ */
+
+#include <defs.h>
+
+/* Gate descriptors for interrupts and traps */
+struct gatedesc {
+    unsigned gd_off_15_0 : 16;      // low 16 bits of offset in segment
+    unsigned gd_ss : 16;            // segment selector
+    unsigned gd_args : 5;           // # args, 0 for interrupt/trap gates
+    unsigned gd_rsv1 : 3;           // reserved(should be zero I guess)
+    unsigned gd_type : 4;           // type(STS_{TG,IG32,TG32})
+    unsigned gd_s : 1;              // must be 0 (system)
+    unsigned gd_dpl : 2;            // descriptor(meaning new) privilege level
+    unsigned gd_p : 1;              // Present
+    unsigned gd_off_31_16 : 16;     // high bits of offset in segment
+};
+
+/* *
+ * Set up a normal interrupt/trap gate descriptor
+ *   - istrap: 1 for a trap (= exception) gate, 0 for an interrupt gate
+ *   - sel: Code segment selector for interrupt/trap handler
+ *   - off: Offset in code segment for interrupt/trap handler
+ *   - dpl: Descriptor Privilege Level - the privilege level required
+ *          for software to invoke this interrupt/trap gate explicitly
+ *          using an int instruction.
+ * */
+#define SETGATE(gate, istrap, sel, off, dpl) {               \
+        (gate).gd_off_15_0 = (uint32_t)(off) & 0xffff;      \
+        (gate).gd_ss = (sel);                                \
+        (gate).gd_args = 0;                                 \
+        (gate).gd_rsv1 = 0;                                 \
+        (gate).gd_type = (istrap) ? STS_TG32 : STS_IG32;    \
+        (gate).gd_s = 0;                                    \
+        (gate).gd_dpl = (dpl);                              \
+        (gate).gd_p = 1;                                    \
+        (gate).gd_off_31_16 = (uint32_t)(off) >> 16;        \
+    }
+
+/* Set up a call gate descriptor */
+#define SETCALLGATE(gate, ss, off, dpl) {                   \
+        (gate).gd_off_15_0 = (uint32_t)(off) & 0xffff;      \
+        (gate).gd_ss = (ss);                                \
+        (gate).gd_args = 0;                                 \
+        (gate).gd_rsv1 = 0;                                 \
+        (gate).gd_type = STS_CG32;                          \
+        (gate).gd_s = 0;                                    \
+        (gate).gd_dpl = (dpl);                              \
+        (gate).gd_p = 1;                                    \
+        (gate).gd_off_31_16 = (uint32_t)(off) >> 16;        \
+    }
+
+/* segment descriptors */
+struct segdesc {
+    unsigned sd_lim_15_0 : 16;      // low bits of segment limit
+    unsigned sd_base_15_0 : 16;     // low bits of segment base address
+    unsigned sd_base_23_16 : 8;     // middle bits of segment base address
+    unsigned sd_type : 4;           // segment type (see STS_ constants)
+    unsigned sd_s : 1;              // 0 = system, 1 = application
+    unsigned sd_dpl : 2;            // descriptor Privilege Level
+    unsigned sd_p : 1;              // present
+    unsigned sd_lim_19_16 : 4;      // high bits of segment limit
+    unsigned sd_avl : 1;            // unused (available for software use)
+    unsigned sd_rsv1 : 1;           // reserved
+    unsigned sd_db : 1;             // 0 = 16-bit segment, 1 = 32-bit segment
+    unsigned sd_g : 1;              // granularity: limit scaled by 4K when set
+    unsigned sd_base_31_24 : 8;     // high bits of segment base address
+};
+
+#define SEG_NULL                                            \
+    (struct segdesc) {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+
+#define SEG(type, base, lim, dpl)                           \
+    (struct segdesc) {                                      \
+        ((lim) >> 12) & 0xffff, (base) & 0xffff,            \
+        ((base) >> 16) & 0xff, type, 1, dpl, 1,             \
+        (unsigned)(lim) >> 28, 0, 0, 1, 1,                  \
+        (unsigned) (base) >> 24                             \
+    }
+
+#define SEGTSS(type, base, lim, dpl)                        \
+    (struct segdesc) {                                      \
+        (lim) & 0xffff, (base) & 0xffff,                    \
+        ((base) >> 16) & 0xff, type, 0, dpl, 1,             \
+        (unsigned) (lim) >> 16, 0, 0, 1, 0,                 \
+        (unsigned) (base) >> 24                             \
+    }
+
+/* task state segment format (as described by the Pentium architecture book) */
+struct taskstate {
+    uint32_t ts_link;       // old ts selector
+    uintptr_t ts_esp0;      // stack pointers and segment selectors
+    uint16_t ts_ss0;        // after an increase in privilege level
+    uint16_t ts_padding1;
+    uintptr_t ts_esp1;
+    uint16_t ts_ss1;
+    uint16_t ts_padding2;
+    uintptr_t ts_esp2;
+    uint16_t ts_ss2;
+    uint16_t ts_padding3;
+    uintptr_t ts_cr3;       // page directory base
+    uintptr_t ts_eip;       // saved state from last task switch
+    uint32_t ts_eflags;
+    uint32_t ts_eax;        // more saved state (registers)
+    uint32_t ts_ecx;
+    uint32_t ts_edx;
+    uint32_t ts_ebx;
+    uintptr_t ts_esp;
+    uintptr_t ts_ebp;
+    uint32_t ts_esi;
+    uint32_t ts_edi;
+    uint16_t ts_es;         // even more saved state (segment selectors)
+    uint16_t ts_padding4;
+    uint16_t ts_cs;
+    uint16_t ts_padding5;
+    uint16_t ts_ss;
+    uint16_t ts_padding6;
+    uint16_t ts_ds;
+    uint16_t ts_padding7;
+    uint16_t ts_fs;
+    uint16_t ts_padding8;
+    uint16_t ts_gs;
+    uint16_t ts_padding9;
+    uint16_t ts_ldt;
+    uint16_t ts_padding10;
+    uint16_t ts_t;          // trap on task switch
+    uint16_t ts_iomb;       // i/o map base address
+} __attribute__((packed));
+
+#endif /* !__ASSEMBLER__ */
+
+// A linear address 'la' has a three-part structure as follows:
+//
+// +--------10------+-------10-------+---------12----------+
+// | Page Directory |   Page Table   | Offset within Page  |
+// |      Index     |     Index      |                     |
+// +----------------+----------------+---------------------+
+//  \--- PDX(la) --/ \--- PTX(la) --/ \---- PGOFF(la) ----/
+//  \----------- PPN(la) -----------/
+//
+// The PDX, PTX, PGOFF, and PPN macros decompose linear addresses as shown.
+// To construct a linear address la from PDX(la), PTX(la), and PGOFF(la),
+// use PGADDR(PDX(la), PTX(la), PGOFF(la)).
+
+// page directory index
+#define PDX(la) ((((uintptr_t)(la)) >> PDXSHIFT) & 0x3FF)
+
+// page table index
+#define PTX(la) ((((uintptr_t)(la)) >> PTXSHIFT) & 0x3FF)
+
+// page number field of address
+#define PPN(la) (((uintptr_t)(la)) >> PTXSHIFT)
+
+// offset in page
+#define PGOFF(la) (((uintptr_t)(la)) & 0xFFF)
+
+// construct linear address from indexes and offset
+#define PGADDR(d, t, o) ((uintptr_t)((d) << PDXSHIFT | (t) << PTXSHIFT | (o)))
+
+// address in page table or page directory entry
+#define PTE_ADDR(pte)   ((uintptr_t)(pte) & ~0xFFF)
+#define PDE_ADDR(pde)   PTE_ADDR(pde)
+
+/* page directory and page table constants */
+#define NPDEENTRY       1024                    // page directory entries per page directory
+#define NPTEENTRY       1024                    // page table entries per page table
+
+#define PGSIZE          4096                    // bytes mapped by a page
+#define PGSHIFT         12                      // log2(PGSIZE)
+#define PTSIZE          (PGSIZE * NPTEENTRY)    // bytes mapped by a page directory entry
+#define PTSHIFT         22                      // log2(PTSIZE)
+
+#define PTXSHIFT        12                      // offset of PTX in a linear address
+#define PDXSHIFT        22                      // offset of PDX in a linear address
+
+/* page table/directory entry flags */
+#define PTE_P           0x001                   // Present
+#define PTE_W           0x002                   // Writeable
+#define PTE_U           0x004                   // User
+#define PTE_PWT         0x008                   // Write-Through
+#define PTE_PCD         0x010                   // Cache-Disable
+#define PTE_A           0x020                   // Accessed
+#define PTE_D           0x040                   // Dirty
+#define PTE_PS          0x080                   // Page Size
+#define PTE_MBZ         0x180                   // Bits must be zero
+#define PTE_AVAIL       0xE00                   // Available for software use
+                                                // The PTE_AVAIL bits aren't used by the kernel or interpreted by the
+                                                // hardware, so user processes are allowed to set them arbitrarily.
+
+#define PTE_USER        (PTE_U | PTE_W | PTE_P)
+
+/* Control Register flags */
+#define CR0_PE          0x00000001              // Protection Enable
+#define CR0_MP          0x00000002              // Monitor coProcessor
+#define CR0_EM          0x00000004              // Emulation
+#define CR0_TS          0x00000008              // Task Switched
+#define CR0_ET          0x00000010              // Extension Type
+#define CR0_NE          0x00000020              // Numeric Errror
+#define CR0_WP          0x00010000              // Write Protect
+#define CR0_AM          0x00040000              // Alignment Mask
+#define CR0_NW          0x20000000              // Not Writethrough
+#define CR0_CD          0x40000000              // Cache Disable
+#define CR0_PG          0x80000000              // Paging
+
+#define CR4_PCE         0x00000100              // Performance counter enable
+#define CR4_MCE         0x00000040              // Machine Check Enable
+#define CR4_PSE         0x00000010              // Page Size Extensions
+#define CR4_DE          0x00000008              // Debugging Extensions
+#define CR4_TSD         0x00000004              // Time Stamp Disable
+#define CR4_PVI         0x00000002              // Protected-Mode Virtual Interrupts
+#define CR4_VME         0x00000001              // V86 Mode Extensions
+
+#endif /* !__KERN_MM_MMU_H__ */
+
diff --git a/code/lab4/kern/mm/pmm.c b/code/lab4/kern/mm/pmm.c
new file mode 100644
index 0000000..543e5e9
--- /dev/null
+++ b/code/lab4/kern/mm/pmm.c
@@ -0,0 +1,665 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <default_pmm.h>
+#include <sync.h>
+#include <error.h>
+#include <swap.h>
+#include <vmm.h>
+#include <kmalloc.h>
+
+/* *
+ * Task State Segment:
+ *
+ * The TSS may reside anywhere in memory. A special segment register called
+ * the Task Register (TR) holds a segment selector that points a valid TSS
+ * segment descriptor which resides in the GDT. Therefore, to use a TSS
+ * the following must be done in function gdt_init:
+ *   - create a TSS descriptor entry in GDT
+ *   - add enough information to the TSS in memory as needed
+ *   - load the TR register with a segment selector for that segment
+ *
+ * There are several fileds in TSS for specifying the new stack pointer when a
+ * privilege level change happens. But only the fields SS0 and ESP0 are useful
+ * in our os kernel.
+ *
+ * The field SS0 contains the stack segment selector for CPL = 0, and the ESP0
+ * contains the new ESP value for CPL = 0. When an interrupt happens in protected
+ * mode, the x86 CPU will look in the TSS for SS0 and ESP0 and load their value
+ * into SS and ESP respectively.
+ * */
+static struct taskstate ts = {0};
+
+// virtual address of physicall page array
+struct Page *pages;
+// amount of physical memory (in pages)
+size_t npage = 0;
+
+// virtual address of boot-time page directory
+pde_t *boot_pgdir = NULL;
+// physical address of boot-time page directory
+uintptr_t boot_cr3;
+
+// physical memory management
+const struct pmm_manager *pmm_manager;
+
+/* *
+ * The page directory entry corresponding to the virtual address range
+ * [VPT, VPT + PTSIZE) points to the page directory itself. Thus, the page
+ * directory is treated as a page table as well as a page directory.
+ *
+ * One result of treating the page directory as a page table is that all PTEs
+ * can be accessed though a "virtual page table" at virtual address VPT. And the
+ * PTE for number n is stored in vpt[n].
+ *
+ * A second consequence is that the contents of the current page directory will
+ * always available at virtual address PGADDR(PDX(VPT), PDX(VPT), 0), to which
+ * vpd is set bellow.
+ * */
+pte_t * const vpt = (pte_t *)VPT;
+pde_t * const vpd = (pde_t *)PGADDR(PDX(VPT), PDX(VPT), 0);
+
+/* *
+ * Global Descriptor Table:
+ *
+ * The kernel and user segments are identical (except for the DPL). To load
+ * the %ss register, the CPL must equal the DPL. Thus, we must duplicate the
+ * segments for the user and the kernel. Defined as follows:
+ *   - 0x0 :  unused (always faults -- for trapping NULL far pointers)
+ *   - 0x8 :  kernel code segment
+ *   - 0x10:  kernel data segment
+ *   - 0x18:  user code segment
+ *   - 0x20:  user data segment
+ *   - 0x28:  defined for tss, initialized in gdt_init
+ * */
+static struct segdesc gdt[] = {
+    SEG_NULL,
+    [SEG_KTEXT] = SEG(STA_X | STA_R, 0x0, 0xFFFFFFFF, DPL_KERNEL),
+    [SEG_KDATA] = SEG(STA_W, 0x0, 0xFFFFFFFF, DPL_KERNEL),
+    [SEG_UTEXT] = SEG(STA_X | STA_R, 0x0, 0xFFFFFFFF, DPL_USER),
+    [SEG_UDATA] = SEG(STA_W, 0x0, 0xFFFFFFFF, DPL_USER),
+    [SEG_TSS]   = SEG_NULL,
+};
+
+static struct pseudodesc gdt_pd = {
+    sizeof(gdt) - 1, (uintptr_t)gdt
+};
+
+static void check_alloc_page(void);
+static void check_pgdir(void);
+static void check_boot_pgdir(void);
+
+/* *
+ * lgdt - load the global descriptor table register and reset the
+ * data/code segement registers for kernel.
+ * */
+static inline void
+lgdt(struct pseudodesc *pd) {
+    asm volatile ("lgdt (%0)" :: "r" (pd));
+    asm volatile ("movw %%ax, %%gs" :: "a" (USER_DS));
+    asm volatile ("movw %%ax, %%fs" :: "a" (USER_DS));
+    asm volatile ("movw %%ax, %%es" :: "a" (KERNEL_DS));
+    asm volatile ("movw %%ax, %%ds" :: "a" (KERNEL_DS));
+    asm volatile ("movw %%ax, %%ss" :: "a" (KERNEL_DS));
+    // reload cs
+    asm volatile ("ljmp %0, $1f\n 1:\n" :: "i" (KERNEL_CS));
+}
+
+/* *
+ * load_esp0 - change the ESP0 in default task state segment,
+ * so that we can use different kernel stack when we trap frame
+ * user to kernel.
+ * */
+void
+load_esp0(uintptr_t esp0) {
+    ts.ts_esp0 = esp0;
+}
+
+/* gdt_init - initialize the default GDT and TSS */
+static void
+gdt_init(void) {
+    // set boot kernel stack and default SS0
+    load_esp0((uintptr_t)bootstacktop);
+    ts.ts_ss0 = KERNEL_DS;
+
+    // initialize the TSS filed of the gdt
+    gdt[SEG_TSS] = SEGTSS(STS_T32A, (uintptr_t)&ts, sizeof(ts), DPL_KERNEL);
+
+    // reload all segment registers
+    lgdt(&gdt_pd);
+
+    // load the TSS
+    ltr(GD_TSS);
+}
+
+//init_pmm_manager - initialize a pmm_manager instance
+static void
+init_pmm_manager(void) {
+    pmm_manager = &default_pmm_manager;
+    cprintf("memory management: %s\n", pmm_manager->name);
+    pmm_manager->init();
+}
+
+//init_memmap - call pmm->init_memmap to build Page struct for free memory  
+static void
+init_memmap(struct Page *base, size_t n) {
+    pmm_manager->init_memmap(base, n);
+}
+
+//alloc_pages - call pmm->alloc_pages to allocate a continuous n*PAGESIZE memory 
+struct Page *
+alloc_pages(size_t n) {
+    struct Page *page=NULL;
+    bool intr_flag;
+    
+    while (1)
+    {
+         local_intr_save(intr_flag);
+         {
+              page = pmm_manager->alloc_pages(n);
+         }
+         local_intr_restore(intr_flag);
+
+         if (page != NULL || n > 1 || swap_init_ok == 0) break;
+         
+         extern struct mm_struct *check_mm_struct;
+         //cprintf("page %x, call swap_out in alloc_pages %d\n",page, n);
+         swap_out(check_mm_struct, n, 0);
+    }
+    //cprintf("n %d,get page %x, No %d in alloc_pages\n",n,page,(page-pages));
+    return page;
+}
+
+//free_pages - call pmm->free_pages to free a continuous n*PAGESIZE memory 
+void
+free_pages(struct Page *base, size_t n) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        pmm_manager->free_pages(base, n);
+    }
+    local_intr_restore(intr_flag);
+}
+
+//nr_free_pages - call pmm->nr_free_pages to get the size (nr*PAGESIZE) 
+//of current free memory
+size_t
+nr_free_pages(void) {
+    size_t ret;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        ret = pmm_manager->nr_free_pages();
+    }
+    local_intr_restore(intr_flag);
+    return ret;
+}
+
+/* pmm_init - initialize the physical memory management */
+static void
+page_init(void) {
+    struct e820map *memmap = (struct e820map *)(0x8000 + KERNBASE);
+    uint64_t maxpa = 0;
+
+    cprintf("e820map:\n");
+    int i;
+    for (i = 0; i < memmap->nr_map; i ++) {
+        uint64_t begin = memmap->map[i].addr, end = begin + memmap->map[i].size;
+        cprintf("  memory: %08llx, [%08llx, %08llx], type = %d.\n",
+                memmap->map[i].size, begin, end - 1, memmap->map[i].type);
+        if (memmap->map[i].type == E820_ARM) {
+            if (maxpa < end && begin < KMEMSIZE) {
+                maxpa = end;
+            }
+        }
+    }
+    if (maxpa > KMEMSIZE) {
+        maxpa = KMEMSIZE;
+    }
+
+    extern char end[];
+
+    npage = maxpa / PGSIZE;
+    pages = (struct Page *)ROUNDUP((void *)end, PGSIZE);
+
+    for (i = 0; i < npage; i ++) {
+        SetPageReserved(pages + i);
+    }
+
+    uintptr_t freemem = PADDR((uintptr_t)pages + sizeof(struct Page) * npage);
+
+    for (i = 0; i < memmap->nr_map; i ++) {
+        uint64_t begin = memmap->map[i].addr, end = begin + memmap->map[i].size;
+        if (memmap->map[i].type == E820_ARM) {
+            if (begin < freemem) {
+                begin = freemem;
+            }
+            if (end > KMEMSIZE) {
+                end = KMEMSIZE;
+            }
+            if (begin < end) {
+                begin = ROUNDUP(begin, PGSIZE);
+                end = ROUNDDOWN(end, PGSIZE);
+                if (begin < end) {
+                    init_memmap(pa2page(begin), (end - begin) / PGSIZE);
+                }
+            }
+        }
+    }
+}
+
+static void
+enable_paging(void) {
+    lcr3(boot_cr3);
+
+    // turn on paging
+    uint32_t cr0 = rcr0();
+    cr0 |= CR0_PE | CR0_PG | CR0_AM | CR0_WP | CR0_NE | CR0_TS | CR0_EM | CR0_MP;
+    cr0 &= ~(CR0_TS | CR0_EM);
+    lcr0(cr0);
+}
+
+//boot_map_segment - setup&enable the paging mechanism
+// parameters
+//  la:   linear address of this memory need to map (after x86 segment map)
+//  size: memory size
+//  pa:   physical address of this memory
+//  perm: permission of this memory  
+static void
+boot_map_segment(pde_t *pgdir, uintptr_t la, size_t size, uintptr_t pa, uint32_t perm) {
+    assert(PGOFF(la) == PGOFF(pa));
+    size_t n = ROUNDUP(size + PGOFF(la), PGSIZE) / PGSIZE;
+    la = ROUNDDOWN(la, PGSIZE);
+    pa = ROUNDDOWN(pa, PGSIZE);
+    for (; n > 0; n --, la += PGSIZE, pa += PGSIZE) {
+        pte_t *ptep = get_pte(pgdir, la, 1);
+        assert(ptep != NULL);
+        *ptep = pa | PTE_P | perm;
+    }
+}
+
+//boot_alloc_page - allocate one page using pmm->alloc_pages(1) 
+// return value: the kernel virtual address of this allocated page
+//note: this function is used to get the memory for PDT(Page Directory Table)&PT(Page Table)
+static void *
+boot_alloc_page(void) {
+    struct Page *p = alloc_page();
+    if (p == NULL) {
+        panic("boot_alloc_page failed.\n");
+    }
+    return page2kva(p);
+}
+
+//pmm_init - setup a pmm to manage physical memory, build PDT&PT to setup paging mechanism 
+//         - check the correctness of pmm & paging mechanism, print PDT&PT
+void
+pmm_init(void) {
+    //We need to alloc/free the physical memory (granularity is 4KB or other size). 
+    //So a framework of physical memory manager (struct pmm_manager)is defined in pmm.h
+    //First we should init a physical memory manager(pmm) based on the framework.
+    //Then pmm can alloc/free the physical memory. 
+    //Now the first_fit/best_fit/worst_fit/buddy_system pmm are available.
+    init_pmm_manager();
+
+    // detect physical memory space, reserve already used memory,
+    // then use pmm->init_memmap to create free page list
+    page_init();
+
+    //use pmm->check to verify the correctness of the alloc/free function in a pmm
+    check_alloc_page();
+
+    // create boot_pgdir, an initial page directory(Page Directory Table, PDT)
+    boot_pgdir = boot_alloc_page();
+    memset(boot_pgdir, 0, PGSIZE);
+    boot_cr3 = PADDR(boot_pgdir);
+
+    check_pgdir();
+
+    static_assert(KERNBASE % PTSIZE == 0 && KERNTOP % PTSIZE == 0);
+
+    // recursively insert boot_pgdir in itself
+    // to form a virtual page table at virtual address VPT
+    boot_pgdir[PDX(VPT)] = PADDR(boot_pgdir) | PTE_P | PTE_W;
+
+    // map all physical memory to linear memory with base linear addr KERNBASE
+    //linear_addr KERNBASE~KERNBASE+KMEMSIZE = phy_addr 0~KMEMSIZE
+    //But shouldn't use this map until enable_paging() & gdt_init() finished.
+    boot_map_segment(boot_pgdir, KERNBASE, KMEMSIZE, 0, PTE_W);
+
+    //temporary map: 
+    //virtual_addr 3G~3G+4M = linear_addr 0~4M = linear_addr 3G~3G+4M = phy_addr 0~4M     
+    boot_pgdir[0] = boot_pgdir[PDX(KERNBASE)];
+
+    enable_paging();
+
+    //reload gdt(third time,the last time) to map all physical memory
+    //virtual_addr 0~4G=liear_addr 0~4G
+    //then set kernel stack(ss:esp) in TSS, setup TSS in gdt, load TSS
+    gdt_init();
+
+    //disable the map of virtual_addr 0~4M
+    boot_pgdir[0] = 0;
+
+    //now the basic virtual memory map(see memalyout.h) is established.
+    //check the correctness of the basic virtual memory map.
+    check_boot_pgdir();
+
+    print_pgdir();
+    
+    kmalloc_init();
+
+}
+
+//get_pte - get pte and return the kernel virtual address of this pte for la
+//        - if the PT contians this pte didn't exist, alloc a page for PT
+// parameter:
+//  pgdir:  the kernel virtual base address of PDT
+//  la:     the linear address need to map
+//  create: a logical value to decide if alloc a page for PT
+// return vaule: the kernel virtual address of this pte
+pte_t *
+get_pte(pde_t *pgdir, uintptr_t la, bool create) {
+    /* LAB2 EXERCISE 2: YOUR CODE
+     *
+     * If you need to visit a physical address, please use KADDR()
+     * please read pmm.h for useful macros
+     *
+     * Maybe you want help comment, BELOW comments can help you finish the code
+     *
+     * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   PDX(la) = the index of page directory entry of VIRTUAL ADDRESS la.
+     *   KADDR(pa) : takes a physical address and returns the corresponding kernel virtual address.
+     *   set_page_ref(page,1) : means the page be referenced by one time
+     *   page2pa(page): get the physical address of memory which this (struct Page *) page  manages
+     *   struct Page * alloc_page() : allocation a page
+     *   memset(void *s, char c, size_t n) : sets the first n bytes of the memory area pointed by s
+     *                                       to the specified value c.
+     * DEFINEs:
+     *   PTE_P           0x001                   // page table/directory entry flags bit : Present
+     *   PTE_W           0x002                   // page table/directory entry flags bit : Writeable
+     *   PTE_U           0x004                   // page table/directory entry flags bit : User can access
+     */
+#if 0
+    pde_t *pdep = NULL;   // (1) find page directory entry
+    if (0) {              // (2) check if entry is not present
+                          // (3) check if creating is needed, then alloc page for page table
+                          // CAUTION: this page is used for page table, not for common data page
+                          // (4) set page reference
+        uintptr_t pa = 0; // (5) get linear address of page
+                          // (6) clear page content using memset
+                          // (7) set page directory entry's permission
+    }
+    return NULL;          // (8) return page table entry
+#endif
+}
+
+//get_page - get related Page struct for linear address la using PDT pgdir
+struct Page *
+get_page(pde_t *pgdir, uintptr_t la, pte_t **ptep_store) {
+    pte_t *ptep = get_pte(pgdir, la, 0);
+    if (ptep_store != NULL) {
+        *ptep_store = ptep;
+    }
+    if (ptep != NULL && *ptep & PTE_P) {
+        return pa2page(*ptep);
+    }
+    return NULL;
+}
+
+//page_remove_pte - free an Page sturct which is related linear address la
+//                - and clean(invalidate) pte which is related linear address la
+//note: PT is changed, so the TLB need to be invalidate 
+static inline void
+page_remove_pte(pde_t *pgdir, uintptr_t la, pte_t *ptep) {
+    /* LAB2 EXERCISE 3: YOUR CODE
+     *
+     * Please check if ptep is valid, and tlb must be manually updated if mapping is updated
+     *
+     * Maybe you want help comment, BELOW comments can help you finish the code
+     *
+     * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   struct Page *page pte2page(*ptep): get the according page from the value of a ptep
+     *   free_page : free a page
+     *   page_ref_dec(page) : decrease page->ref. NOTICE: ff page->ref == 0 , then this page should be free.
+     *   tlb_invalidate(pde_t *pgdir, uintptr_t la) : Invalidate a TLB entry, but only if the page tables being
+     *                        edited are the ones currently in use by the processor.
+     * DEFINEs:
+     *   PTE_P           0x001                   // page table/directory entry flags bit : Present
+     */
+#if 0
+    if (0) {                      //(1) check if page directory is present
+        struct Page *page = NULL; //(2) find corresponding page to pte
+                                  //(3) decrease page reference
+                                  //(4) and free this page when page reference reachs 0
+                                  //(5) clear second page table entry
+                                  //(6) flush tlb
+    }
+#endif
+}
+
+//page_remove - free an Page which is related linear address la and has an validated pte
+void
+page_remove(pde_t *pgdir, uintptr_t la) {
+    pte_t *ptep = get_pte(pgdir, la, 0);
+    if (ptep != NULL) {
+        page_remove_pte(pgdir, la, ptep);
+    }
+}
+
+//page_insert - build the map of phy addr of an Page with the linear addr la
+// paramemters:
+//  pgdir: the kernel virtual base address of PDT
+//  page:  the Page which need to map
+//  la:    the linear address need to map
+//  perm:  the permission of this Page which is setted in related pte
+// return value: always 0
+//note: PT is changed, so the TLB need to be invalidate 
+int
+page_insert(pde_t *pgdir, struct Page *page, uintptr_t la, uint32_t perm) {
+    pte_t *ptep = get_pte(pgdir, la, 1);
+    if (ptep == NULL) {
+        return -E_NO_MEM;
+    }
+    page_ref_inc(page);
+    if (*ptep & PTE_P) {
+        struct Page *p = pte2page(*ptep);
+        if (p == page) {
+            page_ref_dec(page);
+        }
+        else {
+            page_remove_pte(pgdir, la, ptep);
+        }
+    }
+    *ptep = page2pa(page) | PTE_P | perm;
+    tlb_invalidate(pgdir, la);
+    return 0;
+}
+
+// invalidate a TLB entry, but only if the page tables being
+// edited are the ones currently in use by the processor.
+void
+tlb_invalidate(pde_t *pgdir, uintptr_t la) {
+    if (rcr3() == PADDR(pgdir)) {
+        invlpg((void *)la);
+    }
+}
+
+// pgdir_alloc_page - call alloc_page & page_insert functions to 
+//                  - allocate a page size memory & setup an addr map
+//                  - pa<->la with linear address la and the PDT pgdir
+struct Page *
+pgdir_alloc_page(pde_t *pgdir, uintptr_t la, uint32_t perm) {
+    struct Page *page = alloc_page();
+    if (page != NULL) {
+        if (page_insert(pgdir, page, la, perm) != 0) {
+            free_page(page);
+            return NULL;
+        }
+        if (swap_init_ok){
+            swap_map_swappable(check_mm_struct, la, page, 0);
+            page->pra_vaddr=la;
+            assert(page_ref(page) == 1);
+            //cprintf("get No. %d  page: pra_vaddr %x, pra_link.prev %x, pra_link_next %x in pgdir_alloc_page\n", (page-pages), page->pra_vaddr,page->pra_page_link.prev, page->pra_page_link.next);
+        }
+
+    }
+
+    return page;
+}
+
+static void
+check_alloc_page(void) {
+    pmm_manager->check();
+    cprintf("check_alloc_page() succeeded!\n");
+}
+
+static void
+check_pgdir(void) {
+    assert(npage <= KMEMSIZE / PGSIZE);
+    assert(boot_pgdir != NULL && (uint32_t)PGOFF(boot_pgdir) == 0);
+    assert(get_page(boot_pgdir, 0x0, NULL) == NULL);
+
+    struct Page *p1, *p2;
+    p1 = alloc_page();
+    assert(page_insert(boot_pgdir, p1, 0x0, 0) == 0);
+
+    pte_t *ptep;
+    assert((ptep = get_pte(boot_pgdir, 0x0, 0)) != NULL);
+    assert(pa2page(*ptep) == p1);
+    assert(page_ref(p1) == 1);
+
+    ptep = &((pte_t *)KADDR(PDE_ADDR(boot_pgdir[0])))[1];
+    assert(get_pte(boot_pgdir, PGSIZE, 0) == ptep);
+
+    p2 = alloc_page();
+    assert(page_insert(boot_pgdir, p2, PGSIZE, PTE_U | PTE_W) == 0);
+    assert((ptep = get_pte(boot_pgdir, PGSIZE, 0)) != NULL);
+    assert(*ptep & PTE_U);
+    assert(*ptep & PTE_W);
+    assert(boot_pgdir[0] & PTE_U);
+    assert(page_ref(p2) == 1);
+
+    assert(page_insert(boot_pgdir, p1, PGSIZE, 0) == 0);
+    assert(page_ref(p1) == 2);
+    assert(page_ref(p2) == 0);
+    assert((ptep = get_pte(boot_pgdir, PGSIZE, 0)) != NULL);
+    assert(pa2page(*ptep) == p1);
+    assert((*ptep & PTE_U) == 0);
+
+    page_remove(boot_pgdir, 0x0);
+    assert(page_ref(p1) == 1);
+    assert(page_ref(p2) == 0);
+
+    page_remove(boot_pgdir, PGSIZE);
+    assert(page_ref(p1) == 0);
+    assert(page_ref(p2) == 0);
+
+    assert(page_ref(pa2page(boot_pgdir[0])) == 1);
+    free_page(pa2page(boot_pgdir[0]));
+    boot_pgdir[0] = 0;
+
+    cprintf("check_pgdir() succeeded!\n");
+}
+
+static void
+check_boot_pgdir(void) {
+    pte_t *ptep;
+    int i;
+    for (i = 0; i < npage; i += PGSIZE) {
+        assert((ptep = get_pte(boot_pgdir, (uintptr_t)KADDR(i), 0)) != NULL);
+        assert(PTE_ADDR(*ptep) == i);
+    }
+
+    assert(PDE_ADDR(boot_pgdir[PDX(VPT)]) == PADDR(boot_pgdir));
+
+    assert(boot_pgdir[0] == 0);
+
+    struct Page *p;
+    p = alloc_page();
+    assert(page_insert(boot_pgdir, p, 0x100, PTE_W) == 0);
+    assert(page_ref(p) == 1);
+    assert(page_insert(boot_pgdir, p, 0x100 + PGSIZE, PTE_W) == 0);
+    assert(page_ref(p) == 2);
+
+    const char *str = "ucore: Hello world!!";
+    strcpy((void *)0x100, str);
+    assert(strcmp((void *)0x100, (void *)(0x100 + PGSIZE)) == 0);
+
+    *(char *)(page2kva(p) + 0x100) = '\0';
+    assert(strlen((const char *)0x100) == 0);
+
+    free_page(p);
+    free_page(pa2page(PDE_ADDR(boot_pgdir[0])));
+    boot_pgdir[0] = 0;
+
+    cprintf("check_boot_pgdir() succeeded!\n");
+}
+
+//perm2str - use string 'u,r,w,-' to present the permission
+static const char *
+perm2str(int perm) {
+    static char str[4];
+    str[0] = (perm & PTE_U) ? 'u' : '-';
+    str[1] = 'r';
+    str[2] = (perm & PTE_W) ? 'w' : '-';
+    str[3] = '\0';
+    return str;
+}
+
+//get_pgtable_items - In [left, right] range of PDT or PT, find a continuous linear addr space
+//                  - (left_store*X_SIZE~right_store*X_SIZE) for PDT or PT
+//                  - X_SIZE=PTSIZE=4M, if PDT; X_SIZE=PGSIZE=4K, if PT
+// paramemters:
+//  left:        no use ???
+//  right:       the high side of table's range
+//  start:       the low side of table's range
+//  table:       the beginning addr of table
+//  left_store:  the pointer of the high side of table's next range
+//  right_store: the pointer of the low side of table's next range
+// return value: 0 - not a invalid item range, perm - a valid item range with perm permission 
+static int
+get_pgtable_items(size_t left, size_t right, size_t start, uintptr_t *table, size_t *left_store, size_t *right_store) {
+    if (start >= right) {
+        return 0;
+    }
+    while (start < right && !(table[start] & PTE_P)) {
+        start ++;
+    }
+    if (start < right) {
+        if (left_store != NULL) {
+            *left_store = start;
+        }
+        int perm = (table[start ++] & PTE_USER);
+        while (start < right && (table[start] & PTE_USER) == perm) {
+            start ++;
+        }
+        if (right_store != NULL) {
+            *right_store = start;
+        }
+        return perm;
+    }
+    return 0;
+}
+
+//print_pgdir - print the PDT&PT
+void
+print_pgdir(void) {
+    cprintf("-------------------- BEGIN --------------------\n");
+    size_t left, right = 0, perm;
+    while ((perm = get_pgtable_items(0, NPDEENTRY, right, vpd, &left, &right)) != 0) {
+        cprintf("PDE(%03x) %08x-%08x %08x %s\n", right - left,
+                left * PTSIZE, right * PTSIZE, (right - left) * PTSIZE, perm2str(perm));
+        size_t l, r = left * NPTEENTRY;
+        while ((perm = get_pgtable_items(left * NPTEENTRY, right * NPTEENTRY, r, vpt, &l, &r)) != 0) {
+            cprintf("  |-- PTE(%05x) %08x-%08x %08x %s\n", r - l,
+                    l * PGSIZE, r * PGSIZE, (r - l) * PGSIZE, perm2str(perm));
+        }
+    }
+    cprintf("--------------------- END ---------------------\n");
+}
diff --git a/code/lab4/kern/mm/pmm.h b/code/lab4/kern/mm/pmm.h
new file mode 100644
index 0000000..8b0a9f2
--- /dev/null
+++ b/code/lab4/kern/mm/pmm.h
@@ -0,0 +1,146 @@
+#ifndef __KERN_MM_PMM_H__
+#define __KERN_MM_PMM_H__
+
+#include <defs.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <atomic.h>
+#include <assert.h>
+
+/* fork flags used in do_fork*/
+#define CLONE_VM            0x00000100  // set if VM shared between processes
+#define CLONE_THREAD        0x00000200  // thread group
+
+// pmm_manager is a physical memory management class. A special pmm manager - XXX_pmm_manager
+// only needs to implement the methods in pmm_manager class, then XXX_pmm_manager can be used
+// by ucore to manage the total physical memory space.
+struct pmm_manager {
+    const char *name;                                 // XXX_pmm_manager's name
+    void (*init)(void);                               // initialize internal description&management data structure
+                                                      // (free block list, number of free block) of XXX_pmm_manager 
+    void (*init_memmap)(struct Page *base, size_t n); // setup description&management data structcure according to
+                                                      // the initial free physical memory space 
+    struct Page *(*alloc_pages)(size_t n);            // allocate >=n pages, depend on the allocation algorithm 
+    void (*free_pages)(struct Page *base, size_t n);  // free >=n pages with "base" addr of Page descriptor structures(memlayout.h)
+    size_t (*nr_free_pages)(void);                    // return the number of free pages 
+    void (*check)(void);                              // check the correctness of XXX_pmm_manager 
+};
+
+extern const struct pmm_manager *pmm_manager;
+extern pde_t *boot_pgdir;
+extern uintptr_t boot_cr3;
+
+void pmm_init(void);
+
+struct Page *alloc_pages(size_t n);
+void free_pages(struct Page *base, size_t n);
+size_t nr_free_pages(void);
+
+#define alloc_page() alloc_pages(1)
+#define free_page(page) free_pages(page, 1)
+
+pte_t *get_pte(pde_t *pgdir, uintptr_t la, bool create);
+struct Page *get_page(pde_t *pgdir, uintptr_t la, pte_t **ptep_store);
+void page_remove(pde_t *pgdir, uintptr_t la);
+int page_insert(pde_t *pgdir, struct Page *page, uintptr_t la, uint32_t perm);
+
+void load_esp0(uintptr_t esp0);
+void tlb_invalidate(pde_t *pgdir, uintptr_t la);
+struct Page *pgdir_alloc_page(pde_t *pgdir, uintptr_t la, uint32_t perm);
+
+void print_pgdir(void);
+
+/* *
+ * PADDR - takes a kernel virtual address (an address that points above KERNBASE),
+ * where the machine's maximum 256MB of physical memory is mapped and returns the
+ * corresponding physical address.  It panics if you pass it a non-kernel virtual address.
+ * */
+#define PADDR(kva) ({                                                   \
+            uintptr_t __m_kva = (uintptr_t)(kva);                       \
+            if (__m_kva < KERNBASE) {                                   \
+                panic("PADDR called with invalid kva %08lx", __m_kva);  \
+            }                                                           \
+            __m_kva - KERNBASE;                                         \
+        })
+
+/* *
+ * KADDR - takes a physical address and returns the corresponding kernel virtual
+ * address. It panics if you pass an invalid physical address.
+ * */
+#define KADDR(pa) ({                                                    \
+            uintptr_t __m_pa = (pa);                                    \
+            size_t __m_ppn = PPN(__m_pa);                               \
+            if (__m_ppn >= npage) {                                     \
+                panic("KADDR called with invalid pa %08lx", __m_pa);    \
+            }                                                           \
+            (void *) (__m_pa + KERNBASE);                               \
+        })
+
+extern struct Page *pages;
+extern size_t npage;
+
+static inline ppn_t
+page2ppn(struct Page *page) {
+    return page - pages;
+}
+
+static inline uintptr_t
+page2pa(struct Page *page) {
+    return page2ppn(page) << PGSHIFT;
+}
+
+static inline struct Page *
+pa2page(uintptr_t pa) {
+    if (PPN(pa) >= npage) {
+        panic("pa2page called with invalid pa");
+    }
+    return &pages[PPN(pa)];
+}
+
+static inline void *
+page2kva(struct Page *page) {
+    return KADDR(page2pa(page));
+}
+
+static inline struct Page *
+kva2page(void *kva) {
+    return pa2page(PADDR(kva));
+}
+
+static inline struct Page *
+pte2page(pte_t pte) {
+    if (!(pte & PTE_P)) {
+        panic("pte2page called with invalid pte");
+    }
+    return pa2page(PTE_ADDR(pte));
+}
+
+static inline struct Page *
+pde2page(pde_t pde) {
+    return pa2page(PDE_ADDR(pde));
+}
+
+static inline int
+page_ref(struct Page *page) {
+    return atomic_read(&(page->ref));
+}
+
+static inline void
+set_page_ref(struct Page *page, int val) {
+    atomic_set(&(page->ref), val);
+}
+
+static inline int
+page_ref_inc(struct Page *page) {
+    return atomic_add_return(&(page->ref), 1);
+}
+
+static inline int
+page_ref_dec(struct Page *page) {
+    return atomic_sub_return(&(page->ref), 1);
+}
+
+extern char bootstack[], bootstacktop[];
+
+#endif /* !__KERN_MM_PMM_H__ */
+
diff --git a/code/lab4/kern/mm/swap.c b/code/lab4/kern/mm/swap.c
new file mode 100644
index 0000000..6d05711
--- /dev/null
+++ b/code/lab4/kern/mm/swap.c
@@ -0,0 +1,279 @@
+#include <swap.h>
+#include <swapfs.h>
+#include <swap_fifo.h>
+#include <stdio.h>
+#include <string.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <mmu.h>
+
+// the valid vaddr for check is between 0~CHECK_VALID_VADDR-1
+#define CHECK_VALID_VIR_PAGE_NUM 5
+#define BEING_CHECK_VALID_VADDR 0X1000
+#define CHECK_VALID_VADDR (CHECK_VALID_VIR_PAGE_NUM+1)*0x1000
+// the max number of valid physical page for check
+#define CHECK_VALID_PHY_PAGE_NUM 4
+// the max access seq number
+#define MAX_SEQ_NO 10
+
+static struct swap_manager *sm;
+size_t max_swap_offset;
+
+volatile int swap_init_ok = 0;
+
+unsigned int swap_page[CHECK_VALID_VIR_PAGE_NUM];
+
+unsigned int swap_in_seq_no[MAX_SEQ_NO],swap_out_seq_no[MAX_SEQ_NO];
+
+static void check_swap(void);
+
+int
+swap_init(void)
+{
+     swapfs_init();
+
+     if (!(1024 <= max_swap_offset && max_swap_offset < MAX_SWAP_OFFSET_LIMIT))
+     {
+          panic("bad max_swap_offset %08x.\n", max_swap_offset);
+     }
+     
+
+     sm = &swap_manager_fifo;
+     int r = sm->init();
+     
+     if (r == 0)
+     {
+          swap_init_ok = 1;
+          cprintf("SWAP: manager = %s\n", sm->name);
+          check_swap();
+     }
+
+     return r;
+}
+
+int
+swap_init_mm(struct mm_struct *mm)
+{
+     return sm->init_mm(mm);
+}
+
+int
+swap_tick_event(struct mm_struct *mm)
+{
+     return sm->tick_event(mm);
+}
+
+int
+swap_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in)
+{
+     return sm->map_swappable(mm, addr, page, swap_in);
+}
+
+int
+swap_set_unswappable(struct mm_struct *mm, uintptr_t addr)
+{
+     return sm->set_unswappable(mm, addr);
+}
+
+volatile unsigned int swap_out_num=0;
+
+int
+swap_out(struct mm_struct *mm, int n, int in_tick)
+{
+     int i;
+     for (i = 0; i != n; ++ i)
+     {
+          uintptr_t v;
+          //struct Page **ptr_page=NULL;
+          struct Page *page;
+          // cprintf("i %d, SWAP: call swap_out_victim\n",i);
+          int r = sm->swap_out_victim(mm, &page, in_tick);
+          if (r != 0) {
+                    cprintf("i %d, swap_out: call swap_out_victim failed\n",i);
+                  break;
+          }          
+          assert(!PageReserved(page));
+
+          //cprintf("SWAP: choose victim page 0x%08x\n", page);
+          
+          v=page->pra_vaddr; 
+          pte_t *ptep = get_pte(mm->pgdir, v, 0);
+          assert((*ptep & PTE_P) != 0);
+
+          if (swapfs_write( (page->pra_vaddr/PGSIZE+1)<<8, page) != 0) {
+                    cprintf("SWAP: failed to save\n");
+                    sm->map_swappable(mm, v, page, 0);
+                    continue;
+          }
+          else {
+                    cprintf("swap_out: i %d, store page in vaddr 0x%x to disk swap entry %d\n", i, v, page->pra_vaddr/PGSIZE+1);
+                    *ptep = (page->pra_vaddr/PGSIZE+1)<<8;
+                    free_page(page);
+          }
+          
+          tlb_invalidate(mm->pgdir, v);
+     }
+     return i;
+}
+
+int
+swap_in(struct mm_struct *mm, uintptr_t addr, struct Page **ptr_result)
+{
+     struct Page *result = alloc_page();
+     assert(result!=NULL);
+
+     pte_t *ptep = get_pte(mm->pgdir, addr, 0);
+     // cprintf("SWAP: load ptep %x swap entry %d to vaddr 0x%08x, page %x, No %d\n", ptep, (*ptep)>>8, addr, result, (result-pages));
+    
+     int r;
+     if ((r = swapfs_read((*ptep), result)) != 0)
+     {
+        assert(r!=0);
+     }
+     cprintf("swap_in: load disk swap entry %d with swap_page in vadr 0x%x\n", (*ptep)>>8, addr);
+     *ptr_result=result;
+     return 0;
+}
+
+
+
+static inline void
+check_content_set(void)
+{
+     *(unsigned char *)0x1000 = 0x0a;
+     assert(pgfault_num==1);
+     *(unsigned char *)0x1010 = 0x0a;
+     assert(pgfault_num==1);
+     *(unsigned char *)0x2000 = 0x0b;
+     assert(pgfault_num==2);
+     *(unsigned char *)0x2010 = 0x0b;
+     assert(pgfault_num==2);
+     *(unsigned char *)0x3000 = 0x0c;
+     assert(pgfault_num==3);
+     *(unsigned char *)0x3010 = 0x0c;
+     assert(pgfault_num==3);
+     *(unsigned char *)0x4000 = 0x0d;
+     assert(pgfault_num==4);
+     *(unsigned char *)0x4010 = 0x0d;
+     assert(pgfault_num==4);
+}
+
+static inline int
+check_content_access(void)
+{
+    int ret = sm->check_swap();
+    return ret;
+}
+
+struct Page * check_rp[CHECK_VALID_PHY_PAGE_NUM];
+pte_t * check_ptep[CHECK_VALID_PHY_PAGE_NUM];
+unsigned int check_swap_addr[CHECK_VALID_VIR_PAGE_NUM];
+
+extern free_area_t free_area;
+
+#define free_list (free_area.free_list)
+#define nr_free (free_area.nr_free)
+
+static void
+check_swap(void)
+{
+    //backup mem env
+     int ret, count = 0, total = 0, i;
+     list_entry_t *le = &free_list;
+     while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        //assert(PageProperty(p));
+        count ++, total += p->property;
+     }
+     assert(total == nr_free_pages());
+     cprintf("BEGIN check_swap: count %d, total %d\n",count,total);
+     
+     //now we set the phy pages env     
+     struct mm_struct *mm = mm_create();
+     assert(mm != NULL);
+
+     extern struct mm_struct *check_mm_struct;
+     assert(check_mm_struct == NULL);
+
+     check_mm_struct = mm;
+
+     pde_t *pgdir = mm->pgdir = boot_pgdir;
+     assert(pgdir[0] == 0);
+
+     struct vma_struct *vma = vma_create(BEING_CHECK_VALID_VADDR, CHECK_VALID_VADDR, VM_WRITE | VM_READ);
+     assert(vma != NULL);
+
+     insert_vma_struct(mm, vma);
+
+     //setup the temp Page Table vaddr 0~4MB
+     cprintf("setup Page Table for vaddr 0X1000, so alloc a page\n");
+     pte_t *temp_ptep=NULL;
+     temp_ptep = get_pte(mm->pgdir, BEING_CHECK_VALID_VADDR, 1);
+     assert(temp_ptep!= NULL);
+     cprintf("setup Page Table vaddr 0~4MB OVER!\n");
+     
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+          check_rp[i] = alloc_page();
+          assert(check_rp[i] != NULL );
+          assert(!PageProperty(check_rp[i]));
+     }
+     list_entry_t free_list_store = free_list;
+     list_init(&free_list);
+     assert(list_empty(&free_list));
+     
+     //assert(alloc_page() == NULL);
+     
+     unsigned int nr_free_store = nr_free;
+     nr_free = 0;
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+        free_pages(check_rp[i],1);
+     }
+     assert(nr_free==CHECK_VALID_PHY_PAGE_NUM);
+     
+     cprintf("set up init env for check_swap begin!\n");
+     //setup initial vir_page<->phy_page environment for page relpacement algorithm 
+
+     
+     pgfault_num=0;
+     
+     check_content_set();
+     assert( nr_free == 0);         
+     for(i = 0; i<MAX_SEQ_NO ; i++) 
+         swap_out_seq_no[i]=swap_in_seq_no[i]=-1;
+     
+     for (i= 0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+         check_ptep[i]=0;
+         check_ptep[i] = get_pte(pgdir, (i+1)*0x1000, 0);
+         //cprintf("i %d, check_ptep addr %x, value %x\n", i, check_ptep[i], *check_ptep[i]);
+         assert(check_ptep[i] != NULL);
+         assert(pte2page(*check_ptep[i]) == check_rp[i]);
+         assert((*check_ptep[i] & PTE_P));          
+     }
+     cprintf("set up init env for check_swap over!\n");
+     // now access the virt pages to test  page relpacement algorithm 
+     ret=check_content_access();
+     assert(ret==0);
+     
+     //restore kernel mem env
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+         free_pages(check_rp[i],1);
+     } 
+
+     //free_page(pte2page(*temp_ptep));
+     
+     mm_destroy(mm);
+         
+     nr_free = nr_free_store;
+     free_list = free_list_store;
+
+     
+     le = &free_list;
+     while ((le = list_next(le)) != &free_list) {
+         struct Page *p = le2page(le, page_link);
+         count --, total -= p->property;
+     }
+
+     assert(count == 0);
+     
+     cprintf("check_swap() succeeded!\n");
+}
diff --git a/code/lab4/kern/mm/swap.h b/code/lab4/kern/mm/swap.h
new file mode 100644
index 0000000..5d4aea8
--- /dev/null
+++ b/code/lab4/kern/mm/swap.h
@@ -0,0 +1,65 @@
+#ifndef __KERN_MM_SWAP_H__
+#define __KERN_MM_SWAP_H__
+
+#include <defs.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <vmm.h>
+
+/* *
+ * swap_entry_t
+ * --------------------------------------------
+ * |         offset        |   reserved   | 0 |
+ * --------------------------------------------
+ *           24 bits            7 bits    1 bit
+ * */
+
+#define MAX_SWAP_OFFSET_LIMIT                   (1 << 24)
+
+extern size_t max_swap_offset;
+
+/* *
+ * swap_offset - takes a swap_entry (saved in pte), and returns
+ * the corresponding offset in swap mem_map.
+ * */
+#define swap_offset(entry) ({                                       \
+               size_t __offset = (entry >> 8);                        \
+               if (!(__offset > 0 && __offset < max_swap_offset)) {    \
+                    panic("invalid swap_entry_t = %08x.\n", entry);    \
+               }                                                    \
+               __offset;                                            \
+          })
+
+struct swap_manager
+{
+     const char *name;
+     /* Global initialization for the swap manager */
+     int (*init)            (void);
+     /* Initialize the priv data inside mm_struct */
+     int (*init_mm)         (struct mm_struct *mm);
+     /* Called when tick interrupt occured */
+     int (*tick_event)      (struct mm_struct *mm);
+     /* Called when map a swappable page into the mm_struct */
+     int (*map_swappable)   (struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in);
+     /* When a page is marked as shared, this routine is called to
+      * delete the addr entry from the swap manager */
+     int (*set_unswappable) (struct mm_struct *mm, uintptr_t addr);
+     /* Try to swap out a page, return then victim */
+     int (*swap_out_victim) (struct mm_struct *mm, struct Page **ptr_page, int in_tick);
+     /* check the page relpacement algorithm */
+     int (*check_swap)(void);     
+};
+
+extern volatile int swap_init_ok;
+int swap_init(void);
+int swap_init_mm(struct mm_struct *mm);
+int swap_tick_event(struct mm_struct *mm);
+int swap_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in);
+int swap_set_unswappable(struct mm_struct *mm, uintptr_t addr);
+int swap_out(struct mm_struct *mm, int n, int in_tick);
+int swap_in(struct mm_struct *mm, uintptr_t addr, struct Page **ptr_result);
+
+//#define MEMBER_OFFSET(m,t) ((int)(&((t *)0)->m))
+//#define FROM_MEMBER(m,t,a) ((t *)((char *)(a) - MEMBER_OFFSET(m,t)))
+
+#endif
diff --git a/code/lab4/kern/mm/swap_fifo.c b/code/lab4/kern/mm/swap_fifo.c
new file mode 100644
index 0000000..4cb00c1
--- /dev/null
+++ b/code/lab4/kern/mm/swap_fifo.c
@@ -0,0 +1,136 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <swap.h>
+#include <swap_fifo.h>
+#include <list.h>
+
+/* [wikipedia]The simplest Page Replacement Algorithm(PRA) is a FIFO algorithm. The first-in, first-out
+ * page replacement algorithm is a low-overhead algorithm that requires little book-keeping on
+ * the part of the operating system. The idea is obvious from the name - the operating system
+ * keeps track of all the pages in memory in a queue, with the most recent arrival at the back,
+ * and the earliest arrival in front. When a page needs to be replaced, the page at the front
+ * of the queue (the oldest page) is selected. While FIFO is cheap and intuitive, it performs
+ * poorly in practical application. Thus, it is rarely used in its unmodified form. This
+ * algorithm experiences Belady's anomaly.
+ *
+ * Details of FIFO PRA
+ * (1) Prepare: In order to implement FIFO PRA, we should manage all swappable pages, so we can
+ *              link these pages into pra_list_head according the time order. At first you should
+ *              be familiar to the struct list in list.h. struct list is a simple doubly linked list
+ *              implementation. You should know howto USE: list_init, list_add(list_add_after),
+ *              list_add_before, list_del, list_next, list_prev. Another tricky method is to transform
+ *              a general list struct to a special struct (such as struct page). You can find some MACRO:
+ *              le2page (in memlayout.h), (in future labs: le2vma (in vmm.h), le2proc (in proc.h),etc.
+ */
+
+list_entry_t pra_list_head;
+/*
+ * (2) _fifo_init_mm: init pra_list_head and let  mm->sm_priv point to the addr of pra_list_head.
+ *              Now, From the memory control struct mm_struct, we can access FIFO PRA
+ */
+static int
+_fifo_init_mm(struct mm_struct *mm)
+{     
+     list_init(&pra_list_head);
+     mm->sm_priv = &pra_list_head;
+     //cprintf(" mm->sm_priv %x in fifo_init_mm\n",mm->sm_priv);
+     return 0;
+}
+/*
+ * (3)_fifo_map_swappable: According FIFO PRA, we should link the most recent arrival page at the back of pra_list_head qeueue
+ */
+static int
+_fifo_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in)
+{
+    list_entry_t *head=(list_entry_t*) mm->sm_priv;
+    list_entry_t *entry=&(page->pra_page_link);
+ 
+    assert(entry != NULL && head != NULL);
+    //record the page access situlation
+    /*LAB3 EXERCISE 2: YOUR CODE*/ 
+    //(1)link the most recent arrival page at the back of the pra_list_head qeueue.
+    return 0;
+}
+/*
+ *  (4)_fifo_swap_out_victim: According FIFO PRA, we should unlink the  earliest arrival page in front of pra_list_head qeueue,
+ *                            then set the addr of addr of this page to ptr_page.
+ */
+static int
+_fifo_swap_out_victim(struct mm_struct *mm, struct Page ** ptr_page, int in_tick)
+{
+     list_entry_t *head=(list_entry_t*) mm->sm_priv;
+         assert(head != NULL);
+     assert(in_tick==0);
+     /* Select the victim */
+     /*LAB3 EXERCISE 2: YOUR CODE*/ 
+     //(1)  unlink the  earliest arrival page in front of pra_list_head qeueue
+     //(2)  set the addr of addr of this page to ptr_page
+     return 0;
+}
+
+static int
+_fifo_check_swap(void) {
+    cprintf("write Virt Page c in fifo_check_swap\n");
+    *(unsigned char *)0x3000 = 0x0c;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page a in fifo_check_swap\n");
+    *(unsigned char *)0x1000 = 0x0a;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page d in fifo_check_swap\n");
+    *(unsigned char *)0x4000 = 0x0d;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page e in fifo_check_swap\n");
+    *(unsigned char *)0x5000 = 0x0e;
+    assert(pgfault_num==5);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==5);
+    cprintf("write Virt Page a in fifo_check_swap\n");
+    *(unsigned char *)0x1000 = 0x0a;
+    assert(pgfault_num==6);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==7);
+    cprintf("write Virt Page c in fifo_check_swap\n");
+    *(unsigned char *)0x3000 = 0x0c;
+    assert(pgfault_num==8);
+    cprintf("write Virt Page d in fifo_check_swap\n");
+    *(unsigned char *)0x4000 = 0x0d;
+    assert(pgfault_num==9);
+    return 0;
+}
+
+
+static int
+_fifo_init(void)
+{
+    return 0;
+}
+
+static int
+_fifo_set_unswappable(struct mm_struct *mm, uintptr_t addr)
+{
+    return 0;
+}
+
+static int
+_fifo_tick_event(struct mm_struct *mm)
+{ return 0; }
+
+
+struct swap_manager swap_manager_fifo =
+{
+     .name            = "fifo swap manager",
+     .init            = &_fifo_init,
+     .init_mm         = &_fifo_init_mm,
+     .tick_event      = &_fifo_tick_event,
+     .map_swappable   = &_fifo_map_swappable,
+     .set_unswappable = &_fifo_set_unswappable,
+     .swap_out_victim = &_fifo_swap_out_victim,
+     .check_swap      = &_fifo_check_swap,
+};
diff --git a/code/lab4/kern/mm/swap_fifo.h b/code/lab4/kern/mm/swap_fifo.h
new file mode 100644
index 0000000..1d74269
--- /dev/null
+++ b/code/lab4/kern/mm/swap_fifo.h
@@ -0,0 +1,7 @@
+#ifndef __KERN_MM_SWAP_FIFO_H__
+#define __KERN_MM_SWAP_FIFO_H__
+
+#include <swap.h>
+extern struct swap_manager swap_manager_fifo;
+
+#endif
diff --git a/code/lab4/kern/mm/vmm.c b/code/lab4/kern/mm/vmm.c
new file mode 100644
index 0000000..490e530
--- /dev/null
+++ b/code/lab4/kern/mm/vmm.c
@@ -0,0 +1,390 @@
+#include <vmm.h>
+#include <sync.h>
+#include <string.h>
+#include <assert.h>
+#include <stdio.h>
+#include <error.h>
+#include <pmm.h>
+#include <x86.h>
+#include <swap.h>
+#include <kmalloc.h>
+
+/* 
+  vmm design include two parts: mm_struct (mm) & vma_struct (vma)
+  mm is the memory manager for the set of continuous virtual memory  
+  area which have the same PDT. vma is a continuous virtual memory area.
+  There a linear link list for vma & a redblack link list for vma in mm.
+---------------
+  mm related functions:
+   golbal functions
+     struct mm_struct * mm_create(void)
+     void mm_destroy(struct mm_struct *mm)
+     int do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr)
+--------------
+  vma related functions:
+   global functions
+     struct vma_struct * vma_create (uintptr_t vm_start, uintptr_t vm_end,...)
+     void insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma)
+     struct vma_struct * find_vma(struct mm_struct *mm, uintptr_t addr)
+   local functions
+     inline void check_vma_overlap(struct vma_struct *prev, struct vma_struct *next)
+---------------
+   check correctness functions
+     void check_vmm(void);
+     void check_vma_struct(void);
+     void check_pgfault(void);
+*/
+
+static void check_vmm(void);
+static void check_vma_struct(void);
+static void check_pgfault(void);
+
+// mm_create -  alloc a mm_struct & initialize it.
+struct mm_struct *
+mm_create(void) {
+    struct mm_struct *mm = kmalloc(sizeof(struct mm_struct));
+
+    if (mm != NULL) {
+        list_init(&(mm->mmap_list));
+        mm->mmap_cache = NULL;
+        mm->pgdir = NULL;
+        mm->map_count = 0;
+
+        if (swap_init_ok) swap_init_mm(mm);
+        else mm->sm_priv = NULL;
+    }
+    return mm;
+}
+
+// vma_create - alloc a vma_struct & initialize it. (addr range: vm_start~vm_end)
+struct vma_struct *
+vma_create(uintptr_t vm_start, uintptr_t vm_end, uint32_t vm_flags) {
+    struct vma_struct *vma = kmalloc(sizeof(struct vma_struct));
+
+    if (vma != NULL) {
+        vma->vm_start = vm_start;
+        vma->vm_end = vm_end;
+        vma->vm_flags = vm_flags;
+    }
+    return vma;
+}
+
+
+// find_vma - find a vma  (vma->vm_start <= addr <= vma_vm_end)
+struct vma_struct *
+find_vma(struct mm_struct *mm, uintptr_t addr) {
+    struct vma_struct *vma = NULL;
+    if (mm != NULL) {
+        vma = mm->mmap_cache;
+        if (!(vma != NULL && vma->vm_start <= addr && vma->vm_end > addr)) {
+                bool found = 0;
+                list_entry_t *list = &(mm->mmap_list), *le = list;
+                while ((le = list_next(le)) != list) {
+                    vma = le2vma(le, list_link);
+                    if (addr < vma->vm_end) {
+                        found = 1;
+                        break;
+                    }
+                }
+                if (!found) {
+                    vma = NULL;
+                }
+        }
+        if (vma != NULL) {
+            mm->mmap_cache = vma;
+        }
+    }
+    return vma;
+}
+
+
+// check_vma_overlap - check if vma1 overlaps vma2 ?
+static inline void
+check_vma_overlap(struct vma_struct *prev, struct vma_struct *next) {
+    assert(prev->vm_start < prev->vm_end);
+    assert(prev->vm_end <= next->vm_start);
+    assert(next->vm_start < next->vm_end);
+}
+
+
+// insert_vma_struct -insert vma in mm's list link
+void
+insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma) {
+    assert(vma->vm_start < vma->vm_end);
+    list_entry_t *list = &(mm->mmap_list);
+    list_entry_t *le_prev = list, *le_next;
+
+        list_entry_t *le = list;
+        while ((le = list_next(le)) != list) {
+            struct vma_struct *mmap_prev = le2vma(le, list_link);
+            if (mmap_prev->vm_start > vma->vm_start) {
+                break;
+            }
+            le_prev = le;
+        }
+
+    le_next = list_next(le_prev);
+
+    /* check overlap */
+    if (le_prev != list) {
+        check_vma_overlap(le2vma(le_prev, list_link), vma);
+    }
+    if (le_next != list) {
+        check_vma_overlap(vma, le2vma(le_next, list_link));
+    }
+
+    vma->vm_mm = mm;
+    list_add_after(le_prev, &(vma->list_link));
+
+    mm->map_count ++;
+}
+
+// mm_destroy - free mm and mm internal fields
+void
+mm_destroy(struct mm_struct *mm) {
+
+    list_entry_t *list = &(mm->mmap_list), *le;
+    while ((le = list_next(list)) != list) {
+        list_del(le);
+        kfree(le2vma(le, list_link));  //kfree vma        
+    }
+    kfree(mm); //kfree mm
+    mm=NULL;
+}
+
+// vmm_init - initialize virtual memory management
+//          - now just call check_vmm to check correctness of vmm
+void
+vmm_init(void) {
+    check_vmm();
+}
+
+// check_vmm - check correctness of vmm
+static void
+check_vmm(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+    
+    check_vma_struct();
+    check_pgfault();
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_vmm() succeeded.\n");
+}
+
+static void
+check_vma_struct(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+
+    struct mm_struct *mm = mm_create();
+    assert(mm != NULL);
+
+    int step1 = 10, step2 = step1 * 10;
+
+    int i;
+    for (i = step1; i >= 0; i --) {
+        struct vma_struct *vma = vma_create(i * 5, i * 5 + 2, 0);
+        assert(vma != NULL);
+        insert_vma_struct(mm, vma);
+    }
+
+    for (i = step1 + 1; i <= step2; i ++) {
+        struct vma_struct *vma = vma_create(i * 5, i * 5 + 2, 0);
+        assert(vma != NULL);
+        insert_vma_struct(mm, vma);
+    }
+
+    list_entry_t *le = list_next(&(mm->mmap_list));
+
+    for (i = 0; i <= step2; i ++) {
+        assert(le != &(mm->mmap_list));
+        struct vma_struct *mmap = le2vma(le, list_link);
+        assert(mmap->vm_start == i * 5 && mmap->vm_end == i * 5 + 2);
+        le = list_next(le);
+    }
+
+    for (i = 0; i < 5 * step2 + 2; i ++) {
+        struct vma_struct *vma = find_vma(mm, i);
+        assert(vma != NULL);
+        int j = i / 5;
+        if (i >= 5 * j + 2) {
+            j ++;
+        }
+        assert(vma->vm_start == j * 5 && vma->vm_end == j * 5 + 2);
+    }
+
+    mm_destroy(mm);
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_vma_struct() succeeded!\n");
+}
+
+struct mm_struct *check_mm_struct;
+
+// check_pgfault - check correctness of pgfault handler
+static void
+check_pgfault(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+
+    check_mm_struct = mm_create();
+    assert(check_mm_struct != NULL);
+
+    struct mm_struct *mm = check_mm_struct;
+    pde_t *pgdir = mm->pgdir = boot_pgdir;
+    assert(pgdir[0] == 0);
+
+    struct vma_struct *vma = vma_create(0, PTSIZE, VM_WRITE);
+    assert(vma != NULL);
+
+    insert_vma_struct(mm, vma);
+
+    uintptr_t addr = 0x100;
+    assert(find_vma(mm, addr) == vma);
+
+    int i, sum = 0;
+    for (i = 0; i < 100; i ++) {
+        *(char *)(addr + i) = i;
+        sum += i;
+    }
+    for (i = 0; i < 100; i ++) {
+        sum -= *(char *)(addr + i);
+    }
+    assert(sum == 0);
+
+    page_remove(pgdir, ROUNDDOWN(addr, PGSIZE));
+    free_page(pa2page(pgdir[0]));
+    pgdir[0] = 0;
+
+    mm->pgdir = NULL;
+    mm_destroy(mm);
+    check_mm_struct = NULL;
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_pgfault() succeeded!\n");
+}
+//page fault number
+volatile unsigned int pgfault_num=0;
+
+/* do_pgfault - interrupt handler to process the page fault execption
+ * @mm         : the control struct for a set of vma using the same PDT
+ * @error_code : the error code recorded in trapframe->tf_err which is setted by x86 hardware
+ * @addr       : the addr which causes a memory access exception, (the contents of the CR2 register)
+ *
+ * CALL GRAPH: trap--> trap_dispatch-->pgfault_handler-->do_pgfault
+ * The processor provides ucore's do_pgfault function with two items of information to aid in diagnosing
+ * the exception and recovering from it.
+ *   (1) The contents of the CR2 register. The processor loads the CR2 register with the
+ *       32-bit linear address that generated the exception. The do_pgfault fun can
+ *       use this address to locate the corresponding page directory and page-table
+ *       entries.
+ *   (2) An error code on the kernel stack. The error code for a page fault has a format different from
+ *       that for other exceptions. The error code tells the exception handler three things:
+ *         -- The P flag   (bit 0) indicates whether the exception was due to a not-present page (0)
+ *            or to either an access rights violation or the use of a reserved bit (1).
+ *         -- The W/R flag (bit 1) indicates whether the memory access that caused the exception
+ *            was a read (0) or write (1).
+ *         -- The U/S flag (bit 2) indicates whether the processor was executing at user mode (1)
+ *            or supervisor mode (0) at the time of the exception.
+ */
+int
+do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr) {
+    int ret = -E_INVAL;
+    //try to find a vma which include addr
+    struct vma_struct *vma = find_vma(mm, addr);
+
+    pgfault_num++;
+    //If the addr is in the range of a mm's vma?
+    if (vma == NULL || vma->vm_start > addr) {
+        cprintf("not valid addr %x, and  can not find it in vma\n", addr);
+        goto failed;
+    }
+    //check the error_code
+    switch (error_code & 3) {
+    default:
+            /* error code flag : default is 3 ( W/R=1, P=1): write, present */
+    case 2: /* error code flag : (W/R=1, P=0): write, not present */
+        if (!(vma->vm_flags & VM_WRITE)) {
+            cprintf("do_pgfault failed: error code flag = write AND not present, but the addr's vma cannot write\n");
+            goto failed;
+        }
+        break;
+    case 1: /* error code flag : (W/R=0, P=1): read, present */
+        cprintf("do_pgfault failed: error code flag = read AND present\n");
+        goto failed;
+    case 0: /* error code flag : (W/R=0, P=0): read, not present */
+        if (!(vma->vm_flags & (VM_READ | VM_EXEC))) {
+            cprintf("do_pgfault failed: error code flag = read AND not present, but the addr's vma cannot read or exec\n");
+            goto failed;
+        }
+    }
+    /* IF (write an existed addr ) OR
+     *    (write an non_existed addr && addr is writable) OR
+     *    (read  an non_existed addr && addr is readable)
+     * THEN
+     *    continue process
+     */
+    uint32_t perm = PTE_U;
+    if (vma->vm_flags & VM_WRITE) {
+        perm |= PTE_W;
+    }
+    addr = ROUNDDOWN(addr, PGSIZE);
+
+    ret = -E_NO_MEM;
+
+    pte_t *ptep=NULL;
+    /*LAB3 EXERCISE 1: YOUR CODE
+    * Maybe you want help comment, BELOW comments can help you finish the code
+    *
+    * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+    * MACROs or Functions:
+    *   get_pte : get an pte and return the kernel virtual address of this pte for la
+    *             if the PT contians this pte didn't exist, alloc a page for PT (notice the 3th parameter '1')
+    *   pgdir_alloc_page : call alloc_page & page_insert functions to allocate a page size memory & setup
+    *             an addr map pa<--->la with linear address la and the PDT pgdir
+    * DEFINES:
+    *   VM_WRITE  : If vma->vm_flags & VM_WRITE == 1/0, then the vma is writable/non writable
+    *   PTE_W           0x002                   // page table/directory entry flags bit : Writeable
+    *   PTE_U           0x004                   // page table/directory entry flags bit : User can access
+    * VARIABLES:
+    *   mm->pgdir : the PDT of these vma
+    *
+    */
+#if 0
+    /*LAB3 EXERCISE 1: YOUR CODE*/
+    ptep = ???              //(1) try to find a pte, if pte's PT(Page Table) isn't existed, then create a PT.
+    if (*ptep == 0) {
+                            //(2) if the phy addr isn't exist, then alloc a page & map the phy addr with logical addr
+
+    }
+    else {
+    /*LAB3 EXERCISE 2: YOUR CODE
+    * Now we think this pte is a  swap entry, we should load data from disk to a page with phy addr,
+    * and map the phy addr with logical addr, trigger swap manager to record the access situation of this page.
+    *
+    *  Some Useful MACROs and DEFINEs, you can use them in below implementation.
+    *  MACROs or Functions:
+    *    swap_in(mm, addr, &page) : alloc a memory page, then according to the swap entry in PTE for addr,
+    *                               find the addr of disk page, read the content of disk page into this memroy page
+    *    page_insert : build the map of phy addr of an Page with the linear addr la
+    *    swap_map_swappable : set the page swappable
+    */
+        if(swap_init_ok) {
+            struct Page *page=NULL;
+                                    //(1)According to the mm AND addr, try to load the content of right disk page
+                                    //    into the memory which page managed.
+                                    //(2) According to the mm, addr AND page, setup the map of phy addr <---> logical addr
+                                    //(3) make the page swappable.
+        }
+        else {
+            cprintf("no swap_init_ok but ptep is %x, failed\n",*ptep);
+            goto failed;
+        }
+   }
+#endif
+   ret = 0;
+failed:
+    return ret;
+}
+
diff --git a/code/lab4/kern/mm/vmm.h b/code/lab4/kern/mm/vmm.h
new file mode 100644
index 0000000..6b93b6a
--- /dev/null
+++ b/code/lab4/kern/mm/vmm.h
@@ -0,0 +1,51 @@
+#ifndef __KERN_MM_VMM_H__
+#define __KERN_MM_VMM_H__
+
+#include <defs.h>
+#include <list.h>
+#include <memlayout.h>
+#include <sync.h>
+
+//pre define
+struct mm_struct;
+
+// the virtual continuous memory area(vma)
+struct vma_struct {
+    struct mm_struct *vm_mm; // the set of vma using the same PDT 
+    uintptr_t vm_start;      //    start addr of vma    
+    uintptr_t vm_end;        // end addr of vma
+    uint32_t vm_flags;       // flags of vma
+    list_entry_t list_link;  // linear list link which sorted by start addr of vma
+};
+
+#define le2vma(le, member)                  \
+    to_struct((le), struct vma_struct, member)
+
+#define VM_READ                 0x00000001
+#define VM_WRITE                0x00000002
+#define VM_EXEC                 0x00000004
+
+// the control struct for a set of vma using the same PDT
+struct mm_struct {
+    list_entry_t mmap_list;        // linear list link which sorted by start addr of vma
+    struct vma_struct *mmap_cache; // current accessed vma, used for speed purpose
+    pde_t *pgdir;                  // the PDT of these vma
+    int map_count;                 // the count of these vma
+    void *sm_priv;                 // the private data for swap manager
+};
+
+struct vma_struct *find_vma(struct mm_struct *mm, uintptr_t addr);
+struct vma_struct *vma_create(uintptr_t vm_start, uintptr_t vm_end, uint32_t vm_flags);
+void insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma);
+
+struct mm_struct *mm_create(void);
+void mm_destroy(struct mm_struct *mm);
+
+void vmm_init(void);
+
+int do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr);
+
+extern volatile unsigned int pgfault_num;
+extern struct mm_struct *check_mm_struct;
+#endif /* !__KERN_MM_VMM_H__ */
+
diff --git a/code/lab4/kern/process/entry.S b/code/lab4/kern/process/entry.S
new file mode 100644
index 0000000..7482e23
--- /dev/null
+++ b/code/lab4/kern/process/entry.S
@@ -0,0 +1,10 @@
+.text
+.globl kernel_thread_entry
+kernel_thread_entry:        # void kernel_thread(void)
+
+    pushl %edx              # push arg
+    call *%ebx              # call fn
+
+    pushl %eax              # save the return value of fn(arg)
+    call do_exit            # call do_exit to terminate current thread
+
diff --git a/code/lab4/kern/process/proc.c b/code/lab4/kern/process/proc.c
new file mode 100644
index 0000000..9c0b0e3
--- /dev/null
+++ b/code/lab4/kern/process/proc.c
@@ -0,0 +1,372 @@
+#include <proc.h>
+#include <kmalloc.h>
+#include <string.h>
+#include <sync.h>
+#include <pmm.h>
+#include <error.h>
+#include <sched.h>
+#include <elf.h>
+#include <vmm.h>
+#include <trap.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+
+/* ------------- process/thread mechanism design&implementation -------------
+(an simplified Linux process/thread mechanism )
+introduction:
+  ucore implements a simple process/thread mechanism. process contains the independent memory sapce, at least one threads
+for execution, the kernel data(for management), processor state (for context switch), files(in lab6), etc. ucore needs to
+manage all these details efficiently. In ucore, a thread is just a special kind of process(share process's memory).
+------------------------------
+process state       :     meaning               -- reason
+    PROC_UNINIT     :   uninitialized           -- alloc_proc
+    PROC_SLEEPING   :   sleeping                -- try_free_pages, do_wait, do_sleep
+    PROC_RUNNABLE   :   runnable(maybe running) -- proc_init, wakeup_proc, 
+    PROC_ZOMBIE     :   almost dead             -- do_exit
+
+-----------------------------
+process state changing:
+                                            
+  alloc_proc                                 RUNNING
+      +                                   +--<----<--+
+      +                                   + proc_run +
+      V                                   +-->---->--+ 
+PROC_UNINIT -- proc_init/wakeup_proc --> PROC_RUNNABLE -- try_free_pages/do_wait/do_sleep --> PROC_SLEEPING --
+                                           A      +                                                           +
+                                           |      +--- do_exit --> PROC_ZOMBIE                                +
+                                           +                                                                  + 
+                                           -----------------------wakeup_proc----------------------------------
+-----------------------------
+process relations
+parent:           proc->parent  (proc is children)
+children:         proc->cptr    (proc is parent)
+older sibling:    proc->optr    (proc is younger sibling)
+younger sibling:  proc->yptr    (proc is older sibling)
+-----------------------------
+related syscall for process:
+SYS_exit        : process exit,                           -->do_exit
+SYS_fork        : create child process, dup mm            -->do_fork-->wakeup_proc
+SYS_wait        : wait process                            -->do_wait
+SYS_exec        : after fork, process execute a program   -->load a program and refresh the mm
+SYS_clone       : create child thread                     -->do_fork-->wakeup_proc
+SYS_yield       : process flag itself need resecheduling, -- proc->need_sched=1, then scheduler will rescheule this process
+SYS_sleep       : process sleep                           -->do_sleep 
+SYS_kill        : kill process                            -->do_kill-->proc->flags |= PF_EXITING
+                                                                 -->wakeup_proc-->do_wait-->do_exit   
+SYS_getpid      : get the process's pid
+
+*/
+
+// the process set's list
+list_entry_t proc_list;
+
+#define HASH_SHIFT          10
+#define HASH_LIST_SIZE      (1 << HASH_SHIFT)
+#define pid_hashfn(x)       (hash32(x, HASH_SHIFT))
+
+// has list for process set based on pid
+static list_entry_t hash_list[HASH_LIST_SIZE];
+
+// idle proc
+struct proc_struct *idleproc = NULL;
+// init proc
+struct proc_struct *initproc = NULL;
+// current proc
+struct proc_struct *current = NULL;
+
+static int nr_process = 0;
+
+void kernel_thread_entry(void);
+void forkrets(struct trapframe *tf);
+void switch_to(struct context *from, struct context *to);
+
+// alloc_proc - alloc a proc_struct and init all fields of proc_struct
+static struct proc_struct *
+alloc_proc(void) {
+    struct proc_struct *proc = kmalloc(sizeof(struct proc_struct));
+    if (proc != NULL) {
+    //LAB4:EXERCISE1 YOUR CODE
+    /*
+     * below fields in proc_struct need to be initialized
+     *       enum proc_state state;                      // Process state
+     *       int pid;                                    // Process ID
+     *       int runs;                                   // the running times of Proces
+     *       uintptr_t kstack;                           // Process kernel stack
+     *       volatile bool need_resched;                 // bool value: need to be rescheduled to release CPU?
+     *       struct proc_struct *parent;                 // the parent process
+     *       struct mm_struct *mm;                       // Process's memory management field
+     *       struct context context;                     // Switch here to run process
+     *       struct trapframe *tf;                       // Trap frame for current interrupt
+     *       uintptr_t cr3;                              // CR3 register: the base addr of Page Directroy Table(PDT)
+     *       uint32_t flags;                             // Process flag
+     *       char name[PROC_NAME_LEN + 1];               // Process name
+     */
+    }
+    return proc;
+}
+
+// set_proc_name - set the name of proc
+char *
+set_proc_name(struct proc_struct *proc, const char *name) {
+    memset(proc->name, 0, sizeof(proc->name));
+    return memcpy(proc->name, name, PROC_NAME_LEN);
+}
+
+// get_proc_name - get the name of proc
+char *
+get_proc_name(struct proc_struct *proc) {
+    static char name[PROC_NAME_LEN + 1];
+    memset(name, 0, sizeof(name));
+    return memcpy(name, proc->name, PROC_NAME_LEN);
+}
+
+// get_pid - alloc a unique pid for process
+static int
+get_pid(void) {
+    static_assert(MAX_PID > MAX_PROCESS);
+    struct proc_struct *proc;
+    list_entry_t *list = &proc_list, *le;
+    static int next_safe = MAX_PID, last_pid = MAX_PID;
+    if (++ last_pid >= MAX_PID) {
+        last_pid = 1;
+        goto inside;
+    }
+    if (last_pid >= next_safe) {
+    inside:
+        next_safe = MAX_PID;
+    repeat:
+        le = list;
+        while ((le = list_next(le)) != list) {
+            proc = le2proc(le, list_link);
+            if (proc->pid == last_pid) {
+                if (++ last_pid >= next_safe) {
+                    if (last_pid >= MAX_PID) {
+                        last_pid = 1;
+                    }
+                    next_safe = MAX_PID;
+                    goto repeat;
+                }
+            }
+            else if (proc->pid > last_pid && next_safe > proc->pid) {
+                next_safe = proc->pid;
+            }
+        }
+    }
+    return last_pid;
+}
+
+// proc_run - make process "proc" running on cpu
+// NOTE: before call switch_to, should load  base addr of "proc"'s new PDT
+void
+proc_run(struct proc_struct *proc) {
+    if (proc != current) {
+        bool intr_flag;
+        struct proc_struct *prev = current, *next = proc;
+        local_intr_save(intr_flag);
+        {
+            current = proc;
+            load_esp0(next->kstack + KSTACKSIZE);
+            lcr3(next->cr3);
+            switch_to(&(prev->context), &(next->context));
+        }
+        local_intr_restore(intr_flag);
+    }
+}
+
+// forkret -- the first kernel entry point of a new thread/process
+// NOTE: the addr of forkret is setted in copy_thread function
+//       after switch_to, the current proc will execute here.
+static void
+forkret(void) {
+    forkrets(current->tf);
+}
+
+// hash_proc - add proc into proc hash_list
+static void
+hash_proc(struct proc_struct *proc) {
+    list_add(hash_list + pid_hashfn(proc->pid), &(proc->hash_link));
+}
+
+// find_proc - find proc frome proc hash_list according to pid
+struct proc_struct *
+find_proc(int pid) {
+    if (0 < pid && pid < MAX_PID) {
+        list_entry_t *list = hash_list + pid_hashfn(pid), *le = list;
+        while ((le = list_next(le)) != list) {
+            struct proc_struct *proc = le2proc(le, hash_link);
+            if (proc->pid == pid) {
+                return proc;
+            }
+        }
+    }
+    return NULL;
+}
+
+// kernel_thread - create a kernel thread using "fn" function
+// NOTE: the contents of temp trapframe tf will be copied to 
+//       proc->tf in do_fork-->copy_thread function
+int
+kernel_thread(int (*fn)(void *), void *arg, uint32_t clone_flags) {
+    struct trapframe tf;
+    memset(&tf, 0, sizeof(struct trapframe));
+    tf.tf_cs = KERNEL_CS;
+    tf.tf_ds = tf.tf_es = tf.tf_ss = KERNEL_DS;
+    tf.tf_regs.reg_ebx = (uint32_t)fn;
+    tf.tf_regs.reg_edx = (uint32_t)arg;
+    tf.tf_eip = (uint32_t)kernel_thread_entry;
+    return do_fork(clone_flags | CLONE_VM, 0, &tf);
+}
+
+// setup_kstack - alloc pages with size KSTACKPAGE as process kernel stack
+static int
+setup_kstack(struct proc_struct *proc) {
+    struct Page *page = alloc_pages(KSTACKPAGE);
+    if (page != NULL) {
+        proc->kstack = (uintptr_t)page2kva(page);
+        return 0;
+    }
+    return -E_NO_MEM;
+}
+
+// put_kstack - free the memory space of process kernel stack
+static void
+put_kstack(struct proc_struct *proc) {
+    free_pages(kva2page((void *)(proc->kstack)), KSTACKPAGE);
+}
+
+// copy_mm - process "proc" duplicate OR share process "current"'s mm according clone_flags
+//         - if clone_flags & CLONE_VM, then "share" ; else "duplicate"
+static int
+copy_mm(uint32_t clone_flags, struct proc_struct *proc) {
+    assert(current->mm == NULL);
+    /* do nothing in this project */
+    return 0;
+}
+
+// copy_thread - setup the trapframe on the  process's kernel stack top and
+//             - setup the kernel entry point and stack of process
+static void
+copy_thread(struct proc_struct *proc, uintptr_t esp, struct trapframe *tf) {
+    proc->tf = (struct trapframe *)(proc->kstack + KSTACKSIZE) - 1;
+    *(proc->tf) = *tf;
+    proc->tf->tf_regs.reg_eax = 0;
+    proc->tf->tf_esp = esp;
+    proc->tf->tf_eflags |= FL_IF;
+
+    proc->context.eip = (uintptr_t)forkret;
+    proc->context.esp = (uintptr_t)(proc->tf);
+}
+
+/* do_fork -     parent process for a new child process
+ * @clone_flags: used to guide how to clone the child process
+ * @stack:       the parent's user stack pointer. if stack==0, It means to fork a kernel thread.
+ * @tf:          the trapframe info, which will be copied to child process's proc->tf
+ */
+int
+do_fork(uint32_t clone_flags, uintptr_t stack, struct trapframe *tf) {
+    int ret = -E_NO_FREE_PROC;
+    struct proc_struct *proc;
+    if (nr_process >= MAX_PROCESS) {
+        goto fork_out;
+    }
+    ret = -E_NO_MEM;
+    //LAB4:EXERCISE2 YOUR CODE
+    /*
+     * Some Useful MACROs, Functions and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   alloc_proc:   create a proc struct and init fields (lab4:exercise1)
+     *   setup_kstack: alloc pages with size KSTACKPAGE as process kernel stack
+     *   copy_mm:      process "proc" duplicate OR share process "current"'s mm according clone_flags
+     *                 if clone_flags & CLONE_VM, then "share" ; else "duplicate"
+     *   copy_thread:  setup the trapframe on the  process's kernel stack top and
+     *                 setup the kernel entry point and stack of process
+     *   hash_proc:    add proc into proc hash_list
+     *   get_pid:      alloc a unique pid for process
+     *   wakup_proc:   set proc->state = PROC_RUNNABLE
+     * VARIABLES:
+     *   proc_list:    the process set's list
+     *   nr_process:   the number of process set
+     */
+
+    //    1. call alloc_proc to allocate a proc_struct
+    //    2. call setup_kstack to allocate a kernel stack for child process
+    //    3. call copy_mm to dup OR share mm according clone_flag
+    //    4. call copy_thread to setup tf & context in proc_struct
+    //    5. insert proc_struct into hash_list && proc_list
+    //    6. call wakup_proc to make the new child process RUNNABLE
+    //    7. set ret vaule using child proc's pid
+fork_out:
+    return ret;
+
+bad_fork_cleanup_kstack:
+    put_kstack(proc);
+bad_fork_cleanup_proc:
+    kfree(proc);
+    goto fork_out;
+}
+
+// do_exit - called by sys_exit
+//   1. call exit_mmap & put_pgdir & mm_destroy to free the almost all memory space of process
+//   2. set process' state as PROC_ZOMBIE, then call wakeup_proc(parent) to ask parent reclaim itself.
+//   3. call scheduler to switch to other process
+int
+do_exit(int error_code) {
+    panic("process exit!!.\n");
+}
+
+// init_main - the second kernel thread used to create user_main kernel threads
+static int
+init_main(void *arg) {
+    cprintf("this initproc, pid = %d, name = \"%s\"\n", current->pid, get_proc_name(current));
+    cprintf("To U: \"%s\".\n", (const char *)arg);
+    cprintf("To U: \"en.., Bye, Bye. :)\"\n");
+    return 0;
+}
+
+// proc_init - set up the first kernel thread idleproc "idle" by itself and 
+//           - create the second kernel thread init_main
+void
+proc_init(void) {
+    int i;
+
+    list_init(&proc_list);
+    for (i = 0; i < HASH_LIST_SIZE; i ++) {
+        list_init(hash_list + i);
+    }
+
+    if ((idleproc = alloc_proc()) == NULL) {
+        panic("cannot alloc idleproc.\n");
+    }
+
+    idleproc->pid = 0;
+    idleproc->state = PROC_RUNNABLE;
+    idleproc->kstack = (uintptr_t)bootstack;
+    idleproc->need_resched = 1;
+    set_proc_name(idleproc, "idle");
+    nr_process ++;
+
+    current = idleproc;
+
+    int pid = kernel_thread(init_main, "Hello world!!", 0);
+    if (pid <= 0) {
+        panic("create init_main failed.\n");
+    }
+
+    initproc = find_proc(pid);
+    set_proc_name(initproc, "init");
+
+    assert(idleproc != NULL && idleproc->pid == 0);
+    assert(initproc != NULL && initproc->pid == 1);
+}
+
+// cpu_idle - at the end of kern_init, the first kernel thread idleproc will do below works
+void
+cpu_idle(void) {
+    while (1) {
+        if (current->need_resched) {
+            schedule();
+        }
+    }
+}
+
diff --git a/code/lab4/kern/process/proc.h b/code/lab4/kern/process/proc.h
new file mode 100644
index 0000000..1835f2b
--- /dev/null
+++ b/code/lab4/kern/process/proc.h
@@ -0,0 +1,77 @@
+#ifndef __KERN_PROCESS_PROC_H__
+#define __KERN_PROCESS_PROC_H__
+
+#include <defs.h>
+#include <list.h>
+#include <trap.h>
+#include <memlayout.h>
+
+
+// process's state in his life cycle
+enum proc_state {
+    PROC_UNINIT = 0,  // uninitialized
+    PROC_SLEEPING,    // sleeping
+    PROC_RUNNABLE,    // runnable(maybe running)
+    PROC_ZOMBIE,      // almost dead, and wait parent proc to reclaim his resource
+};
+
+// Saved registers for kernel context switches.
+// Don't need to save all the %fs etc. segment registers,
+// because they are constant across kernel contexts.
+// Save all the regular registers so we don't need to care
+// which are caller save, but not the return register %eax.
+// (Not saving %eax just simplifies the switching code.)
+// The layout of context must match code in switch.S.
+struct context {
+    uint32_t eip;
+    uint32_t esp;
+    uint32_t ebx;
+    uint32_t ecx;
+    uint32_t edx;
+    uint32_t esi;
+    uint32_t edi;
+    uint32_t ebp;
+};
+
+#define PROC_NAME_LEN               15
+#define MAX_PROCESS                 4096
+#define MAX_PID                     (MAX_PROCESS * 2)
+
+extern list_entry_t proc_list;
+
+struct proc_struct {
+    enum proc_state state;                      // Process state
+    int pid;                                    // Process ID
+    int runs;                                   // the running times of Proces
+    uintptr_t kstack;                           // Process kernel stack
+    volatile bool need_resched;                 // bool value: need to be rescheduled to release CPU?
+    struct proc_struct *parent;                 // the parent process
+    struct mm_struct *mm;                       // Process's memory management field
+    struct context context;                     // Switch here to run process
+    struct trapframe *tf;                       // Trap frame for current interrupt
+    uintptr_t cr3;                              // CR3 register: the base addr of Page Directroy Table(PDT)
+    uint32_t flags;                             // Process flag
+    char name[PROC_NAME_LEN + 1];               // Process name
+    list_entry_t list_link;                     // Process link list 
+    list_entry_t hash_link;                     // Process hash list
+};
+
+#define le2proc(le, member)         \
+    to_struct((le), struct proc_struct, member)
+
+extern struct proc_struct *idleproc, *initproc, *current;
+
+void proc_init(void);
+void proc_run(struct proc_struct *proc);
+int kernel_thread(int (*fn)(void *), void *arg, uint32_t clone_flags);
+
+char *set_proc_name(struct proc_struct *proc, const char *name);
+char *get_proc_name(struct proc_struct *proc);
+void cpu_idle(void) __attribute__((noreturn));
+
+struct proc_struct *find_proc(int pid);
+int do_fork(uint32_t clone_flags, uintptr_t stack, struct trapframe *tf);
+int do_exit(int error_code);
+
+#endif /* !__KERN_PROCESS_PROC_H__ */
+
diff --git a/code/lab4/kern/process/switch.S b/code/lab4/kern/process/switch.S
new file mode 100644
index 0000000..27b4c8c
--- /dev/null
+++ b/code/lab4/kern/process/switch.S
@@ -0,0 +1,30 @@
+.text
+.globl switch_to
+switch_to:                      # switch_to(from, to)
+
+    # save from's registers
+    movl 4(%esp), %eax          # eax points to from
+    popl 0(%eax)                # save eip !popl
+    movl %esp, 4(%eax)
+    movl %ebx, 8(%eax)
+    movl %ecx, 12(%eax)
+    movl %edx, 16(%eax)
+    movl %esi, 20(%eax)
+    movl %edi, 24(%eax)
+    movl %ebp, 28(%eax)
+
+    # restore to's registers
+    movl 4(%esp), %eax          # not 8(%esp): popped return address already
+                                # eax now points to to
+    movl 28(%eax), %ebp
+    movl 24(%eax), %edi
+    movl 20(%eax), %esi
+    movl 16(%eax), %edx
+    movl 12(%eax), %ecx
+    movl 8(%eax), %ebx
+    movl 4(%eax), %esp
+
+    pushl 0(%eax)               # push eip
+
+    ret
+
diff --git a/code/lab4/kern/schedule/sched.c b/code/lab4/kern/schedule/sched.c
new file mode 100644
index 0000000..8c8c1a8
--- /dev/null
+++ b/code/lab4/kern/schedule/sched.c
@@ -0,0 +1,41 @@
+#include <list.h>
+#include <sync.h>
+#include <proc.h>
+#include <sched.h>
+#include <assert.h>
+
+void
+wakeup_proc(struct proc_struct *proc) {
+    assert(proc->state != PROC_ZOMBIE && proc->state != PROC_RUNNABLE);
+    proc->state = PROC_RUNNABLE;
+}
+
+void
+schedule(void) {
+    bool intr_flag;
+    list_entry_t *le, *last;
+    struct proc_struct *next = NULL;
+    local_intr_save(intr_flag);
+    {
+        current->need_resched = 0;
+        last = (current == idleproc) ? &proc_list : &(current->list_link);
+        le = last;
+        do {
+            if ((le = list_next(le)) != &proc_list) {
+                next = le2proc(le, list_link);
+                if (next->state == PROC_RUNNABLE) {
+                    break;
+                }
+            }
+        } while (le != last);
+        if (next == NULL || next->state != PROC_RUNNABLE) {
+            next = idleproc;
+        }
+        next->runs ++;
+        if (next != current) {
+            proc_run(next);
+        }
+    }
+    local_intr_restore(intr_flag);
+}
+
diff --git a/code/lab4/kern/schedule/sched.h b/code/lab4/kern/schedule/sched.h
new file mode 100644
index 0000000..ed1fc6e
--- /dev/null
+++ b/code/lab4/kern/schedule/sched.h
@@ -0,0 +1,10 @@
+#ifndef __KERN_SCHEDULE_SCHED_H__
+#define __KERN_SCHEDULE_SCHED_H__
+
+#include <proc.h>
+
+void schedule(void);
+void wakeup_proc(struct proc_struct *proc);
+
+#endif /* !__KERN_SCHEDULE_SCHED_H__ */
+
diff --git a/code/lab4/kern/sync/sync.h b/code/lab4/kern/sync/sync.h
new file mode 100644
index 0000000..9653377
--- /dev/null
+++ b/code/lab4/kern/sync/sync.h
@@ -0,0 +1,28 @@
+#ifndef __KERN_SYNC_SYNC_H__
+#define __KERN_SYNC_SYNC_H__
+
+#include <x86.h>
+#include <intr.h>
+#include <mmu.h>
+
+static inline bool
+__intr_save(void) {
+    if (read_eflags() & FL_IF) {
+        intr_disable();
+        return 1;
+    }
+    return 0;
+}
+
+static inline void
+__intr_restore(bool flag) {
+    if (flag) {
+        intr_enable();
+    }
+}
+
+#define local_intr_save(x)      do { x = __intr_save(); } while (0)
+#define local_intr_restore(x)   __intr_restore(x);
+
+#endif /* !__KERN_SYNC_SYNC_H__ */
+
diff --git a/code/lab4/kern/trap/trap.c b/code/lab4/kern/trap/trap.c
new file mode 100644
index 0000000..90f266e
--- /dev/null
+++ b/code/lab4/kern/trap/trap.c
@@ -0,0 +1,226 @@
+#include <defs.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <clock.h>
+#include <trap.h>
+#include <x86.h>
+#include <stdio.h>
+#include <assert.h>
+#include <console.h>
+#include <vmm.h>
+#include <swap.h>
+#include <kdebug.h>
+
+#define TICK_NUM 100
+
+static void print_ticks() {
+    cprintf("%d ticks\n",TICK_NUM);
+#ifdef DEBUG_GRADE
+    cprintf("End of Test.\n");
+    panic("EOT: kernel seems ok.");
+#endif
+}
+
+/* *
+ * Interrupt descriptor table:
+ *
+ * Must be built at run time because shifted function addresses can't
+ * be represented in relocation records.
+ * */
+static struct gatedesc idt[256] = {{0}};
+
+static struct pseudodesc idt_pd = {
+    sizeof(idt) - 1, (uintptr_t)idt
+};
+
+/* idt_init - initialize IDT to each of the entry points in kern/trap/vectors.S */
+void
+idt_init(void) {
+     /* LAB1 YOUR CODE : STEP 2 */
+     /* (1) Where are the entry addrs of each Interrupt Service Routine (ISR)?
+      *     All ISR's entry addrs are stored in __vectors. where is uintptr_t __vectors[] ?
+      *     __vectors[] is in kern/trap/vector.S which is produced by tools/vector.c
+      *     (try "make" command in lab1, then you will find vector.S in kern/trap DIR)
+      *     You can use  "extern uintptr_t __vectors[];" to define this extern variable which will be used later.
+      * (2) Now you should setup the entries of ISR in Interrupt Description Table (IDT).
+      *     Can you see idt[256] in this file? Yes, it's IDT! you can use SETGATE macro to setup each item of IDT
+      * (3) After setup the contents of IDT, you will let CPU know where is the IDT by using 'lidt' instruction.
+      *     You don't know the meaning of this instruction? just google it! and check the libs/x86.h to know more.
+      *     Notice: the argument of lidt is idt_pd. try to find it!
+      */
+}
+
+static const char *
+trapname(int trapno) {
+    static const char * const excnames[] = {
+        "Divide error",
+        "Debug",
+        "Non-Maskable Interrupt",
+        "Breakpoint",
+        "Overflow",
+        "BOUND Range Exceeded",
+        "Invalid Opcode",
+        "Device Not Available",
+        "Double Fault",
+        "Coprocessor Segment Overrun",
+        "Invalid TSS",
+        "Segment Not Present",
+        "Stack Fault",
+        "General Protection",
+        "Page Fault",
+        "(unknown trap)",
+        "x87 FPU Floating-Point Error",
+        "Alignment Check",
+        "Machine-Check",
+        "SIMD Floating-Point Exception"
+    };
+
+    if (trapno < sizeof(excnames)/sizeof(const char * const)) {
+        return excnames[trapno];
+    }
+    if (trapno >= IRQ_OFFSET && trapno < IRQ_OFFSET + 16) {
+        return "Hardware Interrupt";
+    }
+    return "(unknown trap)";
+}
+
+/* trap_in_kernel - test if trap happened in kernel */
+bool
+trap_in_kernel(struct trapframe *tf) {
+    return (tf->tf_cs == (uint16_t)KERNEL_CS);
+}
+
+static const char *IA32flags[] = {
+    "CF", NULL, "PF", NULL, "AF", NULL, "ZF", "SF",
+    "TF", "IF", "DF", "OF", NULL, NULL, "NT", NULL,
+    "RF", "VM", "AC", "VIF", "VIP", "ID", NULL, NULL,
+};
+
+void
+print_trapframe(struct trapframe *tf) {
+    cprintf("trapframe at %p\n", tf);
+    print_regs(&tf->tf_regs);
+    cprintf("  ds   0x----%04x\n", tf->tf_ds);
+    cprintf("  es   0x----%04x\n", tf->tf_es);
+    cprintf("  fs   0x----%04x\n", tf->tf_fs);
+    cprintf("  gs   0x----%04x\n", tf->tf_gs);
+    cprintf("  trap 0x%08x %s\n", tf->tf_trapno, trapname(tf->tf_trapno));
+    cprintf("  err  0x%08x\n", tf->tf_err);
+    cprintf("  eip  0x%08x\n", tf->tf_eip);
+    cprintf("  cs   0x----%04x\n", tf->tf_cs);
+    cprintf("  flag 0x%08x ", tf->tf_eflags);
+
+    int i, j;
+    for (i = 0, j = 1; i < sizeof(IA32flags) / sizeof(IA32flags[0]); i ++, j <<= 1) {
+        if ((tf->tf_eflags & j) && IA32flags[i] != NULL) {
+            cprintf("%s,", IA32flags[i]);
+        }
+    }
+    cprintf("IOPL=%d\n", (tf->tf_eflags & FL_IOPL_MASK) >> 12);
+
+    if (!trap_in_kernel(tf)) {
+        cprintf("  esp  0x%08x\n", tf->tf_esp);
+        cprintf("  ss   0x----%04x\n", tf->tf_ss);
+    }
+}
+
+void
+print_regs(struct pushregs *regs) {
+    cprintf("  edi  0x%08x\n", regs->reg_edi);
+    cprintf("  esi  0x%08x\n", regs->reg_esi);
+    cprintf("  ebp  0x%08x\n", regs->reg_ebp);
+    cprintf("  oesp 0x%08x\n", regs->reg_oesp);
+    cprintf("  ebx  0x%08x\n", regs->reg_ebx);
+    cprintf("  edx  0x%08x\n", regs->reg_edx);
+    cprintf("  ecx  0x%08x\n", regs->reg_ecx);
+    cprintf("  eax  0x%08x\n", regs->reg_eax);
+}
+
+static inline void
+print_pgfault(struct trapframe *tf) {
+    /* error_code:
+     * bit 0 == 0 means no page found, 1 means protection fault
+     * bit 1 == 0 means read, 1 means write
+     * bit 2 == 0 means kernel, 1 means user
+     * */
+    cprintf("page fault at 0x%08x: %c/%c [%s].\n", rcr2(),
+            (tf->tf_err & 4) ? 'U' : 'K',
+            (tf->tf_err & 2) ? 'W' : 'R',
+            (tf->tf_err & 1) ? "protection fault" : "no page found");
+}
+
+static int
+pgfault_handler(struct trapframe *tf) {
+    extern struct mm_struct *check_mm_struct;
+    print_pgfault(tf);
+    if (check_mm_struct != NULL) {
+        return do_pgfault(check_mm_struct, tf->tf_err, rcr2());
+    }
+    panic("unhandled page fault.\n");
+}
+
+static volatile int in_swap_tick_event = 0;
+extern struct mm_struct *check_mm_struct;
+
+static void
+trap_dispatch(struct trapframe *tf) {
+    char c;
+
+    int ret;
+
+    switch (tf->tf_trapno) {
+    case T_PGFLT:  //page fault
+        if ((ret = pgfault_handler(tf)) != 0) {
+            print_trapframe(tf);
+            panic("handle pgfault failed. %e\n", ret);
+        }
+        break;
+    case IRQ_OFFSET + IRQ_TIMER:
+#if 0
+    LAB3 : If some page replacement algorithm(such as CLOCK PRA) need tick to change the priority of pages, 
+    then you can add code here. 
+#endif
+        /* LAB1 YOUR CODE : STEP 3 */
+        /* handle the timer interrupt */
+        /* (1) After a timer interrupt, you should record this event using a global variable (increase it), such as ticks in kern/driver/clock.c
+         * (2) Every TICK_NUM cycle, you can print some info using a funciton, such as print_ticks().
+         * (3) Too Simple? Yes, I think so!
+         */
+        break;
+    case IRQ_OFFSET + IRQ_COM1:
+        c = cons_getc();
+        cprintf("serial [%03d] %c\n", c, c);
+        break;
+    case IRQ_OFFSET + IRQ_KBD:
+        c = cons_getc();
+        cprintf("kbd [%03d] %c\n", c, c);
+        break;
+    //LAB1 CHALLENGE 1 : YOUR CODE you should modify below codes.
+    case T_SWITCH_TOU:
+    case T_SWITCH_TOK:
+        panic("T_SWITCH_** ??\n");
+        break;
+    case IRQ_OFFSET + IRQ_IDE1:
+    case IRQ_OFFSET + IRQ_IDE2:
+        /* do nothing */
+        break;
+    default:
+        // in kernel, it must be a mistake
+        if ((tf->tf_cs & 3) == 0) {
+            print_trapframe(tf);
+            panic("unexpected trap in kernel.\n");
+        }
+    }
+}
+
+/* *
+ * trap - handles or dispatches an exception/interrupt. if and when trap() returns,
+ * the code in kern/trap/trapentry.S restores the old CPU state saved in the
+ * trapframe and then uses the iret instruction to return from the exception.
+ * */
+void
+trap(struct trapframe *tf) {
+    // dispatch based on what type of trap occurred
+    trap_dispatch(tf);
+}
+
diff --git a/code/lab4/kern/trap/trap.h b/code/lab4/kern/trap/trap.h
new file mode 100644
index 0000000..74d973d
--- /dev/null
+++ b/code/lab4/kern/trap/trap.h
@@ -0,0 +1,91 @@
+#ifndef __KERN_TRAP_TRAP_H__
+#define __KERN_TRAP_TRAP_H__
+
+#include <defs.h>
+
+/* Trap Numbers */
+
+/* Processor-defined: */
+#define T_DIVIDE                0   // divide error
+#define T_DEBUG                 1   // debug exception
+#define T_NMI                   2   // non-maskable interrupt
+#define T_BRKPT                 3   // breakpoint
+#define T_OFLOW                 4   // overflow
+#define T_BOUND                 5   // bounds check
+#define T_ILLOP                 6   // illegal opcode
+#define T_DEVICE                7   // device not available
+#define T_DBLFLT                8   // double fault
+// #define T_COPROC             9   // reserved (not used since 486)
+#define T_TSS                   10  // invalid task switch segment
+#define T_SEGNP                 11  // segment not present
+#define T_STACK                 12  // stack exception
+#define T_GPFLT                 13  // general protection fault
+#define T_PGFLT                 14  // page fault
+// #define T_RES                15  // reserved
+#define T_FPERR                 16  // floating point error
+#define T_ALIGN                 17  // aligment check
+#define T_MCHK                  18  // machine check
+#define T_SIMDERR               19  // SIMD floating point error
+
+#define T_SYSCALL               0x80 // SYSCALL, ONLY FOR THIS PROJ
+
+/* Hardware IRQ numbers. We receive these as (IRQ_OFFSET + IRQ_xx) */
+#define IRQ_OFFSET              32  // IRQ 0 corresponds to int IRQ_OFFSET
+
+#define IRQ_TIMER               0
+#define IRQ_KBD                 1
+#define IRQ_COM1                4
+#define IRQ_IDE1                14
+#define IRQ_IDE2                15
+#define IRQ_ERROR               19
+#define IRQ_SPURIOUS            31
+
+/* *
+ * These are arbitrarily chosen, but with care not to overlap
+ * processor defined exceptions or interrupt vectors.
+ * */
+#define T_SWITCH_TOU                120    // user/kernel switch
+#define T_SWITCH_TOK                121    // user/kernel switch
+
+/* registers as pushed by pushal */
+struct pushregs {
+    uint32_t reg_edi;
+    uint32_t reg_esi;
+    uint32_t reg_ebp;
+    uint32_t reg_oesp;          /* Useless */
+    uint32_t reg_ebx;
+    uint32_t reg_edx;
+    uint32_t reg_ecx;
+    uint32_t reg_eax;
+};
+
+struct trapframe {
+    struct pushregs tf_regs;
+    uint16_t tf_gs;
+    uint16_t tf_padding0;
+    uint16_t tf_fs;
+    uint16_t tf_padding1;
+    uint16_t tf_es;
+    uint16_t tf_padding2;
+    uint16_t tf_ds;
+    uint16_t tf_padding3;
+    uint32_t tf_trapno;
+    /* below here defined by x86 hardware */
+    uint32_t tf_err;
+    uintptr_t tf_eip;
+    uint16_t tf_cs;
+    uint16_t tf_padding4;
+    uint32_t tf_eflags;
+    /* below here only when crossing rings, such as from user to kernel */
+    uintptr_t tf_esp;
+    uint16_t tf_ss;
+    uint16_t tf_padding5;
+} __attribute__((packed));
+
+void idt_init(void);
+void print_trapframe(struct trapframe *tf);
+void print_regs(struct pushregs *regs);
+bool trap_in_kernel(struct trapframe *tf);
+
+#endif /* !__KERN_TRAP_TRAP_H__ */
+
diff --git a/code/lab4/kern/trap/trapentry.S b/code/lab4/kern/trap/trapentry.S
new file mode 100644
index 0000000..3565ec8
--- /dev/null
+++ b/code/lab4/kern/trap/trapentry.S
@@ -0,0 +1,49 @@
+#include <memlayout.h>
+
+# vectors.S sends all traps here.
+.text
+.globl __alltraps
+__alltraps:
+    # push registers to build a trap frame
+    # therefore make the stack look like a struct trapframe
+    pushl %ds
+    pushl %es
+    pushl %fs
+    pushl %gs
+    pushal
+
+    # load GD_KDATA into %ds and %es to set up data segments for kernel
+    movl $GD_KDATA, %eax
+    movw %ax, %ds
+    movw %ax, %es
+
+    # push %esp to pass a pointer to the trapframe as an argument to trap()
+    pushl %esp
+
+    # call trap(tf), where tf=%esp
+    call trap
+
+    # pop the pushed stack pointer
+    popl %esp
+
+    # return falls through to trapret...
+.globl __trapret
+__trapret:
+    # restore registers from stack
+    popal
+
+    # restore %ds, %es, %fs and %gs
+    popl %gs
+    popl %fs
+    popl %es
+    popl %ds
+
+    # get rid of the trap number and error code
+    addl $0x8, %esp
+    iret
+
+.globl forkrets
+forkrets:
+    # set stack to this new process's trapframe
+    movl 4(%esp), %esp
+    jmp __trapret
diff --git a/code/lab4/kern/trap/vectors.S b/code/lab4/kern/trap/vectors.S
new file mode 100644
index 0000000..1d05b4a
--- /dev/null
+++ b/code/lab4/kern/trap/vectors.S
@@ -0,0 +1,1536 @@
+# handler
+.text
+.globl __alltraps
+.globl vector0
+vector0:
+  pushl $0
+  pushl $0
+  jmp __alltraps
+.globl vector1
+vector1:
+  pushl $0
+  pushl $1
+  jmp __alltraps
+.globl vector2
+vector2:
+  pushl $0
+  pushl $2
+  jmp __alltraps
+.globl vector3
+vector3:
+  pushl $0
+  pushl $3
+  jmp __alltraps
+.globl vector4
+vector4:
+  pushl $0
+  pushl $4
+  jmp __alltraps
+.globl vector5
+vector5:
+  pushl $0
+  pushl $5
+  jmp __alltraps
+.globl vector6
+vector6:
+  pushl $0
+  pushl $6
+  jmp __alltraps
+.globl vector7
+vector7:
+  pushl $0
+  pushl $7
+  jmp __alltraps
+.globl vector8
+vector8:
+  pushl $8
+  jmp __alltraps
+.globl vector9
+vector9:
+  pushl $9
+  jmp __alltraps
+.globl vector10
+vector10:
+  pushl $10
+  jmp __alltraps
+.globl vector11
+vector11:
+  pushl $11
+  jmp __alltraps
+.globl vector12
+vector12:
+  pushl $12
+  jmp __alltraps
+.globl vector13
+vector13:
+  pushl $13
+  jmp __alltraps
+.globl vector14
+vector14:
+  pushl $14
+  jmp __alltraps
+.globl vector15
+vector15:
+  pushl $0
+  pushl $15
+  jmp __alltraps
+.globl vector16
+vector16:
+  pushl $0
+  pushl $16
+  jmp __alltraps
+.globl vector17
+vector17:
+  pushl $17
+  jmp __alltraps
+.globl vector18
+vector18:
+  pushl $0
+  pushl $18
+  jmp __alltraps
+.globl vector19
+vector19:
+  pushl $0
+  pushl $19
+  jmp __alltraps
+.globl vector20
+vector20:
+  pushl $0
+  pushl $20
+  jmp __alltraps
+.globl vector21
+vector21:
+  pushl $0
+  pushl $21
+  jmp __alltraps
+.globl vector22
+vector22:
+  pushl $0
+  pushl $22
+  jmp __alltraps
+.globl vector23
+vector23:
+  pushl $0
+  pushl $23
+  jmp __alltraps
+.globl vector24
+vector24:
+  pushl $0
+  pushl $24
+  jmp __alltraps
+.globl vector25
+vector25:
+  pushl $0
+  pushl $25
+  jmp __alltraps
+.globl vector26
+vector26:
+  pushl $0
+  pushl $26
+  jmp __alltraps
+.globl vector27
+vector27:
+  pushl $0
+  pushl $27
+  jmp __alltraps
+.globl vector28
+vector28:
+  pushl $0
+  pushl $28
+  jmp __alltraps
+.globl vector29
+vector29:
+  pushl $0
+  pushl $29
+  jmp __alltraps
+.globl vector30
+vector30:
+  pushl $0
+  pushl $30
+  jmp __alltraps
+.globl vector31
+vector31:
+  pushl $0
+  pushl $31
+  jmp __alltraps
+.globl vector32
+vector32:
+  pushl $0
+  pushl $32
+  jmp __alltraps
+.globl vector33
+vector33:
+  pushl $0
+  pushl $33
+  jmp __alltraps
+.globl vector34
+vector34:
+  pushl $0
+  pushl $34
+  jmp __alltraps
+.globl vector35
+vector35:
+  pushl $0
+  pushl $35
+  jmp __alltraps
+.globl vector36
+vector36:
+  pushl $0
+  pushl $36
+  jmp __alltraps
+.globl vector37
+vector37:
+  pushl $0
+  pushl $37
+  jmp __alltraps
+.globl vector38
+vector38:
+  pushl $0
+  pushl $38
+  jmp __alltraps
+.globl vector39
+vector39:
+  pushl $0
+  pushl $39
+  jmp __alltraps
+.globl vector40
+vector40:
+  pushl $0
+  pushl $40
+  jmp __alltraps
+.globl vector41
+vector41:
+  pushl $0
+  pushl $41
+  jmp __alltraps
+.globl vector42
+vector42:
+  pushl $0
+  pushl $42
+  jmp __alltraps
+.globl vector43
+vector43:
+  pushl $0
+  pushl $43
+  jmp __alltraps
+.globl vector44
+vector44:
+  pushl $0
+  pushl $44
+  jmp __alltraps
+.globl vector45
+vector45:
+  pushl $0
+  pushl $45
+  jmp __alltraps
+.globl vector46
+vector46:
+  pushl $0
+  pushl $46
+  jmp __alltraps
+.globl vector47
+vector47:
+  pushl $0
+  pushl $47
+  jmp __alltraps
+.globl vector48
+vector48:
+  pushl $0
+  pushl $48
+  jmp __alltraps
+.globl vector49
+vector49:
+  pushl $0
+  pushl $49
+  jmp __alltraps
+.globl vector50
+vector50:
+  pushl $0
+  pushl $50
+  jmp __alltraps
+.globl vector51
+vector51:
+  pushl $0
+  pushl $51
+  jmp __alltraps
+.globl vector52
+vector52:
+  pushl $0
+  pushl $52
+  jmp __alltraps
+.globl vector53
+vector53:
+  pushl $0
+  pushl $53
+  jmp __alltraps
+.globl vector54
+vector54:
+  pushl $0
+  pushl $54
+  jmp __alltraps
+.globl vector55
+vector55:
+  pushl $0
+  pushl $55
+  jmp __alltraps
+.globl vector56
+vector56:
+  pushl $0
+  pushl $56
+  jmp __alltraps
+.globl vector57
+vector57:
+  pushl $0
+  pushl $57
+  jmp __alltraps
+.globl vector58
+vector58:
+  pushl $0
+  pushl $58
+  jmp __alltraps
+.globl vector59
+vector59:
+  pushl $0
+  pushl $59
+  jmp __alltraps
+.globl vector60
+vector60:
+  pushl $0
+  pushl $60
+  jmp __alltraps
+.globl vector61
+vector61:
+  pushl $0
+  pushl $61
+  jmp __alltraps
+.globl vector62
+vector62:
+  pushl $0
+  pushl $62
+  jmp __alltraps
+.globl vector63
+vector63:
+  pushl $0
+  pushl $63
+  jmp __alltraps
+.globl vector64
+vector64:
+  pushl $0
+  pushl $64
+  jmp __alltraps
+.globl vector65
+vector65:
+  pushl $0
+  pushl $65
+  jmp __alltraps
+.globl vector66
+vector66:
+  pushl $0
+  pushl $66
+  jmp __alltraps
+.globl vector67
+vector67:
+  pushl $0
+  pushl $67
+  jmp __alltraps
+.globl vector68
+vector68:
+  pushl $0
+  pushl $68
+  jmp __alltraps
+.globl vector69
+vector69:
+  pushl $0
+  pushl $69
+  jmp __alltraps
+.globl vector70
+vector70:
+  pushl $0
+  pushl $70
+  jmp __alltraps
+.globl vector71
+vector71:
+  pushl $0
+  pushl $71
+  jmp __alltraps
+.globl vector72
+vector72:
+  pushl $0
+  pushl $72
+  jmp __alltraps
+.globl vector73
+vector73:
+  pushl $0
+  pushl $73
+  jmp __alltraps
+.globl vector74
+vector74:
+  pushl $0
+  pushl $74
+  jmp __alltraps
+.globl vector75
+vector75:
+  pushl $0
+  pushl $75
+  jmp __alltraps
+.globl vector76
+vector76:
+  pushl $0
+  pushl $76
+  jmp __alltraps
+.globl vector77
+vector77:
+  pushl $0
+  pushl $77
+  jmp __alltraps
+.globl vector78
+vector78:
+  pushl $0
+  pushl $78
+  jmp __alltraps
+.globl vector79
+vector79:
+  pushl $0
+  pushl $79
+  jmp __alltraps
+.globl vector80
+vector80:
+  pushl $0
+  pushl $80
+  jmp __alltraps
+.globl vector81
+vector81:
+  pushl $0
+  pushl $81
+  jmp __alltraps
+.globl vector82
+vector82:
+  pushl $0
+  pushl $82
+  jmp __alltraps
+.globl vector83
+vector83:
+  pushl $0
+  pushl $83
+  jmp __alltraps
+.globl vector84
+vector84:
+  pushl $0
+  pushl $84
+  jmp __alltraps
+.globl vector85
+vector85:
+  pushl $0
+  pushl $85
+  jmp __alltraps
+.globl vector86
+vector86:
+  pushl $0
+  pushl $86
+  jmp __alltraps
+.globl vector87
+vector87:
+  pushl $0
+  pushl $87
+  jmp __alltraps
+.globl vector88
+vector88:
+  pushl $0
+  pushl $88
+  jmp __alltraps
+.globl vector89
+vector89:
+  pushl $0
+  pushl $89
+  jmp __alltraps
+.globl vector90
+vector90:
+  pushl $0
+  pushl $90
+  jmp __alltraps
+.globl vector91
+vector91:
+  pushl $0
+  pushl $91
+  jmp __alltraps
+.globl vector92
+vector92:
+  pushl $0
+  pushl $92
+  jmp __alltraps
+.globl vector93
+vector93:
+  pushl $0
+  pushl $93
+  jmp __alltraps
+.globl vector94
+vector94:
+  pushl $0
+  pushl $94
+  jmp __alltraps
+.globl vector95
+vector95:
+  pushl $0
+  pushl $95
+  jmp __alltraps
+.globl vector96
+vector96:
+  pushl $0
+  pushl $96
+  jmp __alltraps
+.globl vector97
+vector97:
+  pushl $0
+  pushl $97
+  jmp __alltraps
+.globl vector98
+vector98:
+  pushl $0
+  pushl $98
+  jmp __alltraps
+.globl vector99
+vector99:
+  pushl $0
+  pushl $99
+  jmp __alltraps
+.globl vector100
+vector100:
+  pushl $0
+  pushl $100
+  jmp __alltraps
+.globl vector101
+vector101:
+  pushl $0
+  pushl $101
+  jmp __alltraps
+.globl vector102
+vector102:
+  pushl $0
+  pushl $102
+  jmp __alltraps
+.globl vector103
+vector103:
+  pushl $0
+  pushl $103
+  jmp __alltraps
+.globl vector104
+vector104:
+  pushl $0
+  pushl $104
+  jmp __alltraps
+.globl vector105
+vector105:
+  pushl $0
+  pushl $105
+  jmp __alltraps
+.globl vector106
+vector106:
+  pushl $0
+  pushl $106
+  jmp __alltraps
+.globl vector107
+vector107:
+  pushl $0
+  pushl $107
+  jmp __alltraps
+.globl vector108
+vector108:
+  pushl $0
+  pushl $108
+  jmp __alltraps
+.globl vector109
+vector109:
+  pushl $0
+  pushl $109
+  jmp __alltraps
+.globl vector110
+vector110:
+  pushl $0
+  pushl $110
+  jmp __alltraps
+.globl vector111
+vector111:
+  pushl $0
+  pushl $111
+  jmp __alltraps
+.globl vector112
+vector112:
+  pushl $0
+  pushl $112
+  jmp __alltraps
+.globl vector113
+vector113:
+  pushl $0
+  pushl $113
+  jmp __alltraps
+.globl vector114
+vector114:
+  pushl $0
+  pushl $114
+  jmp __alltraps
+.globl vector115
+vector115:
+  pushl $0
+  pushl $115
+  jmp __alltraps
+.globl vector116
+vector116:
+  pushl $0
+  pushl $116
+  jmp __alltraps
+.globl vector117
+vector117:
+  pushl $0
+  pushl $117
+  jmp __alltraps
+.globl vector118
+vector118:
+  pushl $0
+  pushl $118
+  jmp __alltraps
+.globl vector119
+vector119:
+  pushl $0
+  pushl $119
+  jmp __alltraps
+.globl vector120
+vector120:
+  pushl $0
+  pushl $120
+  jmp __alltraps
+.globl vector121
+vector121:
+  pushl $0
+  pushl $121
+  jmp __alltraps
+.globl vector122
+vector122:
+  pushl $0
+  pushl $122
+  jmp __alltraps
+.globl vector123
+vector123:
+  pushl $0
+  pushl $123
+  jmp __alltraps
+.globl vector124
+vector124:
+  pushl $0
+  pushl $124
+  jmp __alltraps
+.globl vector125
+vector125:
+  pushl $0
+  pushl $125
+  jmp __alltraps
+.globl vector126
+vector126:
+  pushl $0
+  pushl $126
+  jmp __alltraps
+.globl vector127
+vector127:
+  pushl $0
+  pushl $127
+  jmp __alltraps
+.globl vector128
+vector128:
+  pushl $0
+  pushl $128
+  jmp __alltraps
+.globl vector129
+vector129:
+  pushl $0
+  pushl $129
+  jmp __alltraps
+.globl vector130
+vector130:
+  pushl $0
+  pushl $130
+  jmp __alltraps
+.globl vector131
+vector131:
+  pushl $0
+  pushl $131
+  jmp __alltraps
+.globl vector132
+vector132:
+  pushl $0
+  pushl $132
+  jmp __alltraps
+.globl vector133
+vector133:
+  pushl $0
+  pushl $133
+  jmp __alltraps
+.globl vector134
+vector134:
+  pushl $0
+  pushl $134
+  jmp __alltraps
+.globl vector135
+vector135:
+  pushl $0
+  pushl $135
+  jmp __alltraps
+.globl vector136
+vector136:
+  pushl $0
+  pushl $136
+  jmp __alltraps
+.globl vector137
+vector137:
+  pushl $0
+  pushl $137
+  jmp __alltraps
+.globl vector138
+vector138:
+  pushl $0
+  pushl $138
+  jmp __alltraps
+.globl vector139
+vector139:
+  pushl $0
+  pushl $139
+  jmp __alltraps
+.globl vector140
+vector140:
+  pushl $0
+  pushl $140
+  jmp __alltraps
+.globl vector141
+vector141:
+  pushl $0
+  pushl $141
+  jmp __alltraps
+.globl vector142
+vector142:
+  pushl $0
+  pushl $142
+  jmp __alltraps
+.globl vector143
+vector143:
+  pushl $0
+  pushl $143
+  jmp __alltraps
+.globl vector144
+vector144:
+  pushl $0
+  pushl $144
+  jmp __alltraps
+.globl vector145
+vector145:
+  pushl $0
+  pushl $145
+  jmp __alltraps
+.globl vector146
+vector146:
+  pushl $0
+  pushl $146
+  jmp __alltraps
+.globl vector147
+vector147:
+  pushl $0
+  pushl $147
+  jmp __alltraps
+.globl vector148
+vector148:
+  pushl $0
+  pushl $148
+  jmp __alltraps
+.globl vector149
+vector149:
+  pushl $0
+  pushl $149
+  jmp __alltraps
+.globl vector150
+vector150:
+  pushl $0
+  pushl $150
+  jmp __alltraps
+.globl vector151
+vector151:
+  pushl $0
+  pushl $151
+  jmp __alltraps
+.globl vector152
+vector152:
+  pushl $0
+  pushl $152
+  jmp __alltraps
+.globl vector153
+vector153:
+  pushl $0
+  pushl $153
+  jmp __alltraps
+.globl vector154
+vector154:
+  pushl $0
+  pushl $154
+  jmp __alltraps
+.globl vector155
+vector155:
+  pushl $0
+  pushl $155
+  jmp __alltraps
+.globl vector156
+vector156:
+  pushl $0
+  pushl $156
+  jmp __alltraps
+.globl vector157
+vector157:
+  pushl $0
+  pushl $157
+  jmp __alltraps
+.globl vector158
+vector158:
+  pushl $0
+  pushl $158
+  jmp __alltraps
+.globl vector159
+vector159:
+  pushl $0
+  pushl $159
+  jmp __alltraps
+.globl vector160
+vector160:
+  pushl $0
+  pushl $160
+  jmp __alltraps
+.globl vector161
+vector161:
+  pushl $0
+  pushl $161
+  jmp __alltraps
+.globl vector162
+vector162:
+  pushl $0
+  pushl $162
+  jmp __alltraps
+.globl vector163
+vector163:
+  pushl $0
+  pushl $163
+  jmp __alltraps
+.globl vector164
+vector164:
+  pushl $0
+  pushl $164
+  jmp __alltraps
+.globl vector165
+vector165:
+  pushl $0
+  pushl $165
+  jmp __alltraps
+.globl vector166
+vector166:
+  pushl $0
+  pushl $166
+  jmp __alltraps
+.globl vector167
+vector167:
+  pushl $0
+  pushl $167
+  jmp __alltraps
+.globl vector168
+vector168:
+  pushl $0
+  pushl $168
+  jmp __alltraps
+.globl vector169
+vector169:
+  pushl $0
+  pushl $169
+  jmp __alltraps
+.globl vector170
+vector170:
+  pushl $0
+  pushl $170
+  jmp __alltraps
+.globl vector171
+vector171:
+  pushl $0
+  pushl $171
+  jmp __alltraps
+.globl vector172
+vector172:
+  pushl $0
+  pushl $172
+  jmp __alltraps
+.globl vector173
+vector173:
+  pushl $0
+  pushl $173
+  jmp __alltraps
+.globl vector174
+vector174:
+  pushl $0
+  pushl $174
+  jmp __alltraps
+.globl vector175
+vector175:
+  pushl $0
+  pushl $175
+  jmp __alltraps
+.globl vector176
+vector176:
+  pushl $0
+  pushl $176
+  jmp __alltraps
+.globl vector177
+vector177:
+  pushl $0
+  pushl $177
+  jmp __alltraps
+.globl vector178
+vector178:
+  pushl $0
+  pushl $178
+  jmp __alltraps
+.globl vector179
+vector179:
+  pushl $0
+  pushl $179
+  jmp __alltraps
+.globl vector180
+vector180:
+  pushl $0
+  pushl $180
+  jmp __alltraps
+.globl vector181
+vector181:
+  pushl $0
+  pushl $181
+  jmp __alltraps
+.globl vector182
+vector182:
+  pushl $0
+  pushl $182
+  jmp __alltraps
+.globl vector183
+vector183:
+  pushl $0
+  pushl $183
+  jmp __alltraps
+.globl vector184
+vector184:
+  pushl $0
+  pushl $184
+  jmp __alltraps
+.globl vector185
+vector185:
+  pushl $0
+  pushl $185
+  jmp __alltraps
+.globl vector186
+vector186:
+  pushl $0
+  pushl $186
+  jmp __alltraps
+.globl vector187
+vector187:
+  pushl $0
+  pushl $187
+  jmp __alltraps
+.globl vector188
+vector188:
+  pushl $0
+  pushl $188
+  jmp __alltraps
+.globl vector189
+vector189:
+  pushl $0
+  pushl $189
+  jmp __alltraps
+.globl vector190
+vector190:
+  pushl $0
+  pushl $190
+  jmp __alltraps
+.globl vector191
+vector191:
+  pushl $0
+  pushl $191
+  jmp __alltraps
+.globl vector192
+vector192:
+  pushl $0
+  pushl $192
+  jmp __alltraps
+.globl vector193
+vector193:
+  pushl $0
+  pushl $193
+  jmp __alltraps
+.globl vector194
+vector194:
+  pushl $0
+  pushl $194
+  jmp __alltraps
+.globl vector195
+vector195:
+  pushl $0
+  pushl $195
+  jmp __alltraps
+.globl vector196
+vector196:
+  pushl $0
+  pushl $196
+  jmp __alltraps
+.globl vector197
+vector197:
+  pushl $0
+  pushl $197
+  jmp __alltraps
+.globl vector198
+vector198:
+  pushl $0
+  pushl $198
+  jmp __alltraps
+.globl vector199
+vector199:
+  pushl $0
+  pushl $199
+  jmp __alltraps
+.globl vector200
+vector200:
+  pushl $0
+  pushl $200
+  jmp __alltraps
+.globl vector201
+vector201:
+  pushl $0
+  pushl $201
+  jmp __alltraps
+.globl vector202
+vector202:
+  pushl $0
+  pushl $202
+  jmp __alltraps
+.globl vector203
+vector203:
+  pushl $0
+  pushl $203
+  jmp __alltraps
+.globl vector204
+vector204:
+  pushl $0
+  pushl $204
+  jmp __alltraps
+.globl vector205
+vector205:
+  pushl $0
+  pushl $205
+  jmp __alltraps
+.globl vector206
+vector206:
+  pushl $0
+  pushl $206
+  jmp __alltraps
+.globl vector207
+vector207:
+  pushl $0
+  pushl $207
+  jmp __alltraps
+.globl vector208
+vector208:
+  pushl $0
+  pushl $208
+  jmp __alltraps
+.globl vector209
+vector209:
+  pushl $0
+  pushl $209
+  jmp __alltraps
+.globl vector210
+vector210:
+  pushl $0
+  pushl $210
+  jmp __alltraps
+.globl vector211
+vector211:
+  pushl $0
+  pushl $211
+  jmp __alltraps
+.globl vector212
+vector212:
+  pushl $0
+  pushl $212
+  jmp __alltraps
+.globl vector213
+vector213:
+  pushl $0
+  pushl $213
+  jmp __alltraps
+.globl vector214
+vector214:
+  pushl $0
+  pushl $214
+  jmp __alltraps
+.globl vector215
+vector215:
+  pushl $0
+  pushl $215
+  jmp __alltraps
+.globl vector216
+vector216:
+  pushl $0
+  pushl $216
+  jmp __alltraps
+.globl vector217
+vector217:
+  pushl $0
+  pushl $217
+  jmp __alltraps
+.globl vector218
+vector218:
+  pushl $0
+  pushl $218
+  jmp __alltraps
+.globl vector219
+vector219:
+  pushl $0
+  pushl $219
+  jmp __alltraps
+.globl vector220
+vector220:
+  pushl $0
+  pushl $220
+  jmp __alltraps
+.globl vector221
+vector221:
+  pushl $0
+  pushl $221
+  jmp __alltraps
+.globl vector222
+vector222:
+  pushl $0
+  pushl $222
+  jmp __alltraps
+.globl vector223
+vector223:
+  pushl $0
+  pushl $223
+  jmp __alltraps
+.globl vector224
+vector224:
+  pushl $0
+  pushl $224
+  jmp __alltraps
+.globl vector225
+vector225:
+  pushl $0
+  pushl $225
+  jmp __alltraps
+.globl vector226
+vector226:
+  pushl $0
+  pushl $226
+  jmp __alltraps
+.globl vector227
+vector227:
+  pushl $0
+  pushl $227
+  jmp __alltraps
+.globl vector228
+vector228:
+  pushl $0
+  pushl $228
+  jmp __alltraps
+.globl vector229
+vector229:
+  pushl $0
+  pushl $229
+  jmp __alltraps
+.globl vector230
+vector230:
+  pushl $0
+  pushl $230
+  jmp __alltraps
+.globl vector231
+vector231:
+  pushl $0
+  pushl $231
+  jmp __alltraps
+.globl vector232
+vector232:
+  pushl $0
+  pushl $232
+  jmp __alltraps
+.globl vector233
+vector233:
+  pushl $0
+  pushl $233
+  jmp __alltraps
+.globl vector234
+vector234:
+  pushl $0
+  pushl $234
+  jmp __alltraps
+.globl vector235
+vector235:
+  pushl $0
+  pushl $235
+  jmp __alltraps
+.globl vector236
+vector236:
+  pushl $0
+  pushl $236
+  jmp __alltraps
+.globl vector237
+vector237:
+  pushl $0
+  pushl $237
+  jmp __alltraps
+.globl vector238
+vector238:
+  pushl $0
+  pushl $238
+  jmp __alltraps
+.globl vector239
+vector239:
+  pushl $0
+  pushl $239
+  jmp __alltraps
+.globl vector240
+vector240:
+  pushl $0
+  pushl $240
+  jmp __alltraps
+.globl vector241
+vector241:
+  pushl $0
+  pushl $241
+  jmp __alltraps
+.globl vector242
+vector242:
+  pushl $0
+  pushl $242
+  jmp __alltraps
+.globl vector243
+vector243:
+  pushl $0
+  pushl $243
+  jmp __alltraps
+.globl vector244
+vector244:
+  pushl $0
+  pushl $244
+  jmp __alltraps
+.globl vector245
+vector245:
+  pushl $0
+  pushl $245
+  jmp __alltraps
+.globl vector246
+vector246:
+  pushl $0
+  pushl $246
+  jmp __alltraps
+.globl vector247
+vector247:
+  pushl $0
+  pushl $247
+  jmp __alltraps
+.globl vector248
+vector248:
+  pushl $0
+  pushl $248
+  jmp __alltraps
+.globl vector249
+vector249:
+  pushl $0
+  pushl $249
+  jmp __alltraps
+.globl vector250
+vector250:
+  pushl $0
+  pushl $250
+  jmp __alltraps
+.globl vector251
+vector251:
+  pushl $0
+  pushl $251
+  jmp __alltraps
+.globl vector252
+vector252:
+  pushl $0
+  pushl $252
+  jmp __alltraps
+.globl vector253
+vector253:
+  pushl $0
+  pushl $253
+  jmp __alltraps
+.globl vector254
+vector254:
+  pushl $0
+  pushl $254
+  jmp __alltraps
+.globl vector255
+vector255:
+  pushl $0
+  pushl $255
+  jmp __alltraps
+
+# vector table
+.data
+.globl __vectors
+__vectors:
+  .long vector0
+  .long vector1
+  .long vector2
+  .long vector3
+  .long vector4
+  .long vector5
+  .long vector6
+  .long vector7
+  .long vector8
+  .long vector9
+  .long vector10
+  .long vector11
+  .long vector12
+  .long vector13
+  .long vector14
+  .long vector15
+  .long vector16
+  .long vector17
+  .long vector18
+  .long vector19
+  .long vector20
+  .long vector21
+  .long vector22
+  .long vector23
+  .long vector24
+  .long vector25
+  .long vector26
+  .long vector27
+  .long vector28
+  .long vector29
+  .long vector30
+  .long vector31
+  .long vector32
+  .long vector33
+  .long vector34
+  .long vector35
+  .long vector36
+  .long vector37
+  .long vector38
+  .long vector39
+  .long vector40
+  .long vector41
+  .long vector42
+  .long vector43
+  .long vector44
+  .long vector45
+  .long vector46
+  .long vector47
+  .long vector48
+  .long vector49
+  .long vector50
+  .long vector51
+  .long vector52
+  .long vector53
+  .long vector54
+  .long vector55
+  .long vector56
+  .long vector57
+  .long vector58
+  .long vector59
+  .long vector60
+  .long vector61
+  .long vector62
+  .long vector63
+  .long vector64
+  .long vector65
+  .long vector66
+  .long vector67
+  .long vector68
+  .long vector69
+  .long vector70
+  .long vector71
+  .long vector72
+  .long vector73
+  .long vector74
+  .long vector75
+  .long vector76
+  .long vector77
+  .long vector78
+  .long vector79
+  .long vector80
+  .long vector81
+  .long vector82
+  .long vector83
+  .long vector84
+  .long vector85
+  .long vector86
+  .long vector87
+  .long vector88
+  .long vector89
+  .long vector90
+  .long vector91
+  .long vector92
+  .long vector93
+  .long vector94
+  .long vector95
+  .long vector96
+  .long vector97
+  .long vector98
+  .long vector99
+  .long vector100
+  .long vector101
+  .long vector102
+  .long vector103
+  .long vector104
+  .long vector105
+  .long vector106
+  .long vector107
+  .long vector108
+  .long vector109
+  .long vector110
+  .long vector111
+  .long vector112
+  .long vector113
+  .long vector114
+  .long vector115
+  .long vector116
+  .long vector117
+  .long vector118
+  .long vector119
+  .long vector120
+  .long vector121
+  .long vector122
+  .long vector123
+  .long vector124
+  .long vector125
+  .long vector126
+  .long vector127
+  .long vector128
+  .long vector129
+  .long vector130
+  .long vector131
+  .long vector132
+  .long vector133
+  .long vector134
+  .long vector135
+  .long vector136
+  .long vector137
+  .long vector138
+  .long vector139
+  .long vector140
+  .long vector141
+  .long vector142
+  .long vector143
+  .long vector144
+  .long vector145
+  .long vector146
+  .long vector147
+  .long vector148
+  .long vector149
+  .long vector150
+  .long vector151
+  .long vector152
+  .long vector153
+  .long vector154
+  .long vector155
+  .long vector156
+  .long vector157
+  .long vector158
+  .long vector159
+  .long vector160
+  .long vector161
+  .long vector162
+  .long vector163
+  .long vector164
+  .long vector165
+  .long vector166
+  .long vector167
+  .long vector168
+  .long vector169
+  .long vector170
+  .long vector171
+  .long vector172
+  .long vector173
+  .long vector174
+  .long vector175
+  .long vector176
+  .long vector177
+  .long vector178
+  .long vector179
+  .long vector180
+  .long vector181
+  .long vector182
+  .long vector183
+  .long vector184
+  .long vector185
+  .long vector186
+  .long vector187
+  .long vector188
+  .long vector189
+  .long vector190
+  .long vector191
+  .long vector192
+  .long vector193
+  .long vector194
+  .long vector195
+  .long vector196
+  .long vector197
+  .long vector198
+  .long vector199
+  .long vector200
+  .long vector201
+  .long vector202
+  .long vector203
+  .long vector204
+  .long vector205
+  .long vector206
+  .long vector207
+  .long vector208
+  .long vector209
+  .long vector210
+  .long vector211
+  .long vector212
+  .long vector213
+  .long vector214
+  .long vector215
+  .long vector216
+  .long vector217
+  .long vector218
+  .long vector219
+  .long vector220
+  .long vector221
+  .long vector222
+  .long vector223
+  .long vector224
+  .long vector225
+  .long vector226
+  .long vector227
+  .long vector228
+  .long vector229
+  .long vector230
+  .long vector231
+  .long vector232
+  .long vector233
+  .long vector234
+  .long vector235
+  .long vector236
+  .long vector237
+  .long vector238
+  .long vector239
+  .long vector240
+  .long vector241
+  .long vector242
+  .long vector243
+  .long vector244
+  .long vector245
+  .long vector246
+  .long vector247
+  .long vector248
+  .long vector249
+  .long vector250
+  .long vector251
+  .long vector252
+  .long vector253
+  .long vector254
+  .long vector255
diff --git a/code/lab4/libs/atomic.h b/code/lab4/libs/atomic.h
new file mode 100644
index 0000000..a3a9525
--- /dev/null
+++ b/code/lab4/libs/atomic.h
@@ -0,0 +1,251 @@
+#ifndef __LIBS_ATOMIC_H__
+#define __LIBS_ATOMIC_H__
+
+/* Atomic operations that C can't guarantee us. Useful for resource counting etc.. */
+
+typedef struct {
+    volatile int counter;
+} atomic_t;
+
+static inline int atomic_read(const atomic_t *v) __attribute__((always_inline));
+static inline void atomic_set(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_add(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_sub(atomic_t *v, int i) __attribute__((always_inline));
+static inline bool atomic_sub_test_zero(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_inc(atomic_t *v) __attribute__((always_inline));
+static inline void atomic_dec(atomic_t *v) __attribute__((always_inline));
+static inline bool atomic_inc_test_zero(atomic_t *v) __attribute__((always_inline));
+static inline bool atomic_dec_test_zero(atomic_t *v) __attribute__((always_inline));
+static inline int atomic_add_return(atomic_t *v, int i) __attribute__((always_inline));
+static inline int atomic_sub_return(atomic_t *v, int i) __attribute__((always_inline));
+
+/* *
+ * atomic_read - read atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically reads the value of @v.
+ * */
+static inline int
+atomic_read(const atomic_t *v) {
+    return v->counter;
+}
+
+/* *
+ * atomic_set - set atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  required value
+ *
+ * Atomically sets the value of @v to @i.
+ * */
+static inline void
+atomic_set(atomic_t *v, int i) {
+    v->counter = i;
+}
+
+/* *
+ * atomic_add - add integer to atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to add
+ *
+ * Atomically adds @i to @v.
+ * */
+static inline void
+atomic_add(atomic_t *v, int i) {
+    asm volatile ("addl %1, %0" : "+m" (v->counter) : "ir" (i));
+}
+
+/* *
+ * atomic_sub - subtract integer from atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v.
+ * */
+static inline void
+atomic_sub(atomic_t *v, int i) {
+    asm volatile("subl %1, %0" : "+m" (v->counter) : "ir" (i));
+}
+
+/* *
+ * atomic_sub_test_zero - subtract value from variable and test result
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v and
+ * returns true if the result is zero, or false for all other cases.
+ * */
+static inline bool
+atomic_sub_test_zero(atomic_t *v, int i) {
+    unsigned char c;
+    asm volatile("subl %2, %0; sete %1" : "+m" (v->counter), "=qm" (c) : "ir" (i) : "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_inc - increment atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically increments @v by 1.
+ * */
+static inline void
+atomic_inc(atomic_t *v) {
+    asm volatile("incl %0" : "+m" (v->counter));
+}
+
+/* *
+ * atomic_dec - decrement atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically decrements @v by 1.
+ * */
+static inline void
+atomic_dec(atomic_t *v) {
+    asm volatile("decl %0" : "+m" (v->counter));
+}
+
+/* *
+ * atomic_inc_test_zero - increment and test
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically increments @v by 1 and
+ * returns true if the result is zero, or false for all other cases.
+ * */
+static inline bool
+atomic_inc_test_zero(atomic_t *v) {
+    unsigned char c;
+    asm volatile("incl %0; sete %1" : "+m" (v->counter), "=qm" (c) :: "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_dec_test_zero - decrement and test
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically decrements @v by 1 and
+ * returns true if the result is 0, or false for all other cases.
+ * */
+static inline bool
+atomic_dec_test_zero(atomic_t *v) {
+    unsigned char c;
+    asm volatile("decl %0; sete %1" : "+m" (v->counter), "=qm" (c) :: "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_add_return - add integer and return
+ * @i:  integer value to add
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically adds @i to @v and returns @i + @v
+ * Requires Modern 486+ processor
+ * */
+static inline int
+atomic_add_return(atomic_t *v, int i) {
+    int __i = i;
+    asm volatile("xaddl %0, %1" : "+r" (i), "+m" (v->counter) :: "memory");
+    return i + __i;
+}
+
+/* *
+ * atomic_sub_return - subtract integer and return
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v and returns @v - @i
+ * */
+static inline int
+atomic_sub_return(atomic_t *v, int i) {
+    return atomic_add_return(v, -i);
+}
+
+static inline void set_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline void clear_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline void change_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_set_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_clear_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_change_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_bit(int nr, volatile void *addr) __attribute__((always_inline));
+
+/* *
+ * set_bit - Atomically set a bit in memory
+ * @nr:     the bit to set
+ * @addr:   the address to start counting from
+ *
+ * Note that @nr may be almost arbitrarily large; this function is not
+ * restricted to acting on a single-word quantity.
+ * */
+static inline void
+set_bit(int nr, volatile void *addr) {
+    asm volatile ("btsl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * clear_bit - Atomically clears a bit in memory
+ * @nr:     the bit to clear
+ * @addr:   the address to start counting from
+ * */
+static inline void
+clear_bit(int nr, volatile void *addr) {
+    asm volatile ("btrl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * change_bit - Atomically toggle a bit in memory
+ * @nr:     the bit to change
+ * @addr:   the address to start counting from
+ * */
+static inline void
+change_bit(int nr, volatile void *addr) {
+    asm volatile ("btcl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * test_and_set_bit - Atomically set a bit and return its old value
+ * @nr:     the bit to set
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_set_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btsl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_and_clear_bit - Atomically clear a bit and return its old value
+ * @nr:     the bit to clear
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_clear_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btrl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_and_change_bit - Atomically change a bit and return its old value
+ * @nr:     the bit to change
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_change_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btcl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_bit - Determine whether a bit is set
+ * @nr:     the bit to test
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btl %2, %1; sbbl %0,%0" : "=r" (oldbit) : "m" (*(volatile long *)addr), "Ir" (nr));
+    return oldbit != 0;
+}
+
+#endif /* !__LIBS_ATOMIC_H__ */
+
diff --git a/code/lab4/libs/defs.h b/code/lab4/libs/defs.h
new file mode 100644
index 0000000..88f280e
--- /dev/null
+++ b/code/lab4/libs/defs.h
@@ -0,0 +1,68 @@
+#ifndef __LIBS_DEFS_H__
+#define __LIBS_DEFS_H__
+
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+#define __always_inline inline __attribute__((always_inline))
+#define __noinline __attribute__((noinline))
+#define __noreturn __attribute__((noreturn))
+
+/* Represents true-or-false values */
+typedef int bool;
+
+/* Explicitly-sized versions of integer types */
+typedef char int8_t;
+typedef unsigned char uint8_t;
+typedef short int16_t;
+typedef unsigned short uint16_t;
+typedef int int32_t;
+typedef unsigned int uint32_t;
+typedef long long int64_t;
+typedef unsigned long long uint64_t;
+
+/* *
+ * Pointers and addresses are 32 bits long.
+ * We use pointer types to represent addresses,
+ * uintptr_t to represent the numerical values of addresses.
+ * */
+typedef int32_t intptr_t;
+typedef uint32_t uintptr_t;
+
+/* size_t is used for memory object sizes */
+typedef uintptr_t size_t;
+
+/* used for page numbers */
+typedef size_t ppn_t;
+
+/* *
+ * Rounding operations (efficient when n is a power of 2)
+ * Round down to the nearest multiple of n
+ * */
+#define ROUNDDOWN(a, n) ({                                          \
+            size_t __a = (size_t)(a);                               \
+            (typeof(a))(__a - __a % (n));                           \
+        })
+
+/* Round up to the nearest multiple of n */
+#define ROUNDUP(a, n) ({                                            \
+            size_t __n = (size_t)(n);                               \
+            (typeof(a))(ROUNDDOWN((size_t)(a) + __n - 1, __n));     \
+        })
+
+/* Return the offset of 'member' relative to the beginning of a struct type */
+#define offsetof(type, member)                                      \
+    ((size_t)(&((type *)0)->member))
+
+/* *
+ * to_struct - get the struct from a ptr
+ * @ptr:    a struct pointer of member
+ * @type:   the type of the struct this is embedded in
+ * @member: the name of the member within the struct
+ * */
+#define to_struct(ptr, type, member)                               \
+    ((type *)((char *)(ptr) - offsetof(type, member)))
+
+#endif /* !__LIBS_DEFS_H__ */
+
diff --git a/code/lab4/libs/elf.h b/code/lab4/libs/elf.h
new file mode 100644
index 0000000..bdfee3d
--- /dev/null
+++ b/code/lab4/libs/elf.h
@@ -0,0 +1,40 @@
+#ifndef __LIBS_ELF_H__
+#define __LIBS_ELF_H__
+
+#include <defs.h>
+
+#define ELF_MAGIC   0x464C457FU         // "\x7FELF" in little endian
+
+/* file header */
+struct elfhdr {
+    uint32_t e_magic;     // must equal ELF_MAGIC
+    uint8_t e_elf[12];
+    uint16_t e_type;      // 1=relocatable, 2=executable, 3=shared object, 4=core image
+    uint16_t e_machine;   // 3=x86, 4=68K, etc.
+    uint32_t e_version;   // file version, always 1
+    uint32_t e_entry;     // entry point if executable
+    uint32_t e_phoff;     // file position of program header or 0
+    uint32_t e_shoff;     // file position of section header or 0
+    uint32_t e_flags;     // architecture-specific flags, usually 0
+    uint16_t e_ehsize;    // size of this elf header
+    uint16_t e_phentsize; // size of an entry in program header
+    uint16_t e_phnum;     // number of entries in program header or 0
+    uint16_t e_shentsize; // size of an entry in section header
+    uint16_t e_shnum;     // number of entries in section header or 0
+    uint16_t e_shstrndx;  // section number that contains section name strings
+};
+
+/* program section header */
+struct proghdr {
+    uint32_t p_type;   // loadable code or data, dynamic linking info,etc.
+    uint32_t p_offset; // file offset of segment
+    uint32_t p_va;     // virtual address to map segment
+    uint32_t p_pa;     // physical address, not used
+    uint32_t p_filesz; // size of segment in file
+    uint32_t p_memsz;  // size of segment in memory (bigger if contains bss)
+    uint32_t p_flags;  // read/write/execute bits
+    uint32_t p_align;  // required alignment, invariably hardware page size
+};
+
+#endif /* !__LIBS_ELF_H__ */
+
diff --git a/code/lab4/libs/error.h b/code/lab4/libs/error.h
new file mode 100644
index 0000000..b43fbd6
--- /dev/null
+++ b/code/lab4/libs/error.h
@@ -0,0 +1,16 @@
+#ifndef __LIBS_ERROR_H__
+#define __LIBS_ERROR_H__
+
+/* kernel error codes -- keep in sync with list in lib/printfmt.c */
+#define E_UNSPECIFIED       1   // Unspecified or unknown problem
+#define E_BAD_PROC          2   // Process doesn't exist or otherwise
+#define E_INVAL             3   // Invalid parameter
+#define E_NO_MEM            4   // Request failed due to memory shortage
+#define E_NO_FREE_PROC      5   // Attempt to create a new process beyond
+#define E_FAULT             6   // Memory fault
+
+/* the maximum allowed */
+#define MAXERROR            6
+
+#endif /* !__LIBS_ERROR_H__ */
+
diff --git a/code/lab4/libs/hash.c b/code/lab4/libs/hash.c
new file mode 100644
index 0000000..61bcd88
--- /dev/null
+++ b/code/lab4/libs/hash.c
@@ -0,0 +1,18 @@
+#include <stdlib.h>
+
+/* 2^31 + 2^29 - 2^25 + 2^22 - 2^19 - 2^16 + 1 */
+#define GOLDEN_RATIO_PRIME_32       0x9e370001UL
+
+/* *
+ * hash32 - generate a hash value in the range [0, 2^@bits - 1]
+ * @val:    the input value
+ * @bits:   the number of bits in a return value
+ *
+ * High bits are more random, so we use them.
+ * */
+uint32_t
+hash32(uint32_t val, unsigned int bits) {
+    uint32_t hash = val * GOLDEN_RATIO_PRIME_32;
+    return (hash >> (32 - bits));
+}
+
diff --git a/code/lab4/libs/list.h b/code/lab4/libs/list.h
new file mode 100644
index 0000000..3dbf772
--- /dev/null
+++ b/code/lab4/libs/list.h
@@ -0,0 +1,163 @@
+#ifndef __LIBS_LIST_H__
+#define __LIBS_LIST_H__
+
+#ifndef __ASSEMBLER__
+
+#include <defs.h>
+
+/* *
+ * Simple doubly linked list implementation.
+ *
+ * Some of the internal functions ("__xxx") are useful when manipulating
+ * whole lists rather than single entries, as sometimes we already know
+ * the next/prev entries and we can generate better code by using them
+ * directly rather than using the generic single-entry routines.
+ * */
+
+struct list_entry {
+    struct list_entry *prev, *next;
+};
+
+typedef struct list_entry list_entry_t;
+
+static inline void list_init(list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add_before(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add_after(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_del(list_entry_t *listelm) __attribute__((always_inline));
+static inline void list_del_init(list_entry_t *listelm) __attribute__((always_inline));
+static inline bool list_empty(list_entry_t *list) __attribute__((always_inline));
+static inline list_entry_t *list_next(list_entry_t *listelm) __attribute__((always_inline));
+static inline list_entry_t *list_prev(list_entry_t *listelm) __attribute__((always_inline));
+
+static inline void __list_add(list_entry_t *elm, list_entry_t *prev, list_entry_t *next) __attribute__((always_inline));
+static inline void __list_del(list_entry_t *prev, list_entry_t *next) __attribute__((always_inline));
+
+/* *
+ * list_init - initialize a new entry
+ * @elm:        new entry to be initialized
+ * */
+static inline void
+list_init(list_entry_t *elm) {
+    elm->prev = elm->next = elm;
+}
+
+/* *
+ * list_add - add a new entry
+ * @listelm:    list head to add after
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *after* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add(list_entry_t *listelm, list_entry_t *elm) {
+    list_add_after(listelm, elm);
+}
+
+/* *
+ * list_add_before - add a new entry
+ * @listelm:    list head to add before
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *before* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add_before(list_entry_t *listelm, list_entry_t *elm) {
+    __list_add(elm, listelm->prev, listelm);
+}
+
+/* *
+ * list_add_after - add a new entry
+ * @listelm:    list head to add after
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *after* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add_after(list_entry_t *listelm, list_entry_t *elm) {
+    __list_add(elm, listelm, listelm->next);
+}
+
+/* *
+ * list_del - deletes entry from list
+ * @listelm:    the element to delete from the list
+ *
+ * Note: list_empty() on @listelm does not return true after this, the entry is
+ * in an undefined state.
+ * */
+static inline void
+list_del(list_entry_t *listelm) {
+    __list_del(listelm->prev, listelm->next);
+}
+
+/* *
+ * list_del_init - deletes entry from list and reinitialize it.
+ * @listelm:    the element to delete from the list.
+ *
+ * Note: list_empty() on @listelm returns true after this.
+ * */
+static inline void
+list_del_init(list_entry_t *listelm) {
+    list_del(listelm);
+    list_init(listelm);
+}
+
+/* *
+ * list_empty - tests whether a list is empty
+ * @list:       the list to test.
+ * */
+static inline bool
+list_empty(list_entry_t *list) {
+    return list->next == list;
+}
+
+/* *
+ * list_next - get the next entry
+ * @listelm:    the list head
+ **/
+static inline list_entry_t *
+list_next(list_entry_t *listelm) {
+    return listelm->next;
+}
+
+/* *
+ * list_prev - get the previous entry
+ * @listelm:    the list head
+ **/
+static inline list_entry_t *
+list_prev(list_entry_t *listelm) {
+    return listelm->prev;
+}
+
+/* *
+ * Insert a new entry between two known consecutive entries.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ * */
+static inline void
+__list_add(list_entry_t *elm, list_entry_t *prev, list_entry_t *next) {
+    prev->next = next->prev = elm;
+    elm->next = next;
+    elm->prev = prev;
+}
+
+/* *
+ * Delete a list entry by making the prev/next entries point to each other.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ * */
+static inline void
+__list_del(list_entry_t *prev, list_entry_t *next) {
+    prev->next = next;
+    next->prev = prev;
+}
+
+#endif /* !__ASSEMBLER__ */
+
+#endif /* !__LIBS_LIST_H__ */
+
diff --git a/code/lab4/libs/printfmt.c b/code/lab4/libs/printfmt.c
new file mode 100644
index 0000000..93a1c47
--- /dev/null
+++ b/code/lab4/libs/printfmt.c
@@ -0,0 +1,340 @@
+#include <defs.h>
+#include <x86.h>
+#include <error.h>
+#include <stdio.h>
+#include <string.h>
+
+/* *
+ * Space or zero padding and a field width are supported for the numeric
+ * formats only.
+ *
+ * The special format %e takes an integer error code
+ * and prints a string describing the error.
+ * The integer may be positive or negative,
+ * so that -E_NO_MEM and E_NO_MEM are equivalent.
+ * */
+
+static const char * const error_string[MAXERROR + 1] = {
+    [0]                     NULL,
+    [E_UNSPECIFIED]         "unspecified error",
+    [E_BAD_PROC]            "bad process",
+    [E_INVAL]               "invalid parameter",
+    [E_NO_MEM]              "out of memory",
+    [E_NO_FREE_PROC]        "out of processes",
+    [E_FAULT]               "segmentation fault",
+};
+
+/* *
+ * printnum - print a number (base <= 16) in reverse order
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @num:        the number will be printed
+ * @base:       base for print, must be in [1, 16]
+ * @width:      maximum number of digits, if the actual width is less than @width, use @padc instead
+ * @padc:       character that padded on the left if the actual width is less than @width
+ * */
+static void
+printnum(void (*putch)(int, void*), void *putdat,
+        unsigned long long num, unsigned base, int width, int padc) {
+    unsigned long long result = num;
+    unsigned mod = do_div(result, base);
+
+    // first recursively print all preceding (more significant) digits
+    if (num >= base) {
+        printnum(putch, putdat, result, base, width - 1, padc);
+    } else {
+        // print any needed pad characters before first digit
+        while (-- width > 0)
+            putch(padc, putdat);
+    }
+    // then print this (the least significant) digit
+    putch("0123456789abcdef"[mod], putdat);
+}
+
+/* *
+ * getuint - get an unsigned int of various possible sizes from a varargs list
+ * @ap:         a varargs list pointer
+ * @lflag:      determines the size of the vararg that @ap points to
+ * */
+static unsigned long long
+getuint(va_list *ap, int lflag) {
+    if (lflag >= 2) {
+        return va_arg(*ap, unsigned long long);
+    }
+    else if (lflag) {
+        return va_arg(*ap, unsigned long);
+    }
+    else {
+        return va_arg(*ap, unsigned int);
+    }
+}
+
+/* *
+ * getint - same as getuint but signed, we can't use getuint because of sign extension
+ * @ap:         a varargs list pointer
+ * @lflag:      determines the size of the vararg that @ap points to
+ * */
+static long long
+getint(va_list *ap, int lflag) {
+    if (lflag >= 2) {
+        return va_arg(*ap, long long);
+    }
+    else if (lflag) {
+        return va_arg(*ap, long);
+    }
+    else {
+        return va_arg(*ap, int);
+    }
+}
+
+/* *
+ * printfmt - format a string and print it by using putch
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @fmt:        the format string to use
+ * */
+void
+printfmt(void (*putch)(int, void*), void *putdat, const char *fmt, ...) {
+    va_list ap;
+
+    va_start(ap, fmt);
+    vprintfmt(putch, putdat, fmt, ap);
+    va_end(ap);
+}
+
+/* *
+ * vprintfmt - format a string and print it by using putch, it's called with a va_list
+ * instead of a variable number of arguments
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @fmt:        the format string to use
+ * @ap:         arguments for the format string
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want printfmt() instead.
+ * */
+void
+vprintfmt(void (*putch)(int, void*), void *putdat, const char *fmt, va_list ap) {
+    register const char *p;
+    register int ch, err;
+    unsigned long long num;
+    int base, width, precision, lflag, altflag;
+
+    while (1) {
+        while ((ch = *(unsigned char *)fmt ++) != '%') {
+            if (ch == '\0') {
+                return;
+            }
+            putch(ch, putdat);
+        }
+
+        // Process a %-escape sequence
+        char padc = ' ';
+        width = precision = -1;
+        lflag = altflag = 0;
+
+    reswitch:
+        switch (ch = *(unsigned char *)fmt ++) {
+
+        // flag to pad on the right
+        case '-':
+            padc = '-';
+            goto reswitch;
+
+        // flag to pad with 0's instead of spaces
+        case '0':
+            padc = '0';
+            goto reswitch;
+
+        // width field
+        case '1' ... '9':
+            for (precision = 0; ; ++ fmt) {
+                precision = precision * 10 + ch - '0';
+                ch = *fmt;
+                if (ch < '0' || ch > '9') {
+                    break;
+                }
+            }
+            goto process_precision;
+
+        case '*':
+            precision = va_arg(ap, int);
+            goto process_precision;
+
+        case '.':
+            if (width < 0)
+                width = 0;
+            goto reswitch;
+
+        case '#':
+            altflag = 1;
+            goto reswitch;
+
+        process_precision:
+            if (width < 0)
+                width = precision, precision = -1;
+            goto reswitch;
+
+        // long flag (doubled for long long)
+        case 'l':
+            lflag ++;
+            goto reswitch;
+
+        // character
+        case 'c':
+            putch(va_arg(ap, int), putdat);
+            break;
+
+        // error message
+        case 'e':
+            err = va_arg(ap, int);
+            if (err < 0) {
+                err = -err;
+            }
+            if (err > MAXERROR || (p = error_string[err]) == NULL) {
+                printfmt(putch, putdat, "error %d", err);
+            }
+            else {
+                printfmt(putch, putdat, "%s", p);
+            }
+            break;
+
+        // string
+        case 's':
+            if ((p = va_arg(ap, char *)) == NULL) {
+                p = "(null)";
+            }
+            if (width > 0 && padc != '-') {
+                for (width -= strnlen(p, precision); width > 0; width --) {
+                    putch(padc, putdat);
+                }
+            }
+            for (; (ch = *p ++) != '\0' && (precision < 0 || -- precision >= 0); width --) {
+                if (altflag && (ch < ' ' || ch > '~')) {
+                    putch('?', putdat);
+                }
+                else {
+                    putch(ch, putdat);
+                }
+            }
+            for (; width > 0; width --) {
+                putch(' ', putdat);
+            }
+            break;
+
+        // (signed) decimal
+        case 'd':
+            num = getint(&ap, lflag);
+            if ((long long)num < 0) {
+                putch('-', putdat);
+                num = -(long long)num;
+            }
+            base = 10;
+            goto number;
+
+        // unsigned decimal
+        case 'u':
+            num = getuint(&ap, lflag);
+            base = 10;
+            goto number;
+
+        // (unsigned) octal
+        case 'o':
+            num = getuint(&ap, lflag);
+            base = 8;
+            goto number;
+
+        // pointer
+        case 'p':
+            putch('0', putdat);
+            putch('x', putdat);
+            num = (unsigned long long)(uintptr_t)va_arg(ap, void *);
+            base = 16;
+            goto number;
+
+        // (unsigned) hexadecimal
+        case 'x':
+            num = getuint(&ap, lflag);
+            base = 16;
+        number:
+            printnum(putch, putdat, num, base, width, padc);
+            break;
+
+        // escaped '%' character
+        case '%':
+            putch(ch, putdat);
+            break;
+
+        // unrecognized escape sequence - just print it literally
+        default:
+            putch('%', putdat);
+            for (fmt --; fmt[-1] != '%'; fmt --)
+                /* do nothing */;
+            break;
+        }
+    }
+}
+
+/* sprintbuf is used to save enough information of a buffer */
+struct sprintbuf {
+    char *buf;          // address pointer points to the first unused memory
+    char *ebuf;         // points the end of the buffer
+    int cnt;            // the number of characters that have been placed in this buffer
+};
+
+/* *
+ * sprintputch - 'print' a single character in a buffer
+ * @ch:         the character will be printed
+ * @b:          the buffer to place the character @ch
+ * */
+static void
+sprintputch(int ch, struct sprintbuf *b) {
+    b->cnt ++;
+    if (b->buf < b->ebuf) {
+        *b->buf ++ = ch;
+    }
+}
+
+/* *
+ * snprintf - format a string and place it in a buffer
+ * @str:        the buffer to place the result into
+ * @size:       the size of buffer, including the trailing null space
+ * @fmt:        the format string to use
+ * */
+int
+snprintf(char *str, size_t size, const char *fmt, ...) {
+    va_list ap;
+    int cnt;
+    va_start(ap, fmt);
+    cnt = vsnprintf(str, size, fmt, ap);
+    va_end(ap);
+    return cnt;
+}
+
+/* *
+ * vsnprintf - format a string and place it in a buffer, it's called with a va_list
+ * instead of a variable number of arguments
+ * @str:        the buffer to place the result into
+ * @size:       the size of buffer, including the trailing null space
+ * @fmt:        the format string to use
+ * @ap:         arguments for the format string
+ *
+ * The return value is the number of characters which would be generated for the
+ * given input, excluding the trailing '\0'.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want snprintf() instead.
+ * */
+int
+vsnprintf(char *str, size_t size, const char *fmt, va_list ap) {
+    struct sprintbuf b = {str, str + size - 1, 0};
+    if (str == NULL || b.buf > b.ebuf) {
+        return -E_INVAL;
+    }
+    // print the string to the buffer
+    vprintfmt((void*)sprintputch, &b, fmt, ap);
+    // null terminate the buffer
+    *b.buf = '\0';
+    return b.cnt;
+}
+
diff --git a/code/lab4/libs/rand.c b/code/lab4/libs/rand.c
new file mode 100644
index 0000000..2a2c4e7
--- /dev/null
+++ b/code/lab4/libs/rand.c
@@ -0,0 +1,26 @@
+#include <x86.h>
+#include <stdlib.h>
+
+static unsigned long long next = 1;
+
+/* *
+ * rand - returns a pseudo-random integer
+ *
+ * The rand() function return a value in the range [0, RAND_MAX].
+ * */
+int
+rand(void) {
+    next = (next * 0x5DEECE66DLL + 0xBLL) & ((1LL << 48) - 1);
+    unsigned long long result = (next >> 12);
+    return (int)do_div(result, RAND_MAX + 1);
+}
+
+/* *
+ * srand - seed the random number generator with the given number
+ * @seed:   the required seed number
+ * */
+void
+srand(unsigned int seed) {
+    next = seed;
+}
+
diff --git a/code/lab4/libs/stdarg.h b/code/lab4/libs/stdarg.h
new file mode 100644
index 0000000..f6e0758
--- /dev/null
+++ b/code/lab4/libs/stdarg.h
@@ -0,0 +1,12 @@
+#ifndef __LIBS_STDARG_H__
+#define __LIBS_STDARG_H__
+
+/* compiler provides size of save area */
+typedef __builtin_va_list va_list;
+
+#define va_start(ap, last)              (__builtin_va_start(ap, last))
+#define va_arg(ap, type)                (__builtin_va_arg(ap, type))
+#define va_end(ap)                      /*nothing*/
+
+#endif /* !__LIBS_STDARG_H__ */
+
diff --git a/code/lab4/libs/stdio.h b/code/lab4/libs/stdio.h
new file mode 100644
index 0000000..41e8b41
--- /dev/null
+++ b/code/lab4/libs/stdio.h
@@ -0,0 +1,24 @@
+#ifndef __LIBS_STDIO_H__
+#define __LIBS_STDIO_H__
+
+#include <defs.h>
+#include <stdarg.h>
+
+/* kern/libs/stdio.c */
+int cprintf(const char *fmt, ...);
+int vcprintf(const char *fmt, va_list ap);
+void cputchar(int c);
+int cputs(const char *str);
+int getchar(void);
+
+/* kern/libs/readline.c */
+char *readline(const char *prompt);
+
+/* libs/printfmt.c */
+void printfmt(void (*putch)(int, void *), void *putdat, const char *fmt, ...);
+void vprintfmt(void (*putch)(int, void *), void *putdat, const char *fmt, va_list ap);
+int snprintf(char *str, size_t size, const char *fmt, ...);
+int vsnprintf(char *str, size_t size, const char *fmt, va_list ap);
+
+#endif /* !__LIBS_STDIO_H__ */
+
diff --git a/code/lab4/libs/stdlib.h b/code/lab4/libs/stdlib.h
new file mode 100644
index 0000000..51878ef
--- /dev/null
+++ b/code/lab4/libs/stdlib.h
@@ -0,0 +1,17 @@
+#ifndef __LIBS_STDLIB_H__
+#define __LIBS_STDLIB_H__
+
+#include <defs.h>
+
+/* the largest number rand will return */
+#define RAND_MAX    2147483647UL
+
+/* libs/rand.c */
+int rand(void);
+void srand(unsigned int seed);
+
+/* libs/hash.c */
+uint32_t hash32(uint32_t val, unsigned int bits);
+
+#endif /* !__LIBS_RAND_H__ */
+
diff --git a/code/lab4/libs/string.c b/code/lab4/libs/string.c
new file mode 100644
index 0000000..bcf1b1c
--- /dev/null
+++ b/code/lab4/libs/string.c
@@ -0,0 +1,367 @@
+#include <string.h>
+#include <x86.h>
+
+/* *
+ * strlen - calculate the length of the string @s, not including
+ * the terminating '\0' character.
+ * @s:      the input string
+ *
+ * The strlen() function returns the length of string @s.
+ * */
+size_t
+strlen(const char *s) {
+    size_t cnt = 0;
+    while (*s ++ != '\0') {
+        cnt ++;
+    }
+    return cnt;
+}
+
+/* *
+ * strnlen - calculate the length of the string @s, not including
+ * the terminating '\0' char acter, but at most @len.
+ * @s:      the input string
+ * @len:    the max-length that function will scan
+ *
+ * Note that, this function looks only at the first @len characters
+ * at @s, and never beyond @s + @len.
+ *
+ * The return value is strlen(s), if that is less than @len, or
+ * @len if there is no '\0' character among the first @len characters
+ * pointed by @s.
+ * */
+size_t
+strnlen(const char *s, size_t len) {
+    size_t cnt = 0;
+    while (cnt < len && *s ++ != '\0') {
+        cnt ++;
+    }
+    return cnt;
+}
+
+/* *
+ * strcpy - copies the string pointed by @src into the array pointed by @dst,
+ * including the terminating null character.
+ * @dst:    pointer to the destination array where the content is to be copied
+ * @src:    string to be copied
+ *
+ * The return value is @dst.
+ *
+ * To avoid overflows, the size of array pointed by @dst should be long enough to
+ * contain the same string as @src (including the terminating null character), and
+ * should not overlap in memory with @src.
+ * */
+char *
+strcpy(char *dst, const char *src) {
+#ifdef __HAVE_ARCH_STRCPY
+    return __strcpy(dst, src);
+#else
+    char *p = dst;
+    while ((*p ++ = *src ++) != '\0')
+        /* nothing */;
+    return dst;
+#endif /* __HAVE_ARCH_STRCPY */
+}
+
+/* *
+ * strncpy - copies the first @len characters of @src to @dst. If the end of string @src
+ * if found before @len characters have been copied, @dst is padded with '\0' until a
+ * total of @len characters have been written to it.
+ * @dst:    pointer to the destination array where the content is to be copied
+ * @src:    string to be copied
+ * @len:    maximum number of characters to be copied from @src
+ *
+ * The return value is @dst
+ * */
+char *
+strncpy(char *dst, const char *src, size_t len) {
+    char *p = dst;
+    while (len > 0) {
+        if ((*p = *src) != '\0') {
+            src ++;
+        }
+        p ++, len --;
+    }
+    return dst;
+}
+
+/* *
+ * strcmp - compares the string @s1 and @s2
+ * @s1:     string to be compared
+ * @s2:     string to be compared
+ *
+ * This function starts comparing the first character of each string. If
+ * they are equal to each other, it continues with the following pairs until
+ * the characters differ or until a terminanting null-character is reached.
+ *
+ * Returns an integral value indicating the relationship between the strings:
+ * - A zero value indicates that both strings are equal;
+ * - A value greater than zero indicates that the first character that does
+ *   not match has a greater value in @s1 than in @s2;
+ * - And a value less than zero indicates the opposite.
+ * */
+int
+strcmp(const char *s1, const char *s2) {
+#ifdef __HAVE_ARCH_STRCMP
+    return __strcmp(s1, s2);
+#else
+    while (*s1 != '\0' && *s1 == *s2) {
+        s1 ++, s2 ++;
+    }
+    return (int)((unsigned char)*s1 - (unsigned char)*s2);
+#endif /* __HAVE_ARCH_STRCMP */
+}
+
+/* *
+ * strncmp - compares up to @n characters of the string @s1 to those of the string @s2
+ * @s1:     string to be compared
+ * @s2:     string to be compared
+ * @n:      maximum number of characters to compare
+ *
+ * This function starts comparing the first character of each string. If
+ * they are equal to each other, it continues with the following pairs until
+ * the characters differ, until a terminating null-character is reached, or
+ * until @n characters match in both strings, whichever happens first.
+ * */
+int
+strncmp(const char *s1, const char *s2, size_t n) {
+    while (n > 0 && *s1 != '\0' && *s1 == *s2) {
+        n --, s1 ++, s2 ++;
+    }
+    return (n == 0) ? 0 : (int)((unsigned char)*s1 - (unsigned char)*s2);
+}
+
+/* *
+ * strchr - locates first occurrence of character in string
+ * @s:      the input string
+ * @c:      character to be located
+ *
+ * The strchr() function returns a pointer to the first occurrence of
+ * character in @s. If the value is not found, the function returns 'NULL'.
+ * */
+char *
+strchr(const char *s, char c) {
+    while (*s != '\0') {
+        if (*s == c) {
+            return (char *)s;
+        }
+        s ++;
+    }
+    return NULL;
+}
+
+/* *
+ * strfind - locates first occurrence of character in string
+ * @s:      the input string
+ * @c:      character to be located
+ *
+ * The strfind() function is like strchr() except that if @c is
+ * not found in @s, then it returns a pointer to the null byte at the
+ * end of @s, rather than 'NULL'.
+ * */
+char *
+strfind(const char *s, char c) {
+    while (*s != '\0') {
+        if (*s == c) {
+            break;
+        }
+        s ++;
+    }
+    return (char *)s;
+}
+
+/* *
+ * strtol - converts string to long integer
+ * @s:      the input string that contains the representation of an integer number
+ * @endptr: reference to an object of type char *, whose value is set by the
+ *          function to the next character in @s after the numerical value. This
+ *          parameter can also be a null pointer, in which case it is not used.
+ * @base:   x
+ *
+ * The function first discards as many whitespace characters as necessary until
+ * the first non-whitespace character is found. Then, starting from this character,
+ * takes as many characters as possible that are valid following a syntax that
+ * depends on the base parameter, and interprets them as a numerical value. Finally,
+ * a pointer to the first character following the integer representation in @s
+ * is stored in the object pointed by @endptr.
+ *
+ * If the value of base is zero, the syntax expected is similar to that of
+ * integer constants, which is formed by a succession of:
+ * - An optional plus or minus sign;
+ * - An optional prefix indicating octal or hexadecimal base ("0" or "0x" respectively)
+ * - A sequence of decimal digits (if no base prefix was specified) or either octal
+ *   or hexadecimal digits if a specific prefix is present
+ *
+ * If the base value is between 2 and 36, the format expected for the integral number
+ * is a succession of the valid digits and/or letters needed to represent integers of
+ * the specified radix (starting from '0' and up to 'z'/'Z' for radix 36). The
+ * sequence may optionally be preceded by a plus or minus sign and, if base is 16,
+ * an optional "0x" or "0X" prefix.
+ *
+ * The strtol() function returns the converted integral number as a long int value.
+ * */
+long
+strtol(const char *s, char **endptr, int base) {
+    int neg = 0;
+    long val = 0;
+
+    // gobble initial whitespace
+    while (*s == ' ' || *s == '\t') {
+        s ++;
+    }
+
+    // plus/minus sign
+    if (*s == '+') {
+        s ++;
+    }
+    else if (*s == '-') {
+        s ++, neg = 1;
+    }
+
+    // hex or octal base prefix
+    if ((base == 0 || base == 16) && (s[0] == '0' && s[1] == 'x')) {
+        s += 2, base = 16;
+    }
+    else if (base == 0 && s[0] == '0') {
+        s ++, base = 8;
+    }
+    else if (base == 0) {
+        base = 10;
+    }
+
+    // digits
+    while (1) {
+        int dig;
+
+        if (*s >= '0' && *s <= '9') {
+            dig = *s - '0';
+        }
+        else if (*s >= 'a' && *s <= 'z') {
+            dig = *s - 'a' + 10;
+        }
+        else if (*s >= 'A' && *s <= 'Z') {
+            dig = *s - 'A' + 10;
+        }
+        else {
+            break;
+        }
+        if (dig >= base) {
+            break;
+        }
+        s ++, val = (val * base) + dig;
+        // we don't properly detect overflow!
+    }
+
+    if (endptr) {
+        *endptr = (char *) s;
+    }
+    return (neg ? -val : val);
+}
+
+/* *
+ * memset - sets the first @n bytes of the memory area pointed by @s
+ * to the specified value @c.
+ * @s:      pointer the the memory area to fill
+ * @c:      value to set
+ * @n:      number of bytes to be set to the value
+ *
+ * The memset() function returns @s.
+ * */
+void *
+memset(void *s, char c, size_t n) {
+#ifdef __HAVE_ARCH_MEMSET
+    return __memset(s, c, n);
+#else
+    char *p = s;
+    while (n -- > 0) {
+        *p ++ = c;
+    }
+    return s;
+#endif /* __HAVE_ARCH_MEMSET */
+}
+
+/* *
+ * memmove - copies the values of @n bytes from the location pointed by @src to
+ * the memory area pointed by @dst. @src and @dst are allowed to overlap.
+ * @dst     pointer to the destination array where the content is to be copied
+ * @src     pointer to the source of data to by copied
+ * @n:      number of bytes to copy
+ *
+ * The memmove() function returns @dst.
+ * */
+void *
+memmove(void *dst, const void *src, size_t n) {
+#ifdef __HAVE_ARCH_MEMMOVE
+    return __memmove(dst, src, n);
+#else
+    const char *s = src;
+    char *d = dst;
+    if (s < d && s + n > d) {
+        s += n, d += n;
+        while (n -- > 0) {
+            *-- d = *-- s;
+        }
+    } else {
+        while (n -- > 0) {
+            *d ++ = *s ++;
+        }
+    }
+    return dst;
+#endif /* __HAVE_ARCH_MEMMOVE */
+}
+
+/* *
+ * memcpy - copies the value of @n bytes from the location pointed by @src to
+ * the memory area pointed by @dst.
+ * @dst     pointer to the destination array where the content is to be copied
+ * @src     pointer to the source of data to by copied
+ * @n:      number of bytes to copy
+ *
+ * The memcpy() returns @dst.
+ *
+ * Note that, the function does not check any terminating null character in @src,
+ * it always copies exactly @n bytes. To avoid overflows, the size of arrays pointed
+ * by both @src and @dst, should be at least @n bytes, and should not overlap
+ * (for overlapping memory area, memmove is a safer approach).
+ * */
+void *
+memcpy(void *dst, const void *src, size_t n) {
+#ifdef __HAVE_ARCH_MEMCPY
+    return __memcpy(dst, src, n);
+#else
+    const char *s = src;
+    char *d = dst;
+    while (n -- > 0) {
+        *d ++ = *s ++;
+    }
+    return dst;
+#endif /* __HAVE_ARCH_MEMCPY */
+}
+
+/* *
+ * memcmp - compares two blocks of memory
+ * @v1:     pointer to block of memory
+ * @v2:     pointer to block of memory
+ * @n:      number of bytes to compare
+ *
+ * The memcmp() functions returns an integral value indicating the
+ * relationship between the content of the memory blocks:
+ * - A zero value indicates that the contents of both memory blocks are equal;
+ * - A value greater than zero indicates that the first byte that does not
+ *   match in both memory blocks has a greater value in @v1 than in @v2
+ *   as if evaluated as unsigned char values;
+ * - And a value less than zero indicates the opposite.
+ * */
+int
+memcmp(const void *v1, const void *v2, size_t n) {
+    const char *s1 = (const char *)v1;
+    const char *s2 = (const char *)v2;
+    while (n -- > 0) {
+        if (*s1 != *s2) {
+            return (int)((unsigned char)*s1 - (unsigned char)*s2);
+        }
+        s1 ++, s2 ++;
+    }
+    return 0;
+}
+
diff --git a/code/lab4/libs/string.h b/code/lab4/libs/string.h
new file mode 100644
index 0000000..14d0aac
--- /dev/null
+++ b/code/lab4/libs/string.h
@@ -0,0 +1,25 @@
+#ifndef __LIBS_STRING_H__
+#define __LIBS_STRING_H__
+
+#include <defs.h>
+
+size_t strlen(const char *s);
+size_t strnlen(const char *s, size_t len);
+
+char *strcpy(char *dst, const char *src);
+char *strncpy(char *dst, const char *src, size_t len);
+
+int strcmp(const char *s1, const char *s2);
+int strncmp(const char *s1, const char *s2, size_t n);
+
+char *strchr(const char *s, char c);
+char *strfind(const char *s, char c);
+long strtol(const char *s, char **endptr, int base);
+
+void *memset(void *s, char c, size_t n);
+void *memmove(void *dst, const void *src, size_t n);
+void *memcpy(void *dst, const void *src, size_t n);
+int memcmp(const void *v1, const void *v2, size_t n);
+
+#endif /* !__LIBS_STRING_H__ */
+
diff --git a/code/lab4/libs/x86.h b/code/lab4/libs/x86.h
new file mode 100644
index 0000000..b29f671
--- /dev/null
+++ b/code/lab4/libs/x86.h
@@ -0,0 +1,302 @@
+#ifndef __LIBS_X86_H__
+#define __LIBS_X86_H__
+
+#include <defs.h>
+
+#define do_div(n, base) ({                                          \
+            unsigned long __upper, __low, __high, __mod, __base;    \
+            __base = (base);                                        \
+            asm ("" : "=a" (__low), "=d" (__high) : "A" (n));       \
+            __upper = __high;                                       \
+            if (__high != 0) {                                      \
+                __upper = __high % __base;                          \
+                __high = __high / __base;                           \
+            }                                                       \
+            asm ("divl %2" : "=a" (__low), "=d" (__mod)             \
+                : "rm" (__base), "0" (__low), "1" (__upper));       \
+            asm ("" : "=A" (n) : "a" (__low), "d" (__high));        \
+            __mod;                                                  \
+        })
+
+#define barrier() __asm__ __volatile__ ("" ::: "memory")
+
+static inline uint8_t inb(uint16_t port) __attribute__((always_inline));
+static inline void insl(uint32_t port, void *addr, int cnt) __attribute__((always_inline));
+static inline void outb(uint16_t port, uint8_t data) __attribute__((always_inline));
+static inline void outw(uint16_t port, uint16_t data) __attribute__((always_inline));
+static inline void outsl(uint32_t port, const void *addr, int cnt) __attribute__((always_inline));
+static inline uint32_t read_ebp(void) __attribute__((always_inline));
+static inline void breakpoint(void) __attribute__((always_inline));
+static inline uint32_t read_dr(unsigned regnum) __attribute__((always_inline));
+static inline void write_dr(unsigned regnum, uint32_t value) __attribute__((always_inline));
+
+/* Pseudo-descriptors used for LGDT, LLDT(not used) and LIDT instructions. */
+struct pseudodesc {
+    uint16_t pd_lim;        // Limit
+    uintptr_t pd_base;      // Base address
+} __attribute__ ((packed));
+
+static inline void lidt(struct pseudodesc *pd) __attribute__((always_inline));
+static inline void sti(void) __attribute__((always_inline));
+static inline void cli(void) __attribute__((always_inline));
+static inline void ltr(uint16_t sel) __attribute__((always_inline));
+static inline uint32_t read_eflags(void) __attribute__((always_inline));
+static inline void write_eflags(uint32_t eflags) __attribute__((always_inline));
+static inline void lcr0(uintptr_t cr0) __attribute__((always_inline));
+static inline void lcr3(uintptr_t cr3) __attribute__((always_inline));
+static inline uintptr_t rcr0(void) __attribute__((always_inline));
+static inline uintptr_t rcr1(void) __attribute__((always_inline));
+static inline uintptr_t rcr2(void) __attribute__((always_inline));
+static inline uintptr_t rcr3(void) __attribute__((always_inline));
+static inline void invlpg(void *addr) __attribute__((always_inline));
+
+static inline uint8_t
+inb(uint16_t port) {
+    uint8_t data;
+    asm volatile ("inb %1, %0" : "=a" (data) : "d" (port) : "memory");
+    return data;
+}
+
+static inline void
+insl(uint32_t port, void *addr, int cnt) {
+    asm volatile (
+        "cld;"
+        "repne; insl;"
+        : "=D" (addr), "=c" (cnt)
+        : "d" (port), "0" (addr), "1" (cnt)
+        : "memory", "cc");
+}
+
+static inline void
+outb(uint16_t port, uint8_t data) {
+    asm volatile ("outb %0, %1" :: "a" (data), "d" (port) : "memory");
+}
+
+static inline void
+outw(uint16_t port, uint16_t data) {
+    asm volatile ("outw %0, %1" :: "a" (data), "d" (port) : "memory");
+}
+
+static inline void
+outsl(uint32_t port, const void *addr, int cnt) {
+    asm volatile (
+        "cld;"
+        "repne; outsl;"
+        : "=S" (addr), "=c" (cnt)
+        : "d" (port), "0" (addr), "1" (cnt)
+        : "memory", "cc");
+}
+
+static inline uint32_t
+read_ebp(void) {
+    uint32_t ebp;
+    asm volatile ("movl %%ebp, %0" : "=r" (ebp));
+    return ebp;
+}
+
+static inline void
+breakpoint(void) {
+    asm volatile ("int $3");
+}
+
+static inline uint32_t
+read_dr(unsigned regnum) {
+    uint32_t value = 0;
+    switch (regnum) {
+    case 0: asm volatile ("movl %%db0, %0" : "=r" (value)); break;
+    case 1: asm volatile ("movl %%db1, %0" : "=r" (value)); break;
+    case 2: asm volatile ("movl %%db2, %0" : "=r" (value)); break;
+    case 3: asm volatile ("movl %%db3, %0" : "=r" (value)); break;
+    case 6: asm volatile ("movl %%db6, %0" : "=r" (value)); break;
+    case 7: asm volatile ("movl %%db7, %0" : "=r" (value)); break;
+    }
+    return value;
+}
+
+static void
+write_dr(unsigned regnum, uint32_t value) {
+    switch (regnum) {
+    case 0: asm volatile ("movl %0, %%db0" :: "r" (value)); break;
+    case 1: asm volatile ("movl %0, %%db1" :: "r" (value)); break;
+    case 2: asm volatile ("movl %0, %%db2" :: "r" (value)); break;
+    case 3: asm volatile ("movl %0, %%db3" :: "r" (value)); break;
+    case 6: asm volatile ("movl %0, %%db6" :: "r" (value)); break;
+    case 7: asm volatile ("movl %0, %%db7" :: "r" (value)); break;
+    }
+}
+
+static inline void
+lidt(struct pseudodesc *pd) {
+    asm volatile ("lidt (%0)" :: "r" (pd) : "memory");
+}
+
+static inline void
+sti(void) {
+    asm volatile ("sti");
+}
+
+static inline void
+cli(void) {
+    asm volatile ("cli" ::: "memory");
+}
+
+static inline void
+ltr(uint16_t sel) {
+    asm volatile ("ltr %0" :: "r" (sel) : "memory");
+}
+
+static inline uint32_t
+read_eflags(void) {
+    uint32_t eflags;
+    asm volatile ("pushfl; popl %0" : "=r" (eflags));
+    return eflags;
+}
+
+static inline void
+write_eflags(uint32_t eflags) {
+    asm volatile ("pushl %0; popfl" :: "r" (eflags));
+}
+
+static inline void
+lcr0(uintptr_t cr0) {
+    asm volatile ("mov %0, %%cr0" :: "r" (cr0) : "memory");
+}
+
+static inline void
+lcr3(uintptr_t cr3) {
+    asm volatile ("mov %0, %%cr3" :: "r" (cr3) : "memory");
+}
+
+static inline uintptr_t
+rcr0(void) {
+    uintptr_t cr0;
+    asm volatile ("mov %%cr0, %0" : "=r" (cr0) :: "memory");
+    return cr0;
+}
+
+static inline uintptr_t
+rcr1(void) {
+    uintptr_t cr1;
+    asm volatile ("mov %%cr1, %0" : "=r" (cr1) :: "memory");
+    return cr1;
+}
+
+static inline uintptr_t
+rcr2(void) {
+    uintptr_t cr2;
+    asm volatile ("mov %%cr2, %0" : "=r" (cr2) :: "memory");
+    return cr2;
+}
+
+static inline uintptr_t
+rcr3(void) {
+    uintptr_t cr3;
+    asm volatile ("mov %%cr3, %0" : "=r" (cr3) :: "memory");
+    return cr3;
+}
+
+static inline void
+invlpg(void *addr) {
+    asm volatile ("invlpg (%0)" :: "r" (addr) : "memory");
+}
+
+static inline int __strcmp(const char *s1, const char *s2) __attribute__((always_inline));
+static inline char *__strcpy(char *dst, const char *src) __attribute__((always_inline));
+static inline void *__memset(void *s, char c, size_t n) __attribute__((always_inline));
+static inline void *__memmove(void *dst, const void *src, size_t n) __attribute__((always_inline));
+static inline void *__memcpy(void *dst, const void *src, size_t n) __attribute__((always_inline));
+
+#ifndef __HAVE_ARCH_STRCMP
+#define __HAVE_ARCH_STRCMP
+static inline int
+__strcmp(const char *s1, const char *s2) {
+    int d0, d1, ret;
+    asm volatile (
+        "1: lodsb;"
+        "scasb;"
+        "jne 2f;"
+        "testb %%al, %%al;"
+        "jne 1b;"
+        "xorl %%eax, %%eax;"
+        "jmp 3f;"
+        "2: sbbl %%eax, %%eax;"
+        "orb $1, %%al;"
+        "3:"
+        : "=a" (ret), "=&S" (d0), "=&D" (d1)
+        : "1" (s1), "2" (s2)
+        : "memory");
+    return ret;
+}
+
+#endif /* __HAVE_ARCH_STRCMP */
+
+#ifndef __HAVE_ARCH_STRCPY
+#define __HAVE_ARCH_STRCPY
+static inline char *
+__strcpy(char *dst, const char *src) {
+    int d0, d1, d2;
+    asm volatile (
+        "1: lodsb;"
+        "stosb;"
+        "testb %%al, %%al;"
+        "jne 1b;"
+        : "=&S" (d0), "=&D" (d1), "=&a" (d2)
+        : "0" (src), "1" (dst) : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_STRCPY */
+
+#ifndef __HAVE_ARCH_MEMSET
+#define __HAVE_ARCH_MEMSET
+static inline void *
+__memset(void *s, char c, size_t n) {
+    int d0, d1;
+    asm volatile (
+        "rep; stosb;"
+        : "=&c" (d0), "=&D" (d1)
+        : "0" (n), "a" (c), "1" (s)
+        : "memory");
+    return s;
+}
+#endif /* __HAVE_ARCH_MEMSET */
+
+#ifndef __HAVE_ARCH_MEMMOVE
+#define __HAVE_ARCH_MEMMOVE
+static inline void *
+__memmove(void *dst, const void *src, size_t n) {
+    if (dst < src) {
+        return __memcpy(dst, src, n);
+    }
+    int d0, d1, d2;
+    asm volatile (
+        "std;"
+        "rep; movsb;"
+        "cld;"
+        : "=&c" (d0), "=&S" (d1), "=&D" (d2)
+        : "0" (n), "1" (n - 1 + src), "2" (n - 1 + dst)
+        : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_MEMMOVE */
+
+#ifndef __HAVE_ARCH_MEMCPY
+#define __HAVE_ARCH_MEMCPY
+static inline void *
+__memcpy(void *dst, const void *src, size_t n) {
+    int d0, d1, d2;
+    asm volatile (
+        "rep; movsl;"
+        "movl %4, %%ecx;"
+        "andl $3, %%ecx;"
+        "jz 1f;"
+        "rep; movsb;"
+        "1:"
+        : "=&c" (d0), "=&D" (d1), "=&S" (d2)
+        : "0" (n / 4), "g" (n), "1" (dst), "2" (src)
+        : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_MEMCPY */
+
+#endif /* !__LIBS_X86_H__ */
+
diff --git a/code/lab4/tools/boot.ld b/code/lab4/tools/boot.ld
new file mode 100644
index 0000000..dc732b0
--- /dev/null
+++ b/code/lab4/tools/boot.ld
@@ -0,0 +1,15 @@
+OUTPUT_FORMAT("elf32-i386")
+OUTPUT_ARCH(i386)
+
+SECTIONS {
+    . = 0x7C00;
+
+    .startup : {
+        *bootasm.o(.text)
+    }
+
+    .text : { *(.text) }
+    .data : { *(.data .rodata) }
+    
+    /DISCARD/ : { *(.eh_*) }
+}
diff --git a/code/lab4/tools/function.mk b/code/lab4/tools/function.mk
new file mode 100644
index 0000000..9b8be0c
--- /dev/null
+++ b/code/lab4/tools/function.mk
@@ -0,0 +1,95 @@
+OBJPREFIX	:= __objs_
+
+.SECONDEXPANSION:
+# -------------------- function begin --------------------
+
+# list all files in some directories: (#directories, #types)
+listf = $(filter $(if $(2),$(addprefix %.,$(2)),%),\
+		  $(wildcard $(addsuffix $(SLASH)*,$(1))))
+
+# get .o obj files: (#files[, packet])
+toobj = $(addprefix $(OBJDIR)$(SLASH)$(if $(2),$(2)$(SLASH)),\
+		$(addsuffix .o,$(basename $(1))))
+
+# get .d dependency files: (#files[, packet])
+todep = $(patsubst %.o,%.d,$(call toobj,$(1),$(2)))
+
+totarget = $(addprefix $(BINDIR)$(SLASH),$(1))
+
+# change $(name) to $(OBJPREFIX)$(name): (#names)
+packetname = $(if $(1),$(addprefix $(OBJPREFIX),$(1)),$(OBJPREFIX))
+
+# cc compile template, generate rule for dep, obj: (file, cc[, flags, dir])
+define cc_template
+$$(call todep,$(1),$(4)): $(1) | $$$$(dir $$$$@)
+	@$(2) -I$$(dir $(1)) $(3) -MM $$< -MT "$$(patsubst %.d,%.o,$$@) $$@"> $$@
+$$(call toobj,$(1),$(4)): $(1) | $$$$(dir $$$$@)
+	@echo + cc $$<
+	$(V)$(2) -I$$(dir $(1)) $(3) -c $$< -o $$@
+ALLOBJS += $$(call toobj,$(1),$(4))
+endef
+
+# compile file: (#files, cc[, flags, dir])
+define do_cc_compile
+$$(foreach f,$(1),$$(eval $$(call cc_template,$$(f),$(2),$(3),$(4))))
+endef
+
+# add files to packet: (#files, cc[, flags, packet, dir])
+define do_add_files_to_packet
+__temp_packet__ := $(call packetname,$(4))
+ifeq ($$(origin $$(__temp_packet__)),undefined)
+$$(__temp_packet__) :=
+endif
+__temp_objs__ := $(call toobj,$(1),$(5))
+$$(foreach f,$(1),$$(eval $$(call cc_template,$$(f),$(2),$(3),$(5))))
+$$(__temp_packet__) += $$(__temp_objs__)
+endef
+
+# add objs to packet: (#objs, packet)
+define do_add_objs_to_packet
+__temp_packet__ := $(call packetname,$(2))
+ifeq ($$(origin $$(__temp_packet__)),undefined)
+$$(__temp_packet__) :=
+endif
+$$(__temp_packet__) += $(1)
+endef
+
+# add packets and objs to target (target, #packes, #objs[, cc, flags])
+define do_create_target
+__temp_target__ = $(call totarget,$(1))
+__temp_objs__ = $$(foreach p,$(call packetname,$(2)),$$($$(p))) $(3)
+TARGETS += $$(__temp_target__)
+ifneq ($(4),)
+$$(__temp_target__): $$(__temp_objs__) | $$$$(dir $$$$@)
+	$(V)$(4) $(5) $$^ -o $$@
+else
+$$(__temp_target__): $$(__temp_objs__) | $$$$(dir $$$$@)
+endif
+endef
+
+# finish all
+define do_finish_all
+ALLDEPS = $$(ALLOBJS:.o=.d)
+$$(sort $$(dir $$(ALLOBJS)) $(BINDIR)$(SLASH) $(OBJDIR)$(SLASH)):
+	@$(MKDIR) $$@
+endef
+
+# --------------------  function end  --------------------
+# compile file: (#files, cc[, flags, dir])
+cc_compile = $(eval $(call do_cc_compile,$(1),$(2),$(3),$(4)))
+
+# add files to packet: (#files, cc[, flags, packet, dir])
+add_files = $(eval $(call do_add_files_to_packet,$(1),$(2),$(3),$(4),$(5)))
+
+# add objs to packet: (#objs, packet)
+add_objs = $(eval $(call do_add_objs_to_packet,$(1),$(2)))
+
+# add packets and objs to target (target, #packes, #objs, cc, [, flags])
+create_target = $(eval $(call do_create_target,$(1),$(2),$(3),$(4),$(5)))
+
+read_packet = $(foreach p,$(call packetname,$(1)),$($(p)))
+
+add_dependency = $(eval $(1): $(2))
+
+finish_all = $(eval $(call do_finish_all))
+
diff --git a/code/lab4/tools/gdbinit b/code/lab4/tools/gdbinit
new file mode 100644
index 0000000..df5df85
--- /dev/null
+++ b/code/lab4/tools/gdbinit
@@ -0,0 +1,3 @@
+file bin/kernel
+target remote :1234
+break kern_init
diff --git a/code/lab4/tools/grade.sh b/code/lab4/tools/grade.sh
new file mode 100644
index 0000000..473ca83
--- /dev/null
+++ b/code/lab4/tools/grade.sh
@@ -0,0 +1,351 @@
+#!/bin/sh
+
+verbose=false
+if [ "x$1" = "x-v" ]; then
+    verbose=true
+    out=/dev/stdout
+    err=/dev/stderr
+else
+    out=/dev/null
+    err=/dev/null
+fi
+
+## make & makeopts
+if gmake --version > /dev/null 2>&1; then
+    make=gmake;
+else
+    make=make;
+fi
+
+makeopts="--quiet --no-print-directory -j"
+
+make_print() {
+    echo `$make $makeopts print-$1`
+}
+
+## command tools
+awk='awk'
+bc='bc'
+date='date'
+grep='grep'
+rm='rm -f'
+sed='sed'
+
+## symbol table
+sym_table='obj/kernel.sym'
+
+## gdb & gdbopts
+gdb="$(make_print GDB)"
+gdbport='1234'
+
+gdb_in="$(make_print GRADE_GDB_IN)"
+
+## qemu & qemuopts
+qemu="$(make_print qemu)"
+
+qemu_out="$(make_print GRADE_QEMU_OUT)"
+
+if $qemu -nographic -help | grep -q '^-gdb'; then
+    qemugdb="-gdb tcp::$gdbport"
+else
+    qemugdb="-s -p $gdbport"
+fi
+
+## default variables
+default_timeout=30
+default_pts=5
+
+pts=5
+part=0
+part_pos=0
+total=0
+total_pos=0
+
+## default functions
+update_score() {
+    total=`expr $total + $part`
+    total_pos=`expr $total_pos + $part_pos`
+    part=0
+    part_pos=0
+}
+
+get_time() {
+    echo `$date +%s.%N 2> /dev/null`
+}
+
+show_part() {
+    echo "Part $1 Score: $part/$part_pos"
+    echo
+    update_score
+}
+
+show_final() {
+    update_score
+    echo "Total Score: $total/$total_pos"
+    if [ $total -lt $total_pos ]; then
+        exit 1
+    fi
+}
+
+show_time() {
+    t1=$(get_time)
+    time=`echo "scale=1; ($t1-$t0)/1" | $sed 's/.N/.0/g' | $bc 2> /dev/null`
+    echo "(${time}s)"
+}
+
+show_build_tag() {
+    echo "$1:" | $awk '{printf "%-24s ", $0}'
+}
+
+show_check_tag() {
+    echo "$1:" | $awk '{printf "  -%-40s  ", $0}'
+}
+
+show_msg() {
+    echo $1
+    shift
+    if [ $# -gt 0 ]; then
+        echo "$@" | awk '{printf "   %s\n", $0}'
+        echo
+    fi
+}
+
+pass() {
+    show_msg OK "$@"
+    part=`expr $part + $pts`
+    part_pos=`expr $part_pos + $pts`
+}
+
+fail() {
+    show_msg WRONG "$@"
+    part_pos=`expr $part_pos + $pts`
+}
+
+run_qemu() {
+    # Run qemu with serial output redirected to $qemu_out. If $brkfun is non-empty,
+    # wait until $brkfun is reached or $timeout expires, then kill QEMU
+    qemuextra=
+    if [ "$brkfun" ]; then
+        qemuextra="-S $qemugdb"
+    fi
+
+    if [ -z "$timeout" ] || [ $timeout -le 0 ]; then
+        timeout=$default_timeout;
+    fi
+
+    t0=$(get_time)
+    (
+        ulimit -t $timeout
+        exec $qemu -nographic $qemuopts -serial file:$qemu_out -monitor null -no-reboot $qemuextra
+    ) > $out 2> $err &
+    pid=$!
+
+    # wait for QEMU to start
+    sleep 1
+
+    if [ -n "$brkfun" ]; then
+        # find the address of the kernel $brkfun function
+        brkaddr=`$grep " $brkfun\$" $sym_table | $sed -e's/ .*$//g'`
+        (
+            echo "target remote localhost:$gdbport"
+            echo "break *0x$brkaddr"
+            echo "continue"
+        ) > $gdb_in
+
+        $gdb -batch -nx -x $gdb_in > /dev/null 2>&1
+
+        # make sure that QEMU is dead
+        # on OS X, exiting gdb doesn't always exit qemu
+        kill $pid > /dev/null 2>&1
+    fi
+}
+
+build_run() {
+    # usage: build_run <tag> <args>
+    show_build_tag "$1"
+    shift
+
+    if $verbose; then
+        echo "$make $@ ..."
+    fi
+    $make $makeopts $@ 'DEFS+=-DDEBUG_GRADE' > $out 2> $err
+
+    if [ $? -ne 0 ]; then
+        echo $make $@ failed
+        exit 1
+    fi
+
+    # now run qemu and save the output
+    run_qemu
+
+    show_time
+}
+
+check_result() {
+    # usage: check_result <tag> <check> <check args...>
+    show_check_tag "$1"
+    shift
+
+    # give qemu some time to run (for asynchronous mode)
+    if [ ! -s $qemu_out ]; then
+        sleep 4
+    fi
+
+    if [ ! -s $qemu_out ]; then
+        fail > /dev/null
+        echo 'no $qemu_out'
+    else
+        check=$1
+        shift
+        $check "$@"
+    fi
+}
+
+check_regexps() {
+    okay=yes
+    not=0
+    reg=0
+    error=
+    for i do
+        if [ "x$i" = "x!" ]; then
+            not=1
+        elif [ "x$i" = "x-" ]; then
+            reg=1
+        else
+            if [ $reg -ne 0 ]; then
+                $grep '-E' "^$i\$" $qemu_out > /dev/null
+            else
+                $grep '-F' "$i" $qemu_out > /dev/null
+            fi
+            found=$(($? == 0))
+            if [ $found -eq $not ]; then
+                if [ $found -eq 0 ]; then
+                    msg="!! error: missing '$i'"
+                else
+                    msg="!! error: got unexpected line '$i'"
+                fi
+                okay=no
+                if [ -z "$error" ]; then
+                    error="$msg"
+                else
+                    error="$error\n$msg"
+                fi
+            fi
+            not=0
+            reg=0
+        fi
+    done
+    if [ "$okay" = "yes" ]; then
+        pass
+    else
+        fail "$error"
+        if $verbose; then
+            exit 1
+        fi
+    fi
+}
+
+run_test() {
+    # usage: run_test [-tag <tag>] [-Ddef...] [-check <check>] checkargs ...
+    tag=
+    check=check_regexps
+    while true; do
+        select=
+        case $1 in
+            -tag)
+                select=`expr substr $1 2 ${#1}`
+                eval $select='$2'
+                ;;
+        esac
+        if [ -z "$select" ]; then
+            break
+        fi
+        shift
+        shift
+    done
+    defs=
+    while expr "x$1" : "x-D.*" > /dev/null; do
+        defs="DEFS+='$1' $defs"
+        shift
+    done
+    if [ "x$1" = "x-check" ]; then
+        check=$2
+        shift
+        shift
+    fi
+
+    $make $makeopts touch > /dev/null 2>&1
+    build_run "$tag" "$defs"
+
+    check_result 'check result' "$check" "$@"
+}
+
+quick_run() {
+    # usage: quick_run <tag> [-Ddef...]
+    tag="$1"
+    shift
+    defs=
+    while expr "x$1" : "x-D.*" > /dev/null; do
+        defs="DEFS+='$1' $defs"
+        shift
+    done
+
+    $make $makeopts touch > /dev/null 2>&1
+    build_run "$tag" "$defs"
+}
+
+quick_check() {
+    # usage: quick_check <tag> checkargs ...
+    tag="$1"
+    shift
+    check_result "$tag" check_regexps "$@"
+}
+
+## kernel image
+osimg=$(make_print ucoreimg)
+
+## set default qemu-options
+qemuopts="-hda $osimg"
+
+## set break-function, default is readline
+brkfun=readline
+
+## check now!!
+
+quick_run 'Check VMM'
+
+pts=5
+quick_check 'check pmm'                                         \
+    'memory management: buddy_pmm_manager'                      \
+    'check_alloc_page() succeeded!'                             \
+    'check_pgdir() succeeded!'                                  \
+    'check_boot_pgdir() succeeded!'
+
+pts=5
+quick_check 'check page table'                                  \
+    'PDE(0e0) c0000000-f8000000 38000000 urw'                   \
+    '  |-- PTE(38000) c0000000-f8000000 38000000 -rw'           \
+    'PDE(001) fac00000-fb000000 00400000 -rw'                   \
+    '  |-- PTE(000e0) faf00000-fafe0000 000e0000 urw'           \
+    '  |-- PTE(00001) fafeb000-fafec000 00001000 -rw'
+
+pts=10
+quick_check 'check slab'                                        \
+    'check_slab() succeeded!'
+
+pts=25
+quick_check 'check vmm'                                         \
+    'check_vma_struct() succeeded!'                             \
+    'page fault at 0x00000100: K/W [no page found].'            \
+    'check_pgfault() succeeded!'                                \
+    'check_vmm() succeeded.'
+
+pts=5
+quick_check 'check ticks'                                       \
+    '++ setup timer interrupts'                                 \
+    '100 ticks'                                                 \
+    'End of Test.'
+
+## print final-score
+show_final
+
diff --git a/code/lab4/tools/kernel.ld b/code/lab4/tools/kernel.ld
new file mode 100644
index 0000000..1838500
--- /dev/null
+++ b/code/lab4/tools/kernel.ld
@@ -0,0 +1,58 @@
+/* Simple linker script for the ucore kernel.
+   See the GNU ld 'info' manual ("info ld") to learn the syntax. */
+
+OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
+OUTPUT_ARCH(i386)
+ENTRY(kern_entry)
+
+SECTIONS {
+    /* Load the kernel at this address: "." means the current address */
+    . = 0xC0100000;
+
+    .text : {
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+
+    PROVIDE(etext = .); /* Define the 'etext' symbol to this value */
+
+    .rodata : {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+
+    /* Include debugging information in kernel memory */
+    .stab : {
+        PROVIDE(__STAB_BEGIN__ = .);
+        *(.stab);
+        PROVIDE(__STAB_END__ = .);
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    .stabstr : {
+        PROVIDE(__STABSTR_BEGIN__ = .);
+        *(.stabstr);
+        PROVIDE(__STABSTR_END__ = .);
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    /* Adjust the address for the data segment to the next page */
+    . = ALIGN(0x1000);
+
+    /* The data segment */
+    .data : {
+        *(.data)
+    }
+
+    PROVIDE(edata = .);
+
+    .bss : {
+        *(.bss)
+    }
+
+    PROVIDE(end = .);
+
+    /DISCARD/ : {
+        *(.eh_frame .note.GNU-stack)
+    }
+}
diff --git a/code/lab4/tools/sign.c b/code/lab4/tools/sign.c
new file mode 100644
index 0000000..9d81bb6
--- /dev/null
+++ b/code/lab4/tools/sign.c
@@ -0,0 +1,43 @@
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+
+int
+main(int argc, char *argv[]) {
+    struct stat st;
+    if (argc != 3) {
+        fprintf(stderr, "Usage: <input filename> <output filename>\n");
+        return -1;
+    }
+    if (stat(argv[1], &st) != 0) {
+        fprintf(stderr, "Error opening file '%s': %s\n", argv[1], strerror(errno));
+        return -1;
+    }
+    printf("'%s' size: %lld bytes\n", argv[1], (long long)st.st_size);
+    if (st.st_size > 510) {
+        fprintf(stderr, "%lld >> 510!!\n", (long long)st.st_size);
+        return -1;
+    }
+    char buf[512];
+    memset(buf, 0, sizeof(buf));
+    FILE *ifp = fopen(argv[1], "rb");
+    int size = fread(buf, 1, st.st_size, ifp);
+    if (size != st.st_size) {
+        fprintf(stderr, "read '%s' error, size is %d.\n", argv[1], size);
+        return -1;
+    }
+    fclose(ifp);
+    buf[510] = 0x55;
+    buf[511] = 0xAA;
+    FILE *ofp = fopen(argv[2], "wb+");
+    size = fwrite(buf, 1, 512, ofp);
+    if (size != 512) {
+        fprintf(stderr, "write '%s' error, size is %d.\n", argv[2], size);
+        return -1;
+    }
+    fclose(ofp);
+    printf("build 512 bytes boot sector: '%s' success!\n", argv[2]);
+    return 0;
+}
+
diff --git a/code/lab4/tools/vector.c b/code/lab4/tools/vector.c
new file mode 100644
index 0000000..e24d77e
--- /dev/null
+++ b/code/lab4/tools/vector.c
@@ -0,0 +1,29 @@
+#include <stdio.h>
+
+int
+main(void) {
+    printf("# handler\n");
+    printf(".text\n");
+    printf(".globl __alltraps\n");
+
+    int i;
+    for (i = 0; i < 256; i ++) {
+        printf(".globl vector%d\n", i);
+        printf("vector%d:\n", i);
+        if ((i < 8 || i > 14) && i != 17) {
+            printf("  pushl $0\n");
+        }
+        printf("  pushl $%d\n", i);
+        printf("  jmp __alltraps\n");
+    }
+    printf("\n");
+    printf("# vector table\n");
+    printf(".data\n");
+    printf(".globl __vectors\n");
+    printf("__vectors:\n");
+    for (i = 0; i < 256; i ++) {
+        printf("  .long vector%d\n", i);
+    }
+    return 0;
+}
+
diff --git a/code/lab5/Makefile b/code/lab5/Makefile
new file mode 100644
index 0000000..b1ccfce
--- /dev/null
+++ b/code/lab5/Makefile
@@ -0,0 +1,323 @@
+PROJ	:= 5
+EMPTY	:=
+SPACE	:= $(EMPTY) $(EMPTY)
+SLASH	:= /
+
+V       := @
+
+# try to infer the correct GCCPREFX
+ifndef GCCPREFIX
+GCCPREFIX := $(shell if i386-ucore-elf-objdump -i 2>&1 | grep '^elf32-i386$$' >/dev/null 2>&1; \
+	then echo 'i386-ucore-elf-'; \
+	elif objdump -i 2>&1 | grep 'elf32-i386' >/dev/null 2>&1; \
+	then echo ''; \
+	else echo "***" 1>&2; \
+	echo "*** Error: Couldn't find an i386-ucore-elf version of GCC/binutils." 1>&2; \
+	echo "*** Is the directory with i386-ucore-elf-gcc in your PATH?" 1>&2; \
+	echo "*** If your i386-ucore-elf toolchain is installed with a command" 1>&2; \
+	echo "*** prefix other than 'i386-ucore-elf-', set your GCCPREFIX" 1>&2; \
+	echo "*** environment variable to that prefix and run 'make' again." 1>&2; \
+	echo "*** To turn off this error, run 'gmake GCCPREFIX= ...'." 1>&2; \
+	echo "***" 1>&2; exit 1; fi)
+endif
+
+# try to infer the correct QEMU
+ifndef QEMU
+QEMU := $(shell if which qemu > /dev/null; \
+	then echo 'qemu'; exit; \
+	elif which i386-ucore-elf-qemu > /dev/null; \
+	then echo 'i386-ucore-elf-qemu'; exit; \
+	else \
+	echo "***" 1>&2; \
+	echo "*** Error: Couldn't find a working QEMU executable." 1>&2; \
+	echo "*** Is the directory containing the qemu binary in your PATH" 1>&2; \
+	echo "***" 1>&2; exit 1; fi)
+endif
+
+# eliminate default suffix rules
+.SUFFIXES: .c .S .h
+
+# delete target files if there is an error (or make is interrupted)
+.DELETE_ON_ERROR:
+
+# define compiler and flags
+
+HOSTCC		:= gcc
+HOSTCFLAGS	:= -g -Wall -O2
+
+GDB		:= $(GCCPREFIX)gdb
+
+CC		?= $(GCCPREFIX)gcc
+CFLAGS	:= -fno-builtin -Wall -ggdb -m32 -gstabs -nostdinc $(DEFS)
+CFLAGS	+= $(shell $(CC) -fno-stack-protector -E -x c /dev/null >/dev/null 2>&1 && echo -fno-stack-protector)
+CTYPE	:= c S
+
+LD      := $(GCCPREFIX)ld
+LDFLAGS	:= -m $(shell $(LD) -V | grep elf_i386 2>/dev/null)
+LDFLAGS	+= -nostdlib
+
+OBJCOPY := $(GCCPREFIX)objcopy
+OBJDUMP := $(GCCPREFIX)objdump
+
+COPY	:= cp
+MKDIR   := mkdir -p
+MV		:= mv
+RM		:= rm -f
+AWK		:= awk
+SED		:= sed
+SH		:= sh
+TR		:= tr
+TOUCH	:= touch -c
+
+OBJDIR	:= obj
+BINDIR	:= bin
+
+ALLOBJS	:=
+ALLDEPS	:=
+TARGETS	:=
+
+include tools/function.mk
+
+listf_cc = $(call listf,$(1),$(CTYPE))
+
+USER_PREFIX	:= __user_
+
+# for cc
+add_files_cc = $(call add_files,$(1),$(CC),$(CFLAGS) $(3),$(2),$(4))
+create_target_cc = $(call create_target,$(1),$(2),$(3),$(CC),$(CFLAGS))
+
+# for hostcc
+add_files_host = $(call add_files,$(1),$(HOSTCC),$(HOSTCFLAGS),$(2),$(3))
+create_target_host = $(call create_target,$(1),$(2),$(3),$(HOSTCC),$(HOSTCFLAGS))
+
+cgtype = $(patsubst %.$(2),%.$(3),$(1))
+objfile = $(call toobj,$(1))
+asmfile = $(call cgtype,$(call toobj,$(1)),o,asm)
+outfile = $(call cgtype,$(call toobj,$(1)),o,out)
+symfile = $(call cgtype,$(call toobj,$(1)),o,sym)
+filename = $(basename $(notdir $(1)))
+ubinfile = $(call outfile,$(addprefix $(USER_PREFIX),$(call filename,$(1))))
+
+# for match pattern
+match = $(shell echo $(2) | $(AWK) '{for(i=1;i<=NF;i++){if(match("$(1)","^"$$(i)"$$")){exit 1;}}}'; echo $$?)
+
+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+# include kernel/user
+
+INCLUDE	+= libs/
+
+CFLAGS	+= $(addprefix -I,$(INCLUDE))
+
+LIBDIR	+= libs
+
+$(call add_files_cc,$(call listf_cc,$(LIBDIR)),libs,)
+
+# -------------------------------------------------------------------
+# user programs
+
+UINCLUDE	+= user/include/ \
+			   user/libs/
+
+USRCDIR		+= user
+
+ULIBDIR		+= user/libs
+
+UCFLAGS		+= $(addprefix -I,$(UINCLUDE))
+USER_BINS	:=
+
+$(call add_files_cc,$(call listf_cc,$(ULIBDIR)),ulibs,$(UCFLAGS))
+$(call add_files_cc,$(call listf_cc,$(USRCDIR)),uprog,$(UCFLAGS))
+
+UOBJS	:= $(call read_packet,ulibs libs)
+
+define uprog_ld
+__user_bin__ := $$(call ubinfile,$(1))
+USER_BINS += $$(__user_bin__)
+$$(__user_bin__): tools/user.ld
+$$(__user_bin__): $$(UOBJS)
+$$(__user_bin__): $(1) | $$$$(dir $$$$@)
+	$(V)$(LD) $(LDFLAGS) -T tools/user.ld -o $$@ $$(UOBJS) $(1)
+	@$(OBJDUMP) -S $$@ > $$(call cgtype,$$<,o,asm)
+	@$(OBJDUMP) -t $$@ | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$$$$/d' > $$(call cgtype,$$<,o,sym)
+endef
+
+$(foreach p,$(call read_packet,uprog),$(eval $(call uprog_ld,$(p))))
+
+# -------------------------------------------------------------------
+# kernel
+
+KINCLUDE	+= kern/debug/ \
+			   kern/driver/ \
+			   kern/trap/ \
+			   kern/mm/ \
+			   kern/libs/ \
+			   kern/sync/ \
+			   kern/fs/    \
+			   kern/process \
+			   kern/schedule \
+			   kern/syscall
+
+KSRCDIR		+= kern/init \
+			   kern/libs \
+			   kern/debug \
+			   kern/driver \
+			   kern/trap \
+			   kern/mm \
+			   kern/sync \
+			   kern/fs    \
+			   kern/process \
+			   kern/schedule \
+			   kern/syscall
+
+KCFLAGS		+= $(addprefix -I,$(KINCLUDE))
+
+$(call add_files_cc,$(call listf_cc,$(KSRCDIR)),kernel,$(KCFLAGS))
+
+KOBJS	= $(call read_packet,kernel libs)
+
+# create kernel target
+kernel = $(call totarget,kernel)
+
+$(kernel): tools/kernel.ld
+
+$(kernel): $(KOBJS) $(USER_BINS)
+	@echo + ld $@
+	$(V)$(LD) $(LDFLAGS) -T tools/kernel.ld -o $@ $(KOBJS) -b binary $(USER_BINS)
+	@$(OBJDUMP) -S $@ > $(call asmfile,kernel)
+	@$(OBJDUMP) -t $@ | $(SED) '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > $(call symfile,kernel)
+
+$(call create_target,kernel)
+
+# -------------------------------------------------------------------
+
+# create bootblock
+bootfiles = $(call listf_cc,boot)
+$(foreach f,$(bootfiles),$(call cc_compile,$(f),$(CC),$(CFLAGS) -Os -nostdinc))
+
+bootblock = $(call totarget,bootblock)
+
+$(bootblock): $(call toobj,boot/bootasm.S) $(call toobj,$(bootfiles)) | $(call totarget,sign)
+	@echo + ld $@
+	$(V)$(LD) $(LDFLAGS) -N -T tools/boot.ld $^ -o $(call toobj,bootblock)
+	@$(OBJDUMP) -S $(call objfile,bootblock) > $(call asmfile,bootblock)
+	@$(OBJCOPY) -S -O binary $(call objfile,bootblock) $(call outfile,bootblock)
+	@$(call totarget,sign) $(call outfile,bootblock) $(bootblock)
+
+$(call create_target,bootblock)
+
+# -------------------------------------------------------------------
+
+# create 'sign' tools
+$(call add_files_host,tools/sign.c,sign,sign)
+$(call create_target_host,sign,sign)
+
+# -------------------------------------------------------------------
+
+# create ucore.img
+UCOREIMG	:= $(call totarget,ucore.img)
+
+$(UCOREIMG): $(kernel) $(bootblock)
+	$(V)dd if=/dev/zero of=$@ count=10000
+	$(V)dd if=$(bootblock) of=$@ conv=notrunc
+	$(V)dd if=$(kernel) of=$@ seek=1 conv=notrunc
+
+$(call create_target,ucore.img)
+
+# -------------------------------------------------------------------
+
+# create swap.img
+SWAPIMG		:= $(call totarget,swap.img)
+
+$(SWAPIMG):
+	$(V)dd if=/dev/zero of=$@ bs=1M count=128
+
+$(call create_target,swap.img)
+
+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+$(call finish_all)
+
+IGNORE_ALLDEPS	= clean \
+				  dist-clean \
+				  grade \
+				  touch \
+				  print-.+ \
+				  run-.+ \
+				  build-.+ \
+				  handin
+
+ifeq ($(call match,$(MAKECMDGOALS),$(IGNORE_ALLDEPS)),0)
+-include $(ALLDEPS)
+endif
+
+# files for grade script
+
+TARGETS: $(TARGETS)
+
+.DEFAULT_GOAL := TARGETS
+
+QEMUOPTS = -hda $(UCOREIMG) -drive file=$(SWAPIMG),media=disk,cache=writeback
+
+.PHONY: qemu qemu-nox debug debug-nox
+qemu: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -parallel stdio $(QEMUOPTS) -serial null
+
+qemu-nox: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -serial mon:stdio $(QEMUOPTS) -nographic
+
+TERMINAL := gnome-terminal
+
+debug: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -S -s -parallel stdio $(QEMUOPTS) -serial null &
+	$(V)sleep 2
+	$(V)$(TERMINAL) -e "$(GDB) -q -x tools/gdbinit"
+
+debug-nox: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -S -s -serial mon:stdio $(QEMUOPTS) -nographic &
+	$(V)sleep 2
+	$(V)$(TERMINAL) -e "$(GDB) -q -x tools/gdbinit"
+
+RUN_PREFIX	:= _binary_$(OBJDIR)_$(USER_PREFIX)
+MAKEOPTS	:= --quiet --no-print-directory
+
+run-%: build-%
+	$(V)$(QEMU) -parallel stdio $(QEMUOPTS) -serial null
+
+build-%: touch
+	$(V)$(MAKE) $(MAKEOPTS) "DEFS+=-DTEST=$* -DTESTSTART=$(RUN_PREFIX)$*_out_start -DTESTSIZE=$(RUN_PREFIX)$*_out_size"
+
+.PHONY: grade touch
+
+GRADE_GDB_IN	:= .gdb.in
+GRADE_QEMU_OUT	:= .qemu.out
+HANDIN			:= proj$(PROJ)-handin.tar.gz
+
+TOUCH_FILES		:= kern/process/proc.c
+
+MAKEOPTS		:= --quiet --no-print-directory
+
+grade:
+	$(V)$(MAKE) $(MAKEOPTS) clean
+	$(V)$(SH) tools/grade.sh
+
+touch:
+	$(V)$(foreach f,$(TOUCH_FILES),$(TOUCH) $(f))
+
+print-%:
+	@echo $($(shell echo $(patsubst print-%,%,$@) | $(TR) [a-z] [A-Z]))
+
+.PHONY: clean dist-clean handin packall
+clean:
+	$(V)$(RM) $(GRADE_GDB_IN) $(GRADE_QEMU_OUT)
+	-$(RM) -r $(OBJDIR) $(BINDIR)
+
+dist-clean: clean
+	-$(RM) $(HANDIN)
+
+handin: packall
+	@echo Please visit http://learn.tsinghua.edu.cn and upload $(HANDIN). Thanks!
+
+packall: clean
+	@$(RM) -f $(HANDIN)
+	@tar -czf $(HANDIN) `find . -type f -o -type d | grep -v '^\.*$$' | grep -vF '$(HANDIN)'`
+
diff --git a/code/lab5/boot/asm.h b/code/lab5/boot/asm.h
new file mode 100644
index 0000000..8e0405a
--- /dev/null
+++ b/code/lab5/boot/asm.h
@@ -0,0 +1,26 @@
+#ifndef __BOOT_ASM_H__
+#define __BOOT_ASM_H__
+
+/* Assembler macros to create x86 segments */
+
+/* Normal segment */
+#define SEG_NULLASM                                             \
+    .word 0, 0;                                                 \
+    .byte 0, 0, 0, 0
+
+#define SEG_ASM(type,base,lim)                                  \
+    .word (((lim) >> 12) & 0xffff), ((base) & 0xffff);          \
+    .byte (((base) >> 16) & 0xff), (0x90 | (type)),             \
+        (0xC0 | (((lim) >> 28) & 0xf)), (((base) >> 24) & 0xff)
+
+
+/* Application segment type bits */
+#define STA_X       0x8     // Executable segment
+#define STA_E       0x4     // Expand down (non-executable segments)
+#define STA_C       0x4     // Conforming code segment (executable only)
+#define STA_W       0x2     // Writeable (non-executable segments)
+#define STA_R       0x2     // Readable (executable segments)
+#define STA_A       0x1     // Accessed
+
+#endif /* !__BOOT_ASM_H__ */
+
diff --git a/code/lab5/boot/bootasm.S b/code/lab5/boot/bootasm.S
new file mode 100644
index 0000000..f1852c3
--- /dev/null
+++ b/code/lab5/boot/bootasm.S
@@ -0,0 +1,107 @@
+#include <asm.h>
+
+# Start the CPU: switch to 32-bit protected mode, jump into C.
+# The BIOS loads this code from the first sector of the hard disk into
+# memory at physical address 0x7c00 and starts executing in real mode
+# with %cs=0 %ip=7c00.
+
+.set PROT_MODE_CSEG,        0x8                     # kernel code segment selector
+.set PROT_MODE_DSEG,        0x10                    # kernel data segment selector
+.set CR0_PE_ON,             0x1                     # protected mode enable flag
+.set SMAP,                  0x534d4150
+
+# start address should be 0:7c00, in real mode, the beginning address of the running bootloader
+.globl start
+start:
+.code16                                             # Assemble for 16-bit mode
+    cli                                             # Disable interrupts
+    cld                                             # String operations increment
+
+    # Set up the important data segment registers (DS, ES, SS).
+    xorw %ax, %ax                                   # Segment number zero
+    movw %ax, %ds                                   # -> Data Segment
+    movw %ax, %es                                   # -> Extra Segment
+    movw %ax, %ss                                   # -> Stack Segment
+
+    # Enable A20:
+    #  For backwards compatibility with the earliest PCs, physical
+    #  address line 20 is tied low, so that addresses higher than
+    #  1MB wrap around to zero by default. This code undoes this.
+seta20.1:
+    inb $0x64, %al                                  # Wait for not busy
+    testb $0x2, %al
+    jnz seta20.1
+
+    movb $0xd1, %al                                 # 0xd1 -> port 0x64
+    outb %al, $0x64
+
+seta20.2:
+    inb $0x64, %al                                  # Wait for not busy
+    testb $0x2, %al
+    jnz seta20.2
+
+    movb $0xdf, %al                                 # 0xdf -> port 0x60
+    outb %al, $0x60
+
+probe_memory:
+    movl $0, 0x8000
+    xorl %ebx, %ebx
+    movw $0x8004, %di
+start_probe:
+    movl $0xE820, %eax
+    movl $20, %ecx
+    movl $SMAP, %edx
+    int $0x15
+    jnc cont
+    movw $12345, 0x8000
+    jmp finish_probe
+cont:
+    addw $20, %di
+    incl 0x8000
+    cmpl $0, %ebx
+    jnz start_probe
+finish_probe:
+
+    # Switch from real to protected mode, using a bootstrap GDT
+    # and segment translation that makes virtual addresses
+    # identical to physical addresses, so that the
+    # effective memory map does not change during the switch.
+    lgdt gdtdesc
+    movl %cr0, %eax
+    orl $CR0_PE_ON, %eax
+    movl %eax, %cr0
+
+    # Jump to next instruction, but in 32-bit code segment.
+    # Switches processor into 32-bit mode.
+    ljmp $PROT_MODE_CSEG, $protcseg
+
+.code32                                             # Assemble for 32-bit mode
+protcseg:
+    # Set up the protected-mode data segment registers
+    movw $PROT_MODE_DSEG, %ax                       # Our data segment selector
+    movw %ax, %ds                                   # -> DS: Data Segment
+    movw %ax, %es                                   # -> ES: Extra Segment
+    movw %ax, %fs                                   # -> FS
+    movw %ax, %gs                                   # -> GS
+    movw %ax, %ss                                   # -> SS: Stack Segment
+
+    # Set up the stack pointer and call into C. The stack region is from 0--start(0x7c00)
+    movl $0x0, %ebp
+    movl $start, %esp
+    call bootmain
+
+    # If bootmain returns (it shouldn't), loop.
+spin:
+    jmp spin
+
+.data
+# Bootstrap GDT
+.p2align 2                                          # force 4 byte alignment
+gdt:
+    SEG_NULLASM                                     # null seg
+    SEG_ASM(STA_X|STA_R, 0x0, 0xffffffff)           # code seg for bootloader and kernel
+    SEG_ASM(STA_W, 0x0, 0xffffffff)                 # data seg for bootloader and kernel
+
+gdtdesc:
+    .word 0x17                                      # sizeof(gdt) - 1
+    .long gdt                                       # address gdt
diff --git a/code/lab5/boot/bootmain.c b/code/lab5/boot/bootmain.c
new file mode 100644
index 0000000..4b55eb7
--- /dev/null
+++ b/code/lab5/boot/bootmain.c
@@ -0,0 +1,116 @@
+#include <defs.h>
+#include <x86.h>
+#include <elf.h>
+
+/* *********************************************************************
+ * This a dirt simple boot loader, whose sole job is to boot
+ * an ELF kernel image from the first IDE hard disk.
+ *
+ * DISK LAYOUT
+ *  * This program(bootasm.S and bootmain.c) is the bootloader.
+ *    It should be stored in the first sector of the disk.
+ *
+ *  * The 2nd sector onward holds the kernel image.
+ *
+ *  * The kernel image must be in ELF format.
+ *
+ * BOOT UP STEPS
+ *  * when the CPU boots it loads the BIOS into memory and executes it
+ *
+ *  * the BIOS intializes devices, sets of the interrupt routines, and
+ *    reads the first sector of the boot device(e.g., hard-drive)
+ *    into memory and jumps to it.
+ *
+ *  * Assuming this boot loader is stored in the first sector of the
+ *    hard-drive, this code takes over...
+ *
+ *  * control starts in bootasm.S -- which sets up protected mode,
+ *    and a stack so C code then run, then calls bootmain()
+ *
+ *  * bootmain() in this file takes over, reads in the kernel and jumps to it.
+ * */
+
+#define SECTSIZE        512
+#define ELFHDR          ((struct elfhdr *)0x10000)      // scratch space
+
+/* waitdisk - wait for disk ready */
+static void
+waitdisk(void) {
+    while ((inb(0x1F7) & 0xC0) != 0x40)
+        /* do nothing */;
+}
+
+/* readsect - read a single sector at @secno into @dst */
+static void
+readsect(void *dst, uint32_t secno) {
+    // wait for disk to be ready
+    waitdisk();
+
+    outb(0x1F2, 1);                         // count = 1
+    outb(0x1F3, secno & 0xFF);
+    outb(0x1F4, (secno >> 8) & 0xFF);
+    outb(0x1F5, (secno >> 16) & 0xFF);
+    outb(0x1F6, ((secno >> 24) & 0xF) | 0xE0);
+    outb(0x1F7, 0x20);                      // cmd 0x20 - read sectors
+
+    // wait for disk to be ready
+    waitdisk();
+
+    // read a sector
+    insl(0x1F0, dst, SECTSIZE / 4);
+}
+
+/* *
+ * readseg - read @count bytes at @offset from kernel into virtual address @va,
+ * might copy more than asked.
+ * */
+static void
+readseg(uintptr_t va, uint32_t count, uint32_t offset) {
+    uintptr_t end_va = va + count;
+
+    // round down to sector boundary
+    va -= offset % SECTSIZE;
+
+    // translate from bytes to sectors; kernel starts at sector 1
+    uint32_t secno = (offset / SECTSIZE) + 1;
+
+    // If this is too slow, we could read lots of sectors at a time.
+    // We'd write more to memory than asked, but it doesn't matter --
+    // we load in increasing order.
+    for (; va < end_va; va += SECTSIZE, secno ++) {
+        readsect((void *)va, secno);
+    }
+}
+
+/* bootmain - the entry of bootloader */
+void
+bootmain(void) {
+    // read the 1st page off disk
+    readseg((uintptr_t)ELFHDR, SECTSIZE * 8, 0);
+
+    // is this a valid ELF?
+    if (ELFHDR->e_magic != ELF_MAGIC) {
+        goto bad;
+    }
+
+    struct proghdr *ph, *eph;
+
+    // load each program segment (ignores ph flags)
+    ph = (struct proghdr *)((uintptr_t)ELFHDR + ELFHDR->e_phoff);
+    eph = ph + ELFHDR->e_phnum;
+    for (; ph < eph; ph ++) {
+        readseg(ph->p_va & 0xFFFFFF, ph->p_memsz, ph->p_offset);
+    }
+
+    // call the entry point from the ELF header
+    // note: does not return
+    ((void (*)(void))(ELFHDR->e_entry & 0xFFFFFF))();
+
+bad:
+    outw(0x8A00, 0x8A00);
+    outw(0x8A00, 0x8E00);
+
+    /* do nothing */
+    while (1);
+}
+
diff --git a/code/lab5/kern/debug/assert.h b/code/lab5/kern/debug/assert.h
new file mode 100644
index 0000000..ac1a966
--- /dev/null
+++ b/code/lab5/kern/debug/assert.h
@@ -0,0 +1,27 @@
+#ifndef __KERN_DEBUG_ASSERT_H__
+#define __KERN_DEBUG_ASSERT_H__
+
+#include <defs.h>
+
+void __warn(const char *file, int line, const char *fmt, ...);
+void __noreturn __panic(const char *file, int line, const char *fmt, ...);
+
+#define warn(...)                                       \
+    __warn(__FILE__, __LINE__, __VA_ARGS__)
+
+#define panic(...)                                      \
+    __panic(__FILE__, __LINE__, __VA_ARGS__)
+
+#define assert(x)                                       \
+    do {                                                \
+        if (!(x)) {                                     \
+            panic("assertion failed: %s", #x);          \
+        }                                               \
+    } while (0)
+
+// static_assert(x) will generate a compile-time error if 'x' is false.
+#define static_assert(x)                                \
+    switch (x) { case 0: case (x): ; }
+
+#endif /* !__KERN_DEBUG_ASSERT_H__ */
+
diff --git a/code/lab5/kern/debug/kdebug.c b/code/lab5/kern/debug/kdebug.c
new file mode 100644
index 0000000..fedbf5b
--- /dev/null
+++ b/code/lab5/kern/debug/kdebug.c
@@ -0,0 +1,351 @@
+#include <defs.h>
+#include <x86.h>
+#include <stab.h>
+#include <stdio.h>
+#include <string.h>
+#include <memlayout.h>
+#include <sync.h>
+#include <vmm.h>
+#include <proc.h>
+#include <kdebug.h>
+#include <monitor.h>
+#include <assert.h>
+
+#define STACKFRAME_DEPTH 20
+
+extern const struct stab __STAB_BEGIN__[];  // beginning of stabs table
+extern const struct stab __STAB_END__[];    // end of stabs table
+extern const char __STABSTR_BEGIN__[];      // beginning of string table
+extern const char __STABSTR_END__[];        // end of string table
+
+/* debug information about a particular instruction pointer */
+struct eipdebuginfo {
+    const char *eip_file;                   // source code filename for eip
+    int eip_line;                           // source code line number for eip
+    const char *eip_fn_name;                // name of function containing eip
+    int eip_fn_namelen;                     // length of function's name
+    uintptr_t eip_fn_addr;                  // start address of function
+    int eip_fn_narg;                        // number of function arguments
+};
+
+/* user STABS data structure  */
+struct userstabdata {
+    const struct stab *stabs;
+    const struct stab *stab_end;
+    const char *stabstr;
+    const char *stabstr_end;
+};
+
+/* *
+ * stab_binsearch - according to the input, the initial value of
+ * range [*@region_left, *@region_right], find a single stab entry
+ * that includes the address @addr and matches the type @type,
+ * and then save its boundary to the locations that pointed
+ * by @region_left and @region_right.
+ *
+ * Some stab types are arranged in increasing order by instruction address.
+ * For example, N_FUN stabs (stab entries with n_type == N_FUN), which
+ * mark functions, and N_SO stabs, which mark source files.
+ *
+ * Given an instruction address, this function finds the single stab entry
+ * of type @type that contains that address.
+ *
+ * The search takes place within the range [*@region_left, *@region_right].
+ * Thus, to search an entire set of N stabs, you might do:
+ *
+ *      left = 0;
+ *      right = N - 1;    (rightmost stab)
+ *      stab_binsearch(stabs, &left, &right, type, addr);
+ *
+ * The search modifies *region_left and *region_right to bracket the @addr.
+ * *@region_left points to the matching stab that contains @addr,
+ * and *@region_right points just before the next stab.
+ * If *@region_left > *region_right, then @addr is not contained in any
+ * matching stab.
+ *
+ * For example, given these N_SO stabs:
+ *      Index  Type   Address
+ *      0      SO     f0100000
+ *      13     SO     f0100040
+ *      117    SO     f0100176
+ *      118    SO     f0100178
+ *      555    SO     f0100652
+ *      556    SO     f0100654
+ *      657    SO     f0100849
+ * this code:
+ *      left = 0, right = 657;
+ *      stab_binsearch(stabs, &left, &right, N_SO, 0xf0100184);
+ * will exit setting left = 118, right = 554.
+ * */
+static void
+stab_binsearch(const struct stab *stabs, int *region_left, int *region_right,
+           int type, uintptr_t addr) {
+    int l = *region_left, r = *region_right, any_matches = 0;
+
+    while (l <= r) {
+        int true_m = (l + r) / 2, m = true_m;
+
+        // search for earliest stab with right type
+        while (m >= l && stabs[m].n_type != type) {
+            m --;
+        }
+        if (m < l) {    // no match in [l, m]
+            l = true_m + 1;
+            continue;
+        }
+
+        // actual binary search
+        any_matches = 1;
+        if (stabs[m].n_value < addr) {
+            *region_left = m;
+            l = true_m + 1;
+        } else if (stabs[m].n_value > addr) {
+            *region_right = m - 1;
+            r = m - 1;
+        } else {
+            // exact match for 'addr', but continue loop to find
+            // *region_right
+            *region_left = m;
+            l = m;
+            addr ++;
+        }
+    }
+
+    if (!any_matches) {
+        *region_right = *region_left - 1;
+    }
+    else {
+        // find rightmost region containing 'addr'
+        l = *region_right;
+        for (; l > *region_left && stabs[l].n_type != type; l --)
+            /* do nothing */;
+        *region_left = l;
+    }
+}
+
+/* *
+ * debuginfo_eip - Fill in the @info structure with information about
+ * the specified instruction address, @addr.  Returns 0 if information
+ * was found, and negative if not.  But even if it returns negative it
+ * has stored some information into '*info'.
+ * */
+int
+debuginfo_eip(uintptr_t addr, struct eipdebuginfo *info) {
+    const struct stab *stabs, *stab_end;
+    const char *stabstr, *stabstr_end;
+
+    info->eip_file = "<unknown>";
+    info->eip_line = 0;
+    info->eip_fn_name = "<unknown>";
+    info->eip_fn_namelen = 9;
+    info->eip_fn_addr = addr;
+    info->eip_fn_narg = 0;
+
+    // find the relevant set of stabs
+    if (addr >= KERNBASE) {
+        stabs = __STAB_BEGIN__;
+        stab_end = __STAB_END__;
+        stabstr = __STABSTR_BEGIN__;
+        stabstr_end = __STABSTR_END__;
+    }
+    else {
+        // user-program linker script, tools/user.ld puts the information about the
+        // program's stabs (included __STAB_BEGIN__, __STAB_END__, __STABSTR_BEGIN__,
+        // and __STABSTR_END__) in a structure located at virtual address USTAB.
+        const struct userstabdata *usd = (struct userstabdata *)USTAB;
+
+        // make sure that debugger (current process) can access this memory
+        struct mm_struct *mm;
+        if (current == NULL || (mm = current->mm) == NULL) {
+            return -1;
+        }
+        if (!user_mem_check(mm, (uintptr_t)usd, sizeof(struct userstabdata), 0)) {
+            return -1;
+        }
+
+        stabs = usd->stabs;
+        stab_end = usd->stab_end;
+        stabstr = usd->stabstr;
+        stabstr_end = usd->stabstr_end;
+
+        // make sure the STABS and string table memory is valid
+        if (!user_mem_check(mm, (uintptr_t)stabs, (uintptr_t)stab_end - (uintptr_t)stabs, 0)) {
+            return -1;
+        }
+        if (!user_mem_check(mm, (uintptr_t)stabstr, stabstr_end - stabstr, 0)) {
+            return -1;
+        }
+    }
+
+    // String table validity checks
+    if (stabstr_end <= stabstr || stabstr_end[-1] != 0) {
+        return -1;
+    }
+
+    // Now we find the right stabs that define the function containing
+    // 'eip'.  First, we find the basic source file containing 'eip'.
+    // Then, we look in that source file for the function.  Then we look
+    // for the line number.
+
+    // Search the entire set of stabs for the source file (type N_SO).
+    int lfile = 0, rfile = (stab_end - stabs) - 1;
+    stab_binsearch(stabs, &lfile, &rfile, N_SO, addr);
+    if (lfile == 0)
+        return -1;
+
+    // Search within that file's stabs for the function definition
+    // (N_FUN).
+    int lfun = lfile, rfun = rfile;
+    int lline, rline;
+    stab_binsearch(stabs, &lfun, &rfun, N_FUN, addr);
+
+    if (lfun <= rfun) {
+        // stabs[lfun] points to the function name
+        // in the string table, but check bounds just in case.
+        if (stabs[lfun].n_strx < stabstr_end - stabstr) {
+            info->eip_fn_name = stabstr + stabs[lfun].n_strx;
+        }
+        info->eip_fn_addr = stabs[lfun].n_value;
+        addr -= info->eip_fn_addr;
+        // Search within the function definition for the line number.
+        lline = lfun;
+        rline = rfun;
+    } else {
+        // Couldn't find function stab!  Maybe we're in an assembly
+        // file.  Search the whole file for the line number.
+        info->eip_fn_addr = addr;
+        lline = lfile;
+        rline = rfile;
+    }
+    info->eip_fn_namelen = strfind(info->eip_fn_name, ':') - info->eip_fn_name;
+
+    // Search within [lline, rline] for the line number stab.
+    // If found, set info->eip_line to the right line number.
+    // If not found, return -1.
+    stab_binsearch(stabs, &lline, &rline, N_SLINE, addr);
+    if (lline <= rline) {
+        info->eip_line = stabs[rline].n_desc;
+    } else {
+        return -1;
+    }
+
+    // Search backwards from the line number for the relevant filename stab.
+    // We can't just use the "lfile" stab because inlined functions
+    // can interpolate code from a different file!
+    // Such included source files use the N_SOL stab type.
+    while (lline >= lfile
+           && stabs[lline].n_type != N_SOL
+           && (stabs[lline].n_type != N_SO || !stabs[lline].n_value)) {
+        lline --;
+    }
+    if (lline >= lfile && stabs[lline].n_strx < stabstr_end - stabstr) {
+        info->eip_file = stabstr + stabs[lline].n_strx;
+    }
+
+    // Set eip_fn_narg to the number of arguments taken by the function,
+    // or 0 if there was no containing function.
+    if (lfun < rfun) {
+        for (lline = lfun + 1;
+             lline < rfun && stabs[lline].n_type == N_PSYM;
+             lline ++) {
+            info->eip_fn_narg ++;
+        }
+    }
+    return 0;
+}
+
+/* *
+ * print_kerninfo - print the information about kernel, including the location
+ * of kernel entry, the start addresses of data and text segements, the start
+ * address of free memory and how many memory that kernel has used.
+ * */
+void
+print_kerninfo(void) {
+    extern char etext[], edata[], end[], kern_init[];
+    cprintf("Special kernel symbols:\n");
+    cprintf("  entry  0x%08x (phys)\n", kern_init);
+    cprintf("  etext  0x%08x (phys)\n", etext);
+    cprintf("  edata  0x%08x (phys)\n", edata);
+    cprintf("  end    0x%08x (phys)\n", end);
+    cprintf("Kernel executable memory footprint: %dKB\n", (end - kern_init + 1023)/1024);
+}
+
+/* *
+ * print_debuginfo - read and print the stat information for the address @eip,
+ * and info.eip_fn_addr should be the first address of the related function.
+ * */
+void
+print_debuginfo(uintptr_t eip) {
+    struct eipdebuginfo info;
+    if (debuginfo_eip(eip, &info) != 0) {
+        cprintf("    <unknow>: -- 0x%08x --\n", eip);
+    }
+    else {
+        char fnname[256];
+        int j;
+        for (j = 0; j < info.eip_fn_namelen; j ++) {
+            fnname[j] = info.eip_fn_name[j];
+        }
+        fnname[j] = '\0';
+        cprintf("    %s:%d: %s+%d\n", info.eip_file, info.eip_line,
+                fnname, eip - info.eip_fn_addr);
+    }
+}
+
+static __noinline uint32_t
+read_eip(void) {
+    uint32_t eip;
+    asm volatile("movl 4(%%ebp), %0" : "=r" (eip));
+    return eip;
+}
+
+/* *
+ * print_stackframe - print a list of the saved eip values from the nested 'call'
+ * instructions that led to the current point of execution
+ *
+ * The x86 stack pointer, namely esp, points to the lowest location on the stack
+ * that is currently in use. Everything below that location in stack is free. Pushing
+ * a value onto the stack will invole decreasing the stack pointer and then writing
+ * the value to the place that stack pointer pointes to. And popping a value do the
+ * opposite.
+ *
+ * The ebp (base pointer) register, in contrast, is associated with the stack
+ * primarily by software convention. On entry to a C function, the function's
+ * prologue code normally saves the previous function's base pointer by pushing
+ * it onto the stack, and then copies the current esp value into ebp for the duration
+ * of the function. If all the functions in a program obey this convention,
+ * then at any given point during the program's execution, it is possible to trace
+ * back through the stack by following the chain of saved ebp pointers and determining
+ * exactly what nested sequence of function calls caused this particular point in the
+ * program to be reached. This capability can be particularly useful, for example,
+ * when a particular function causes an assert failure or panic because bad arguments
+ * were passed to it, but you aren't sure who passed the bad arguments. A stack
+ * backtrace lets you find the offending function.
+ *
+ * The inline function read_ebp() can tell us the value of current ebp. And the
+ * non-inline function read_eip() is useful, it can read the value of current eip,
+ * since while calling this function, read_eip() can read the caller's eip from
+ * stack easily.
+ *
+ * In print_debuginfo(), the function debuginfo_eip() can get enough information about
+ * calling-chain. Finally print_stackframe() will trace and print them for debugging.
+ *
+ * Note that, the length of ebp-chain is limited. In boot/bootasm.S, before jumping
+ * to the kernel entry, the value of ebp has been set to zero, that's the boundary.
+ * */
+void
+print_stackframe(void) {
+     /* LAB1 YOUR CODE : STEP 1 */
+     /* (1) call read_ebp() to get the value of ebp. the type is (uint32_t);
+      * (2) call read_eip() to get the value of eip. the type is (uint32_t);
+      * (3) from 0 .. STACKFRAME_DEPTH
+      *    (3.1) printf value of ebp, eip
+      *    (3.2) (uint32_t)calling arguments [0..4] = the contents in address (unit32_t)ebp +2 [0..4]
+      *    (3.3) cprintf("\n");
+      *    (3.4) call print_debuginfo(eip-1) to print the C calling function name and line number, etc.
+      *    (3.5) popup a calling stackframe
+      *           NOTICE: the calling funciton's return addr eip  = ss:[ebp+4]
+      *                   the calling funciton's ebp = ss:[ebp]
+      */
+}
+
diff --git a/code/lab5/kern/debug/kdebug.h b/code/lab5/kern/debug/kdebug.h
new file mode 100644
index 0000000..c2a7b74
--- /dev/null
+++ b/code/lab5/kern/debug/kdebug.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_DEBUG_KDEBUG_H__
+#define __KERN_DEBUG_KDEBUG_H__
+
+#include <defs.h>
+#include <trap.h>
+
+void print_kerninfo(void);
+void print_stackframe(void);
+void print_debuginfo(uintptr_t eip);
+
+#endif /* !__KERN_DEBUG_KDEBUG_H__ */
+
diff --git a/code/lab5/kern/debug/monitor.c b/code/lab5/kern/debug/monitor.c
new file mode 100644
index 0000000..85ac06c
--- /dev/null
+++ b/code/lab5/kern/debug/monitor.c
@@ -0,0 +1,132 @@
+#include <stdio.h>
+#include <string.h>
+#include <mmu.h>
+#include <trap.h>
+#include <monitor.h>
+#include <kdebug.h>
+
+/* *
+ * Simple command-line kernel monitor useful for controlling the
+ * kernel and exploring the system interactively.
+ * */
+
+struct command {
+    const char *name;
+    const char *desc;
+    // return -1 to force monitor to exit
+    int(*func)(int argc, char **argv, struct trapframe *tf);
+};
+
+static struct command commands[] = {
+    {"help", "Display this list of commands.", mon_help},
+    {"kerninfo", "Display information about the kernel.", mon_kerninfo},
+    {"backtrace", "Print backtrace of stack frame.", mon_backtrace},
+};
+
+/* return if kernel is panic, in kern/debug/panic.c */
+bool is_kernel_panic(void);
+
+#define NCOMMANDS (sizeof(commands)/sizeof(struct command))
+
+/***** Kernel monitor command interpreter *****/
+
+#define MAXARGS         16
+#define WHITESPACE      " \t\n\r"
+
+/* parse - parse the command buffer into whitespace-separated arguments */
+static int
+parse(char *buf, char **argv) {
+    int argc = 0;
+    while (1) {
+        // find global whitespace
+        while (*buf != '\0' && strchr(WHITESPACE, *buf) != NULL) {
+            *buf ++ = '\0';
+        }
+        if (*buf == '\0') {
+            break;
+        }
+
+        // save and scan past next arg
+        if (argc == MAXARGS - 1) {
+            cprintf("Too many arguments (max %d).\n", MAXARGS);
+        }
+        argv[argc ++] = buf;
+        while (*buf != '\0' && strchr(WHITESPACE, *buf) == NULL) {
+            buf ++;
+        }
+    }
+    return argc;
+}
+
+/* *
+ * runcmd - parse the input string, split it into separated arguments
+ * and then lookup and invoke some related commands/
+ * */
+static int
+runcmd(char *buf, struct trapframe *tf) {
+    char *argv[MAXARGS];
+    int argc = parse(buf, argv);
+    if (argc == 0) {
+        return 0;
+    }
+    int i;
+    for (i = 0; i < NCOMMANDS; i ++) {
+        if (strcmp(commands[i].name, argv[0]) == 0) {
+            return commands[i].func(argc - 1, argv + 1, tf);
+        }
+    }
+    cprintf("Unknown command '%s'\n", argv[0]);
+    return 0;
+}
+
+/***** Implementations of basic kernel monitor commands *****/
+
+void
+monitor(struct trapframe *tf) {
+    cprintf("Welcome to the kernel debug monitor!!\n");
+    cprintf("Type 'help' for a list of commands.\n");
+
+    if (tf != NULL) {
+        print_trapframe(tf);
+    }
+
+    char *buf;
+    while (1) {
+        if ((buf = readline("K> ")) != NULL) {
+            if (runcmd(buf, tf) < 0) {
+                break;
+            }
+        }
+    }
+}
+
+/* mon_help - print the information about mon_* functions */
+int
+mon_help(int argc, char **argv, struct trapframe *tf) {
+    int i;
+    for (i = 0; i < NCOMMANDS; i ++) {
+        cprintf("%s - %s\n", commands[i].name, commands[i].desc);
+    }
+    return 0;
+}
+
+/* *
+ * mon_kerninfo - call print_kerninfo in kern/debug/kdebug.c to
+ * print the memory occupancy in kernel.
+ * */
+int
+mon_kerninfo(int argc, char **argv, struct trapframe *tf) {
+    print_kerninfo();
+    return 0;
+}
+
+/* *
+ * mon_backtrace - call print_stackframe in kern/debug/kdebug.c to
+ * print a backtrace of the stack.
+ * */
+int
+mon_backtrace(int argc, char **argv, struct trapframe *tf) {
+    print_stackframe();
+    return 0;
+}
+
diff --git a/code/lab5/kern/debug/monitor.h b/code/lab5/kern/debug/monitor.h
new file mode 100644
index 0000000..2bc0854
--- /dev/null
+++ b/code/lab5/kern/debug/monitor.h
@@ -0,0 +1,19 @@
+#ifndef __KERN_DEBUG_MONITOR_H__
+#define __KERN_DEBUG_MONITOR_H__
+
+#include <trap.h>
+
+void monitor(struct trapframe *tf);
+
+int mon_help(int argc, char **argv, struct trapframe *tf);
+int mon_kerninfo(int argc, char **argv, struct trapframe *tf);
+int mon_backtrace(int argc, char **argv, struct trapframe *tf);
+int mon_continue(int argc, char **argv, struct trapframe *tf);
+int mon_step(int argc, char **argv, struct trapframe *tf);
+int mon_breakpoint(int argc, char **argv, struct trapframe *tf);
+int mon_watchpoint(int argc, char **argv, struct trapframe *tf);
+int mon_delete_dr(int argc, char **argv, struct trapframe *tf);
+int mon_list_dr(int argc, char **argv, struct trapframe *tf);
+
+#endif /* !__KERN_DEBUG_MONITOR_H__ */
+
diff --git a/code/lab5/kern/debug/panic.c b/code/lab5/kern/debug/panic.c
new file mode 100644
index 0000000..9be6c0b
--- /dev/null
+++ b/code/lab5/kern/debug/panic.c
@@ -0,0 +1,49 @@
+#include <defs.h>
+#include <stdio.h>
+#include <intr.h>
+#include <monitor.h>
+
+static bool is_panic = 0;
+
+/* *
+ * __panic - __panic is called on unresolvable fatal errors. it prints
+ * "panic: 'message'", and then enters the kernel monitor.
+ * */
+void
+__panic(const char *file, int line, const char *fmt, ...) {
+    if (is_panic) {
+        goto panic_dead;
+    }
+    is_panic = 1;
+
+    // print the 'message'
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("kernel panic at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+
+panic_dead:
+    intr_disable();
+    while (1) {
+        monitor(NULL);
+    }
+}
+
+/* __warn - like panic, but don't */
+void
+__warn(const char *file, int line, const char *fmt, ...) {
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("kernel warning at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+}
+
+bool
+is_kernel_panic(void) {
+    return is_panic;
+}
+
diff --git a/code/lab5/kern/debug/stab.h b/code/lab5/kern/debug/stab.h
new file mode 100644
index 0000000..8d5cea3
--- /dev/null
+++ b/code/lab5/kern/debug/stab.h
@@ -0,0 +1,54 @@
+#ifndef __KERN_DEBUG_STAB_H__
+#define __KERN_DEBUG_STAB_H__
+
+#include <defs.h>
+
+/* *
+ * STABS debugging info
+ *
+ * The kernel debugger can understand some debugging information in
+ * the STABS format.  For more information on this format, see
+ * http://sources.redhat.com/gdb/onlinedocs/stabs_toc.html
+ *
+ * The constants below define some symbol types used by various debuggers
+ * and compilers.  Kernel uses the N_SO, N_SOL, N_FUN, and N_SLINE types.
+ * */
+
+#define N_GSYM      0x20    // global symbol
+#define N_FNAME     0x22    // F77 function name
+#define N_FUN       0x24    // procedure name
+#define N_STSYM     0x26    // data segment variable
+#define N_LCSYM     0x28    // bss segment variable
+#define N_MAIN      0x2a    // main function name
+#define N_PC        0x30    // global Pascal symbol
+#define N_RSYM      0x40    // register variable
+#define N_SLINE     0x44    // text segment line number
+#define N_DSLINE    0x46    // data segment line number
+#define N_BSLINE    0x48    // bss segment line number
+#define N_SSYM      0x60    // structure/union element
+#define N_SO        0x64    // main source file name
+#define N_LSYM      0x80    // stack variable
+#define N_BINCL     0x82    // include file beginning
+#define N_SOL       0x84    // included source file name
+#define N_PSYM      0xa0    // parameter variable
+#define N_EINCL     0xa2    // include file end
+#define N_ENTRY     0xa4    // alternate entry point
+#define N_LBRAC     0xc0    // left bracket
+#define N_EXCL      0xc2    // deleted include file
+#define N_RBRAC     0xe0    // right bracket
+#define N_BCOMM     0xe2    // begin common
+#define N_ECOMM     0xe4    // end common
+#define N_ECOML     0xe8    // end common (local name)
+#define N_LENG      0xfe    // length of preceding entry
+
+/* Entries in the STABS table are formatted as follows. */
+struct stab {
+    uint32_t n_strx;        // index into string table of name
+    uint8_t n_type;         // type of symbol
+    uint8_t n_other;        // misc info (usually empty)
+    uint16_t n_desc;        // description field
+    uintptr_t n_value;      // value of symbol
+};
+
+#endif /* !__KERN_DEBUG_STAB_H__ */
+
diff --git a/code/lab5/kern/driver/clock.c b/code/lab5/kern/driver/clock.c
new file mode 100644
index 0000000..4e67c3b
--- /dev/null
+++ b/code/lab5/kern/driver/clock.c
@@ -0,0 +1,45 @@
+#include <x86.h>
+#include <trap.h>
+#include <stdio.h>
+#include <picirq.h>
+
+/* *
+ * Support for time-related hardware gadgets - the 8253 timer,
+ * which generates interruptes on IRQ-0.
+ * */
+
+#define IO_TIMER1           0x040               // 8253 Timer #1
+
+/* *
+ * Frequency of all three count-down timers; (TIMER_FREQ/freq)
+ * is the appropriate count to generate a frequency of freq Hz.
+ * */
+
+#define TIMER_FREQ      1193182
+#define TIMER_DIV(x)    ((TIMER_FREQ + (x) / 2) / (x))
+
+#define TIMER_MODE      (IO_TIMER1 + 3)         // timer mode port
+#define TIMER_SEL0      0x00                    // select counter 0
+#define TIMER_RATEGEN   0x04                    // mode 2, rate generator
+#define TIMER_16BIT     0x30                    // r/w counter 16 bits, LSB first
+
+volatile size_t ticks;
+
+/* *
+ * clock_init - initialize 8253 clock to interrupt 100 times per second,
+ * and then enable IRQ_TIMER.
+ * */
+void
+clock_init(void) {
+    // set 8253 timer-chip
+    outb(TIMER_MODE, TIMER_SEL0 | TIMER_RATEGEN | TIMER_16BIT);
+    outb(IO_TIMER1, TIMER_DIV(100) % 256);
+    outb(IO_TIMER1, TIMER_DIV(100) / 256);
+
+    // initialize time counter 'ticks' to zero
+    ticks = 0;
+
+    cprintf("++ setup timer interrupts\n");
+    pic_enable(IRQ_TIMER);
+}
+
diff --git a/code/lab5/kern/driver/clock.h b/code/lab5/kern/driver/clock.h
new file mode 100644
index 0000000..e22f393
--- /dev/null
+++ b/code/lab5/kern/driver/clock.h
@@ -0,0 +1,11 @@
+#ifndef __KERN_DRIVER_CLOCK_H__
+#define __KERN_DRIVER_CLOCK_H__
+
+#include <defs.h>
+
+extern volatile size_t ticks;
+
+void clock_init(void);
+
+#endif /* !__KERN_DRIVER_CLOCK_H__ */
+
diff --git a/code/lab5/kern/driver/console.c b/code/lab5/kern/driver/console.c
new file mode 100644
index 0000000..d4cf56b
--- /dev/null
+++ b/code/lab5/kern/driver/console.c
@@ -0,0 +1,465 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <kbdreg.h>
+#include <picirq.h>
+#include <trap.h>
+#include <memlayout.h>
+#include <sync.h>
+
+/* stupid I/O delay routine necessitated by historical PC design flaws */
+static void
+delay(void) {
+    inb(0x84);
+    inb(0x84);
+    inb(0x84);
+    inb(0x84);
+}
+
+/***** Serial I/O code *****/
+#define COM1            0x3F8
+
+#define COM_RX          0       // In:  Receive buffer (DLAB=0)
+#define COM_TX          0       // Out: Transmit buffer (DLAB=0)
+#define COM_DLL         0       // Out: Divisor Latch Low (DLAB=1)
+#define COM_DLM         1       // Out: Divisor Latch High (DLAB=1)
+#define COM_IER         1       // Out: Interrupt Enable Register
+#define COM_IER_RDI     0x01    // Enable receiver data interrupt
+#define COM_IIR         2       // In:  Interrupt ID Register
+#define COM_FCR         2       // Out: FIFO Control Register
+#define COM_LCR         3       // Out: Line Control Register
+#define COM_LCR_DLAB    0x80    // Divisor latch access bit
+#define COM_LCR_WLEN8   0x03    // Wordlength: 8 bits
+#define COM_MCR         4       // Out: Modem Control Register
+#define COM_MCR_RTS     0x02    // RTS complement
+#define COM_MCR_DTR     0x01    // DTR complement
+#define COM_MCR_OUT2    0x08    // Out2 complement
+#define COM_LSR         5       // In:  Line Status Register
+#define COM_LSR_DATA    0x01    // Data available
+#define COM_LSR_TXRDY   0x20    // Transmit buffer avail
+#define COM_LSR_TSRE    0x40    // Transmitter off
+
+#define MONO_BASE       0x3B4
+#define MONO_BUF        0xB0000
+#define CGA_BASE        0x3D4
+#define CGA_BUF         0xB8000
+#define CRT_ROWS        25
+#define CRT_COLS        80
+#define CRT_SIZE        (CRT_ROWS * CRT_COLS)
+
+#define LPTPORT         0x378
+
+static uint16_t *crt_buf;
+static uint16_t crt_pos;
+static uint16_t addr_6845;
+
+/* TEXT-mode CGA/VGA display output */
+
+static void
+cga_init(void) {
+    volatile uint16_t *cp = (uint16_t *)(CGA_BUF + KERNBASE);
+    uint16_t was = *cp;
+    *cp = (uint16_t) 0xA55A;
+    if (*cp != 0xA55A) {
+        cp = (uint16_t*)(MONO_BUF + KERNBASE);
+        addr_6845 = MONO_BASE;
+    } else {
+        *cp = was;
+        addr_6845 = CGA_BASE;
+    }
+
+    // Extract cursor location
+    uint32_t pos;
+    outb(addr_6845, 14);
+    pos = inb(addr_6845 + 1) << 8;
+    outb(addr_6845, 15);
+    pos |= inb(addr_6845 + 1);
+
+    crt_buf = (uint16_t*) cp;
+    crt_pos = pos;
+}
+
+static bool serial_exists = 0;
+
+static void
+serial_init(void) {
+    // Turn off the FIFO
+    outb(COM1 + COM_FCR, 0);
+
+    // Set speed; requires DLAB latch
+    outb(COM1 + COM_LCR, COM_LCR_DLAB);
+    outb(COM1 + COM_DLL, (uint8_t) (115200 / 9600));
+    outb(COM1 + COM_DLM, 0);
+
+    // 8 data bits, 1 stop bit, parity off; turn off DLAB latch
+    outb(COM1 + COM_LCR, COM_LCR_WLEN8 & ~COM_LCR_DLAB);
+
+    // No modem controls
+    outb(COM1 + COM_MCR, 0);
+    // Enable rcv interrupts
+    outb(COM1 + COM_IER, COM_IER_RDI);
+
+    // Clear any preexisting overrun indications and interrupts
+    // Serial port doesn't exist if COM_LSR returns 0xFF
+    serial_exists = (inb(COM1 + COM_LSR) != 0xFF);
+    (void) inb(COM1+COM_IIR);
+    (void) inb(COM1+COM_RX);
+
+    if (serial_exists) {
+        pic_enable(IRQ_COM1);
+    }
+}
+
+static void
+lpt_putc_sub(int c) {
+    int i;
+    for (i = 0; !(inb(LPTPORT + 1) & 0x80) && i < 12800; i ++) {
+        delay();
+    }
+    outb(LPTPORT + 0, c);
+    outb(LPTPORT + 2, 0x08 | 0x04 | 0x01);
+    outb(LPTPORT + 2, 0x08);
+}
+
+/* lpt_putc - copy console output to parallel port */
+static void
+lpt_putc(int c) {
+    if (c != '\b') {
+        lpt_putc_sub(c);
+    }
+    else {
+        lpt_putc_sub('\b');
+        lpt_putc_sub(' ');
+        lpt_putc_sub('\b');
+    }
+}
+
+/* cga_putc - print character to console */
+static void
+cga_putc(int c) {
+    // set black on white
+    if (!(c & ~0xFF)) {
+        c |= 0x0700;
+    }
+
+    switch (c & 0xff) {
+    case '\b':
+        if (crt_pos > 0) {
+            crt_pos --;
+            crt_buf[crt_pos] = (c & ~0xff) | ' ';
+        }
+        break;
+    case '\n':
+        crt_pos += CRT_COLS;
+    case '\r':
+        crt_pos -= (crt_pos % CRT_COLS);
+        break;
+    default:
+        crt_buf[crt_pos ++] = c;     // write the character
+        break;
+    }
+
+    // What is the purpose of this?
+    if (crt_pos >= CRT_SIZE) {
+        int i;
+        memmove(crt_buf, crt_buf + CRT_COLS, (CRT_SIZE - CRT_COLS) * sizeof(uint16_t));
+        for (i = CRT_SIZE - CRT_COLS; i < CRT_SIZE; i ++) {
+            crt_buf[i] = 0x0700 | ' ';
+        }
+        crt_pos -= CRT_COLS;
+    }
+
+    // move that little blinky thing
+    outb(addr_6845, 14);
+    outb(addr_6845 + 1, crt_pos >> 8);
+    outb(addr_6845, 15);
+    outb(addr_6845 + 1, crt_pos);
+}
+
+static void
+serial_putc_sub(int c) {
+    int i;
+    for (i = 0; !(inb(COM1 + COM_LSR) & COM_LSR_TXRDY) && i < 12800; i ++) {
+        delay();
+    }
+    outb(COM1 + COM_TX, c);
+}
+
+/* serial_putc - print character to serial port */
+static void
+serial_putc(int c) {
+    if (c != '\b') {
+        serial_putc_sub(c);
+    }
+    else {
+        serial_putc_sub('\b');
+        serial_putc_sub(' ');
+        serial_putc_sub('\b');
+    }
+}
+
+/* *
+ * Here we manage the console input buffer, where we stash characters
+ * received from the keyboard or serial port whenever the corresponding
+ * interrupt occurs.
+ * */
+
+#define CONSBUFSIZE 512
+
+static struct {
+    uint8_t buf[CONSBUFSIZE];
+    uint32_t rpos;
+    uint32_t wpos;
+} cons;
+
+/* *
+ * cons_intr - called by device interrupt routines to feed input
+ * characters into the circular console input buffer.
+ * */
+static void
+cons_intr(int (*proc)(void)) {
+    int c;
+    while ((c = (*proc)()) != -1) {
+        if (c != 0) {
+            cons.buf[cons.wpos ++] = c;
+            if (cons.wpos == CONSBUFSIZE) {
+                cons.wpos = 0;
+            }
+        }
+    }
+}
+
+/* serial_proc_data - get data from serial port */
+static int
+serial_proc_data(void) {
+    if (!(inb(COM1 + COM_LSR) & COM_LSR_DATA)) {
+        return -1;
+    }
+    int c = inb(COM1 + COM_RX);
+    if (c == 127) {
+        c = '\b';
+    }
+    return c;
+}
+
+/* serial_intr - try to feed input characters from serial port */
+void
+serial_intr(void) {
+    if (serial_exists) {
+        cons_intr(serial_proc_data);
+    }
+}
+
+/***** Keyboard input code *****/
+
+#define NO              0
+
+#define SHIFT           (1<<0)
+#define CTL             (1<<1)
+#define ALT             (1<<2)
+
+#define CAPSLOCK        (1<<3)
+#define NUMLOCK         (1<<4)
+#define SCROLLLOCK      (1<<5)
+
+#define E0ESC           (1<<6)
+
+static uint8_t shiftcode[256] = {
+    [0x1D] CTL,
+    [0x2A] SHIFT,
+    [0x36] SHIFT,
+    [0x38] ALT,
+    [0x9D] CTL,
+    [0xB8] ALT
+};
+
+static uint8_t togglecode[256] = {
+    [0x3A] CAPSLOCK,
+    [0x45] NUMLOCK,
+    [0x46] SCROLLLOCK
+};
+
+static uint8_t normalmap[256] = {
+    NO,   0x1B, '1',  '2',  '3',  '4',  '5',  '6',  // 0x00
+    '7',  '8',  '9',  '0',  '-',  '=',  '\b', '\t',
+    'q',  'w',  'e',  'r',  't',  'y',  'u',  'i',  // 0x10
+    'o',  'p',  '[',  ']',  '\n', NO,   'a',  's',
+    'd',  'f',  'g',  'h',  'j',  'k',  'l',  ';',  // 0x20
+    '\'', '`',  NO,   '\\', 'z',  'x',  'c',  'v',
+    'b',  'n',  'm',  ',',  '.',  '/',  NO,   '*',  // 0x30
+    NO,   ' ',  NO,   NO,   NO,   NO,   NO,   NO,
+    NO,   NO,   NO,   NO,   NO,   NO,   NO,   '7',  // 0x40
+    '8',  '9',  '-',  '4',  '5',  '6',  '+',  '1',
+    '2',  '3',  '0',  '.',  NO,   NO,   NO,   NO,   // 0x50
+    [0xC7] KEY_HOME,    [0x9C] '\n' /*KP_Enter*/,
+    [0xB5] '/' /*KP_Div*/,  [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+static uint8_t shiftmap[256] = {
+    NO,   033,  '!',  '@',  '#',  '$',  '%',  '^',  // 0x00
+    '&',  '*',  '(',  ')',  '_',  '+',  '\b', '\t',
+    'Q',  'W',  'E',  'R',  'T',  'Y',  'U',  'I',  // 0x10
+    'O',  'P',  '{',  '}',  '\n', NO,   'A',  'S',
+    'D',  'F',  'G',  'H',  'J',  'K',  'L',  ':',  // 0x20
+    '"',  '~',  NO,   '|',  'Z',  'X',  'C',  'V',
+    'B',  'N',  'M',  '<',  '>',  '?',  NO,   '*',  // 0x30
+    NO,   ' ',  NO,   NO,   NO,   NO,   NO,   NO,
+    NO,   NO,   NO,   NO,   NO,   NO,   NO,   '7',  // 0x40
+    '8',  '9',  '-',  '4',  '5',  '6',  '+',  '1',
+    '2',  '3',  '0',  '.',  NO,   NO,   NO,   NO,   // 0x50
+    [0xC7] KEY_HOME,    [0x9C] '\n' /*KP_Enter*/,
+    [0xB5] '/' /*KP_Div*/,  [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+#define C(x) (x - '@')
+
+static uint8_t ctlmap[256] = {
+    NO,      NO,      NO,      NO,      NO,      NO,      NO,      NO,
+    NO,      NO,      NO,      NO,      NO,      NO,      NO,      NO,
+    C('Q'),  C('W'),  C('E'),  C('R'),  C('T'),  C('Y'),  C('U'),  C('I'),
+    C('O'),  C('P'),  NO,      NO,      '\r',    NO,      C('A'),  C('S'),
+    C('D'),  C('F'),  C('G'),  C('H'),  C('J'),  C('K'),  C('L'),  NO,
+    NO,      NO,      NO,      C('\\'), C('Z'),  C('X'),  C('C'),  C('V'),
+    C('B'),  C('N'),  C('M'),  NO,      NO,      C('/'),  NO,      NO,
+    [0x97] KEY_HOME,
+    [0xB5] C('/'),      [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+static uint8_t *charcode[4] = {
+    normalmap,
+    shiftmap,
+    ctlmap,
+    ctlmap
+};
+
+/* *
+ * kbd_proc_data - get data from keyboard
+ *
+ * The kbd_proc_data() function gets data from the keyboard.
+ * If we finish a character, return it, else 0. And return -1 if no data.
+ * */
+static int
+kbd_proc_data(void) {
+    int c;
+    uint8_t data;
+    static uint32_t shift;
+
+    if ((inb(KBSTATP) & KBS_DIB) == 0) {
+        return -1;
+    }
+
+    data = inb(KBDATAP);
+
+    if (data == 0xE0) {
+        // E0 escape character
+        shift |= E0ESC;
+        return 0;
+    } else if (data & 0x80) {
+        // Key released
+        data = (shift & E0ESC ? data : data & 0x7F);
+        shift &= ~(shiftcode[data] | E0ESC);
+        return 0;
+    } else if (shift & E0ESC) {
+        // Last character was an E0 escape; or with 0x80
+        data |= 0x80;
+        shift &= ~E0ESC;
+    }
+
+    shift |= shiftcode[data];
+    shift ^= togglecode[data];
+
+    c = charcode[shift & (CTL | SHIFT)][data];
+    if (shift & CAPSLOCK) {
+        if ('a' <= c && c <= 'z')
+            c += 'A' - 'a';
+        else if ('A' <= c && c <= 'Z')
+            c += 'a' - 'A';
+    }
+
+    // Process special keys
+    // Ctrl-Alt-Del: reboot
+    if (!(~shift & (CTL | ALT)) && c == KEY_DEL) {
+        cprintf("Rebooting!\n");
+        outb(0x92, 0x3); // courtesy of Chris Frost
+    }
+    return c;
+}
+
+/* kbd_intr - try to feed input characters from keyboard */
+static void
+kbd_intr(void) {
+    cons_intr(kbd_proc_data);
+}
+
+static void
+kbd_init(void) {
+    // drain the kbd buffer
+    kbd_intr();
+    pic_enable(IRQ_KBD);
+}
+
+/* cons_init - initializes the console devices */
+void
+cons_init(void) {
+    cga_init();
+    serial_init();
+    kbd_init();
+    if (!serial_exists) {
+        cprintf("serial port does not exist!!\n");
+    }
+}
+
+/* cons_putc - print a single character @c to console devices */
+void
+cons_putc(int c) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        lpt_putc(c);
+        cga_putc(c);
+        serial_putc(c);
+    }
+    local_intr_restore(intr_flag);
+}
+
+/* *
+ * cons_getc - return the next input character from console,
+ * or 0 if none waiting.
+ * */
+int
+cons_getc(void) {
+    int c = 0;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        // poll for any pending input characters,
+        // so that this function works even when interrupts are disabled
+        // (e.g., when called from the kernel monitor).
+        serial_intr();
+        kbd_intr();
+
+        // grab the next character from the input buffer.
+        if (cons.rpos != cons.wpos) {
+            c = cons.buf[cons.rpos ++];
+            if (cons.rpos == CONSBUFSIZE) {
+                cons.rpos = 0;
+            }
+        }
+    }
+    local_intr_restore(intr_flag);
+    return c;
+}
+
diff --git a/code/lab5/kern/driver/console.h b/code/lab5/kern/driver/console.h
new file mode 100644
index 0000000..72e6167
--- /dev/null
+++ b/code/lab5/kern/driver/console.h
@@ -0,0 +1,11 @@
+#ifndef __KERN_DRIVER_CONSOLE_H__
+#define __KERN_DRIVER_CONSOLE_H__
+
+void cons_init(void);
+void cons_putc(int c);
+int cons_getc(void);
+void serial_intr(void);
+void kbd_intr(void);
+
+#endif /* !__KERN_DRIVER_CONSOLE_H__ */
+
diff --git a/code/lab5/kern/driver/ide.c b/code/lab5/kern/driver/ide.c
new file mode 100644
index 0000000..271cfa8
--- /dev/null
+++ b/code/lab5/kern/driver/ide.c
@@ -0,0 +1,214 @@
+#include <defs.h>
+#include <stdio.h>
+#include <trap.h>
+#include <picirq.h>
+#include <fs.h>
+#include <ide.h>
+#include <x86.h>
+#include <assert.h>
+
+#define ISA_DATA                0x00
+#define ISA_ERROR               0x01
+#define ISA_PRECOMP             0x01
+#define ISA_CTRL                0x02
+#define ISA_SECCNT              0x02
+#define ISA_SECTOR              0x03
+#define ISA_CYL_LO              0x04
+#define ISA_CYL_HI              0x05
+#define ISA_SDH                 0x06
+#define ISA_COMMAND             0x07
+#define ISA_STATUS              0x07
+
+#define IDE_BSY                 0x80
+#define IDE_DRDY                0x40
+#define IDE_DF                  0x20
+#define IDE_DRQ                 0x08
+#define IDE_ERR                 0x01
+
+#define IDE_CMD_READ            0x20
+#define IDE_CMD_WRITE           0x30
+#define IDE_CMD_IDENTIFY        0xEC
+
+#define IDE_IDENT_SECTORS       20
+#define IDE_IDENT_MODEL         54
+#define IDE_IDENT_CAPABILITIES  98
+#define IDE_IDENT_CMDSETS       164
+#define IDE_IDENT_MAX_LBA       120
+#define IDE_IDENT_MAX_LBA_EXT   200
+
+#define IO_BASE0                0x1F0
+#define IO_BASE1                0x170
+#define IO_CTRL0                0x3F4
+#define IO_CTRL1                0x374
+
+#define MAX_IDE                 4
+#define MAX_NSECS               128
+#define MAX_DISK_NSECS          0x10000000U
+#define VALID_IDE(ideno)        (((ideno) >= 0) && ((ideno) < MAX_IDE) && (ide_devices[ideno].valid))
+
+static const struct {
+    unsigned short base;        // I/O Base
+    unsigned short ctrl;        // Control Base
+} channels[2] = {
+    {IO_BASE0, IO_CTRL0},
+    {IO_BASE1, IO_CTRL1},
+};
+
+#define IO_BASE(ideno)          (channels[(ideno) >> 1].base)
+#define IO_CTRL(ideno)          (channels[(ideno) >> 1].ctrl)
+
+static struct ide_device {
+    unsigned char valid;        // 0 or 1 (If Device Really Exists)
+    unsigned int sets;          // Commend Sets Supported
+    unsigned int size;          // Size in Sectors
+    unsigned char model[41];    // Model in String
+} ide_devices[MAX_IDE];
+
+static int
+ide_wait_ready(unsigned short iobase, bool check_error) {
+    int r;
+    while ((r = inb(iobase + ISA_STATUS)) & IDE_BSY)
+        /* nothing */;
+    if (check_error && (r & (IDE_DF | IDE_ERR)) != 0) {
+        return -1;
+    }
+    return 0;
+}
+
+void
+ide_init(void) {
+    static_assert((SECTSIZE % 4) == 0);
+    unsigned short ideno, iobase;
+    for (ideno = 0; ideno < MAX_IDE; ideno ++) {
+        /* assume that no device here */
+        ide_devices[ideno].valid = 0;
+
+        iobase = IO_BASE(ideno);
+
+        /* wait device ready */
+        ide_wait_ready(iobase, 0);
+
+        /* step1: select drive */
+        outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4));
+        ide_wait_ready(iobase, 0);
+
+        /* step2: send ATA identify command */
+        outb(iobase + ISA_COMMAND, IDE_CMD_IDENTIFY);
+        ide_wait_ready(iobase, 0);
+
+        /* step3: polling */
+        if (inb(iobase + ISA_STATUS) == 0 || ide_wait_ready(iobase, 1) != 0) {
+            continue ;
+        }
+
+        /* device is ok */
+        ide_devices[ideno].valid = 1;
+
+        /* read identification space of the device */
+        unsigned int buffer[128];
+        insl(iobase + ISA_DATA, buffer, sizeof(buffer) / sizeof(unsigned int));
+
+        unsigned char *ident = (unsigned char *)buffer;
+        unsigned int sectors;
+        unsigned int cmdsets = *(unsigned int *)(ident + IDE_IDENT_CMDSETS);
+        /* device use 48-bits or 28-bits addressing */
+        if (cmdsets & (1 << 26)) {
+            sectors = *(unsigned int *)(ident + IDE_IDENT_MAX_LBA_EXT);
+        }
+        else {
+            sectors = *(unsigned int *)(ident + IDE_IDENT_MAX_LBA);
+        }
+        ide_devices[ideno].sets = cmdsets;
+        ide_devices[ideno].size = sectors;
+
+        /* check if supports LBA */
+        assert((*(unsigned short *)(ident + IDE_IDENT_CAPABILITIES) & 0x200) != 0);
+
+        unsigned char *model = ide_devices[ideno].model, *data = ident + IDE_IDENT_MODEL;
+        unsigned int i, length = 40;
+        for (i = 0; i < length; i += 2) {
+            model[i] = data[i + 1], model[i + 1] = data[i];
+        }
+        do {
+            model[i] = '\0';
+        } while (i -- > 0 && model[i] == ' ');
+
+        cprintf("ide %d: %10u(sectors), '%s'.\n", ideno, ide_devices[ideno].size, ide_devices[ideno].model);
+    }
+
+    // enable ide interrupt
+    pic_enable(IRQ_IDE1);
+    pic_enable(IRQ_IDE2);
+}
+
+bool
+ide_device_valid(unsigned short ideno) {
+    return VALID_IDE(ideno);
+}
+
+size_t
+ide_device_size(unsigned short ideno) {
+    if (ide_device_valid(ideno)) {
+        return ide_devices[ideno].size;
+    }
+    return 0;
+}
+
+int
+ide_read_secs(unsigned short ideno, uint32_t secno, void *dst, size_t nsecs) {
+    assert(nsecs <= MAX_NSECS && VALID_IDE(ideno));
+    assert(secno < MAX_DISK_NSECS && secno + nsecs <= MAX_DISK_NSECS);
+    unsigned short iobase = IO_BASE(ideno), ioctrl = IO_CTRL(ideno);
+
+    ide_wait_ready(iobase, 0);
+
+    // generate interrupt
+    outb(ioctrl + ISA_CTRL, 0);
+    outb(iobase + ISA_SECCNT, nsecs);
+    outb(iobase + ISA_SECTOR, secno & 0xFF);
+    outb(iobase + ISA_CYL_LO, (secno >> 8) & 0xFF);
+    outb(iobase + ISA_CYL_HI, (secno >> 16) & 0xFF);
+    outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4) | ((secno >> 24) & 0xF));
+    outb(iobase + ISA_COMMAND, IDE_CMD_READ);
+
+    int ret = 0;
+    for (; nsecs > 0; nsecs --, dst += SECTSIZE) {
+        if ((ret = ide_wait_ready(iobase, 1)) != 0) {
+            goto out;
+        }
+        insl(iobase, dst, SECTSIZE / sizeof(uint32_t));
+    }
+
+out:
+    return ret;
+}
+
+int
+ide_write_secs(unsigned short ideno, uint32_t secno, const void *src, size_t nsecs) {
+    assert(nsecs <= MAX_NSECS && VALID_IDE(ideno));
+    assert(secno < MAX_DISK_NSECS && secno + nsecs <= MAX_DISK_NSECS);
+    unsigned short iobase = IO_BASE(ideno), ioctrl = IO_CTRL(ideno);
+
+    ide_wait_ready(iobase, 0);
+
+    // generate interrupt
+    outb(ioctrl + ISA_CTRL, 0);
+    outb(iobase + ISA_SECCNT, nsecs);
+    outb(iobase + ISA_SECTOR, secno & 0xFF);
+    outb(iobase + ISA_CYL_LO, (secno >> 8) & 0xFF);
+    outb(iobase + ISA_CYL_HI, (secno >> 16) & 0xFF);
+    outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4) | ((secno >> 24) & 0xF));
+    outb(iobase + ISA_COMMAND, IDE_CMD_WRITE);
+
+    int ret = 0;
+    for (; nsecs > 0; nsecs --, src += SECTSIZE) {
+        if ((ret = ide_wait_ready(iobase, 1)) != 0) {
+            goto out;
+        }
+        outsl(iobase, src, SECTSIZE / sizeof(uint32_t));
+    }
+
+out:
+    return ret;
+}
+
diff --git a/code/lab5/kern/driver/ide.h b/code/lab5/kern/driver/ide.h
new file mode 100644
index 0000000..3e3fd21
--- /dev/null
+++ b/code/lab5/kern/driver/ide.h
@@ -0,0 +1,14 @@
+#ifndef __KERN_DRIVER_IDE_H__
+#define __KERN_DRIVER_IDE_H__
+
+#include <defs.h>
+
+void ide_init(void);
+bool ide_device_valid(unsigned short ideno);
+size_t ide_device_size(unsigned short ideno);
+
+int ide_read_secs(unsigned short ideno, uint32_t secno, void *dst, size_t nsecs);
+int ide_write_secs(unsigned short ideno, uint32_t secno, const void *src, size_t nsecs);
+
+#endif /* !__KERN_DRIVER_IDE_H__ */
+
diff --git a/code/lab5/kern/driver/intr.c b/code/lab5/kern/driver/intr.c
new file mode 100644
index 0000000..e64da62
--- /dev/null
+++ b/code/lab5/kern/driver/intr.c
@@ -0,0 +1,15 @@
+#include <x86.h>
+#include <intr.h>
+
+/* intr_enable - enable irq interrupt */
+void
+intr_enable(void) {
+    sti();
+}
+
+/* intr_disable - disable irq interrupt */
+void
+intr_disable(void) {
+    cli();
+}
+
diff --git a/code/lab5/kern/driver/intr.h b/code/lab5/kern/driver/intr.h
new file mode 100644
index 0000000..5fdf7a5
--- /dev/null
+++ b/code/lab5/kern/driver/intr.h
@@ -0,0 +1,8 @@
+#ifndef __KERN_DRIVER_INTR_H__
+#define __KERN_DRIVER_INTR_H__
+
+void intr_enable(void);
+void intr_disable(void);
+
+#endif /* !__KERN_DRIVER_INTR_H__ */
+
diff --git a/code/lab5/kern/driver/kbdreg.h b/code/lab5/kern/driver/kbdreg.h
new file mode 100644
index 0000000..00dc49a
--- /dev/null
+++ b/code/lab5/kern/driver/kbdreg.h
@@ -0,0 +1,84 @@
+#ifndef __KERN_DRIVER_KBDREG_H__
+#define __KERN_DRIVER_KBDREG_H__
+
+// Special keycodes
+#define KEY_HOME            0xE0
+#define KEY_END             0xE1
+#define KEY_UP              0xE2
+#define KEY_DN              0xE3
+#define KEY_LF              0xE4
+#define KEY_RT              0xE5
+#define KEY_PGUP            0xE6
+#define KEY_PGDN            0xE7
+#define KEY_INS             0xE8
+#define KEY_DEL             0xE9
+
+
+/* This is i8042reg.h + kbdreg.h from NetBSD. */
+
+#define KBSTATP             0x64    // kbd controller status port(I)
+#define KBS_DIB             0x01    // kbd data in buffer
+#define KBS_IBF             0x02    // kbd input buffer low
+#define KBS_WARM            0x04    // kbd input buffer low
+#define BS_OCMD             0x08    // kbd output buffer has command
+#define KBS_NOSEC           0x10    // kbd security lock not engaged
+#define KBS_TERR            0x20    // kbd transmission error
+#define KBS_RERR            0x40    // kbd receive error
+#define KBS_PERR            0x80    // kbd parity error
+
+#define KBCMDP              0x64    // kbd controller port(O)
+#define KBC_RAMREAD         0x20    // read from RAM
+#define KBC_RAMWRITE        0x60    // write to RAM
+#define KBC_AUXDISABLE      0xa7    // disable auxiliary port
+#define KBC_AUXENABLE       0xa8    // enable auxiliary port
+#define KBC_AUXTEST         0xa9    // test auxiliary port
+#define KBC_KBDECHO         0xd2    // echo to keyboard port
+#define KBC_AUXECHO         0xd3    // echo to auxiliary port
+#define KBC_AUXWRITE        0xd4    // write to auxiliary port
+#define KBC_SELFTEST        0xaa    // start self-test
+#define KBC_KBDTEST         0xab    // test keyboard port
+#define KBC_KBDDISABLE      0xad    // disable keyboard port
+#define KBC_KBDENABLE       0xae    // enable keyboard port
+#define KBC_PULSE0          0xfe    // pulse output bit 0
+#define KBC_PULSE1          0xfd    // pulse output bit 1
+#define KBC_PULSE2          0xfb    // pulse output bit 2
+#define KBC_PULSE3          0xf7    // pulse output bit 3
+
+#define KBDATAP             0x60    // kbd data port(I)
+#define KBOUTP              0x60    // kbd data port(O)
+
+#define K_RDCMDBYTE         0x20
+#define K_LDCMDBYTE         0x60
+
+#define KC8_TRANS           0x40    // convert to old scan codes
+#define KC8_MDISABLE        0x20    // disable mouse
+#define KC8_KDISABLE        0x10    // disable keyboard
+#define KC8_IGNSEC          0x08    // ignore security lock
+#define KC8_CPU             0x04    // exit from protected mode reset
+#define KC8_MENABLE         0x02    // enable mouse interrupt
+#define KC8_KENABLE         0x01    // enable keyboard interrupt
+#define CMDBYTE             (KC8_TRANS|KC8_CPU|KC8_MENABLE|KC8_KENABLE)
+
+/* keyboard commands */
+#define KBC_RESET           0xFF    // reset the keyboard
+#define KBC_RESEND          0xFE    // request the keyboard resend the last byte
+#define KBC_SETDEFAULT      0xF6    // resets keyboard to its power-on defaults
+#define KBC_DISABLE         0xF5    // as per KBC_SETDEFAULT, but also disable key scanning
+#define KBC_ENABLE          0xF4    // enable key scanning
+#define KBC_TYPEMATIC       0xF3    // set typematic rate and delay
+#define KBC_SETTABLE        0xF0    // set scancode translation table
+#define KBC_MODEIND         0xED    // set mode indicators(i.e. LEDs)
+#define KBC_ECHO            0xEE    // request an echo from the keyboard
+
+/* keyboard responses */
+#define KBR_EXTENDED        0xE0    // extended key sequence
+#define KBR_RESEND          0xFE    // needs resend of command
+#define KBR_ACK             0xFA    // received a valid command
+#define KBR_OVERRUN         0x00    // flooded
+#define KBR_FAILURE         0xFD    // diagnosic failure
+#define KBR_BREAK           0xF0    // break code prefix - sent on key release
+#define KBR_RSTDONE         0xAA    // reset complete
+#define KBR_ECHO            0xEE    // echo response
+
+#endif /* !__KERN_DRIVER_KBDREG_H__ */
+
diff --git a/code/lab5/kern/driver/picirq.c b/code/lab5/kern/driver/picirq.c
new file mode 100644
index 0000000..e7f7063
--- /dev/null
+++ b/code/lab5/kern/driver/picirq.c
@@ -0,0 +1,86 @@
+#include <defs.h>
+#include <x86.h>
+#include <picirq.h>
+
+// I/O Addresses of the two programmable interrupt controllers
+#define IO_PIC1             0x20    // Master (IRQs 0-7)
+#define IO_PIC2             0xA0    // Slave (IRQs 8-15)
+
+#define IRQ_SLAVE           2       // IRQ at which slave connects to master
+
+// Current IRQ mask.
+// Initial IRQ mask has interrupt 2 enabled (for slave 8259A).
+static uint16_t irq_mask = 0xFFFF & ~(1 << IRQ_SLAVE);
+static bool did_init = 0;
+
+static void
+pic_setmask(uint16_t mask) {
+    irq_mask = mask;
+    if (did_init) {
+        outb(IO_PIC1 + 1, mask);
+        outb(IO_PIC2 + 1, mask >> 8);
+    }
+}
+
+void
+pic_enable(unsigned int irq) {
+    pic_setmask(irq_mask & ~(1 << irq));
+}
+
+/* pic_init - initialize the 8259A interrupt controllers */
+void
+pic_init(void) {
+    did_init = 1;
+
+    // mask all interrupts
+    outb(IO_PIC1 + 1, 0xFF);
+    outb(IO_PIC2 + 1, 0xFF);
+
+    // Set up master (8259A-1)
+
+    // ICW1:  0001g0hi
+    //    g:  0 = edge triggering, 1 = level triggering
+    //    h:  0 = cascaded PICs, 1 = master only
+    //    i:  0 = no ICW4, 1 = ICW4 required
+    outb(IO_PIC1, 0x11);
+
+    // ICW2:  Vector offset
+    outb(IO_PIC1 + 1, IRQ_OFFSET);
+
+    // ICW3:  (master PIC) bit mask of IR lines connected to slaves
+    //        (slave PIC) 3-bit # of slave's connection to master
+    outb(IO_PIC1 + 1, 1 << IRQ_SLAVE);
+
+    // ICW4:  000nbmap
+    //    n:  1 = special fully nested mode
+    //    b:  1 = buffered mode
+    //    m:  0 = slave PIC, 1 = master PIC
+    //        (ignored when b is 0, as the master/slave role
+    //         can be hardwired).
+    //    a:  1 = Automatic EOI mode
+    //    p:  0 = MCS-80/85 mode, 1 = intel x86 mode
+    outb(IO_PIC1 + 1, 0x3);
+
+    // Set up slave (8259A-2)
+    outb(IO_PIC2, 0x11);    // ICW1
+    outb(IO_PIC2 + 1, IRQ_OFFSET + 8);  // ICW2
+    outb(IO_PIC2 + 1, IRQ_SLAVE);       // ICW3
+    // NB Automatic EOI mode doesn't tend to work on the slave.
+    // Linux source code says it's "to be investigated".
+    outb(IO_PIC2 + 1, 0x3);             // ICW4
+
+    // OCW3:  0ef01prs
+    //   ef:  0x = NOP, 10 = clear specific mask, 11 = set specific mask
+    //    p:  0 = no polling, 1 = polling mode
+    //   rs:  0x = NOP, 10 = read IRR, 11 = read ISR
+    outb(IO_PIC1, 0x68);    // clear specific mask
+    outb(IO_PIC1, 0x0a);    // read IRR by default
+
+    outb(IO_PIC2, 0x68);    // OCW3
+    outb(IO_PIC2, 0x0a);    // OCW3
+
+    if (irq_mask != 0xFFFF) {
+        pic_setmask(irq_mask);
+    }
+}
+
diff --git a/code/lab5/kern/driver/picirq.h b/code/lab5/kern/driver/picirq.h
new file mode 100644
index 0000000..b61e72e
--- /dev/null
+++ b/code/lab5/kern/driver/picirq.h
@@ -0,0 +1,10 @@
+#ifndef __KERN_DRIVER_PICIRQ_H__
+#define __KERN_DRIVER_PICIRQ_H__
+
+void pic_init(void);
+void pic_enable(unsigned int irq);
+
+#define IRQ_OFFSET      32
+
+#endif /* !__KERN_DRIVER_PICIRQ_H__ */
+
diff --git a/code/lab5/kern/fs/fs.h b/code/lab5/kern/fs/fs.h
new file mode 100644
index 0000000..92c05e7
--- /dev/null
+++ b/code/lab5/kern/fs/fs.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_FS_FS_H__
+#define __KERN_FS_FS_H__
+
+#include <mmu.h>
+
+#define SECTSIZE            512
+#define PAGE_NSECT          (PGSIZE / SECTSIZE)
+
+#define SWAP_DEV_NO         1
+
+#endif /* !__KERN_FS_FS_H__ */
+
diff --git a/code/lab5/kern/fs/swapfs.c b/code/lab5/kern/fs/swapfs.c
new file mode 100644
index 0000000..d9f6090
--- /dev/null
+++ b/code/lab5/kern/fs/swapfs.c
@@ -0,0 +1,27 @@
+#include <swap.h>
+#include <swapfs.h>
+#include <mmu.h>
+#include <fs.h>
+#include <ide.h>
+#include <pmm.h>
+#include <assert.h>
+
+void
+swapfs_init(void) {
+    static_assert((PGSIZE % SECTSIZE) == 0);
+    if (!ide_device_valid(SWAP_DEV_NO)) {
+        panic("swap fs isn't available.\n");
+    }
+    max_swap_offset = ide_device_size(SWAP_DEV_NO) / (PGSIZE / SECTSIZE);
+}
+
+int
+swapfs_read(swap_entry_t entry, struct Page *page) {
+    return ide_read_secs(SWAP_DEV_NO, swap_offset(entry) * PAGE_NSECT, page2kva(page), PAGE_NSECT);
+}
+
+int
+swapfs_write(swap_entry_t entry, struct Page *page) {
+    return ide_write_secs(SWAP_DEV_NO, swap_offset(entry) * PAGE_NSECT, page2kva(page), PAGE_NSECT);
+}
+
diff --git a/code/lab5/kern/fs/swapfs.h b/code/lab5/kern/fs/swapfs.h
new file mode 100644
index 0000000..d433926
--- /dev/null
+++ b/code/lab5/kern/fs/swapfs.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_FS_SWAPFS_H__
+#define __KERN_FS_SWAPFS_H__
+
+#include <memlayout.h>
+#include <swap.h>
+
+void swapfs_init(void);
+int swapfs_read(swap_entry_t entry, struct Page *page);
+int swapfs_write(swap_entry_t entry, struct Page *page);
+
+#endif /* !__KERN_FS_SWAPFS_H__ */
+
diff --git a/code/lab5/kern/init/entry.S b/code/lab5/kern/init/entry.S
new file mode 100644
index 0000000..8e37f2a
--- /dev/null
+++ b/code/lab5/kern/init/entry.S
@@ -0,0 +1,49 @@
+#include <mmu.h>
+#include <memlayout.h>
+
+#define REALLOC(x) (x - KERNBASE)
+
+.text
+.globl kern_entry
+kern_entry:
+    # reload temperate gdt (second time) to remap all physical memory
+    # virtual_addr 0~4G=linear_addr&physical_addr -KERNBASE~4G-KERNBASE 
+    lgdt REALLOC(__gdtdesc)
+    movl $KERNEL_DS, %eax
+    movw %ax, %ds
+    movw %ax, %es
+    movw %ax, %ss
+
+    ljmp $KERNEL_CS, $relocated
+
+relocated:
+
+    # set ebp, esp
+    movl $0x0, %ebp
+    # the kernel stack region is from bootstack -- bootstacktop,
+    # the kernel stack size is KSTACKSIZE (8KB)defined in memlayout.h
+    movl $bootstacktop, %esp
+    # now kernel stack is ready , call the first C function
+    call kern_init
+
+# should never get here
+spin:
+    jmp spin
+
+.data
+.align PGSIZE
+    .globl bootstack
+bootstack:
+    .space KSTACKSIZE
+    .globl bootstacktop
+bootstacktop:
+
+.align 4
+__gdt:
+    SEG_NULL
+    SEG_ASM(STA_X | STA_R, - KERNBASE, 0xFFFFFFFF)      # code segment
+    SEG_ASM(STA_W, - KERNBASE, 0xFFFFFFFF)              # data segment
+__gdtdesc:
+    .word 0x17                                          # sizeof(__gdt) - 1
+    .long REALLOC(__gdt)
+
diff --git a/code/lab5/kern/init/init.c b/code/lab5/kern/init/init.c
new file mode 100644
index 0000000..5546347
--- /dev/null
+++ b/code/lab5/kern/init/init.c
@@ -0,0 +1,113 @@
+#include <defs.h>
+#include <stdio.h>
+#include <string.h>
+#include <console.h>
+#include <kdebug.h>
+#include <picirq.h>
+#include <trap.h>
+#include <clock.h>
+#include <intr.h>
+#include <pmm.h>
+#include <vmm.h>
+#include <ide.h>
+#include <swap.h>
+#include <proc.h>
+
+int kern_init(void) __attribute__((noreturn));
+
+static void lab1_switch_test(void);
+
+int
+kern_init(void) {
+    extern char edata[], end[];
+    memset(edata, 0, end - edata);
+
+    cons_init();                // init the console
+
+    const char *message = "(THU.CST) os is loading ...";
+    cprintf("%s\n\n", message);
+
+    print_kerninfo();
+
+    grade_backtrace();
+
+    pmm_init();                 // init physical memory management
+
+    pic_init();                 // init interrupt controller
+    idt_init();                 // init interrupt descriptor table
+
+    vmm_init();                 // init virtual memory management
+    proc_init();                // init process table
+    
+    ide_init();                 // init ide devices
+    swap_init();                // init swap
+
+    clock_init();               // init clock interrupt
+    intr_enable();              // enable irq interrupt
+
+    //LAB1: CAHLLENGE 1 If you try to do it, uncomment lab1_switch_test()
+    // user/kernel mode switch test
+    //lab1_switch_test();
+    
+    cpu_idle();                 // run idle process
+}
+
+void __attribute__((noinline))
+grade_backtrace2(int arg0, int arg1, int arg2, int arg3) {
+    mon_backtrace(0, NULL, NULL);
+}
+
+void __attribute__((noinline))
+grade_backtrace1(int arg0, int arg1) {
+    grade_backtrace2(arg0, (int)&arg0, arg1, (int)&arg1);
+}
+
+void __attribute__((noinline))
+grade_backtrace0(int arg0, int arg1, int arg2) {
+    grade_backtrace1(arg0, arg2);
+}
+
+void
+grade_backtrace(void) {
+    grade_backtrace0(0, (int)kern_init, 0xffff0000);
+}
+
+static void
+lab1_print_cur_status(void) {
+    static int round = 0;
+    uint16_t reg1, reg2, reg3, reg4;
+    asm volatile (
+            "mov %%cs, %0;"
+            "mov %%ds, %1;"
+            "mov %%es, %2;"
+            "mov %%ss, %3;"
+            : "=m"(reg1), "=m"(reg2), "=m"(reg3), "=m"(reg4));
+    cprintf("%d: @ring %d\n", round, reg1 & 3);
+    cprintf("%d:  cs = %x\n", round, reg1);
+    cprintf("%d:  ds = %x\n", round, reg2);
+    cprintf("%d:  es = %x\n", round, reg3);
+    cprintf("%d:  ss = %x\n", round, reg4);
+    round ++;
+}
+
+static void
+lab1_switch_to_user(void) {
+    //LAB1 CHALLENGE 1 : TODO
+}
+
+static void
+lab1_switch_to_kernel(void) {
+    //LAB1 CHALLENGE 1 :  TODO
+}
+
+static void
+lab1_switch_test(void) {
+    lab1_print_cur_status();
+    cprintf("+++ switch to  user  mode +++\n");
+    lab1_switch_to_user();
+    lab1_print_cur_status();
+    cprintf("+++ switch to kernel mode +++\n");
+    lab1_switch_to_kernel();
+    lab1_print_cur_status();
+}
+
diff --git a/code/lab5/kern/libs/rb_tree.c b/code/lab5/kern/libs/rb_tree.c
new file mode 100644
index 0000000..0a5fcc8
--- /dev/null
+++ b/code/lab5/kern/libs/rb_tree.c
@@ -0,0 +1,528 @@
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <kmalloc.h>
+#include <rb_tree.h>
+#include <assert.h>
+
+/* rb_node_create - create a new rb_node */
+static inline rb_node *
+rb_node_create(void) {
+    return kmalloc(sizeof(rb_node));
+}
+
+/* rb_tree_empty - tests if tree is empty */
+static inline bool
+rb_tree_empty(rb_tree *tree) {
+    rb_node *nil = tree->nil, *root = tree->root;
+    return root->left == nil;
+}
+
+/* *
+ * rb_tree_create - creates a new red-black tree, the 'compare' function
+ * is required and returns 'NULL' if failed.
+ *
+ * Note that, root->left should always point to the node that is the root
+ * of the tree. And nil points to a 'NULL' node which should always be
+ * black and may have arbitrary children and parent node.
+ * */
+rb_tree *
+rb_tree_create(int (*compare)(rb_node *node1, rb_node *node2)) {
+    assert(compare != NULL);
+
+    rb_tree *tree;
+    rb_node *nil, *root;
+
+    if ((tree = kmalloc(sizeof(rb_tree))) == NULL) {
+        goto bad_tree;
+    }
+
+    tree->compare = compare;
+
+    if ((nil = rb_node_create()) == NULL) {
+        goto bad_node_cleanup_tree;
+    }
+
+    nil->parent = nil->left = nil->right = nil;
+    nil->red = 0;
+    tree->nil = nil;
+
+    if ((root = rb_node_create()) == NULL) {
+        goto bad_node_cleanup_nil;
+    }
+
+    root->parent = root->left = root->right = nil;
+    root->red = 0;
+    tree->root = root;
+    return tree;
+
+bad_node_cleanup_nil:
+    kfree(nil);
+bad_node_cleanup_tree:
+    kfree(tree);
+bad_tree:
+    return NULL;
+}
+
+/* *
+ * FUNC_ROTATE - rotates as described in "Introduction to Algorithm".
+ *
+ * For example, FUNC_ROTATE(rb_left_rotate, left, right) can be expaned to a
+ * left-rotate function, which requires an red-black 'tree' and a node 'x'
+ * to be rotated on. Basically, this function, named rb_left_rotate, makes the
+ * parent of 'x' be the left child of 'x', 'x' the parent of its parent before
+ * rotation and finally fixes other nodes accordingly.
+ *
+ * FUNC_ROTATE(xx, left, right) means left-rotate,
+ * and FUNC_ROTATE(xx, right, left) means right-rotate.
+ * */
+#define FUNC_ROTATE(func_name, _left, _right)                   \
+static void                                                     \
+func_name(rb_tree *tree, rb_node *x) {                          \
+    rb_node *nil = tree->nil, *y = x->_right;                   \
+    assert(x != tree->root && x != nil && y != nil);            \
+    x->_right = y->_left;                                       \
+    if (y->_left != nil) {                                      \
+        y->_left->parent = x;                                   \
+    }                                                           \
+    y->parent = x->parent;                                      \
+    if (x == x->parent->_left) {                                \
+        x->parent->_left = y;                                   \
+    }                                                           \
+    else {                                                      \
+        x->parent->_right = y;                                  \
+    }                                                           \
+    y->_left = x;                                               \
+    x->parent = y;                                              \
+    assert(!(nil->red));                                        \
+}
+
+FUNC_ROTATE(rb_left_rotate, left, right);
+FUNC_ROTATE(rb_right_rotate, right, left);
+
+#undef FUNC_ROTATE
+
+#define COMPARE(tree, node1, node2)                             \
+    ((tree))->compare((node1), (node2))
+
+/* *
+ * rb_insert_binary - insert @node to red-black @tree as if it were
+ * a regular binary tree. This function is only intended to be called
+ * by function rb_insert.
+ * */
+static inline void
+rb_insert_binary(rb_tree *tree, rb_node *node) {
+    rb_node *x, *y, *z = node, *nil = tree->nil, *root = tree->root;
+
+    z->left = z->right = nil;
+    y = root, x = y->left;
+    while (x != nil) {
+        y = x;
+        x = (COMPARE(tree, x, node) > 0) ? x->left : x->right;
+    }
+    z->parent = y;
+    if (y == root || COMPARE(tree, y, z) > 0) {
+        y->left = z;
+    }
+    else {
+        y->right = z;
+    }
+}
+
+/* rb_insert - insert a node to red-black tree */
+void
+rb_insert(rb_tree *tree, rb_node *node) {
+    rb_insert_binary(tree, node);
+    node->red = 1;
+
+    rb_node *x = node, *y;
+
+#define RB_INSERT_SUB(_left, _right)                            \
+    do {                                                        \
+        y = x->parent->parent->_right;                          \
+        if (y->red) {                                           \
+            x->parent->red = 0;                                 \
+            y->red = 0;                                         \
+            x->parent->parent->red = 1;                         \
+            x = x->parent->parent;                              \
+        }                                                       \
+        else {                                                  \
+            if (x == x->parent->_right) {                       \
+                x = x->parent;                                  \
+                rb_##_left##_rotate(tree, x);                   \
+            }                                                   \
+            x->parent->red = 0;                                 \
+            x->parent->parent->red = 1;                         \
+            rb_##_right##_rotate(tree, x->parent->parent);      \
+        }                                                       \
+    } while (0)
+
+    while (x->parent->red) {
+        if (x->parent == x->parent->parent->left) {
+            RB_INSERT_SUB(left, right);
+        }
+        else {
+            RB_INSERT_SUB(right, left);
+        }
+    }
+    tree->root->left->red = 0;
+    assert(!(tree->nil->red) && !(tree->root->red));
+
+#undef RB_INSERT_SUB
+}
+
+/* *
+ * rb_tree_successor - returns the successor of @node, or nil
+ * if no successor exists. Make sure that @node must belong to @tree,
+ * and this function should only be called by rb_node_prev.
+ * */
+static inline rb_node *
+rb_tree_successor(rb_tree *tree, rb_node *node) {
+    rb_node *x = node, *y, *nil = tree->nil;
+
+    if ((y = x->right) != nil) {
+        while (y->left != nil) {
+            y = y->left;
+        }
+        return y;
+    }
+    else {
+        y = x->parent;
+        while (x == y->right) {
+            x = y, y = y->parent;
+        }
+        if (y == tree->root) {
+            return nil;
+        }
+        return y;
+    }
+}
+
+/* *
+ * rb_tree_predecessor - returns the predecessor of @node, or nil
+ * if no predecessor exists, likes rb_tree_successor.
+ * */
+static inline rb_node *
+rb_tree_predecessor(rb_tree *tree, rb_node *node) {
+    rb_node *x = node, *y, *nil = tree->nil;
+
+    if ((y = x->left) != nil) {
+        while (y->right != nil) {
+            y = y->right;
+        }
+        return y;
+    }
+    else {
+        y = x->parent;
+        while (x == y->left) {
+            if (y == tree->root) {
+                return nil;
+            }
+            x = y, y = y->parent;
+        }
+        return y;
+    }
+}
+
+/* *
+ * rb_search - returns a node with value 'equal' to @key (according to
+ * function @compare). If there're multiple nodes with value 'equal' to @key,
+ * the functions returns the one highest in the tree.
+ * */
+rb_node *
+rb_search(rb_tree *tree, int (*compare)(rb_node *node, void *key), void *key) {
+    rb_node *nil = tree->nil, *node = tree->root->left;
+    int r;
+    while (node != nil && (r = compare(node, key)) != 0) {
+        node = (r > 0) ? node->left : node->right;
+    }
+    return (node != nil) ? node : NULL;
+}
+
+/* *
+ * rb_delete_fixup - performs rotations and changes colors to restore
+ * red-black properties after a node is deleted.
+ * */
+static void
+rb_delete_fixup(rb_tree *tree, rb_node *node) {
+    rb_node *x = node, *w, *root = tree->root->left;
+
+#define RB_DELETE_FIXUP_SUB(_left, _right)                      \
+    do {                                                        \
+        w = x->parent->_right;                                  \
+        if (w->red) {                                           \
+            w->red = 0;                                         \
+            x->parent->red = 1;                                 \
+            rb_##_left##_rotate(tree, x->parent);               \
+            w = x->parent->_right;                              \
+        }                                                       \
+        if (!w->_left->red && !w->_right->red) {                \
+            w->red = 1;                                         \
+            x = x->parent;                                      \
+        }                                                       \
+        else {                                                  \
+            if (!w->_right->red) {                              \
+                w->_left->red = 0;                              \
+                w->red = 1;                                     \
+                rb_##_right##_rotate(tree, w);                  \
+                w = x->parent->_right;                          \
+            }                                                   \
+            w->red = x->parent->red;                            \
+            x->parent->red = 0;                                 \
+            w->_right->red = 0;                                 \
+            rb_##_left##_rotate(tree, x->parent);               \
+            x = root;                                           \
+        }                                                       \
+    } while (0)
+
+    while (x != root && !x->red) {
+        if (x == x->parent->left) {
+            RB_DELETE_FIXUP_SUB(left, right);
+        }
+        else {
+            RB_DELETE_FIXUP_SUB(right, left);
+        }
+    }
+    x->red = 0;
+
+#undef RB_DELETE_FIXUP_SUB
+}
+
+/* *
+ * rb_delete - deletes @node from @tree, and calls rb_delete_fixup to
+ * restore red-black properties.
+ * */
+void
+rb_delete(rb_tree *tree, rb_node *node) {
+    rb_node *x, *y, *z = node;
+    rb_node *nil = tree->nil, *root = tree->root;
+
+    y = (z->left == nil || z->right == nil) ? z : rb_tree_successor(tree, z);
+    x = (y->left != nil) ? y->left : y->right;
+
+    assert(y != root && y != nil);
+
+    x->parent = y->parent;
+    if (y == y->parent->left) {
+        y->parent->left = x;
+    }
+    else {
+        y->parent->right = x;
+    }
+
+    bool need_fixup = !(y->red);
+
+    if (y != z) {
+        if (z == z->parent->left) {
+            z->parent->left = y;
+        }
+        else {
+            z->parent->right = y;
+        }
+        z->left->parent = z->right->parent = y;
+        *y = *z;
+    }
+    if (need_fixup) {
+        rb_delete_fixup(tree, x);
+    }
+}
+
+/* rb_tree_destroy - destroy a tree and free memory */
+void
+rb_tree_destroy(rb_tree *tree) {
+    kfree(tree->root);
+    kfree(tree->nil);
+    kfree(tree);
+}
+
+/* *
+ * rb_node_prev - returns the predecessor node of @node in @tree,
+ * or 'NULL' if no predecessor exists.
+ * */
+rb_node *
+rb_node_prev(rb_tree *tree, rb_node *node) {
+    rb_node *prev = rb_tree_predecessor(tree, node);
+    return (prev != tree->nil) ? prev : NULL;
+}
+
+/* *
+ * rb_node_next - returns the successor node of @node in @tree,
+ * or 'NULL' if no successor exists.
+ * */
+rb_node *
+rb_node_next(rb_tree *tree, rb_node *node) {
+    rb_node *next = rb_tree_successor(tree, node);
+    return (next != tree->nil) ? next : NULL;
+}
+
+/* rb_node_root - returns the root node of a @tree, or 'NULL' if tree is empty */
+rb_node *
+rb_node_root(rb_tree *tree) {
+    rb_node *node = tree->root->left;
+    return (node != tree->nil) ? node : NULL;
+}
+
+/* rb_node_left - gets the left child of @node, or 'NULL' if no such node */
+rb_node *
+rb_node_left(rb_tree *tree, rb_node *node) {
+    rb_node *left = node->left;
+    return (left != tree->nil) ? left : NULL;
+}
+
+/* rb_node_right - gets the right child of @node, or 'NULL' if no such node */
+rb_node *
+rb_node_right(rb_tree *tree, rb_node *node) {
+    rb_node *right = node->right;
+    return (right != tree->nil) ? right : NULL;
+}
+
+int
+check_tree(rb_tree *tree, rb_node *node) {
+    rb_node *nil = tree->nil;
+    if (node == nil) {
+        assert(!node->red);
+        return 1;
+    }
+    if (node->left != nil) {
+        assert(COMPARE(tree, node, node->left) >= 0);
+        assert(node->left->parent == node);
+    }
+    if (node->right != nil) {
+        assert(COMPARE(tree, node, node->right) <= 0);
+        assert(node->right->parent == node);
+    }
+    if (node->red) {
+        assert(!node->left->red && !node->right->red);
+    }
+    int hb_left = check_tree(tree, node->left);
+    int hb_right = check_tree(tree, node->right);
+    assert(hb_left == hb_right);
+    int hb = hb_left;
+    if (!node->red) {
+        hb ++;
+    }
+    return hb;
+}
+
+static void *
+check_safe_kmalloc(size_t size) {
+    void *ret = kmalloc(size);
+    assert(ret != NULL);
+    return ret;
+}
+
+struct check_data {
+    long data;
+    rb_node rb_link;
+};
+
+#define rbn2data(node)              \
+    (to_struct(node, struct check_data, rb_link))
+
+static inline int
+check_compare1(rb_node *node1, rb_node *node2) {
+    return rbn2data(node1)->data - rbn2data(node2)->data;
+}
+
+static inline int
+check_compare2(rb_node *node, void *key) {
+    return rbn2data(node)->data - (long)key;
+}
+
+void
+check_rb_tree(void) {
+    rb_tree *tree = rb_tree_create(check_compare1);
+    assert(tree != NULL);
+
+    rb_node *nil = tree->nil, *root = tree->root;
+    assert(!nil->red && root->left == nil);
+
+    int total = 1000;
+    struct check_data **all = check_safe_kmalloc(sizeof(struct check_data *) * total);
+
+    long i;
+    for (i = 0; i < total; i ++) {
+        all[i] = check_safe_kmalloc(sizeof(struct check_data));
+        all[i]->data = i;
+    }
+
+    int *mark = check_safe_kmalloc(sizeof(int) * total);
+    memset(mark, 0, sizeof(int) * total);
+
+    for (i = 0; i < total; i ++) {
+        mark[all[i]->data] = 1;
+    }
+    for (i = 0; i < total; i ++) {
+        assert(mark[i] == 1);
+    }
+
+    for (i = 0; i < total; i ++) {
+        int j = (rand() % (total - i)) + i;
+        struct check_data *z = all[i];
+        all[i] = all[j];
+        all[j] = z;
+    }
+
+    memset(mark, 0, sizeof(int) * total);
+    for (i = 0; i < total; i ++) {
+        mark[all[i]->data] = 1;
+    }
+    for (i = 0; i < total; i ++) {
+        assert(mark[i] == 1);
+    }
+
+    for (i = 0; i < total; i ++) {
+        rb_insert(tree, &(all[i]->rb_link));
+        check_tree(tree, root->left);
+    }
+
+    rb_node *node;
+    for (i = 0; i < total; i ++) {
+        node = rb_search(tree, check_compare2, (void *)(all[i]->data));
+        assert(node != NULL && node == &(all[i]->rb_link));
+    }
+
+    for (i = 0; i < total; i ++) {
+        node = rb_search(tree, check_compare2, (void *)i);
+        assert(node != NULL && rbn2data(node)->data == i);
+        rb_delete(tree, node);
+        check_tree(tree, root->left);
+    }
+
+    assert(!nil->red && root->left == nil);
+
+    long max = 32;
+    if (max > total) {
+        max = total;
+    }
+
+    for (i = 0; i < max; i ++) {
+        all[i]->data = max;
+        rb_insert(tree, &(all[i]->rb_link));
+        check_tree(tree, root->left);
+    }
+
+    for (i = 0; i < max; i ++) {
+        node = rb_search(tree, check_compare2, (void *)max);
+        assert(node != NULL && rbn2data(node)->data == max);
+        rb_delete(tree, node);
+        check_tree(tree, root->left);
+    }
+
+    assert(rb_tree_empty(tree));
+
+    for (i = 0; i < total; i ++) {
+        rb_insert(tree, &(all[i]->rb_link));
+        check_tree(tree, root->left);
+    }
+
+    rb_tree_destroy(tree);
+
+    for (i = 0; i < total; i ++) {
+        kfree(all[i]);
+    }
+
+    kfree(mark);
+    kfree(all);
+}
+
diff --git a/code/lab5/kern/libs/rb_tree.h b/code/lab5/kern/libs/rb_tree.h
new file mode 100644
index 0000000..a2aa9aa
--- /dev/null
+++ b/code/lab5/kern/libs/rb_tree.h
@@ -0,0 +1,32 @@
+#ifndef __KERN_LIBS_RB_TREE_H__
+#define __KERN_LIBS_RB_TREE_H__
+
+#include <defs.h>
+
+typedef struct rb_node {
+    bool red;                           // if red = 0, it's a black node
+    struct rb_node *parent;
+    struct rb_node *left, *right;
+} rb_node;
+
+typedef struct rb_tree {
+    // compare function should return -1 if *node1 < *node2, 1 if *node1 > *node2, and 0 otherwise
+    int (*compare)(rb_node *node1, rb_node *node2);
+    struct rb_node *nil, *root;
+} rb_tree;
+
+rb_tree *rb_tree_create(int (*compare)(rb_node *node1, rb_node *node2));
+void rb_tree_destroy(rb_tree *tree);
+void rb_insert(rb_tree *tree, rb_node *node);
+void rb_delete(rb_tree *tree, rb_node *node);
+rb_node *rb_search(rb_tree *tree, int (*compare)(rb_node *node, void *key), void *key);
+rb_node *rb_node_prev(rb_tree *tree, rb_node *node);
+rb_node *rb_node_next(rb_tree *tree, rb_node *node);
+rb_node *rb_node_root(rb_tree *tree);
+rb_node *rb_node_left(rb_tree *tree, rb_node *node);
+rb_node *rb_node_right(rb_tree *tree, rb_node *node);
+
+void check_rb_tree(void);
+
+#endif /* !__KERN_LIBS_RBTREE_H__ */
+
diff --git a/code/lab5/kern/libs/readline.c b/code/lab5/kern/libs/readline.c
new file mode 100644
index 0000000..cc1eddb
--- /dev/null
+++ b/code/lab5/kern/libs/readline.c
@@ -0,0 +1,50 @@
+#include <stdio.h>
+
+#define BUFSIZE 1024
+static char buf[BUFSIZE];
+
+/* *
+ * readline - get a line from stdin
+ * @prompt:     the string to be written to stdout
+ *
+ * The readline() function will write the input string @prompt to
+ * stdout first. If the @prompt is NULL or the empty string,
+ * no prompt is issued.
+ *
+ * This function will keep on reading characters and saving them to buffer
+ * 'buf' until '\n' or '\r' is encountered.
+ *
+ * Note that, if the length of string that will be read is longer than
+ * buffer size, the end of string will be discarded.
+ *
+ * The readline() function returns the text of the line read. If some errors
+ * are happened, NULL is returned. The return value is a global variable,
+ * thus it should be copied before it is used.
+ * */
+char *
+readline(const char *prompt) {
+    if (prompt != NULL) {
+        cprintf("%s", prompt);
+    }
+    int i = 0, c;
+    while (1) {
+        c = getchar();
+        if (c < 0) {
+            return NULL;
+        }
+        else if (c >= ' ' && i < BUFSIZE - 1) {
+            cputchar(c);
+            buf[i ++] = c;
+        }
+        else if (c == '\b' && i > 0) {
+            cputchar(c);
+            i --;
+        }
+        else if (c == '\n' || c == '\r') {
+            cputchar(c);
+            buf[i] = '\0';
+            return buf;
+        }
+    }
+}
+
diff --git a/code/lab5/kern/libs/stdio.c b/code/lab5/kern/libs/stdio.c
new file mode 100644
index 0000000..5efefcd
--- /dev/null
+++ b/code/lab5/kern/libs/stdio.c
@@ -0,0 +1,78 @@
+#include <defs.h>
+#include <stdio.h>
+#include <console.h>
+
+/* HIGH level console I/O */
+
+/* *
+ * cputch - writes a single character @c to stdout, and it will
+ * increace the value of counter pointed by @cnt.
+ * */
+static void
+cputch(int c, int *cnt) {
+    cons_putc(c);
+    (*cnt) ++;
+}
+
+/* *
+ * vcprintf - format a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want cprintf() instead.
+ * */
+int
+vcprintf(const char *fmt, va_list ap) {
+    int cnt = 0;
+    vprintfmt((void*)cputch, &cnt, fmt, ap);
+    return cnt;
+}
+
+/* *
+ * cprintf - formats a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ * */
+int
+cprintf(const char *fmt, ...) {
+    va_list ap;
+    int cnt;
+    va_start(ap, fmt);
+    cnt = vcprintf(fmt, ap);
+    va_end(ap);
+    return cnt;
+}
+
+/* cputchar - writes a single character to stdout */
+void
+cputchar(int c) {
+    cons_putc(c);
+}
+
+/* *
+ * cputs- writes the string pointed by @str to stdout and
+ * appends a newline character.
+ * */
+int
+cputs(const char *str) {
+    int cnt = 0;
+    char c;
+    while ((c = *str ++) != '\0') {
+        cputch(c, &cnt);
+    }
+    cputch('\n', &cnt);
+    return cnt;
+}
+
+/* getchar - reads a single non-zero character from stdin */
+int
+getchar(void) {
+    int c;
+    while ((c = cons_getc()) == 0)
+        /* do nothing */;
+    return c;
+}
+
diff --git a/code/lab5/kern/mm/default_pmm.c b/code/lab5/kern/mm/default_pmm.c
new file mode 100644
index 0000000..770a30f
--- /dev/null
+++ b/code/lab5/kern/mm/default_pmm.c
@@ -0,0 +1,272 @@
+#include <pmm.h>
+#include <list.h>
+#include <string.h>
+#include <default_pmm.h>
+
+/* In the first fit algorithm, the allocator keeps a list of free blocks (known as the free list) and,
+   on receiving a request for memory, scans along the list for the first block that is large enough to
+   satisfy the request. If the chosen block is significantly larger than that requested, then it is 
+   usually split, and the remainder added to the list as another free block.
+   Please see Page 196~198, Section 8.2 of Yan Wei Ming's chinese book "Data Structure -- C programming language"
+*/
+// LAB2 EXERCISE 1: YOUR CODE
+// you should rewrite functions: default_init,default_init_memmap,default_alloc_pages, default_free_pages.
+/*
+ * Details of FFMA
+ * (1) Prepare: In order to implement the First-Fit Mem Alloc (FFMA), we should manage the free mem block use some list.
+ *              The struct free_area_t is used for the management of free mem blocks. At first you should
+ *              be familiar to the struct list in list.h. struct list is a simple doubly linked list implementation.
+ *              You should know howto USE: list_init, list_add(list_add_after), list_add_before, list_del, list_next, list_prev
+ *              Another tricky method is to transform a general list struct to a special struct (such as struct page):
+ *              you can find some MACRO: le2page (in memlayout.h), (in future labs: le2vma (in vmm.h), le2proc (in proc.h),etc.)
+ * (2) default_init: you can reuse the  demo default_init fun to init the free_list and set nr_free to 0.
+ *              free_list is used to record the free mem blocks. nr_free is the total number for free mem blocks.
+ * (3) default_init_memmap:  CALL GRAPH: kern_init --> pmm_init-->page_init-->init_memmap--> pmm_manager->init_memmap
+ *              This fun is used to init a free block (with parameter: addr_base, page_number).
+ *              First you should init each page (in memlayout.h) in this free block, include:
+ *                  p->flags should be set bit PG_property (means this page is valid. In pmm_init fun (in pmm.c),
+ *                  the bit PG_reserved is setted in p->flags)
+ *                  if this page  is free and is not the first page of free block, p->property should be set to 0.
+ *                  if this page  is free and is the first page of free block, p->property should be set to total num of block.
+ *                  p->ref should be 0, because now p is free and no reference.
+ *                  We can use p->page_link to link this page to free_list, (such as: list_add_before(&free_list, &(p->page_link)); )
+ *              Finally, we should sum the number of free mem block: nr_free+=n
+ * (4) default_alloc_pages: search find a first free block (block size >=n) in free list and reszie the free block, return the addr
+ *              of malloced block.
+ *              (4.1) So you should search freelist like this:
+ *                       list_entry_t le = &free_list;
+ *                       while((le=list_next(le)) != &free_list) {
+ *                       ....
+ *                 (4.1.1) In while loop, get the struct page and check the p->property (record the num of free block) >=n?
+ *                       struct Page *p = le2page(le, page_link);
+ *                       if(p->property >= n){ ...
+ *                 (4.1.2) If we find this p, then it' means we find a free block(block size >=n), and the first n pages can be malloced.
+ *                     Some flag bits of this page should be setted: PG_reserved =1, PG_property =0
+ *                     unlink the pages from free_list
+ *                     (4.1.2.1) If (p->property >n), we should re-caluclate number of the the rest of this free block,
+ *                           (such as: le2page(le,page_link))->property = p->property - n;)
+ *                 (4.1.3)  re-caluclate nr_free (number of the the rest of all free block)
+ *                 (4.1.4)  return p
+ *               (4.2) If we can not find a free block (block size >=n), then return NULL
+ * (5) default_free_pages: relink the pages into  free list, maybe merge small free blocks into big free blocks.
+ *               (5.1) according the base addr of withdrawed blocks, search free list, find the correct position
+ *                     (from low to high addr), and insert the pages. (may use list_next, le2page, list_add_before)
+ *               (5.2) reset the fields of pages, such as p->ref, p->flags (PageProperty)
+ *               (5.3) try to merge low addr or high addr blocks. Notice: should change some pages's p->property correctly.
+ */
+free_area_t free_area;
+
+#define free_list (free_area.free_list)
+#define nr_free (free_area.nr_free)
+
+static void
+default_init(void) {
+    list_init(&free_list);
+    nr_free = 0;
+}
+
+static void
+default_init_memmap(struct Page *base, size_t n) {
+    assert(n > 0);
+    struct Page *p = base;
+    for (; p != base + n; p ++) {
+        assert(PageReserved(p));
+        p->flags = p->property = 0;
+        set_page_ref(p, 0);
+    }
+    base->property = n;
+    SetPageProperty(base);
+    nr_free += n;
+    list_add(&free_list, &(base->page_link));
+}
+
+static struct Page *
+default_alloc_pages(size_t n) {
+    assert(n > 0);
+    if (n > nr_free) {
+        return NULL;
+    }
+    struct Page *page = NULL;
+    list_entry_t *le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        if (p->property >= n) {
+            page = p;
+            break;
+        }
+    }
+    if (page != NULL) {
+        list_del(&(page->page_link));
+        if (page->property > n) {
+            struct Page *p = page + n;
+            p->property = page->property - n;
+            list_add(&free_list, &(p->page_link));
+    }
+        nr_free -= n;
+        ClearPageProperty(page);
+    }
+    return page;
+}
+
+static void
+default_free_pages(struct Page *base, size_t n) {
+    assert(n > 0);
+    struct Page *p = base;
+    for (; p != base + n; p ++) {
+        assert(!PageReserved(p) && !PageProperty(p));
+        p->flags = 0;
+        set_page_ref(p, 0);
+    }
+    base->property = n;
+    SetPageProperty(base);
+    list_entry_t *le = list_next(&free_list);
+    while (le != &free_list) {
+        p = le2page(le, page_link);
+        le = list_next(le);
+        if (base + base->property == p) {
+            base->property += p->property;
+            ClearPageProperty(p);
+            list_del(&(p->page_link));
+        }
+        else if (p + p->property == base) {
+            p->property += base->property;
+            ClearPageProperty(base);
+            base = p;
+            list_del(&(p->page_link));
+        }
+    }
+    nr_free += n;
+    list_add(&free_list, &(base->page_link));
+}
+
+static size_t
+default_nr_free_pages(void) {
+    return nr_free;
+}
+
+static void
+basic_check(void) {
+    struct Page *p0, *p1, *p2;
+    p0 = p1 = p2 = NULL;
+    assert((p0 = alloc_page()) != NULL);
+    assert((p1 = alloc_page()) != NULL);
+    assert((p2 = alloc_page()) != NULL);
+
+    assert(p0 != p1 && p0 != p2 && p1 != p2);
+    assert(page_ref(p0) == 0 && page_ref(p1) == 0 && page_ref(p2) == 0);
+
+    assert(page2pa(p0) < npage * PGSIZE);
+    assert(page2pa(p1) < npage * PGSIZE);
+    assert(page2pa(p2) < npage * PGSIZE);
+
+    list_entry_t free_list_store = free_list;
+    list_init(&free_list);
+    assert(list_empty(&free_list));
+
+    unsigned int nr_free_store = nr_free;
+    nr_free = 0;
+
+    assert(alloc_page() == NULL);
+
+    free_page(p0);
+    free_page(p1);
+    free_page(p2);
+    assert(nr_free == 3);
+
+    assert((p0 = alloc_page()) != NULL);
+    assert((p1 = alloc_page()) != NULL);
+    assert((p2 = alloc_page()) != NULL);
+
+    assert(alloc_page() == NULL);
+
+    free_page(p0);
+    assert(!list_empty(&free_list));
+
+    struct Page *p;
+    assert((p = alloc_page()) == p0);
+    assert(alloc_page() == NULL);
+
+    assert(nr_free == 0);
+    free_list = free_list_store;
+    nr_free = nr_free_store;
+
+    free_page(p);
+    free_page(p1);
+    free_page(p2);
+}
+
+// LAB2: below code is used to check the first fit allocation algorithm (your EXERCISE 1) 
+// NOTICE: You SHOULD NOT CHANGE basic_check, default_check functions!
+static void
+default_check(void) {
+    int count = 0, total = 0;
+    list_entry_t *le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        assert(PageProperty(p));
+        count ++, total += p->property;
+    }
+    assert(total == nr_free_pages());
+
+    basic_check();
+
+    struct Page *p0 = alloc_pages(5), *p1, *p2;
+    assert(p0 != NULL);
+    assert(!PageProperty(p0));
+
+    list_entry_t free_list_store = free_list;
+    list_init(&free_list);
+    assert(list_empty(&free_list));
+    assert(alloc_page() == NULL);
+
+    unsigned int nr_free_store = nr_free;
+    nr_free = 0;
+
+    free_pages(p0 + 2, 3);
+    assert(alloc_pages(4) == NULL);
+    assert(PageProperty(p0 + 2) && p0[2].property == 3);
+    assert((p1 = alloc_pages(3)) != NULL);
+    assert(alloc_page() == NULL);
+    assert(p0 + 2 == p1);
+
+    p2 = p0 + 1;
+    free_page(p0);
+    free_pages(p1, 3);
+    assert(PageProperty(p0) && p0->property == 1);
+    assert(PageProperty(p1) && p1->property == 3);
+
+    assert((p0 = alloc_page()) == p2 - 1);
+    free_page(p0);
+    assert((p0 = alloc_pages(2)) == p2 + 1);
+
+    free_pages(p0, 2);
+    free_page(p2);
+
+    assert((p0 = alloc_pages(5)) != NULL);
+    assert(alloc_page() == NULL);
+
+    assert(nr_free == 0);
+    nr_free = nr_free_store;
+
+    free_list = free_list_store;
+    free_pages(p0, 5);
+
+    le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        count --, total -= p->property;
+    }
+    assert(count == 0);
+    assert(total == 0);
+}
+
+const struct pmm_manager default_pmm_manager = {
+    .name = "default_pmm_manager",
+    .init = default_init,
+    .init_memmap = default_init_memmap,
+    .alloc_pages = default_alloc_pages,
+    .free_pages = default_free_pages,
+    .nr_free_pages = default_nr_free_pages,
+    .check = default_check,
+};
+
diff --git a/code/lab5/kern/mm/default_pmm.h b/code/lab5/kern/mm/default_pmm.h
new file mode 100644
index 0000000..5f4e6fc
--- /dev/null
+++ b/code/lab5/kern/mm/default_pmm.h
@@ -0,0 +1,9 @@
+#ifndef __KERN_MM_DEFAULT_PMM_H__
+#define  __KERN_MM_DEFAULT_PMM_H__
+
+#include <pmm.h>
+
+extern const struct pmm_manager default_pmm_manager;
+extern free_area_t free_area;
+#endif /* ! __KERN_MM_DEFAULT_PMM_H__ */
+
diff --git a/code/lab5/kern/mm/kmalloc.c b/code/lab5/kern/mm/kmalloc.c
new file mode 100644
index 0000000..aa5bb90
--- /dev/null
+++ b/code/lab5/kern/mm/kmalloc.c
@@ -0,0 +1,640 @@
+#include <defs.h>
+#include <list.h>
+#include <memlayout.h>
+#include <assert.h>
+#include <kmalloc.h>
+#include <sync.h>
+#include <pmm.h>
+#include <stdio.h>
+#include <rb_tree.h>
+
+/* The slab allocator used in ucore is based on an algorithm first introduced by 
+   Jeff Bonwick for the SunOS operating system. The paper can be download from 
+   http://citeseer.ist.psu.edu/bonwick94slab.html 
+   An implementation of the Slab Allocator as described in outline in;
+      UNIX Internals: The New Frontiers by Uresh Vahalia
+      Pub: Prentice Hall      ISBN 0-13-101908-2
+   Within a kernel, a considerable amount of memory is allocated for a finite set 
+   of objects such as file descriptors and other common structures. Jeff found that
+   the amount of time required to initialize a regular object in the kernel exceeded
+   the amount of time required to allocate and deallocate it. His conclusion was 
+   that instead of freeing the memory back to a global pool, he would have the memory
+   remain initialized for its intended purpose.
+   In our simple slab implementation, the the high-level organization of the slab 
+   structures is simplied. At the highest level is an array slab_cache[SLAB_CACHE_NUM],
+   and each array element is a slab_cache which has slab chains. Each slab_cache has 
+   two list, one list chains the full allocated slab, and another list chains the notfull 
+   allocated(maybe empty) slab.  And  each slab has fixed number(2^n) of pages. In each 
+   slab, there are a lot of objects (such as ) with same fixed size(32B ~ 128KB). 
+   
+   +----------------------------------+
+   | slab_cache[0] for 0~32B obj      |
+   +----------------------------------+
+   | slab_cache[1] for 33B~64B obj    |-->lists for slabs
+   +----------------------------------+            |  
+   | slab_cache[2] for 65B~128B obj   |            |            
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~            |                 
+   +----------------------------------+            |
+   | slab_cache[12]for 64KB~128KB obj |            |                    
+   +----------------------------------+            |
+                                                   |
+     slabs_full/slabs_not    +---------------------+
+   -<-----------<----------<-+
+   |           |         |
+  slab1       slab2     slab3...
+   |
+   |-------|-------|
+  pages1  pages2   pages3...
+   |
+   |
+   |
+   slab_t+n*bufctl_t+obj1-obj2-obj3...objn  (the size of obj is small)
+   |
+   OR
+   |
+   obj1-obj2-obj3...objn  WITH slab_t+n*bufctl_t in another slab (the size of obj is BIG)
+
+   The important functions are:
+     kmem_cache_grow(kmem_cache_t *cachep)
+     kmem_slab_destroy(kmem_cache_t *cachep, slab_t *slabp)
+     kmalloc(size_t size): used by outside functions need dynamicly get memory
+     kfree(void *objp): used by outside functions need dynamicly release memory
+*/
+  
+#define BUFCTL_END      0xFFFFFFFFL // the signature of the last bufctl
+#define SLAB_LIMIT      0xFFFFFFFEL // the max value of obj number
+
+typedef size_t kmem_bufctl_t; //the index of obj in slab
+
+typedef struct slab_s {
+    list_entry_t slab_link; // the list entry linked to kmem_cache list
+    void *s_mem;            // the kernel virtual address of the first obj in slab 
+    size_t inuse;           // the number of allocated objs
+    size_t offset;          // the first obj's offset value in slab
+    kmem_bufctl_t free;     // the first free obj's index in slab  
+} slab_t;
+
+// get the slab address according to the link element (see list.h)
+#define le2slab(le, member)                 \
+    to_struct((le), slab_t, member)
+
+typedef struct kmem_cache_s kmem_cache_t;
+
+
+struct kmem_cache_s {
+    list_entry_t slabs_full;     // list for fully allocated slabs
+    list_entry_t slabs_notfull;  // list for not-fully allocated slabs
+
+    size_t objsize;              // the fixed size of obj
+    size_t num;                  // number of objs per slab
+    size_t offset;               // this first obj's offset in slab 
+    bool off_slab;               // the control part of slab in slab or not.
+
+    /* order of pages per slab (2^n) */
+    size_t page_order;
+
+    kmem_cache_t *slab_cachep;
+};
+
+#define MIN_SIZE_ORDER          5           // 32
+#define MAX_SIZE_ORDER          17          // 128k
+#define SLAB_CACHE_NUM          (MAX_SIZE_ORDER - MIN_SIZE_ORDER + 1)
+
+static kmem_cache_t slab_cache[SLAB_CACHE_NUM];
+
+static void init_kmem_cache(kmem_cache_t *cachep, size_t objsize, size_t align);
+static void check_slab(void);
+
+
+//slab_init - call init_kmem_cache function to reset the slab_cache array
+static void
+slab_init(void) {
+    size_t i;
+    //the align bit for obj in slab. 2^n could be better for performance
+    size_t align = 16;
+    for (i = 0; i < SLAB_CACHE_NUM; i ++) {
+        init_kmem_cache(slab_cache + i, 1 << (i + MIN_SIZE_ORDER), align);
+    }
+    check_slab();
+}
+
+inline void 
+kmalloc_init(void) {
+    slab_init();
+    cprintf("kmalloc_init() succeeded!\n");
+}
+
+//slab_allocated - summary the total size of allocated objs
+static size_t
+slab_allocated(void) {
+    size_t total = 0;
+    int i;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        for (i = 0; i < SLAB_CACHE_NUM; i ++) {
+            kmem_cache_t *cachep = slab_cache + i;
+            list_entry_t *list, *le;
+            list = le = &(cachep->slabs_full);
+            while ((le = list_next(le)) != list) {
+                total += cachep->num * cachep->objsize;
+            }
+            list = le = &(cachep->slabs_notfull);
+            while ((le = list_next(le)) != list) {
+                slab_t *slabp = le2slab(le, slab_link);
+                total += slabp->inuse * cachep->objsize;
+            }
+        }
+    }
+    local_intr_restore(intr_flag);
+    return total;
+}
+
+inline size_t
+kallocated(void) {
+   return slab_allocated();
+}
+
+// slab_mgmt_size - get the size of slab control area (slab_t+num*kmem_bufctl_t)
+static size_t
+slab_mgmt_size(size_t num, size_t align) {
+    return ROUNDUP(sizeof(slab_t) + num * sizeof(kmem_bufctl_t), align);
+}
+
+// cacahe_estimate - estimate the number of objs in a slab
+static void
+cache_estimate(size_t order, size_t objsize, size_t align, bool off_slab, size_t *remainder, size_t *num) {
+    size_t nr_objs, mgmt_size;
+    size_t slab_size = (PGSIZE << order);
+
+    if (off_slab) {
+        mgmt_size = 0;
+        nr_objs = slab_size / objsize;
+        if (nr_objs > SLAB_LIMIT) {
+            nr_objs = SLAB_LIMIT;
+        }
+    }
+    else {
+        nr_objs = (slab_size - sizeof(slab_t)) / (objsize + sizeof(kmem_bufctl_t));
+        while (slab_mgmt_size(nr_objs, align) + nr_objs * objsize > slab_size) {
+            nr_objs --;
+        }
+        if (nr_objs > SLAB_LIMIT) {
+            nr_objs = SLAB_LIMIT;
+        }
+        mgmt_size = slab_mgmt_size(nr_objs, align);
+    }
+    *num = nr_objs;
+    *remainder = slab_size - nr_objs * objsize - mgmt_size;
+}
+
+// calculate_slab_order - estimate the size(4K~4M) of slab
+// paramemters:
+//   cachep:    the slab_cache
+//   objsize:   the size of obj
+//   align:     align bit for objs
+//   off_slab:  the control part of slab in slab or not
+//   left_over: the size of can not be used area in slab
+static void
+calculate_slab_order(kmem_cache_t *cachep, size_t objsize, size_t align, bool off_slab, size_t *left_over) {
+    size_t order;
+    for (order = 0; order <= KMALLOC_MAX_ORDER; order ++) {
+        size_t num, remainder;
+        cache_estimate(order, objsize, align, off_slab, &remainder, &num);
+        if (num != 0) {
+            if (off_slab) {
+                size_t off_slab_limit = objsize - sizeof(slab_t);
+                off_slab_limit /= sizeof(kmem_bufctl_t);
+                if (num > off_slab_limit) {
+                    panic("off_slab: objsize = %d, num = %d.", objsize, num);
+                }
+            }
+            if (remainder * 8 <= (PGSIZE << order)) {
+                cachep->num = num;
+                cachep->page_order = order;
+                if (left_over != NULL) {
+                    *left_over = remainder;
+                }
+                return ;
+            }
+        }
+    }
+    panic("calculate_slab_over: failed.");
+}
+
+// getorder - find order, should satisfy n <= minest 2^order
+static inline size_t
+getorder(size_t n) {
+    size_t order = MIN_SIZE_ORDER, order_size = (1 << order);
+    for (; order <= MAX_SIZE_ORDER; order ++, order_size <<= 1) {
+        if (n <= order_size) {
+            return order;
+        }
+    }
+    panic("getorder failed. %d\n", n);
+}
+
+// init_kmem_cache - initial a slab_cache cachep according to the obj with the size = objsize
+static void
+init_kmem_cache(kmem_cache_t *cachep, size_t objsize, size_t align) {
+    list_init(&(cachep->slabs_full));
+    list_init(&(cachep->slabs_notfull));
+
+    objsize = ROUNDUP(objsize, align);
+    cachep->objsize = objsize;
+    cachep->off_slab = (objsize >= (PGSIZE >> 3));
+
+    size_t left_over;
+    calculate_slab_order(cachep, objsize, align, cachep->off_slab, &left_over);
+
+    assert(cachep->num > 0);
+
+    size_t mgmt_size = slab_mgmt_size(cachep->num, align);
+
+    if (cachep->off_slab && left_over >= mgmt_size) {
+        cachep->off_slab = 0;
+    }
+
+    if (cachep->off_slab) {
+        cachep->offset = 0;
+        cachep->slab_cachep = slab_cache + (getorder(mgmt_size) - MIN_SIZE_ORDER);
+    }
+    else {
+        cachep->offset = mgmt_size;
+    }
+}
+
+static void *kmem_cache_alloc(kmem_cache_t *cachep);
+
+#define slab_bufctl(slabp)              \
+    ((kmem_bufctl_t*)(((slab_t *)(slabp)) + 1))
+
+// kmem_cache_slabmgmt - get the address of a slab according to page
+//                     - and initialize the slab according to cachep
+static slab_t *
+kmem_cache_slabmgmt(kmem_cache_t *cachep, struct Page *page) {
+    void *objp = page2kva(page);
+    slab_t *slabp;
+    if (cachep->off_slab) {
+        if ((slabp = kmem_cache_alloc(cachep->slab_cachep)) == NULL) {
+            return NULL;
+        }
+    }
+    else {
+        slabp = page2kva(page);
+    }
+    slabp->inuse = 0;
+    slabp->offset = cachep->offset;
+    slabp->s_mem = objp + cachep->offset;
+    return slabp;
+}
+
+#define SET_PAGE_CACHE(page, cachep)                                                \
+    do {                                                                            \
+        struct Page *__page = (struct Page *)(page);                                \
+        kmem_cache_t **__cachepp = (kmem_cache_t **)&(__page->page_link.next);      \
+        *__cachepp = (kmem_cache_t *)(cachep);                                      \
+    } while (0)
+
+#define SET_PAGE_SLAB(page, slabp)                                                  \
+    do {                                                                            \
+        struct Page *__page = (struct Page *)(page);                                \
+        slab_t **__cachepp = (slab_t **)&(__page->page_link.prev);                  \
+        *__cachepp = (slab_t *)(slabp);                                             \
+    } while (0)
+
+// kmem_cache_grow - allocate a new slab by calling alloc_pages
+//                 - set control area in the new slab
+static bool
+kmem_cache_grow(kmem_cache_t *cachep) {
+    struct Page *page = alloc_pages(1 << cachep->page_order);
+    if (page == NULL) {
+        goto failed;
+    }
+
+    slab_t *slabp;
+    if ((slabp = kmem_cache_slabmgmt(cachep, page)) == NULL) {
+        goto oops;
+    }
+
+    size_t order_size = (1 << cachep->page_order);
+    do {
+        //setup this page in the free list (see memlayout.h: struct page)???
+        SET_PAGE_CACHE(page, cachep);
+        SET_PAGE_SLAB(page, slabp);
+    //this page is used for slab
+        SetPageSlab(page);
+        page ++;
+    } while (-- order_size);
+
+    int i;
+    for (i = 0; i < cachep->num; i ++) {
+        slab_bufctl(slabp)[i] = i + 1;
+    }
+    slab_bufctl(slabp)[cachep->num - 1] = BUFCTL_END;
+    slabp->free = 0;
+
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        list_add(&(cachep->slabs_notfull), &(slabp->slab_link));
+    }
+    local_intr_restore(intr_flag);
+    return 1;
+
+oops:
+    free_pages(page, 1 << cachep->page_order);
+failed:
+    return 0;
+}
+
+// kmem_cache_alloc_one - allocate a obj in a slab
+static void * 
+kmem_cache_alloc_one(kmem_cache_t *cachep, slab_t *slabp) {
+    slabp->inuse ++;
+    void *objp = slabp->s_mem + slabp->free * cachep->objsize;
+    slabp->free = slab_bufctl(slabp)[slabp->free];
+
+    if (slabp->free == BUFCTL_END) {
+        list_del(&(slabp->slab_link));
+        list_add(&(cachep->slabs_full), &(slabp->slab_link));
+    }
+    return objp;
+}
+
+// kmem_cache_alloc - call kmem_cache_alloc_one function to allocate a obj
+//                  - if no free obj, try to allocate a slab
+static void *
+kmem_cache_alloc(kmem_cache_t *cachep) {
+    void *objp;
+    bool intr_flag;
+
+try_again:
+    local_intr_save(intr_flag);
+    if (list_empty(&(cachep->slabs_notfull))) {
+        goto alloc_new_slab;
+    }
+    slab_t *slabp = le2slab(list_next(&(cachep->slabs_notfull)), slab_link);
+    objp = kmem_cache_alloc_one(cachep, slabp);
+    local_intr_restore(intr_flag);
+    return objp;
+
+alloc_new_slab:
+    local_intr_restore(intr_flag);
+
+    if (kmem_cache_grow(cachep)) {
+        goto try_again;
+    }
+    return NULL;
+}
+
+// kmalloc - simple interface used by outside functions 
+//         - to allocate a free memory using kmem_cache_alloc function
+void *
+kmalloc(size_t size) {
+    assert(size > 0);
+    size_t order = getorder(size);
+    if (order > MAX_SIZE_ORDER) {
+        return NULL;
+    }
+    return kmem_cache_alloc(slab_cache + (order - MIN_SIZE_ORDER));
+}
+
+static void kmem_cache_free(kmem_cache_t *cachep, void *obj);
+
+// kmem_slab_destroy - call free_pages & kmem_cache_free to free a slab 
+static void
+kmem_slab_destroy(kmem_cache_t *cachep, slab_t *slabp) {
+    struct Page *page = kva2page(slabp->s_mem - slabp->offset);
+
+    struct Page *p = page;
+    size_t order_size = (1 << cachep->page_order);
+    do {
+        assert(PageSlab(p));
+        ClearPageSlab(p);
+        p ++;
+    } while (-- order_size);
+
+    free_pages(page, 1 << cachep->page_order);
+
+    if (cachep->off_slab) {
+        kmem_cache_free(cachep->slab_cachep, slabp);
+    }
+}
+
+// kmem_cache_free_one - free an obj in a slab
+//                     - if slab->inuse==0, then free the slab
+static void
+kmem_cache_free_one(kmem_cache_t *cachep, slab_t *slabp, void *objp) {
+    //should not use divide operator ???
+    size_t objnr = (objp - slabp->s_mem) / cachep->objsize;
+    slab_bufctl(slabp)[objnr] = slabp->free;
+    slabp->free = objnr;
+
+    slabp->inuse --;
+
+    if (slabp->inuse == 0) {
+        list_del(&(slabp->slab_link));
+        kmem_slab_destroy(cachep, slabp);
+    }
+    else if (slabp->inuse == cachep->num -1 ) {
+        list_del(&(slabp->slab_link));
+        list_add(&(cachep->slabs_notfull), &(slabp->slab_link));
+    }
+}
+
+#define GET_PAGE_CACHE(page)                                \
+    (kmem_cache_t *)((page)->page_link.next)
+
+#define GET_PAGE_SLAB(page)                                 \
+    (slab_t *)((page)->page_link.prev)
+
+// kmem_cache_free - call kmem_cache_free_one function to free an obj 
+static void
+kmem_cache_free(kmem_cache_t *cachep, void *objp) {
+    bool intr_flag;
+    struct Page *page = kva2page(objp);
+
+    if (!PageSlab(page)) {
+        panic("not a slab page %08x\n", objp);
+    }
+    local_intr_save(intr_flag);
+    {
+        kmem_cache_free_one(cachep, GET_PAGE_SLAB(page), objp);
+    }
+    local_intr_restore(intr_flag);
+}
+
+// kfree - simple interface used by ooutside functions to free an obj
+void
+kfree(void *objp) {
+    kmem_cache_free(GET_PAGE_CACHE(kva2page(objp)), objp);
+}
+
+static inline void
+check_slab_empty(void) {
+    int i;
+    for (i = 0; i < SLAB_CACHE_NUM; i ++) {
+        kmem_cache_t *cachep = slab_cache + i;
+        assert(list_empty(&(cachep->slabs_full)));
+        assert(list_empty(&(cachep->slabs_notfull)));
+    }
+}
+
+void
+check_slab(void) {
+    int i;
+    void *v0, *v1;
+
+    size_t nr_free_pages_store = nr_free_pages();
+    size_t slab_allocated_store = slab_allocated();
+
+    /* slab must be empty now */
+    check_slab_empty();
+    assert(slab_allocated() == 0);
+
+    kmem_cache_t *cachep0, *cachep1;
+
+    cachep0 = slab_cache;
+    assert(cachep0->objsize == 32 && cachep0->num > 1 && !cachep0->off_slab);
+    assert((v0 = kmalloc(16)) != NULL);
+
+    slab_t *slabp0, *slabp1;
+
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    slabp0 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+    assert(slabp0->inuse == 1 && list_next(&(slabp0->slab_link)) == &(cachep0->slabs_notfull));
+
+    struct Page *p0, *p1;
+    size_t order_size;
+
+
+    p0 = kva2page(slabp0->s_mem - slabp0->offset), p1 = p0;
+    order_size = (1 << cachep0->page_order);
+    for (i = 0; i < cachep0->page_order; i ++, p1 ++) {
+        assert(PageSlab(p1));
+        assert(GET_PAGE_CACHE(p1) == cachep0 && GET_PAGE_SLAB(p1) == slabp0);
+    }
+
+    assert(v0 == slabp0->s_mem);
+    assert((v1 = kmalloc(16)) != NULL && v1 == v0 + 32);
+
+    kfree(v0);
+    assert(slabp0->free == 0);
+    kfree(v1);
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    for (i = 0; i < cachep0->page_order; i ++, p0 ++) {
+        assert(!PageSlab(p0));
+    }
+
+
+    v0 = kmalloc(16);
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    slabp0 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+
+    for (i = 0; i < cachep0->num - 1; i ++) {
+        kmalloc(16);
+    }
+
+    assert(slabp0->inuse == cachep0->num);
+    assert(list_next(&(cachep0->slabs_full)) == &(slabp0->slab_link));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    v1 = kmalloc(16);
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    slabp1 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+
+    kfree(v0);
+    assert(list_empty(&(cachep0->slabs_full)));
+    assert(list_next(&(slabp0->slab_link)) == &(slabp1->slab_link)
+            || list_next(&(slabp1->slab_link)) == &(slabp0->slab_link));
+
+    kfree(v1);
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    assert(list_next(&(cachep0->slabs_notfull)) == &(slabp0->slab_link));
+    assert(list_next(&(slabp0->slab_link)) == &(cachep0->slabs_notfull));
+
+    v1 = kmalloc(16);
+    assert(v1 == v0);
+    assert(list_next(&(cachep0->slabs_full)) == &(slabp0->slab_link));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    for (i = 0; i < cachep0->num; i ++) {
+        kfree(v1 + i * cachep0->objsize);
+    }
+
+    assert(list_empty(&(cachep0->slabs_full)));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    cachep0 = slab_cache;
+
+    bool has_off_slab = 0;
+    for (i = 0; i < SLAB_CACHE_NUM; i ++, cachep0 ++) {
+        if (cachep0->off_slab) {
+            has_off_slab = 1;
+            cachep1 = cachep0->slab_cachep;
+            if (!cachep1->off_slab) {
+                break;
+            }
+        }
+    }
+
+    if (!has_off_slab) {
+        goto check_pass;
+    }
+
+    assert(cachep0->off_slab && !cachep1->off_slab);
+    assert(cachep1 < cachep0);
+
+    assert(list_empty(&(cachep0->slabs_full)));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    assert(list_empty(&(cachep1->slabs_full)));
+    assert(list_empty(&(cachep1->slabs_notfull)));
+
+    v0 = kmalloc(cachep0->objsize);
+    p0 = kva2page(v0);
+    assert(page2kva(p0) == v0);
+
+    if (cachep0->num == 1) {
+        assert(!list_empty(&(cachep0->slabs_full)));
+        slabp0 = le2slab(list_next(&(cachep0->slabs_full)), slab_link);
+    }
+    else {
+        assert(!list_empty(&(cachep0->slabs_notfull)));
+        slabp0 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+    }
+
+    assert(slabp0 != NULL);
+
+    if (cachep1->num == 1) {
+        assert(!list_empty(&(cachep1->slabs_full)));
+        slabp1 = le2slab(list_next(&(cachep1->slabs_full)), slab_link);
+    }
+    else {
+        assert(!list_empty(&(cachep1->slabs_notfull)));
+        slabp1 = le2slab(list_next(&(cachep1->slabs_notfull)), slab_link);
+    }
+
+    assert(slabp1 != NULL);
+
+    order_size = (1 << cachep0->page_order);
+    for (i = 0; i < order_size; i ++, p0 ++) {
+        assert(PageSlab(p0));
+        assert(GET_PAGE_CACHE(p0) == cachep0 && GET_PAGE_SLAB(p0) == slabp0);
+    }
+
+    kfree(v0);
+
+check_pass:
+
+    check_rb_tree();
+    check_slab_empty();
+    assert(slab_allocated() == 0);
+    assert(nr_free_pages_store == nr_free_pages());
+    assert(slab_allocated_store == slab_allocated());
+
+    cprintf("check_slab() succeeded!\n");
+}
+
diff --git a/code/lab5/kern/mm/kmalloc.h b/code/lab5/kern/mm/kmalloc.h
new file mode 100644
index 0000000..8617975
--- /dev/null
+++ b/code/lab5/kern/mm/kmalloc.h
@@ -0,0 +1,16 @@
+#ifndef __KERN_MM_SLAB_H__
+#define __KERN_MM_SLAB_H__
+
+#include <defs.h>
+
+#define KMALLOC_MAX_ORDER       10
+
+void kmalloc_init(void);
+
+void *kmalloc(size_t n);
+void kfree(void *objp);
+
+size_t kallocated(void);
+
+#endif /* !__KERN_MM_SLAB_H__ */
+
diff --git a/code/lab5/kern/mm/memlayout.h b/code/lab5/kern/mm/memlayout.h
new file mode 100644
index 0000000..d84bf93
--- /dev/null
+++ b/code/lab5/kern/mm/memlayout.h
@@ -0,0 +1,169 @@
+#ifndef __KERN_MM_MEMLAYOUT_H__
+#define __KERN_MM_MEMLAYOUT_H__
+
+/* This file contains the definitions for memory management in our OS. */
+
+/* global segment number */
+#define SEG_KTEXT   1
+#define SEG_KDATA   2
+#define SEG_UTEXT   3
+#define SEG_UDATA   4
+#define SEG_TSS     5
+
+/* global descrptor numbers */
+#define GD_KTEXT    ((SEG_KTEXT) << 3)      // kernel text
+#define GD_KDATA    ((SEG_KDATA) << 3)      // kernel data
+#define GD_UTEXT    ((SEG_UTEXT) << 3)      // user text
+#define GD_UDATA    ((SEG_UDATA) << 3)      // user data
+#define GD_TSS      ((SEG_TSS) << 3)        // task segment selector
+
+#define DPL_KERNEL  (0)
+#define DPL_USER    (3)
+
+#define KERNEL_CS   ((GD_KTEXT) | DPL_KERNEL)
+#define KERNEL_DS   ((GD_KDATA) | DPL_KERNEL)
+#define USER_CS     ((GD_UTEXT) | DPL_USER)
+#define USER_DS     ((GD_UDATA) | DPL_USER)
+
+/* *
+ * Virtual memory map:                                          Permissions
+ *                                                              kernel/user
+ *
+ *     4G ------------------> +---------------------------------+
+ *                            |                                 |
+ *                            |         Empty Memory (*)        |
+ *                            |                                 |
+ *                            +---------------------------------+ 0xFB000000
+ *                            |   Cur. Page Table (Kern, RW)    | RW/-- PTSIZE
+ *     VPT -----------------> +---------------------------------+ 0xFAC00000
+ *                            |        Invalid Memory (*)       | --/--
+ *     KERNTOP -------------> +---------------------------------+ 0xF8000000
+ *                            |                                 |
+ *                            |    Remapped Physical Memory     | RW/-- KMEMSIZE
+ *                            |                                 |
+ *     KERNBASE ------------> +---------------------------------+ 0xC0000000
+ *                            |        Invalid Memory (*)       | --/--
+ *     USERTOP -------------> +---------------------------------+ 0xB0000000
+ *                            |           User stack            |
+ *                            +---------------------------------+
+ *                            |                                 |
+ *                            :                                 :
+ *                            |         ~~~~~~~~~~~~~~~~        |
+ *                            :                                 :
+ *                            |                                 |
+ *                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ *                            |       User Program & Heap       |
+ *     UTEXT ---------------> +---------------------------------+ 0x00800000
+ *                            |        Invalid Memory (*)       | --/--
+ *                            |  - - - - - - - - - - - - - - -  |
+ *                            |    User STAB Data (optional)    |
+ *     USERBASE, USTAB------> +---------------------------------+ 0x00200000
+ *                            |        Invalid Memory (*)       | --/--
+ *     0 -------------------> +---------------------------------+ 0x00000000
+ * (*) Note: The kernel ensures that "Invalid Memory" is *never* mapped.
+ *     "Empty Memory" is normally unmapped, but user programs may map pages
+ *     there if desired.
+ *
+ * */
+
+/* All physical memory mapped at this address */
+#define KERNBASE            0xC0000000
+#define KMEMSIZE            0x38000000                  // the maximum amount of physical memory
+#define KERNTOP             (KERNBASE + KMEMSIZE)
+
+/* *
+ * Virtual page table. Entry PDX[VPT] in the PD (Page Directory) contains
+ * a pointer to the page directory itself, thereby turning the PD into a page
+ * table, which maps all the PTEs (Page Table Entry) containing the page mappings
+ * for the entire virtual address space into that 4 Meg region starting at VPT.
+ * */
+#define VPT                 0xFAC00000
+
+#define KSTACKPAGE          2                           // # of pages in kernel stack
+#define KSTACKSIZE          (KSTACKPAGE * PGSIZE)       // sizeof kernel stack
+
+#define USERTOP             0xB0000000
+#define USTACKTOP           USERTOP
+#define USTACKPAGE          256                         // # of pages in user stack
+#define USTACKSIZE          (USTACKPAGE * PGSIZE)       // sizeof user stack
+
+#define USERBASE            0x00200000
+#define UTEXT               0x00800000                  // where user programs generally begin
+#define USTAB               USERBASE                    // the location of the user STABS data structure
+
+#define USER_ACCESS(start, end)                     \
+(USERBASE <= (start) && (start) < (end) && (end) <= USERTOP)
+
+#define KERN_ACCESS(start, end)                     \
+(KERNBASE <= (start) && (start) < (end) && (end) <= KERNTOP)
+
+#ifndef __ASSEMBLER__
+
+#include <defs.h>
+#include <atomic.h>
+#include <list.h>
+
+typedef uintptr_t pte_t;
+typedef uintptr_t pde_t;
+typedef pte_t swap_entry_t; //the pte can also be a swap entry
+
+// some constants for bios interrupt 15h AX = 0xE820
+#define E820MAX             20      // number of entries in E820MAP
+#define E820_ARM            1       // address range memory
+#define E820_ARR            2       // address range reserved
+
+struct e820map {
+    int nr_map;
+    struct {
+        uint64_t addr;
+        uint64_t size;
+        uint32_t type;
+    } __attribute__((packed)) map[E820MAX];
+};
+
+/* *
+ * struct Page - Page descriptor structures. Each Page describes one
+ * physical page. In kern/mm/pmm.h, you can find lots of useful functions
+ * that convert Page to other data types, such as phyical address.
+ * */
+struct Page {
+    atomic_t ref;                   // page frame's reference counter
+    uint32_t flags;                 // array of flags that describe the status of the page frame
+    unsigned int property;          // used in buddy system, stores the order (the X in 2^X) of the continuous memory block
+    int zone_num;                   // used in buddy system, the No. of zone which the page belongs to
+    list_entry_t page_link;         // free list link
+    list_entry_t pra_page_link;     // used for pra (page replace algorithm)
+    uintptr_t pra_vaddr;            // used for pra (page replace algorithm)
+};
+
+/* Flags describing the status of a page frame */
+#define PG_reserved                 0       // the page descriptor is reserved for kernel or unusable
+#define PG_property                 1       // the member 'property' is valid
+
+#define SetPageReserved(page)       set_bit(PG_reserved, &((page)->flags))
+#define ClearPageReserved(page)     clear_bit(PG_reserved, &((page)->flags))
+#define PageReserved(page)          test_bit(PG_reserved, &((page)->flags))
+#define SetPageProperty(page)       set_bit(PG_property, &((page)->flags))
+#define ClearPageProperty(page)     clear_bit(PG_property, &((page)->flags))
+#define PageProperty(page)          test_bit(PG_property, &((page)->flags))
+
+// convert list entry to page
+#define le2page(le, member)                 \
+    to_struct((le), struct Page, member)
+
+/* free_area_t - maintains a doubly linked list to record free (unused) pages */
+typedef struct {
+    list_entry_t free_list;         // the list header
+    unsigned int nr_free;           // # of free pages in this free list
+} free_area_t;
+
+/* for slab style kmalloc */
+#define PG_slab                     2       // page frame is included in a slab
+#define SetPageSlab(page)           set_bit(PG_slab, &((page)->flags))
+#define ClearPageSlab(page)         clear_bit(PG_slab, &((page)->flags))
+#define PageSlab(page)              test_bit(PG_slab, &((page)->flags))
+
+#endif /* !__ASSEMBLER__ */
+
+#endif /* !__KERN_MM_MEMLAYOUT_H__ */
+
diff --git a/code/lab5/kern/mm/mmu.h b/code/lab5/kern/mm/mmu.h
new file mode 100644
index 0000000..3858ad9
--- /dev/null
+++ b/code/lab5/kern/mm/mmu.h
@@ -0,0 +1,272 @@
+#ifndef __KERN_MM_MMU_H__
+#define __KERN_MM_MMU_H__
+
+/* Eflags register */
+#define FL_CF           0x00000001  // Carry Flag
+#define FL_PF           0x00000004  // Parity Flag
+#define FL_AF           0x00000010  // Auxiliary carry Flag
+#define FL_ZF           0x00000040  // Zero Flag
+#define FL_SF           0x00000080  // Sign Flag
+#define FL_TF           0x00000100  // Trap Flag
+#define FL_IF           0x00000200  // Interrupt Flag
+#define FL_DF           0x00000400  // Direction Flag
+#define FL_OF           0x00000800  // Overflow Flag
+#define FL_IOPL_MASK    0x00003000  // I/O Privilege Level bitmask
+#define FL_IOPL_0       0x00000000  //   IOPL == 0
+#define FL_IOPL_1       0x00001000  //   IOPL == 1
+#define FL_IOPL_2       0x00002000  //   IOPL == 2
+#define FL_IOPL_3       0x00003000  //   IOPL == 3
+#define FL_NT           0x00004000  // Nested Task
+#define FL_RF           0x00010000  // Resume Flag
+#define FL_VM           0x00020000  // Virtual 8086 mode
+#define FL_AC           0x00040000  // Alignment Check
+#define FL_VIF          0x00080000  // Virtual Interrupt Flag
+#define FL_VIP          0x00100000  // Virtual Interrupt Pending
+#define FL_ID           0x00200000  // ID flag
+
+/* Application segment type bits */
+#define STA_X           0x8         // Executable segment
+#define STA_E           0x4         // Expand down (non-executable segments)
+#define STA_C           0x4         // Conforming code segment (executable only)
+#define STA_W           0x2         // Writeable (non-executable segments)
+#define STA_R           0x2         // Readable (executable segments)
+#define STA_A           0x1         // Accessed
+
+/* System segment type bits */
+#define STS_T16A        0x1         // Available 16-bit TSS
+#define STS_LDT         0x2         // Local Descriptor Table
+#define STS_T16B        0x3         // Busy 16-bit TSS
+#define STS_CG16        0x4         // 16-bit Call Gate
+#define STS_TG          0x5         // Task Gate / Coum Transmitions
+#define STS_IG16        0x6         // 16-bit Interrupt Gate
+#define STS_TG16        0x7         // 16-bit Trap Gate
+#define STS_T32A        0x9         // Available 32-bit TSS
+#define STS_T32B        0xB         // Busy 32-bit TSS
+#define STS_CG32        0xC         // 32-bit Call Gate
+#define STS_IG32        0xE         // 32-bit Interrupt Gate
+#define STS_TG32        0xF         // 32-bit Trap Gate
+
+#ifdef __ASSEMBLER__
+
+#define SEG_NULL                                                \
+    .word 0, 0;                                                 \
+    .byte 0, 0, 0, 0
+
+#define SEG_ASM(type,base,lim)                                  \
+    .word (((lim) >> 12) & 0xffff), ((base) & 0xffff);          \
+    .byte (((base) >> 16) & 0xff), (0x90 | (type)),             \
+        (0xC0 | (((lim) >> 28) & 0xf)), (((base) >> 24) & 0xff)
+
+#else /* not __ASSEMBLER__ */
+
+#include <defs.h>
+
+/* Gate descriptors for interrupts and traps */
+struct gatedesc {
+    unsigned gd_off_15_0 : 16;      // low 16 bits of offset in segment
+    unsigned gd_ss : 16;            // segment selector
+    unsigned gd_args : 5;           // # args, 0 for interrupt/trap gates
+    unsigned gd_rsv1 : 3;           // reserved(should be zero I guess)
+    unsigned gd_type : 4;           // type(STS_{TG,IG32,TG32})
+    unsigned gd_s : 1;              // must be 0 (system)
+    unsigned gd_dpl : 2;            // descriptor(meaning new) privilege level
+    unsigned gd_p : 1;              // Present
+    unsigned gd_off_31_16 : 16;     // high bits of offset in segment
+};
+
+/* *
+ * Set up a normal interrupt/trap gate descriptor
+ *   - istrap: 1 for a trap (= exception) gate, 0 for an interrupt gate
+ *   - sel: Code segment selector for interrupt/trap handler
+ *   - off: Offset in code segment for interrupt/trap handler
+ *   - dpl: Descriptor Privilege Level - the privilege level required
+ *          for software to invoke this interrupt/trap gate explicitly
+ *          using an int instruction.
+ * */
+#define SETGATE(gate, istrap, sel, off, dpl) {               \
+        (gate).gd_off_15_0 = (uint32_t)(off) & 0xffff;      \
+        (gate).gd_ss = (sel);                                \
+        (gate).gd_args = 0;                                 \
+        (gate).gd_rsv1 = 0;                                 \
+        (gate).gd_type = (istrap) ? STS_TG32 : STS_IG32;    \
+        (gate).gd_s = 0;                                    \
+        (gate).gd_dpl = (dpl);                              \
+        (gate).gd_p = 1;                                    \
+        (gate).gd_off_31_16 = (uint32_t)(off) >> 16;        \
+    }
+
+/* Set up a call gate descriptor */
+#define SETCALLGATE(gate, ss, off, dpl) {                   \
+        (gate).gd_off_15_0 = (uint32_t)(off) & 0xffff;      \
+        (gate).gd_ss = (ss);                                \
+        (gate).gd_args = 0;                                 \
+        (gate).gd_rsv1 = 0;                                 \
+        (gate).gd_type = STS_CG32;                          \
+        (gate).gd_s = 0;                                    \
+        (gate).gd_dpl = (dpl);                              \
+        (gate).gd_p = 1;                                    \
+        (gate).gd_off_31_16 = (uint32_t)(off) >> 16;        \
+    }
+
+/* segment descriptors */
+struct segdesc {
+    unsigned sd_lim_15_0 : 16;      // low bits of segment limit
+    unsigned sd_base_15_0 : 16;     // low bits of segment base address
+    unsigned sd_base_23_16 : 8;     // middle bits of segment base address
+    unsigned sd_type : 4;           // segment type (see STS_ constants)
+    unsigned sd_s : 1;              // 0 = system, 1 = application
+    unsigned sd_dpl : 2;            // descriptor Privilege Level
+    unsigned sd_p : 1;              // present
+    unsigned sd_lim_19_16 : 4;      // high bits of segment limit
+    unsigned sd_avl : 1;            // unused (available for software use)
+    unsigned sd_rsv1 : 1;           // reserved
+    unsigned sd_db : 1;             // 0 = 16-bit segment, 1 = 32-bit segment
+    unsigned sd_g : 1;              // granularity: limit scaled by 4K when set
+    unsigned sd_base_31_24 : 8;     // high bits of segment base address
+};
+
+#define SEG_NULL                                            \
+    (struct segdesc) {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+
+#define SEG(type, base, lim, dpl)                           \
+    (struct segdesc) {                                      \
+        ((lim) >> 12) & 0xffff, (base) & 0xffff,            \
+        ((base) >> 16) & 0xff, type, 1, dpl, 1,             \
+        (unsigned)(lim) >> 28, 0, 0, 1, 1,                  \
+        (unsigned) (base) >> 24                             \
+    }
+
+#define SEGTSS(type, base, lim, dpl)                        \
+    (struct segdesc) {                                      \
+        (lim) & 0xffff, (base) & 0xffff,                    \
+        ((base) >> 16) & 0xff, type, 0, dpl, 1,             \
+        (unsigned) (lim) >> 16, 0, 0, 1, 0,                 \
+        (unsigned) (base) >> 24                             \
+    }
+
+/* task state segment format (as described by the Pentium architecture book) */
+struct taskstate {
+    uint32_t ts_link;       // old ts selector
+    uintptr_t ts_esp0;      // stack pointers and segment selectors
+    uint16_t ts_ss0;        // after an increase in privilege level
+    uint16_t ts_padding1;
+    uintptr_t ts_esp1;
+    uint16_t ts_ss1;
+    uint16_t ts_padding2;
+    uintptr_t ts_esp2;
+    uint16_t ts_ss2;
+    uint16_t ts_padding3;
+    uintptr_t ts_cr3;       // page directory base
+    uintptr_t ts_eip;       // saved state from last task switch
+    uint32_t ts_eflags;
+    uint32_t ts_eax;        // more saved state (registers)
+    uint32_t ts_ecx;
+    uint32_t ts_edx;
+    uint32_t ts_ebx;
+    uintptr_t ts_esp;
+    uintptr_t ts_ebp;
+    uint32_t ts_esi;
+    uint32_t ts_edi;
+    uint16_t ts_es;         // even more saved state (segment selectors)
+    uint16_t ts_padding4;
+    uint16_t ts_cs;
+    uint16_t ts_padding5;
+    uint16_t ts_ss;
+    uint16_t ts_padding6;
+    uint16_t ts_ds;
+    uint16_t ts_padding7;
+    uint16_t ts_fs;
+    uint16_t ts_padding8;
+    uint16_t ts_gs;
+    uint16_t ts_padding9;
+    uint16_t ts_ldt;
+    uint16_t ts_padding10;
+    uint16_t ts_t;          // trap on task switch
+    uint16_t ts_iomb;       // i/o map base address
+} __attribute__((packed));
+
+#endif /* !__ASSEMBLER__ */
+
+// A linear address 'la' has a three-part structure as follows:
+//
+// +--------10------+-------10-------+---------12----------+
+// | Page Directory |   Page Table   | Offset within Page  |
+// |      Index     |     Index      |                     |
+// +----------------+----------------+---------------------+
+//  \--- PDX(la) --/ \--- PTX(la) --/ \---- PGOFF(la) ----/
+//  \----------- PPN(la) -----------/
+//
+// The PDX, PTX, PGOFF, and PPN macros decompose linear addresses as shown.
+// To construct a linear address la from PDX(la), PTX(la), and PGOFF(la),
+// use PGADDR(PDX(la), PTX(la), PGOFF(la)).
+
+// page directory index
+#define PDX(la) ((((uintptr_t)(la)) >> PDXSHIFT) & 0x3FF)
+
+// page table index
+#define PTX(la) ((((uintptr_t)(la)) >> PTXSHIFT) & 0x3FF)
+
+// page number field of address
+#define PPN(la) (((uintptr_t)(la)) >> PTXSHIFT)
+
+// offset in page
+#define PGOFF(la) (((uintptr_t)(la)) & 0xFFF)
+
+// construct linear address from indexes and offset
+#define PGADDR(d, t, o) ((uintptr_t)((d) << PDXSHIFT | (t) << PTXSHIFT | (o)))
+
+// address in page table or page directory entry
+#define PTE_ADDR(pte)   ((uintptr_t)(pte) & ~0xFFF)
+#define PDE_ADDR(pde)   PTE_ADDR(pde)
+
+/* page directory and page table constants */
+#define NPDEENTRY       1024                    // page directory entries per page directory
+#define NPTEENTRY       1024                    // page table entries per page table
+
+#define PGSIZE          4096                    // bytes mapped by a page
+#define PGSHIFT         12                      // log2(PGSIZE)
+#define PTSIZE          (PGSIZE * NPTEENTRY)    // bytes mapped by a page directory entry
+#define PTSHIFT         22                      // log2(PTSIZE)
+
+#define PTXSHIFT        12                      // offset of PTX in a linear address
+#define PDXSHIFT        22                      // offset of PDX in a linear address
+
+/* page table/directory entry flags */
+#define PTE_P           0x001                   // Present
+#define PTE_W           0x002                   // Writeable
+#define PTE_U           0x004                   // User
+#define PTE_PWT         0x008                   // Write-Through
+#define PTE_PCD         0x010                   // Cache-Disable
+#define PTE_A           0x020                   // Accessed
+#define PTE_D           0x040                   // Dirty
+#define PTE_PS          0x080                   // Page Size
+#define PTE_MBZ         0x180                   // Bits must be zero
+#define PTE_AVAIL       0xE00                   // Available for software use
+                                                // The PTE_AVAIL bits aren't used by the kernel or interpreted by the
+                                                // hardware, so user processes are allowed to set them arbitrarily.
+
+#define PTE_USER        (PTE_U | PTE_W | PTE_P)
+
+/* Control Register flags */
+#define CR0_PE          0x00000001              // Protection Enable
+#define CR0_MP          0x00000002              // Monitor coProcessor
+#define CR0_EM          0x00000004              // Emulation
+#define CR0_TS          0x00000008              // Task Switched
+#define CR0_ET          0x00000010              // Extension Type
+#define CR0_NE          0x00000020              // Numeric Errror
+#define CR0_WP          0x00010000              // Write Protect
+#define CR0_AM          0x00040000              // Alignment Mask
+#define CR0_NW          0x20000000              // Not Writethrough
+#define CR0_CD          0x40000000              // Cache Disable
+#define CR0_PG          0x80000000              // Paging
+
+#define CR4_PCE         0x00000100              // Performance counter enable
+#define CR4_MCE         0x00000040              // Machine Check Enable
+#define CR4_PSE         0x00000010              // Page Size Extensions
+#define CR4_DE          0x00000008              // Debugging Extensions
+#define CR4_TSD         0x00000004              // Time Stamp Disable
+#define CR4_PVI         0x00000002              // Protected-Mode Virtual Interrupts
+#define CR4_VME         0x00000001              // V86 Mode Extensions
+
+#endif /* !__KERN_MM_MMU_H__ */
+
diff --git a/code/lab5/kern/mm/pmm.c b/code/lab5/kern/mm/pmm.c
new file mode 100644
index 0000000..cc3f28c
--- /dev/null
+++ b/code/lab5/kern/mm/pmm.c
@@ -0,0 +1,759 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <default_pmm.h>
+#include <sync.h>
+#include <error.h>
+#include <swap.h>
+#include <vmm.h>
+#include <kmalloc.h>
+
+/* *
+ * Task State Segment:
+ *
+ * The TSS may reside anywhere in memory. A special segment register called
+ * the Task Register (TR) holds a segment selector that points a valid TSS
+ * segment descriptor which resides in the GDT. Therefore, to use a TSS
+ * the following must be done in function gdt_init:
+ *   - create a TSS descriptor entry in GDT
+ *   - add enough information to the TSS in memory as needed
+ *   - load the TR register with a segment selector for that segment
+ *
+ * There are several fileds in TSS for specifying the new stack pointer when a
+ * privilege level change happens. But only the fields SS0 and ESP0 are useful
+ * in our os kernel.
+ *
+ * The field SS0 contains the stack segment selector for CPL = 0, and the ESP0
+ * contains the new ESP value for CPL = 0. When an interrupt happens in protected
+ * mode, the x86 CPU will look in the TSS for SS0 and ESP0 and load their value
+ * into SS and ESP respectively.
+ * */
+static struct taskstate ts = {0};
+
+// virtual address of physicall page array
+struct Page *pages;
+// amount of physical memory (in pages)
+size_t npage = 0;
+
+// virtual address of boot-time page directory
+pde_t *boot_pgdir = NULL;
+// physical address of boot-time page directory
+uintptr_t boot_cr3;
+
+// physical memory management
+const struct pmm_manager *pmm_manager;
+
+/* *
+ * The page directory entry corresponding to the virtual address range
+ * [VPT, VPT + PTSIZE) points to the page directory itself. Thus, the page
+ * directory is treated as a page table as well as a page directory.
+ *
+ * One result of treating the page directory as a page table is that all PTEs
+ * can be accessed though a "virtual page table" at virtual address VPT. And the
+ * PTE for number n is stored in vpt[n].
+ *
+ * A second consequence is that the contents of the current page directory will
+ * always available at virtual address PGADDR(PDX(VPT), PDX(VPT), 0), to which
+ * vpd is set bellow.
+ * */
+pte_t * const vpt = (pte_t *)VPT;
+pde_t * const vpd = (pde_t *)PGADDR(PDX(VPT), PDX(VPT), 0);
+
+/* *
+ * Global Descriptor Table:
+ *
+ * The kernel and user segments are identical (except for the DPL). To load
+ * the %ss register, the CPL must equal the DPL. Thus, we must duplicate the
+ * segments for the user and the kernel. Defined as follows:
+ *   - 0x0 :  unused (always faults -- for trapping NULL far pointers)
+ *   - 0x8 :  kernel code segment
+ *   - 0x10:  kernel data segment
+ *   - 0x18:  user code segment
+ *   - 0x20:  user data segment
+ *   - 0x28:  defined for tss, initialized in gdt_init
+ * */
+static struct segdesc gdt[] = {
+    SEG_NULL,
+    [SEG_KTEXT] = SEG(STA_X | STA_R, 0x0, 0xFFFFFFFF, DPL_KERNEL),
+    [SEG_KDATA] = SEG(STA_W, 0x0, 0xFFFFFFFF, DPL_KERNEL),
+    [SEG_UTEXT] = SEG(STA_X | STA_R, 0x0, 0xFFFFFFFF, DPL_USER),
+    [SEG_UDATA] = SEG(STA_W, 0x0, 0xFFFFFFFF, DPL_USER),
+    [SEG_TSS]   = SEG_NULL,
+};
+
+static struct pseudodesc gdt_pd = {
+    sizeof(gdt) - 1, (uintptr_t)gdt
+};
+
+static void check_alloc_page(void);
+static void check_pgdir(void);
+static void check_boot_pgdir(void);
+
+/* *
+ * lgdt - load the global descriptor table register and reset the
+ * data/code segement registers for kernel.
+ * */
+static inline void
+lgdt(struct pseudodesc *pd) {
+    asm volatile ("lgdt (%0)" :: "r" (pd));
+    asm volatile ("movw %%ax, %%gs" :: "a" (USER_DS));
+    asm volatile ("movw %%ax, %%fs" :: "a" (USER_DS));
+    asm volatile ("movw %%ax, %%es" :: "a" (KERNEL_DS));
+    asm volatile ("movw %%ax, %%ds" :: "a" (KERNEL_DS));
+    asm volatile ("movw %%ax, %%ss" :: "a" (KERNEL_DS));
+    // reload cs
+    asm volatile ("ljmp %0, $1f\n 1:\n" :: "i" (KERNEL_CS));
+}
+
+/* *
+ * load_esp0 - change the ESP0 in default task state segment,
+ * so that we can use different kernel stack when we trap frame
+ * user to kernel.
+ * */
+void
+load_esp0(uintptr_t esp0) {
+    ts.ts_esp0 = esp0;
+}
+
+/* gdt_init - initialize the default GDT and TSS */
+static void
+gdt_init(void) {
+    // set boot kernel stack and default SS0
+    load_esp0((uintptr_t)bootstacktop);
+    ts.ts_ss0 = KERNEL_DS;
+
+    // initialize the TSS filed of the gdt
+    gdt[SEG_TSS] = SEGTSS(STS_T32A, (uintptr_t)&ts, sizeof(ts), DPL_KERNEL);
+
+    // reload all segment registers
+    lgdt(&gdt_pd);
+
+    // load the TSS
+    ltr(GD_TSS);
+}
+
+//init_pmm_manager - initialize a pmm_manager instance
+static void
+init_pmm_manager(void) {
+    pmm_manager = &default_pmm_manager;
+    cprintf("memory management: %s\n", pmm_manager->name);
+    pmm_manager->init();
+}
+
+//init_memmap - call pmm->init_memmap to build Page struct for free memory  
+static void
+init_memmap(struct Page *base, size_t n) {
+    pmm_manager->init_memmap(base, n);
+}
+
+//alloc_pages - call pmm->alloc_pages to allocate a continuous n*PAGESIZE memory 
+struct Page *
+alloc_pages(size_t n) {
+    struct Page *page=NULL;
+    bool intr_flag;
+    
+    while (1)
+    {
+         local_intr_save(intr_flag);
+         {
+              page = pmm_manager->alloc_pages(n);
+         }
+         local_intr_restore(intr_flag);
+
+         if (page != NULL || n > 1 || swap_init_ok == 0) break;
+         
+         extern struct mm_struct *check_mm_struct;
+         //cprintf("page %x, call swap_out in alloc_pages %d\n",page, n);
+         swap_out(check_mm_struct, n, 0);
+    }
+    //cprintf("n %d,get page %x, No %d in alloc_pages\n",n,page,(page-pages));
+    return page;
+}
+
+//free_pages - call pmm->free_pages to free a continuous n*PAGESIZE memory 
+void
+free_pages(struct Page *base, size_t n) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        pmm_manager->free_pages(base, n);
+    }
+    local_intr_restore(intr_flag);
+}
+
+//nr_free_pages - call pmm->nr_free_pages to get the size (nr*PAGESIZE) 
+//of current free memory
+size_t
+nr_free_pages(void) {
+    size_t ret;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        ret = pmm_manager->nr_free_pages();
+    }
+    local_intr_restore(intr_flag);
+    return ret;
+}
+
+/* pmm_init - initialize the physical memory management */
+static void
+page_init(void) {
+    struct e820map *memmap = (struct e820map *)(0x8000 + KERNBASE);
+    uint64_t maxpa = 0;
+
+    cprintf("e820map:\n");
+    int i;
+    for (i = 0; i < memmap->nr_map; i ++) {
+        uint64_t begin = memmap->map[i].addr, end = begin + memmap->map[i].size;
+        cprintf("  memory: %08llx, [%08llx, %08llx], type = %d.\n",
+                memmap->map[i].size, begin, end - 1, memmap->map[i].type);
+        if (memmap->map[i].type == E820_ARM) {
+            if (maxpa < end && begin < KMEMSIZE) {
+                maxpa = end;
+            }
+        }
+    }
+    if (maxpa > KMEMSIZE) {
+        maxpa = KMEMSIZE;
+    }
+
+    extern char end[];
+
+    npage = maxpa / PGSIZE;
+    pages = (struct Page *)ROUNDUP((void *)end, PGSIZE);
+
+    for (i = 0; i < npage; i ++) {
+        SetPageReserved(pages + i);
+    }
+
+    uintptr_t freemem = PADDR((uintptr_t)pages + sizeof(struct Page) * npage);
+
+    for (i = 0; i < memmap->nr_map; i ++) {
+        uint64_t begin = memmap->map[i].addr, end = begin + memmap->map[i].size;
+        if (memmap->map[i].type == E820_ARM) {
+            if (begin < freemem) {
+                begin = freemem;
+            }
+            if (end > KMEMSIZE) {
+                end = KMEMSIZE;
+            }
+            if (begin < end) {
+                begin = ROUNDUP(begin, PGSIZE);
+                end = ROUNDDOWN(end, PGSIZE);
+                if (begin < end) {
+                    init_memmap(pa2page(begin), (end - begin) / PGSIZE);
+                }
+            }
+        }
+    }
+}
+
+static void
+enable_paging(void) {
+    lcr3(boot_cr3);
+
+    // turn on paging
+    uint32_t cr0 = rcr0();
+    cr0 |= CR0_PE | CR0_PG | CR0_AM | CR0_WP | CR0_NE | CR0_TS | CR0_EM | CR0_MP;
+    cr0 &= ~(CR0_TS | CR0_EM);
+    lcr0(cr0);
+}
+
+//boot_map_segment - setup&enable the paging mechanism
+// parameters
+//  la:   linear address of this memory need to map (after x86 segment map)
+//  size: memory size
+//  pa:   physical address of this memory
+//  perm: permission of this memory  
+static void
+boot_map_segment(pde_t *pgdir, uintptr_t la, size_t size, uintptr_t pa, uint32_t perm) {
+    assert(PGOFF(la) == PGOFF(pa));
+    size_t n = ROUNDUP(size + PGOFF(la), PGSIZE) / PGSIZE;
+    la = ROUNDDOWN(la, PGSIZE);
+    pa = ROUNDDOWN(pa, PGSIZE);
+    for (; n > 0; n --, la += PGSIZE, pa += PGSIZE) {
+        pte_t *ptep = get_pte(pgdir, la, 1);
+        assert(ptep != NULL);
+        *ptep = pa | PTE_P | perm;
+    }
+}
+
+//boot_alloc_page - allocate one page using pmm->alloc_pages(1) 
+// return value: the kernel virtual address of this allocated page
+//note: this function is used to get the memory for PDT(Page Directory Table)&PT(Page Table)
+static void *
+boot_alloc_page(void) {
+    struct Page *p = alloc_page();
+    if (p == NULL) {
+        panic("boot_alloc_page failed.\n");
+    }
+    return page2kva(p);
+}
+
+//pmm_init - setup a pmm to manage physical memory, build PDT&PT to setup paging mechanism 
+//         - check the correctness of pmm & paging mechanism, print PDT&PT
+void
+pmm_init(void) {
+    //We need to alloc/free the physical memory (granularity is 4KB or other size). 
+    //So a framework of physical memory manager (struct pmm_manager)is defined in pmm.h
+    //First we should init a physical memory manager(pmm) based on the framework.
+    //Then pmm can alloc/free the physical memory. 
+    //Now the first_fit/best_fit/worst_fit/buddy_system pmm are available.
+    init_pmm_manager();
+
+    // detect physical memory space, reserve already used memory,
+    // then use pmm->init_memmap to create free page list
+    page_init();
+
+    //use pmm->check to verify the correctness of the alloc/free function in a pmm
+    check_alloc_page();
+
+    // create boot_pgdir, an initial page directory(Page Directory Table, PDT)
+    boot_pgdir = boot_alloc_page();
+    memset(boot_pgdir, 0, PGSIZE);
+    boot_cr3 = PADDR(boot_pgdir);
+
+    check_pgdir();
+
+    static_assert(KERNBASE % PTSIZE == 0 && KERNTOP % PTSIZE == 0);
+
+    // recursively insert boot_pgdir in itself
+    // to form a virtual page table at virtual address VPT
+    boot_pgdir[PDX(VPT)] = PADDR(boot_pgdir) | PTE_P | PTE_W;
+
+    // map all physical memory to linear memory with base linear addr KERNBASE
+    //linear_addr KERNBASE~KERNBASE+KMEMSIZE = phy_addr 0~KMEMSIZE
+    //But shouldn't use this map until enable_paging() & gdt_init() finished.
+    boot_map_segment(boot_pgdir, KERNBASE, KMEMSIZE, 0, PTE_W);
+
+    //temporary map: 
+    //virtual_addr 3G~3G+4M = linear_addr 0~4M = linear_addr 3G~3G+4M = phy_addr 0~4M     
+    boot_pgdir[0] = boot_pgdir[PDX(KERNBASE)];
+
+    enable_paging();
+
+    //reload gdt(third time,the last time) to map all physical memory
+    //virtual_addr 0~4G=liear_addr 0~4G
+    //then set kernel stack(ss:esp) in TSS, setup TSS in gdt, load TSS
+    gdt_init();
+
+    //disable the map of virtual_addr 0~4M
+    boot_pgdir[0] = 0;
+
+    //now the basic virtual memory map(see memalyout.h) is established.
+    //check the correctness of the basic virtual memory map.
+    check_boot_pgdir();
+
+    print_pgdir();
+    
+    kmalloc_init();
+
+}
+
+//get_pte - get pte and return the kernel virtual address of this pte for la
+//        - if the PT contians this pte didn't exist, alloc a page for PT
+// parameter:
+//  pgdir:  the kernel virtual base address of PDT
+//  la:     the linear address need to map
+//  create: a logical value to decide if alloc a page for PT
+// return vaule: the kernel virtual address of this pte
+pte_t *
+get_pte(pde_t *pgdir, uintptr_t la, bool create) {
+    /* LAB2 EXERCISE 2: YOUR CODE
+     *
+     * If you need to visit a physical address, please use KADDR()
+     * please read pmm.h for useful macros
+     *
+     * Maybe you want help comment, BELOW comments can help you finish the code
+     *
+     * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   PDX(la) = the index of page directory entry of VIRTUAL ADDRESS la.
+     *   KADDR(pa) : takes a physical address and returns the corresponding kernel virtual address.
+     *   set_page_ref(page,1) : means the page be referenced by one time
+     *   page2pa(page): get the physical address of memory which this (struct Page *) page  manages
+     *   struct Page * alloc_page() : allocation a page
+     *   memset(void *s, char c, size_t n) : sets the first n bytes of the memory area pointed by s
+     *                                       to the specified value c.
+     * DEFINEs:
+     *   PTE_P           0x001                   // page table/directory entry flags bit : Present
+     *   PTE_W           0x002                   // page table/directory entry flags bit : Writeable
+     *   PTE_U           0x004                   // page table/directory entry flags bit : User can access
+     */
+#if 0
+    pde_t *pdep = NULL;   // (1) find page directory entry
+    if (0) {              // (2) check if entry is not present
+                          // (3) check if creating is needed, then alloc page for page table
+                          // CAUTION: this page is used for page table, not for common data page
+                          // (4) set page reference
+        uintptr_t pa = 0; // (5) get linear address of page
+                          // (6) clear page content using memset
+                          // (7) set page directory entry's permission
+    }
+    return NULL;          // (8) return page table entry
+#endif
+}
+
+//get_page - get related Page struct for linear address la using PDT pgdir
+struct Page *
+get_page(pde_t *pgdir, uintptr_t la, pte_t **ptep_store) {
+    pte_t *ptep = get_pte(pgdir, la, 0);
+    if (ptep_store != NULL) {
+        *ptep_store = ptep;
+    }
+    if (ptep != NULL && *ptep & PTE_P) {
+        return pa2page(*ptep);
+    }
+    return NULL;
+}
+
+//page_remove_pte - free an Page sturct which is related linear address la
+//                - and clean(invalidate) pte which is related linear address la
+//note: PT is changed, so the TLB need to be invalidate 
+static inline void
+page_remove_pte(pde_t *pgdir, uintptr_t la, pte_t *ptep) {
+    /* LAB2 EXERCISE 3: YOUR CODE
+     *
+     * Please check if ptep is valid, and tlb must be manually updated if mapping is updated
+     *
+     * Maybe you want help comment, BELOW comments can help you finish the code
+     *
+     * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   struct Page *page pte2page(*ptep): get the according page from the value of a ptep
+     *   free_page : free a page
+     *   page_ref_dec(page) : decrease page->ref. NOTICE: ff page->ref == 0 , then this page should be free.
+     *   tlb_invalidate(pde_t *pgdir, uintptr_t la) : Invalidate a TLB entry, but only if the page tables being
+     *                        edited are the ones currently in use by the processor.
+     * DEFINEs:
+     *   PTE_P           0x001                   // page table/directory entry flags bit : Present
+     */
+#if 0
+    if (0) {                      //(1) check if page directory is present
+        struct Page *page = NULL; //(2) find corresponding page to pte
+                                  //(3) decrease page reference
+                                  //(4) and free this page when page reference reachs 0
+                                  //(5) clear second page table entry
+                                  //(6) flush tlb
+    }
+#endif
+}
+
+void
+unmap_range(pde_t *pgdir, uintptr_t start, uintptr_t end) {
+    assert(start % PGSIZE == 0 && end % PGSIZE == 0);
+    assert(USER_ACCESS(start, end));
+
+    do {
+        pte_t *ptep = get_pte(pgdir, start, 0);
+        if (ptep == NULL) {
+            start = ROUNDDOWN(start + PTSIZE, PTSIZE);
+            continue ;
+        }
+        if (*ptep != 0) {
+            page_remove_pte(pgdir, start, ptep);
+        }
+        start += PGSIZE;
+    } while (start != 0 && start < end);
+}
+
+void
+exit_range(pde_t *pgdir, uintptr_t start, uintptr_t end) {
+    assert(start % PGSIZE == 0 && end % PGSIZE == 0);
+    assert(USER_ACCESS(start, end));
+
+    start = ROUNDDOWN(start, PTSIZE);
+    do {
+        int pde_idx = PDX(start);
+        if (pgdir[pde_idx] & PTE_P) {
+            free_page(pde2page(pgdir[pde_idx]));
+            pgdir[pde_idx] = 0;
+        }
+        start += PTSIZE;
+    } while (start != 0 && start < end);
+}
+/* copy_range - copy content of memory (start, end) of one process A to another process B
+ * @to:    the addr of process B's Page Directory
+ * @from:  the addr of process A's Page Directory
+ * @share: flags to indicate to dup OR share. We just use dup method, so it didn't be used.
+ *
+ * CALL GRAPH: copy_mm-->dup_mmap-->copy_range
+ */
+int
+copy_range(pde_t *to, pde_t *from, uintptr_t start, uintptr_t end, bool share) {
+    assert(start % PGSIZE == 0 && end % PGSIZE == 0);
+    assert(USER_ACCESS(start, end));
+    // copy content by page unit.
+    do {
+        //call get_pte to find process A's pte according to the addr start
+        pte_t *ptep = get_pte(from, start, 0), *nptep;
+        if (ptep == NULL) {
+            start = ROUNDDOWN(start + PTSIZE, PTSIZE);
+            continue ;
+        }
+        //call get_pte to find process B's pte according to the addr start. If pte is NULL, just alloc a PT
+        if (*ptep & PTE_P) {
+            if ((nptep = get_pte(to, start, 1)) == NULL) {
+                return -E_NO_MEM;
+            }
+        uint32_t perm = (*ptep & PTE_USER);
+        //get page from ptep
+        struct Page *page = pte2page(*ptep);
+        // alloc a page for process B
+        struct Page *npage=alloc_page();
+        assert(page!=NULL);
+        assert(npage!=NULL);
+        int ret=0;
+        /* LAB5:EXERCISE2 YOUR CODE
+         * replicate content of page to npage, build the map of phy addr of nage with the linear addr start
+         *
+         * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+         * MACROs or Functions:
+         *    page2kva(struct Page *page): return the kernel vritual addr of memory which page managed (SEE pmm.h)
+         *    page_insert: build the map of phy addr of an Page with the linear addr la
+         *    memcpy: typical memory copy function
+         *
+         * (1) find src_kvaddr: the kernel virtual address of page
+         * (2) find dst_kvaddr: the kernel virtual address of npage
+         * (3) memory copy from src_kvaddr to dst_kvaddr, size is PGSIZE
+         * (4) build the map of phy addr of  nage with the linear addr start
+         */
+        assert(ret == 0);
+        }
+        start += PGSIZE;
+    } while (start != 0 && start < end);
+    return 0;
+}
+
+//page_remove - free an Page which is related linear address la and has an validated pte
+void
+page_remove(pde_t *pgdir, uintptr_t la) {
+    pte_t *ptep = get_pte(pgdir, la, 0);
+    if (ptep != NULL) {
+        page_remove_pte(pgdir, la, ptep);
+    }
+}
+
+//page_insert - build the map of phy addr of an Page with the linear addr la
+// paramemters:
+//  pgdir: the kernel virtual base address of PDT
+//  page:  the Page which need to map
+//  la:    the linear address need to map
+//  perm:  the permission of this Page which is setted in related pte
+// return value: always 0
+//note: PT is changed, so the TLB need to be invalidate 
+int
+page_insert(pde_t *pgdir, struct Page *page, uintptr_t la, uint32_t perm) {
+    pte_t *ptep = get_pte(pgdir, la, 1);
+    if (ptep == NULL) {
+        return -E_NO_MEM;
+    }
+    page_ref_inc(page);
+    if (*ptep & PTE_P) {
+        struct Page *p = pte2page(*ptep);
+        if (p == page) {
+            page_ref_dec(page);
+        }
+        else {
+            page_remove_pte(pgdir, la, ptep);
+        }
+    }
+    *ptep = page2pa(page) | PTE_P | perm;
+    tlb_invalidate(pgdir, la);
+    return 0;
+}
+
+// invalidate a TLB entry, but only if the page tables being
+// edited are the ones currently in use by the processor.
+void
+tlb_invalidate(pde_t *pgdir, uintptr_t la) {
+    if (rcr3() == PADDR(pgdir)) {
+        invlpg((void *)la);
+    }
+}
+
+// pgdir_alloc_page - call alloc_page & page_insert functions to 
+//                  - allocate a page size memory & setup an addr map
+//                  - pa<->la with linear address la and the PDT pgdir
+struct Page *
+pgdir_alloc_page(pde_t *pgdir, uintptr_t la, uint32_t perm) {
+    struct Page *page = alloc_page();
+    if (page != NULL) {
+        if (page_insert(pgdir, page, la, perm) != 0) {
+            free_page(page);
+            return NULL;
+        }
+        if (swap_init_ok){
+            if(check_mm_struct!=NULL) {
+                swap_map_swappable(check_mm_struct, la, page, 0);
+                page->pra_vaddr=la;
+                assert(page_ref(page) == 1);
+                //cprintf("get No. %d  page: pra_vaddr %x, pra_link.prev %x, pra_link_next %x in pgdir_alloc_page\n", (page-pages), page->pra_vaddr,page->pra_page_link.prev, page->pra_page_link.next);
+            } 
+            else  {  //now current is existed, should fix it in the future
+                //swap_map_swappable(current->mm, la, page, 0);
+                //page->pra_vaddr=la;
+                //assert(page_ref(page) == 1);
+                //panic("pgdir_alloc_page: no pages. now current is existed, should fix it in the future\n");
+            }
+        }
+
+    }
+
+    return page;
+}
+
+static void
+check_alloc_page(void) {
+    pmm_manager->check();
+    cprintf("check_alloc_page() succeeded!\n");
+}
+
+static void
+check_pgdir(void) {
+    assert(npage <= KMEMSIZE / PGSIZE);
+    assert(boot_pgdir != NULL && (uint32_t)PGOFF(boot_pgdir) == 0);
+    assert(get_page(boot_pgdir, 0x0, NULL) == NULL);
+
+    struct Page *p1, *p2;
+    p1 = alloc_page();
+    assert(page_insert(boot_pgdir, p1, 0x0, 0) == 0);
+
+    pte_t *ptep;
+    assert((ptep = get_pte(boot_pgdir, 0x0, 0)) != NULL);
+    assert(pa2page(*ptep) == p1);
+    assert(page_ref(p1) == 1);
+
+    ptep = &((pte_t *)KADDR(PDE_ADDR(boot_pgdir[0])))[1];
+    assert(get_pte(boot_pgdir, PGSIZE, 0) == ptep);
+
+    p2 = alloc_page();
+    assert(page_insert(boot_pgdir, p2, PGSIZE, PTE_U | PTE_W) == 0);
+    assert((ptep = get_pte(boot_pgdir, PGSIZE, 0)) != NULL);
+    assert(*ptep & PTE_U);
+    assert(*ptep & PTE_W);
+    assert(boot_pgdir[0] & PTE_U);
+    assert(page_ref(p2) == 1);
+
+    assert(page_insert(boot_pgdir, p1, PGSIZE, 0) == 0);
+    assert(page_ref(p1) == 2);
+    assert(page_ref(p2) == 0);
+    assert((ptep = get_pte(boot_pgdir, PGSIZE, 0)) != NULL);
+    assert(pa2page(*ptep) == p1);
+    assert((*ptep & PTE_U) == 0);
+
+    page_remove(boot_pgdir, 0x0);
+    assert(page_ref(p1) == 1);
+    assert(page_ref(p2) == 0);
+
+    page_remove(boot_pgdir, PGSIZE);
+    assert(page_ref(p1) == 0);
+    assert(page_ref(p2) == 0);
+
+    assert(page_ref(pa2page(boot_pgdir[0])) == 1);
+    free_page(pa2page(boot_pgdir[0]));
+    boot_pgdir[0] = 0;
+
+    cprintf("check_pgdir() succeeded!\n");
+}
+
+static void
+check_boot_pgdir(void) {
+    pte_t *ptep;
+    int i;
+    for (i = 0; i < npage; i += PGSIZE) {
+        assert((ptep = get_pte(boot_pgdir, (uintptr_t)KADDR(i), 0)) != NULL);
+        assert(PTE_ADDR(*ptep) == i);
+    }
+
+    assert(PDE_ADDR(boot_pgdir[PDX(VPT)]) == PADDR(boot_pgdir));
+
+    assert(boot_pgdir[0] == 0);
+
+    struct Page *p;
+    p = alloc_page();
+    assert(page_insert(boot_pgdir, p, 0x100, PTE_W) == 0);
+    assert(page_ref(p) == 1);
+    assert(page_insert(boot_pgdir, p, 0x100 + PGSIZE, PTE_W) == 0);
+    assert(page_ref(p) == 2);
+
+    const char *str = "ucore: Hello world!!";
+    strcpy((void *)0x100, str);
+    assert(strcmp((void *)0x100, (void *)(0x100 + PGSIZE)) == 0);
+
+    *(char *)(page2kva(p) + 0x100) = '\0';
+    assert(strlen((const char *)0x100) == 0);
+
+    free_page(p);
+    free_page(pa2page(PDE_ADDR(boot_pgdir[0])));
+    boot_pgdir[0] = 0;
+
+    cprintf("check_boot_pgdir() succeeded!\n");
+}
+
+//perm2str - use string 'u,r,w,-' to present the permission
+static const char *
+perm2str(int perm) {
+    static char str[4];
+    str[0] = (perm & PTE_U) ? 'u' : '-';
+    str[1] = 'r';
+    str[2] = (perm & PTE_W) ? 'w' : '-';
+    str[3] = '\0';
+    return str;
+}
+
+//get_pgtable_items - In [left, right] range of PDT or PT, find a continuous linear addr space
+//                  - (left_store*X_SIZE~right_store*X_SIZE) for PDT or PT
+//                  - X_SIZE=PTSIZE=4M, if PDT; X_SIZE=PGSIZE=4K, if PT
+// paramemters:
+//  left:        no use ???
+//  right:       the high side of table's range
+//  start:       the low side of table's range
+//  table:       the beginning addr of table
+//  left_store:  the pointer of the high side of table's next range
+//  right_store: the pointer of the low side of table's next range
+// return value: 0 - not a invalid item range, perm - a valid item range with perm permission 
+static int
+get_pgtable_items(size_t left, size_t right, size_t start, uintptr_t *table, size_t *left_store, size_t *right_store) {
+    if (start >= right) {
+        return 0;
+    }
+    while (start < right && !(table[start] & PTE_P)) {
+        start ++;
+    }
+    if (start < right) {
+        if (left_store != NULL) {
+            *left_store = start;
+        }
+        int perm = (table[start ++] & PTE_USER);
+        while (start < right && (table[start] & PTE_USER) == perm) {
+            start ++;
+        }
+        if (right_store != NULL) {
+            *right_store = start;
+        }
+        return perm;
+    }
+    return 0;
+}
+
+//print_pgdir - print the PDT&PT
+void
+print_pgdir(void) {
+    cprintf("-------------------- BEGIN --------------------\n");
+    size_t left, right = 0, perm;
+    while ((perm = get_pgtable_items(0, NPDEENTRY, right, vpd, &left, &right)) != 0) {
+        cprintf("PDE(%03x) %08x-%08x %08x %s\n", right - left,
+                left * PTSIZE, right * PTSIZE, (right - left) * PTSIZE, perm2str(perm));
+        size_t l, r = left * NPTEENTRY;
+        while ((perm = get_pgtable_items(left * NPTEENTRY, right * NPTEENTRY, r, vpt, &l, &r)) != 0) {
+            cprintf("  |-- PTE(%05x) %08x-%08x %08x %s\n", r - l,
+                    l * PGSIZE, r * PGSIZE, (r - l) * PGSIZE, perm2str(perm));
+        }
+    }
+    cprintf("--------------------- END ---------------------\n");
+}
diff --git a/code/lab5/kern/mm/pmm.h b/code/lab5/kern/mm/pmm.h
new file mode 100644
index 0000000..1e229a7
--- /dev/null
+++ b/code/lab5/kern/mm/pmm.h
@@ -0,0 +1,145 @@
+#ifndef __KERN_MM_PMM_H__
+#define __KERN_MM_PMM_H__
+
+#include <defs.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <atomic.h>
+#include <assert.h>
+
+// pmm_manager is a physical memory management class. A special pmm manager - XXX_pmm_manager
+// only needs to implement the methods in pmm_manager class, then XXX_pmm_manager can be used
+// by ucore to manage the total physical memory space.
+struct pmm_manager {
+    const char *name;                                 // XXX_pmm_manager's name
+    void (*init)(void);                               // initialize internal description&management data structure
+                                                      // (free block list, number of free block) of XXX_pmm_manager 
+    void (*init_memmap)(struct Page *base, size_t n); // setup description&management data structcure according to
+                                                      // the initial free physical memory space 
+    struct Page *(*alloc_pages)(size_t n);            // allocate >=n pages, depend on the allocation algorithm 
+    void (*free_pages)(struct Page *base, size_t n);  // free >=n pages with "base" addr of Page descriptor structures(memlayout.h)
+    size_t (*nr_free_pages)(void);                    // return the number of free pages 
+    void (*check)(void);                              // check the correctness of XXX_pmm_manager 
+};
+
+extern const struct pmm_manager *pmm_manager;
+extern pde_t *boot_pgdir;
+extern uintptr_t boot_cr3;
+
+void pmm_init(void);
+
+struct Page *alloc_pages(size_t n);
+void free_pages(struct Page *base, size_t n);
+size_t nr_free_pages(void);
+
+#define alloc_page() alloc_pages(1)
+#define free_page(page) free_pages(page, 1)
+
+pte_t *get_pte(pde_t *pgdir, uintptr_t la, bool create);
+struct Page *get_page(pde_t *pgdir, uintptr_t la, pte_t **ptep_store);
+void page_remove(pde_t *pgdir, uintptr_t la);
+int page_insert(pde_t *pgdir, struct Page *page, uintptr_t la, uint32_t perm);
+
+void load_esp0(uintptr_t esp0);
+void tlb_invalidate(pde_t *pgdir, uintptr_t la);
+struct Page *pgdir_alloc_page(pde_t *pgdir, uintptr_t la, uint32_t perm);
+void unmap_range(pde_t *pgdir, uintptr_t start, uintptr_t end);
+void exit_range(pde_t *pgdir, uintptr_t start, uintptr_t end);
+int copy_range(pde_t *to, pde_t *from, uintptr_t start, uintptr_t end, bool share);
+
+void print_pgdir(void);
+
+/* *
+ * PADDR - takes a kernel virtual address (an address that points above KERNBASE),
+ * where the machine's maximum 256MB of physical memory is mapped and returns the
+ * corresponding physical address.  It panics if you pass it a non-kernel virtual address.
+ * */
+#define PADDR(kva) ({                                                   \
+            uintptr_t __m_kva = (uintptr_t)(kva);                       \
+            if (__m_kva < KERNBASE) {                                   \
+                panic("PADDR called with invalid kva %08lx", __m_kva);  \
+            }                                                           \
+            __m_kva - KERNBASE;                                         \
+        })
+
+/* *
+ * KADDR - takes a physical address and returns the corresponding kernel virtual
+ * address. It panics if you pass an invalid physical address.
+ * */
+#define KADDR(pa) ({                                                    \
+            uintptr_t __m_pa = (pa);                                    \
+            size_t __m_ppn = PPN(__m_pa);                               \
+            if (__m_ppn >= npage) {                                     \
+                panic("KADDR called with invalid pa %08lx", __m_pa);    \
+            }                                                           \
+            (void *) (__m_pa + KERNBASE);                               \
+        })
+
+extern struct Page *pages;
+extern size_t npage;
+
+static inline ppn_t
+page2ppn(struct Page *page) {
+    return page - pages;
+}
+
+static inline uintptr_t
+page2pa(struct Page *page) {
+    return page2ppn(page) << PGSHIFT;
+}
+
+static inline struct Page *
+pa2page(uintptr_t pa) {
+    if (PPN(pa) >= npage) {
+        panic("pa2page called with invalid pa");
+    }
+    return &pages[PPN(pa)];
+}
+
+static inline void *
+page2kva(struct Page *page) {
+    return KADDR(page2pa(page));
+}
+
+static inline struct Page *
+kva2page(void *kva) {
+    return pa2page(PADDR(kva));
+}
+
+static inline struct Page *
+pte2page(pte_t pte) {
+    if (!(pte & PTE_P)) {
+        panic("pte2page called with invalid pte");
+    }
+    return pa2page(PTE_ADDR(pte));
+}
+
+static inline struct Page *
+pde2page(pde_t pde) {
+    return pa2page(PDE_ADDR(pde));
+}
+
+static inline int
+page_ref(struct Page *page) {
+    return atomic_read(&(page->ref));
+}
+
+static inline void
+set_page_ref(struct Page *page, int val) {
+    atomic_set(&(page->ref), val);
+}
+
+static inline int
+page_ref_inc(struct Page *page) {
+    return atomic_add_return(&(page->ref), 1);
+}
+
+static inline int
+page_ref_dec(struct Page *page) {
+    return atomic_sub_return(&(page->ref), 1);
+}
+
+extern char bootstack[], bootstacktop[];
+
+#endif /* !__KERN_MM_PMM_H__ */
+
diff --git a/code/lab5/kern/mm/swap.c b/code/lab5/kern/mm/swap.c
new file mode 100644
index 0000000..281889d
--- /dev/null
+++ b/code/lab5/kern/mm/swap.c
@@ -0,0 +1,284 @@
+#include <swap.h>
+#include <swapfs.h>
+#include <swap_fifo.h>
+#include <stdio.h>
+#include <string.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <mmu.h>
+#include <default_pmm.h>
+#include <kdebug.h>
+
+// the valid vaddr for check is between 0~CHECK_VALID_VADDR-1
+#define CHECK_VALID_VIR_PAGE_NUM 5
+#define BEING_CHECK_VALID_VADDR 0X1000
+#define CHECK_VALID_VADDR (CHECK_VALID_VIR_PAGE_NUM+1)*0x1000
+// the max number of valid physical page for check
+#define CHECK_VALID_PHY_PAGE_NUM 4
+// the max access seq number
+#define MAX_SEQ_NO 10
+
+static struct swap_manager *sm;
+size_t max_swap_offset;
+
+volatile int swap_init_ok = 0;
+
+unsigned int swap_page[CHECK_VALID_VIR_PAGE_NUM];
+
+unsigned int swap_in_seq_no[MAX_SEQ_NO],swap_out_seq_no[MAX_SEQ_NO];
+
+static void check_swap(void);
+
+int
+swap_init(void)
+{
+     swapfs_init();
+
+     if (!(1024 <= max_swap_offset && max_swap_offset < MAX_SWAP_OFFSET_LIMIT))
+     {
+          panic("bad max_swap_offset %08x.\n", max_swap_offset);
+     }
+     
+
+     sm = &swap_manager_fifo;
+     int r = sm->init();
+     
+     if (r == 0)
+     {
+          swap_init_ok = 1;
+          cprintf("SWAP: manager = %s\n", sm->name);
+          check_swap();
+     }
+
+     return r;
+}
+
+int
+swap_init_mm(struct mm_struct *mm)
+{
+     return sm->init_mm(mm);
+}
+
+int
+swap_tick_event(struct mm_struct *mm)
+{
+     return sm->tick_event(mm);
+}
+
+int
+swap_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in)
+{
+     return sm->map_swappable(mm, addr, page, swap_in);
+}
+
+int
+swap_set_unswappable(struct mm_struct *mm, uintptr_t addr)
+{
+     return sm->set_unswappable(mm, addr);
+}
+
+volatile unsigned int swap_out_num=0;
+
+int
+swap_out(struct mm_struct *mm, int n, int in_tick)
+{
+     int i;
+     for (i = 0; i != n; ++ i)
+     {
+          uintptr_t v;
+          //struct Page **ptr_page=NULL;
+          struct Page *page;
+          // cprintf("i %d, SWAP: call swap_out_victim\n",i);
+          int r = sm->swap_out_victim(mm, &page, in_tick);
+          if (r != 0) {
+                    cprintf("i %d, swap_out: call swap_out_victim failed\n",i);
+                  break;
+          }          
+          //assert(!PageReserved(page));
+
+          //cprintf("SWAP: choose victim page 0x%08x\n", page);
+          
+          v=page->pra_vaddr; 
+          pte_t *ptep = get_pte(mm->pgdir, v, 0);
+          assert((*ptep & PTE_P) != 0);
+
+          if (swapfs_write( (page->pra_vaddr/PGSIZE+1)<<8, page) != 0) {
+                    cprintf("SWAP: failed to save\n");
+                    sm->map_swappable(mm, v, page, 0);
+                    continue;
+          }
+          else {
+                    cprintf("swap_out: i %d, store page in vaddr 0x%x to disk swap entry %d\n", i, v, page->pra_vaddr/PGSIZE+1);
+                    *ptep = (page->pra_vaddr/PGSIZE+1)<<8;
+                    free_page(page);
+          }
+          
+          tlb_invalidate(mm->pgdir, v);
+     }
+     return i;
+}
+
+int
+swap_in(struct mm_struct *mm, uintptr_t addr, struct Page **ptr_result)
+{
+     struct Page *result = alloc_page();
+     assert(result!=NULL);
+
+     pte_t *ptep = get_pte(mm->pgdir, addr, 0);
+     // cprintf("SWAP: load ptep %x swap entry %d to vaddr 0x%08x, page %x, No %d\n", ptep, (*ptep)>>8, addr, result, (result-pages));
+    
+     int r;
+     if ((r = swapfs_read((*ptep), result)) != 0)
+     {
+        assert(r!=0);
+     }
+     cprintf("swap_in: load disk swap entry %d with swap_page in vadr 0x%x\n", (*ptep)>>8, addr);
+     *ptr_result=result;
+     return 0;
+}
+
+
+
+static inline void
+check_content_set(void)
+{
+     *(unsigned char *)0x1000 = 0x0a;
+     assert(pgfault_num==1);
+     *(unsigned char *)0x1010 = 0x0a;
+     assert(pgfault_num==1);
+     *(unsigned char *)0x2000 = 0x0b;
+     assert(pgfault_num==2);
+     *(unsigned char *)0x2010 = 0x0b;
+     assert(pgfault_num==2);
+     *(unsigned char *)0x3000 = 0x0c;
+     assert(pgfault_num==3);
+     *(unsigned char *)0x3010 = 0x0c;
+     assert(pgfault_num==3);
+     *(unsigned char *)0x4000 = 0x0d;
+     assert(pgfault_num==4);
+     *(unsigned char *)0x4010 = 0x0d;
+     assert(pgfault_num==4);
+}
+
+static inline int
+check_content_access(void)
+{
+    int ret = sm->check_swap();
+    return ret;
+}
+
+struct Page * check_rp[CHECK_VALID_PHY_PAGE_NUM];
+pte_t * check_ptep[CHECK_VALID_PHY_PAGE_NUM];
+unsigned int check_swap_addr[CHECK_VALID_VIR_PAGE_NUM];
+
+extern free_area_t free_area;
+
+#define free_list (free_area.free_list)
+#define nr_free (free_area.nr_free)
+
+static void
+check_swap(void)
+{
+    //backup mem env
+     int ret, count = 0, total = 0, i;
+     list_entry_t *le = &free_list;
+     while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        //assert(PageProperty(p));
+        count ++, total += p->property;
+     }
+     assert(total == nr_free_pages());
+     cprintf("BEGIN check_swap: count %d, total %d\n",count,total);
+     
+     //now we set the phy pages env     
+     struct mm_struct *mm = mm_create();
+     assert(mm != NULL);
+
+     extern struct mm_struct *check_mm_struct;
+     assert(check_mm_struct == NULL);
+
+     check_mm_struct = mm;
+
+     pde_t *pgdir = mm->pgdir = boot_pgdir;
+     assert(pgdir[0] == 0);
+
+     struct vma_struct *vma = vma_create(BEING_CHECK_VALID_VADDR, CHECK_VALID_VADDR, VM_WRITE | VM_READ);
+     assert(vma != NULL);
+
+     insert_vma_struct(mm, vma);
+
+     //setup the temp Page Table vaddr 0~4MB
+     cprintf("setup Page Table for vaddr 0X1000, so alloc a page\n");
+     pte_t *temp_ptep=NULL;
+     temp_ptep = get_pte(mm->pgdir, BEING_CHECK_VALID_VADDR, 1);
+     assert(temp_ptep!= NULL);
+     cprintf("setup Page Table vaddr 0~4MB OVER!\n");
+     
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+          check_rp[i] = alloc_page();
+          assert(check_rp[i] != NULL );
+          assert(!PageProperty(check_rp[i]));
+     }
+     list_entry_t free_list_store = free_list;
+     list_init(&free_list);
+     assert(list_empty(&free_list));
+     
+     //assert(alloc_page() == NULL);
+     
+     unsigned int nr_free_store = nr_free;
+     nr_free = 0;
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+        free_pages(check_rp[i],1);
+     }
+     assert(nr_free==CHECK_VALID_PHY_PAGE_NUM);
+     
+     cprintf("set up init env for check_swap begin!\n");
+     //setup initial vir_page<->phy_page environment for page relpacement algorithm 
+
+     
+     pgfault_num=0;
+     
+     check_content_set();
+     assert( nr_free == 0);         
+     for(i = 0; i<MAX_SEQ_NO ; i++) 
+         swap_out_seq_no[i]=swap_in_seq_no[i]=-1;
+     
+     for (i= 0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+         check_ptep[i]=0;
+         check_ptep[i] = get_pte(pgdir, (i+1)*0x1000, 0);
+         //cprintf("i %d, check_ptep addr %x, value %x\n", i, check_ptep[i], *check_ptep[i]);
+         assert(check_ptep[i] != NULL);
+         assert(pte2page(*check_ptep[i]) == check_rp[i]);
+         assert((*check_ptep[i] & PTE_P));          
+     }
+     cprintf("set up init env for check_swap over!\n");
+     // now access the virt pages to test  page relpacement algorithm 
+     ret=check_content_access();
+     assert(ret==0);
+     
+     //restore kernel mem env
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+         free_pages(check_rp[i],1);
+     } 
+
+     //free_page(pte2page(*temp_ptep));
+    free_page(pa2page(pgdir[0]));
+     pgdir[0] = 0;
+     mm->pgdir = NULL;
+     mm_destroy(mm);
+     check_mm_struct = NULL;
+     
+     nr_free = nr_free_store;
+     free_list = free_list_store;
+
+     
+     le = &free_list;
+     while ((le = list_next(le)) != &free_list) {
+         struct Page *p = le2page(le, page_link);
+         count --, total -= p->property;
+     }
+         cprintf("count is %d, total is %d\n",count,total);
+     //assert(count == 0);
+     
+     cprintf("check_swap() succeeded!\n");
+}
diff --git a/code/lab5/kern/mm/swap.h b/code/lab5/kern/mm/swap.h
new file mode 100644
index 0000000..5d4aea8
--- /dev/null
+++ b/code/lab5/kern/mm/swap.h
@@ -0,0 +1,65 @@
+#ifndef __KERN_MM_SWAP_H__
+#define __KERN_MM_SWAP_H__
+
+#include <defs.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <vmm.h>
+
+/* *
+ * swap_entry_t
+ * --------------------------------------------
+ * |         offset        |   reserved   | 0 |
+ * --------------------------------------------
+ *           24 bits            7 bits    1 bit
+ * */
+
+#define MAX_SWAP_OFFSET_LIMIT                   (1 << 24)
+
+extern size_t max_swap_offset;
+
+/* *
+ * swap_offset - takes a swap_entry (saved in pte), and returns
+ * the corresponding offset in swap mem_map.
+ * */
+#define swap_offset(entry) ({                                       \
+               size_t __offset = (entry >> 8);                        \
+               if (!(__offset > 0 && __offset < max_swap_offset)) {    \
+                    panic("invalid swap_entry_t = %08x.\n", entry);    \
+               }                                                    \
+               __offset;                                            \
+          })
+
+struct swap_manager
+{
+     const char *name;
+     /* Global initialization for the swap manager */
+     int (*init)            (void);
+     /* Initialize the priv data inside mm_struct */
+     int (*init_mm)         (struct mm_struct *mm);
+     /* Called when tick interrupt occured */
+     int (*tick_event)      (struct mm_struct *mm);
+     /* Called when map a swappable page into the mm_struct */
+     int (*map_swappable)   (struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in);
+     /* When a page is marked as shared, this routine is called to
+      * delete the addr entry from the swap manager */
+     int (*set_unswappable) (struct mm_struct *mm, uintptr_t addr);
+     /* Try to swap out a page, return then victim */
+     int (*swap_out_victim) (struct mm_struct *mm, struct Page **ptr_page, int in_tick);
+     /* check the page relpacement algorithm */
+     int (*check_swap)(void);     
+};
+
+extern volatile int swap_init_ok;
+int swap_init(void);
+int swap_init_mm(struct mm_struct *mm);
+int swap_tick_event(struct mm_struct *mm);
+int swap_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in);
+int swap_set_unswappable(struct mm_struct *mm, uintptr_t addr);
+int swap_out(struct mm_struct *mm, int n, int in_tick);
+int swap_in(struct mm_struct *mm, uintptr_t addr, struct Page **ptr_result);
+
+//#define MEMBER_OFFSET(m,t) ((int)(&((t *)0)->m))
+//#define FROM_MEMBER(m,t,a) ((t *)((char *)(a) - MEMBER_OFFSET(m,t)))
+
+#endif
diff --git a/code/lab5/kern/mm/swap_fifo.c b/code/lab5/kern/mm/swap_fifo.c
new file mode 100644
index 0000000..4cb00c1
--- /dev/null
+++ b/code/lab5/kern/mm/swap_fifo.c
@@ -0,0 +1,136 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <swap.h>
+#include <swap_fifo.h>
+#include <list.h>
+
+/* [wikipedia]The simplest Page Replacement Algorithm(PRA) is a FIFO algorithm. The first-in, first-out
+ * page replacement algorithm is a low-overhead algorithm that requires little book-keeping on
+ * the part of the operating system. The idea is obvious from the name - the operating system
+ * keeps track of all the pages in memory in a queue, with the most recent arrival at the back,
+ * and the earliest arrival in front. When a page needs to be replaced, the page at the front
+ * of the queue (the oldest page) is selected. While FIFO is cheap and intuitive, it performs
+ * poorly in practical application. Thus, it is rarely used in its unmodified form. This
+ * algorithm experiences Belady's anomaly.
+ *
+ * Details of FIFO PRA
+ * (1) Prepare: In order to implement FIFO PRA, we should manage all swappable pages, so we can
+ *              link these pages into pra_list_head according the time order. At first you should
+ *              be familiar to the struct list in list.h. struct list is a simple doubly linked list
+ *              implementation. You should know howto USE: list_init, list_add(list_add_after),
+ *              list_add_before, list_del, list_next, list_prev. Another tricky method is to transform
+ *              a general list struct to a special struct (such as struct page). You can find some MACRO:
+ *              le2page (in memlayout.h), (in future labs: le2vma (in vmm.h), le2proc (in proc.h),etc.
+ */
+
+list_entry_t pra_list_head;
+/*
+ * (2) _fifo_init_mm: init pra_list_head and let  mm->sm_priv point to the addr of pra_list_head.
+ *              Now, From the memory control struct mm_struct, we can access FIFO PRA
+ */
+static int
+_fifo_init_mm(struct mm_struct *mm)
+{     
+     list_init(&pra_list_head);
+     mm->sm_priv = &pra_list_head;
+     //cprintf(" mm->sm_priv %x in fifo_init_mm\n",mm->sm_priv);
+     return 0;
+}
+/*
+ * (3)_fifo_map_swappable: According FIFO PRA, we should link the most recent arrival page at the back of pra_list_head qeueue
+ */
+static int
+_fifo_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in)
+{
+    list_entry_t *head=(list_entry_t*) mm->sm_priv;
+    list_entry_t *entry=&(page->pra_page_link);
+ 
+    assert(entry != NULL && head != NULL);
+    //record the page access situlation
+    /*LAB3 EXERCISE 2: YOUR CODE*/ 
+    //(1)link the most recent arrival page at the back of the pra_list_head qeueue.
+    return 0;
+}
+/*
+ *  (4)_fifo_swap_out_victim: According FIFO PRA, we should unlink the  earliest arrival page in front of pra_list_head qeueue,
+ *                            then set the addr of addr of this page to ptr_page.
+ */
+static int
+_fifo_swap_out_victim(struct mm_struct *mm, struct Page ** ptr_page, int in_tick)
+{
+     list_entry_t *head=(list_entry_t*) mm->sm_priv;
+         assert(head != NULL);
+     assert(in_tick==0);
+     /* Select the victim */
+     /*LAB3 EXERCISE 2: YOUR CODE*/ 
+     //(1)  unlink the  earliest arrival page in front of pra_list_head qeueue
+     //(2)  set the addr of addr of this page to ptr_page
+     return 0;
+}
+
+static int
+_fifo_check_swap(void) {
+    cprintf("write Virt Page c in fifo_check_swap\n");
+    *(unsigned char *)0x3000 = 0x0c;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page a in fifo_check_swap\n");
+    *(unsigned char *)0x1000 = 0x0a;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page d in fifo_check_swap\n");
+    *(unsigned char *)0x4000 = 0x0d;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page e in fifo_check_swap\n");
+    *(unsigned char *)0x5000 = 0x0e;
+    assert(pgfault_num==5);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==5);
+    cprintf("write Virt Page a in fifo_check_swap\n");
+    *(unsigned char *)0x1000 = 0x0a;
+    assert(pgfault_num==6);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==7);
+    cprintf("write Virt Page c in fifo_check_swap\n");
+    *(unsigned char *)0x3000 = 0x0c;
+    assert(pgfault_num==8);
+    cprintf("write Virt Page d in fifo_check_swap\n");
+    *(unsigned char *)0x4000 = 0x0d;
+    assert(pgfault_num==9);
+    return 0;
+}
+
+
+static int
+_fifo_init(void)
+{
+    return 0;
+}
+
+static int
+_fifo_set_unswappable(struct mm_struct *mm, uintptr_t addr)
+{
+    return 0;
+}
+
+static int
+_fifo_tick_event(struct mm_struct *mm)
+{ return 0; }
+
+
+struct swap_manager swap_manager_fifo =
+{
+     .name            = "fifo swap manager",
+     .init            = &_fifo_init,
+     .init_mm         = &_fifo_init_mm,
+     .tick_event      = &_fifo_tick_event,
+     .map_swappable   = &_fifo_map_swappable,
+     .set_unswappable = &_fifo_set_unswappable,
+     .swap_out_victim = &_fifo_swap_out_victim,
+     .check_swap      = &_fifo_check_swap,
+};
diff --git a/code/lab5/kern/mm/swap_fifo.h b/code/lab5/kern/mm/swap_fifo.h
new file mode 100644
index 0000000..1d74269
--- /dev/null
+++ b/code/lab5/kern/mm/swap_fifo.h
@@ -0,0 +1,7 @@
+#ifndef __KERN_MM_SWAP_FIFO_H__
+#define __KERN_MM_SWAP_FIFO_H__
+
+#include <swap.h>
+extern struct swap_manager swap_manager_fifo;
+
+#endif
diff --git a/code/lab5/kern/mm/vmm.c b/code/lab5/kern/mm/vmm.c
new file mode 100644
index 0000000..8051479
--- /dev/null
+++ b/code/lab5/kern/mm/vmm.c
@@ -0,0 +1,508 @@
+#include <vmm.h>
+#include <sync.h>
+#include <string.h>
+#include <assert.h>
+#include <stdio.h>
+#include <error.h>
+#include <pmm.h>
+#include <x86.h>
+#include <swap.h>
+#include <kmalloc.h>
+
+/* 
+  vmm design include two parts: mm_struct (mm) & vma_struct (vma)
+  mm is the memory manager for the set of continuous virtual memory  
+  area which have the same PDT. vma is a continuous virtual memory area.
+  There a linear link list for vma & a redblack link list for vma in mm.
+---------------
+  mm related functions:
+   golbal functions
+     struct mm_struct * mm_create(void)
+     void mm_destroy(struct mm_struct *mm)
+     int do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr)
+--------------
+  vma related functions:
+   global functions
+     struct vma_struct * vma_create (uintptr_t vm_start, uintptr_t vm_end,...)
+     void insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma)
+     struct vma_struct * find_vma(struct mm_struct *mm, uintptr_t addr)
+   local functions
+     inline void check_vma_overlap(struct vma_struct *prev, struct vma_struct *next)
+---------------
+   check correctness functions
+     void check_vmm(void);
+     void check_vma_struct(void);
+     void check_pgfault(void);
+*/
+
+static void check_vmm(void);
+static void check_vma_struct(void);
+static void check_pgfault(void);
+
+// mm_create -  alloc a mm_struct & initialize it.
+struct mm_struct *
+mm_create(void) {
+    struct mm_struct *mm = kmalloc(sizeof(struct mm_struct));
+
+    if (mm != NULL) {
+        list_init(&(mm->mmap_list));
+        mm->mmap_cache = NULL;
+        mm->pgdir = NULL;
+        mm->map_count = 0;
+
+        if (swap_init_ok) swap_init_mm(mm);
+        else mm->sm_priv = NULL;
+        
+        set_mm_count(mm, 0);
+        lock_init(&(mm->mm_lock));
+    }    
+    return mm;
+}
+
+// vma_create - alloc a vma_struct & initialize it. (addr range: vm_start~vm_end)
+struct vma_struct *
+vma_create(uintptr_t vm_start, uintptr_t vm_end, uint32_t vm_flags) {
+    struct vma_struct *vma = kmalloc(sizeof(struct vma_struct));
+
+    if (vma != NULL) {
+        vma->vm_start = vm_start;
+        vma->vm_end = vm_end;
+        vma->vm_flags = vm_flags;
+    }
+    return vma;
+}
+
+
+// find_vma - find a vma  (vma->vm_start <= addr <= vma_vm_end)
+struct vma_struct *
+find_vma(struct mm_struct *mm, uintptr_t addr) {
+    struct vma_struct *vma = NULL;
+    if (mm != NULL) {
+        vma = mm->mmap_cache;
+        if (!(vma != NULL && vma->vm_start <= addr && vma->vm_end > addr)) {
+                bool found = 0;
+                list_entry_t *list = &(mm->mmap_list), *le = list;
+                while ((le = list_next(le)) != list) {
+                    vma = le2vma(le, list_link);
+                    if (addr < vma->vm_end) {
+                        found = 1;
+                        break;
+                    }
+                }
+                if (!found) {
+                    vma = NULL;
+                }
+        }
+        if (vma != NULL) {
+            mm->mmap_cache = vma;
+        }
+    }
+    return vma;
+}
+
+
+// check_vma_overlap - check if vma1 overlaps vma2 ?
+static inline void
+check_vma_overlap(struct vma_struct *prev, struct vma_struct *next) {
+    assert(prev->vm_start < prev->vm_end);
+    assert(prev->vm_end <= next->vm_start);
+    assert(next->vm_start < next->vm_end);
+}
+
+
+// insert_vma_struct -insert vma in mm's list link
+void
+insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma) {
+    assert(vma->vm_start < vma->vm_end);
+    list_entry_t *list = &(mm->mmap_list);
+    list_entry_t *le_prev = list, *le_next;
+
+        list_entry_t *le = list;
+        while ((le = list_next(le)) != list) {
+            struct vma_struct *mmap_prev = le2vma(le, list_link);
+            if (mmap_prev->vm_start > vma->vm_start) {
+                break;
+            }
+            le_prev = le;
+        }
+
+    le_next = list_next(le_prev);
+
+    /* check overlap */
+    if (le_prev != list) {
+        check_vma_overlap(le2vma(le_prev, list_link), vma);
+    }
+    if (le_next != list) {
+        check_vma_overlap(vma, le2vma(le_next, list_link));
+    }
+
+    vma->vm_mm = mm;
+    list_add_after(le_prev, &(vma->list_link));
+
+    mm->map_count ++;
+}
+
+// mm_destroy - free mm and mm internal fields
+void
+mm_destroy(struct mm_struct *mm) {
+    assert(mm_count(mm) == 0);
+
+    list_entry_t *list = &(mm->mmap_list), *le;
+    while ((le = list_next(list)) != list) {
+        list_del(le);
+        kfree(le2vma(le, list_link));  //kfree vma        
+    }
+    kfree(mm); //kfree mm
+    mm=NULL;
+}
+
+int
+mm_map(struct mm_struct *mm, uintptr_t addr, size_t len, uint32_t vm_flags,
+       struct vma_struct **vma_store) {
+    uintptr_t start = ROUNDDOWN(addr, PGSIZE), end = ROUNDUP(addr + len, PGSIZE);
+    if (!USER_ACCESS(start, end)) {
+        return -E_INVAL;
+    }
+
+    assert(mm != NULL);
+
+    int ret = -E_INVAL;
+
+    struct vma_struct *vma;
+    if ((vma = find_vma(mm, start)) != NULL && end > vma->vm_start) {
+        goto out;
+    }
+    ret = -E_NO_MEM;
+
+    if ((vma = vma_create(start, end, vm_flags)) == NULL) {
+        goto out;
+    }
+    insert_vma_struct(mm, vma);
+    if (vma_store != NULL) {
+        *vma_store = vma;
+    }
+    ret = 0;
+
+out:
+    return ret;
+}
+
+int
+dup_mmap(struct mm_struct *to, struct mm_struct *from) {
+    assert(to != NULL && from != NULL);
+    list_entry_t *list = &(from->mmap_list), *le = list;
+    while ((le = list_prev(le)) != list) {
+        struct vma_struct *vma, *nvma;
+        vma = le2vma(le, list_link);
+        nvma = vma_create(vma->vm_start, vma->vm_end, vma->vm_flags);
+        if (nvma == NULL) {
+            return -E_NO_MEM;
+        }
+
+        insert_vma_struct(to, nvma);
+
+        bool share = 0;
+        if (copy_range(to->pgdir, from->pgdir, vma->vm_start, vma->vm_end, share) != 0) {
+            return -E_NO_MEM;
+        }
+    }
+    return 0;
+}
+
+void
+exit_mmap(struct mm_struct *mm) {
+    assert(mm != NULL && mm_count(mm) == 0);
+    pde_t *pgdir = mm->pgdir;
+    list_entry_t *list = &(mm->mmap_list), *le = list;
+    while ((le = list_next(le)) != list) {
+        struct vma_struct *vma = le2vma(le, list_link);
+        unmap_range(pgdir, vma->vm_start, vma->vm_end);
+    }
+    while ((le = list_next(le)) != list) {
+        struct vma_struct *vma = le2vma(le, list_link);
+        exit_range(pgdir, vma->vm_start, vma->vm_end);
+    }
+}
+
+bool
+copy_from_user(struct mm_struct *mm, void *dst, const void *src, size_t len, bool writable) {
+    if (!user_mem_check(mm, (uintptr_t)src, len, writable)) {
+        return 0;
+    }
+    memcpy(dst, src, len);
+    return 1;
+}
+
+bool
+copy_to_user(struct mm_struct *mm, void *dst, const void *src, size_t len) {
+    if (!user_mem_check(mm, (uintptr_t)dst, len, 1)) {
+        return 0;
+    }
+    memcpy(dst, src, len);
+    return 1;
+}
+
+// vmm_init - initialize virtual memory management
+//          - now just call check_vmm to check correctness of vmm
+void
+vmm_init(void) {
+    check_vmm();
+}
+
+// check_vmm - check correctness of vmm
+static void
+check_vmm(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+    
+    check_vma_struct();
+    check_pgfault();
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_vmm() succeeded.\n");
+}
+
+static void
+check_vma_struct(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+
+    struct mm_struct *mm = mm_create();
+    assert(mm != NULL);
+
+    int step1 = 10, step2 = step1 * 10;
+
+    int i;
+    for (i = step1; i >= 0; i --) {
+        struct vma_struct *vma = vma_create(i * 5, i * 5 + 2, 0);
+        assert(vma != NULL);
+        insert_vma_struct(mm, vma);
+    }
+
+    for (i = step1 + 1; i <= step2; i ++) {
+        struct vma_struct *vma = vma_create(i * 5, i * 5 + 2, 0);
+        assert(vma != NULL);
+        insert_vma_struct(mm, vma);
+    }
+
+    list_entry_t *le = list_next(&(mm->mmap_list));
+
+    for (i = 0; i <= step2; i ++) {
+        assert(le != &(mm->mmap_list));
+        struct vma_struct *mmap = le2vma(le, list_link);
+        assert(mmap->vm_start == i * 5 && mmap->vm_end == i * 5 + 2);
+        le = list_next(le);
+    }
+
+    for (i = 0; i < 5 * step2 + 2; i ++) {
+        struct vma_struct *vma = find_vma(mm, i);
+        assert(vma != NULL);
+        int j = i / 5;
+        if (i >= 5 * j + 2) {
+            j ++;
+        }
+        assert(vma->vm_start == j * 5 && vma->vm_end == j * 5 + 2);
+    }
+
+    mm_destroy(mm);
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_vma_struct() succeeded!\n");
+}
+
+struct mm_struct *check_mm_struct;
+
+// check_pgfault - check correctness of pgfault handler
+static void
+check_pgfault(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+
+    check_mm_struct = mm_create();
+    assert(check_mm_struct != NULL);
+
+    struct mm_struct *mm = check_mm_struct;
+    pde_t *pgdir = mm->pgdir = boot_pgdir;
+    assert(pgdir[0] == 0);
+
+    struct vma_struct *vma = vma_create(0, PTSIZE, VM_WRITE);
+    assert(vma != NULL);
+
+    insert_vma_struct(mm, vma);
+
+    uintptr_t addr = 0x100;
+    assert(find_vma(mm, addr) == vma);
+
+    int i, sum = 0;
+    for (i = 0; i < 100; i ++) {
+        *(char *)(addr + i) = i;
+        sum += i;
+    }
+    for (i = 0; i < 100; i ++) {
+        sum -= *(char *)(addr + i);
+    }
+    assert(sum == 0);
+
+    page_remove(pgdir, ROUNDDOWN(addr, PGSIZE));
+    free_page(pa2page(pgdir[0]));
+    pgdir[0] = 0;
+
+    mm->pgdir = NULL;
+    mm_destroy(mm);
+    check_mm_struct = NULL;
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_pgfault() succeeded!\n");
+}
+//page fault number
+volatile unsigned int pgfault_num=0;
+
+/* do_pgfault - interrupt handler to process the page fault execption
+ * @mm         : the control struct for a set of vma using the same PDT
+ * @error_code : the error code recorded in trapframe->tf_err which is setted by x86 hardware
+ * @addr       : the addr which causes a memory access exception, (the contents of the CR2 register)
+ *
+ * CALL GRAPH: trap--> trap_dispatch-->pgfault_handler-->do_pgfault
+ * The processor provides ucore's do_pgfault function with two items of information to aid in diagnosing
+ * the exception and recovering from it.
+ *   (1) The contents of the CR2 register. The processor loads the CR2 register with the
+ *       32-bit linear address that generated the exception. The do_pgfault fun can
+ *       use this address to locate the corresponding page directory and page-table
+ *       entries.
+ *   (2) An error code on the kernel stack. The error code for a page fault has a format different from
+ *       that for other exceptions. The error code tells the exception handler three things:
+ *         -- The P flag   (bit 0) indicates whether the exception was due to a not-present page (0)
+ *            or to either an access rights violation or the use of a reserved bit (1).
+ *         -- The W/R flag (bit 1) indicates whether the memory access that caused the exception
+ *            was a read (0) or write (1).
+ *         -- The U/S flag (bit 2) indicates whether the processor was executing at user mode (1)
+ *            or supervisor mode (0) at the time of the exception.
+ */
+int
+do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr) {
+    int ret = -E_INVAL;
+    //try to find a vma which include addr
+    struct vma_struct *vma = find_vma(mm, addr);
+
+    pgfault_num++;
+    //If the addr is in the range of a mm's vma?
+    if (vma == NULL || vma->vm_start > addr) {
+        cprintf("not valid addr %x, and  can not find it in vma\n", addr);
+        goto failed;
+    }
+    //check the error_code
+    switch (error_code & 3) {
+    default:
+            /* error code flag : default is 3 ( W/R=1, P=1): write, present */
+    case 2: /* error code flag : (W/R=1, P=0): write, not present */
+        if (!(vma->vm_flags & VM_WRITE)) {
+            cprintf("do_pgfault failed: error code flag = write AND not present, but the addr's vma cannot write\n");
+            goto failed;
+        }
+        break;
+    case 1: /* error code flag : (W/R=0, P=1): read, present */
+        cprintf("do_pgfault failed: error code flag = read AND present\n");
+        goto failed;
+    case 0: /* error code flag : (W/R=0, P=0): read, not present */
+        if (!(vma->vm_flags & (VM_READ | VM_EXEC))) {
+            cprintf("do_pgfault failed: error code flag = read AND not present, but the addr's vma cannot read or exec\n");
+            goto failed;
+        }
+    }
+    /* IF (write an existed addr ) OR
+     *    (write an non_existed addr && addr is writable) OR
+     *    (read  an non_existed addr && addr is readable)
+     * THEN
+     *    continue process
+     */
+    uint32_t perm = PTE_U;
+    if (vma->vm_flags & VM_WRITE) {
+        perm |= PTE_W;
+    }
+    addr = ROUNDDOWN(addr, PGSIZE);
+
+    ret = -E_NO_MEM;
+
+    pte_t *ptep=NULL;
+    /*LAB3 EXERCISE 1: YOUR CODE
+    * Maybe you want help comment, BELOW comments can help you finish the code
+    *
+    * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+    * MACROs or Functions:
+    *   get_pte : get an pte and return the kernel virtual address of this pte for la
+    *             if the PT contians this pte didn't exist, alloc a page for PT (notice the 3th parameter '1')
+    *   pgdir_alloc_page : call alloc_page & page_insert functions to allocate a page size memory & setup
+    *             an addr map pa<--->la with linear address la and the PDT pgdir
+    * DEFINES:
+    *   VM_WRITE  : If vma->vm_flags & VM_WRITE == 1/0, then the vma is writable/non writable
+    *   PTE_W           0x002                   // page table/directory entry flags bit : Writeable
+    *   PTE_U           0x004                   // page table/directory entry flags bit : User can access
+    * VARIABLES:
+    *   mm->pgdir : the PDT of these vma
+    *
+    */
+#if 0
+    /*LAB3 EXERCISE 1: YOUR CODE*/
+    ptep = ???              //(1) try to find a pte, if pte's PT(Page Table) isn't existed, then create a PT.
+    if (*ptep == 0) {
+                            //(2) if the phy addr isn't exist, then alloc a page & map the phy addr with logical addr
+
+    }
+    else {
+    /*LAB3 EXERCISE 2: YOUR CODE
+    * Now we think this pte is a  swap entry, we should load data from disk to a page with phy addr,
+    * and map the phy addr with logical addr, trigger swap manager to record the access situation of this page.
+    *
+    *  Some Useful MACROs and DEFINEs, you can use them in below implementation.
+    *  MACROs or Functions:
+    *    swap_in(mm, addr, &page) : alloc a memory page, then according to the swap entry in PTE for addr,
+    *                               find the addr of disk page, read the content of disk page into this memroy page
+    *    page_insert : build the map of phy addr of an Page with the linear addr la
+    *    swap_map_swappable : set the page swappable
+    */
+        if(swap_init_ok) {
+            struct Page *page=NULL;
+                                    //(1)According to the mm AND addr, try to load the content of right disk page
+                                    //    into the memory which page managed.
+                                    //(2) According to the mm, addr AND page, setup the map of phy addr <---> logical addr
+                                    //(3) make the page swappable.
+                                    //(4) [NOTICE]: you myabe need to update your lab3's implementation for LAB5's normal execution.
+        }
+        else {
+            cprintf("no swap_init_ok but ptep is %x, failed\n",*ptep);
+            goto failed;
+        }
+   }
+#endif
+   ret = 0;
+failed:
+    return ret;
+}
+
+bool
+user_mem_check(struct mm_struct *mm, uintptr_t addr, size_t len, bool write) {
+    if (mm != NULL) {
+        if (!USER_ACCESS(addr, addr + len)) {
+            return 0;
+        }
+        struct vma_struct *vma;
+        uintptr_t start = addr, end = addr + len;
+        while (start < end) {
+            if ((vma = find_vma(mm, start)) == NULL || start < vma->vm_start) {
+                return 0;
+            }
+            if (!(vma->vm_flags & ((write) ? VM_WRITE : VM_READ))) {
+                return 0;
+            }
+            if (write && (vma->vm_flags & VM_STACK)) {
+                if (start < vma->vm_start + PGSIZE) { //check stack start & size
+                    return 0;
+                }
+            }
+            start = vma->vm_end;
+        }
+        return 1;
+    }
+    return KERN_ACCESS(addr, addr + len);
+}
+
diff --git a/code/lab5/kern/mm/vmm.h b/code/lab5/kern/mm/vmm.h
new file mode 100644
index 0000000..b2abfdd
--- /dev/null
+++ b/code/lab5/kern/mm/vmm.h
@@ -0,0 +1,100 @@
+#ifndef __KERN_MM_VMM_H__
+#define __KERN_MM_VMM_H__
+
+#include <defs.h>
+#include <list.h>
+#include <memlayout.h>
+#include <sync.h>
+
+//pre define
+struct mm_struct;
+
+// the virtual continuous memory area(vma)
+struct vma_struct {
+    struct mm_struct *vm_mm; // the set of vma using the same PDT 
+    uintptr_t vm_start;      //    start addr of vma    
+    uintptr_t vm_end;        // end addr of vma
+    uint32_t vm_flags;       // flags of vma
+    list_entry_t list_link;  // linear list link which sorted by start addr of vma
+};
+
+#define le2vma(le, member)                  \
+    to_struct((le), struct vma_struct, member)
+
+#define VM_READ                 0x00000001
+#define VM_WRITE                0x00000002
+#define VM_EXEC                 0x00000004
+#define VM_STACK                0x00000008
+
+// the control struct for a set of vma using the same PDT
+struct mm_struct {
+    list_entry_t mmap_list;        // linear list link which sorted by start addr of vma
+    struct vma_struct *mmap_cache; // current accessed vma, used for speed purpose
+    pde_t *pgdir;                  // the PDT of these vma
+    int map_count;                 // the count of these vma
+    void *sm_priv;                 // the private data for swap manager
+    atomic_t mm_count;             // the number ofprocess which shared the mm
+    lock_t mm_lock;                // mutex for using dup_mmap fun to duplicat the mm
+};
+
+struct vma_struct *find_vma(struct mm_struct *mm, uintptr_t addr);
+struct vma_struct *vma_create(uintptr_t vm_start, uintptr_t vm_end, uint32_t vm_flags);
+void insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma);
+
+struct mm_struct *mm_create(void);
+void mm_destroy(struct mm_struct *mm);
+
+void vmm_init(void);
+int mm_map(struct mm_struct *mm, uintptr_t addr, size_t len, uint32_t vm_flags,
+           struct vma_struct **vma_store);
+int do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr);
+
+int mm_unmap(struct mm_struct *mm, uintptr_t addr, size_t len);
+int dup_mmap(struct mm_struct *to, struct mm_struct *from);
+void exit_mmap(struct mm_struct *mm);
+uintptr_t get_unmapped_area(struct mm_struct *mm, size_t len);
+int mm_brk(struct mm_struct *mm, uintptr_t addr, size_t len);
+
+extern volatile unsigned int pgfault_num;
+extern struct mm_struct *check_mm_struct;
+
+bool user_mem_check(struct mm_struct *mm, uintptr_t start, size_t len, bool write);
+bool copy_from_user(struct mm_struct *mm, void *dst, const void *src, size_t len, bool writable);
+bool copy_to_user(struct mm_struct *mm, void *dst, const void *src, size_t len);
+
+static inline int
+mm_count(struct mm_struct *mm) {
+    return atomic_read(&(mm->mm_count));
+}
+
+static inline void
+set_mm_count(struct mm_struct *mm, int val) {
+    atomic_set(&(mm->mm_count), val);
+}
+
+static inline int
+mm_count_inc(struct mm_struct *mm) {
+    return atomic_add_return(&(mm->mm_count), 1);
+}
+
+static inline int
+mm_count_dec(struct mm_struct *mm) {
+    return atomic_sub_return(&(mm->mm_count), 1);
+}
+
+static inline void
+lock_mm(struct mm_struct *mm) {
+    if (mm != NULL) {
+        lock(&(mm->mm_lock));
+    }
+}
+
+static inline void
+unlock_mm(struct mm_struct *mm) {
+    if (mm != NULL) {
+        unlock(&(mm->mm_lock));
+    }
+}
+
+#endif /* !__KERN_MM_VMM_H__ */
+
diff --git a/code/lab5/kern/process/entry.S b/code/lab5/kern/process/entry.S
new file mode 100644
index 0000000..7482e23
--- /dev/null
+++ b/code/lab5/kern/process/entry.S
@@ -0,0 +1,10 @@
+.text
+.globl kernel_thread_entry
+kernel_thread_entry:        # void kernel_thread(void)
+
+    pushl %edx              # push arg
+    call *%ebx              # call fn
+
+    pushl %eax              # save the return value of fn(arg)
+    call do_exit            # call do_exit to terminate current thread
+
diff --git a/code/lab5/kern/process/proc.c b/code/lab5/kern/process/proc.c
new file mode 100644
index 0000000..fb59893
--- /dev/null
+++ b/code/lab5/kern/process/proc.c
@@ -0,0 +1,841 @@
+#include <proc.h>
+#include <kmalloc.h>
+#include <string.h>
+#include <sync.h>
+#include <pmm.h>
+#include <error.h>
+#include <sched.h>
+#include <elf.h>
+#include <vmm.h>
+#include <trap.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <unistd.h>
+
+/* ------------- process/thread mechanism design&implementation -------------
+(an simplified Linux process/thread mechanism )
+introduction:
+  ucore implements a simple process/thread mechanism. process contains the independent memory sapce, at least one threads
+for execution, the kernel data(for management), processor state (for context switch), files(in lab6), etc. ucore needs to
+manage all these details efficiently. In ucore, a thread is just a special kind of process(share process's memory).
+------------------------------
+process state       :     meaning               -- reason
+    PROC_UNINIT     :   uninitialized           -- alloc_proc
+    PROC_SLEEPING   :   sleeping                -- try_free_pages, do_wait, do_sleep
+    PROC_RUNNABLE   :   runnable(maybe running) -- proc_init, wakeup_proc, 
+    PROC_ZOMBIE     :   almost dead             -- do_exit
+
+-----------------------------
+process state changing:
+                                            
+  alloc_proc                                 RUNNING
+      +                                   +--<----<--+
+      +                                   + proc_run +
+      V                                   +-->---->--+ 
+PROC_UNINIT -- proc_init/wakeup_proc --> PROC_RUNNABLE -- try_free_pages/do_wait/do_sleep --> PROC_SLEEPING --
+                                           A      +                                                           +
+                                           |      +--- do_exit --> PROC_ZOMBIE                                +
+                                           +                                                                  + 
+                                           -----------------------wakeup_proc----------------------------------
+-----------------------------
+process relations
+parent:           proc->parent  (proc is children)
+children:         proc->cptr    (proc is parent)
+older sibling:    proc->optr    (proc is younger sibling)
+younger sibling:  proc->yptr    (proc is older sibling)
+-----------------------------
+related syscall for process:
+SYS_exit        : process exit,                           -->do_exit
+SYS_fork        : create child process, dup mm            -->do_fork-->wakeup_proc
+SYS_wait        : wait process                            -->do_wait
+SYS_exec        : after fork, process execute a program   -->load a program and refresh the mm
+SYS_clone       : create child thread                     -->do_fork-->wakeup_proc
+SYS_yield       : process flag itself need resecheduling, -- proc->need_sched=1, then scheduler will rescheule this process
+SYS_sleep       : process sleep                           -->do_sleep 
+SYS_kill        : kill process                            -->do_kill-->proc->flags |= PF_EXITING
+                                                                 -->wakeup_proc-->do_wait-->do_exit   
+SYS_getpid      : get the process's pid
+
+*/
+
+// the process set's list
+list_entry_t proc_list;
+
+#define HASH_SHIFT          10
+#define HASH_LIST_SIZE      (1 << HASH_SHIFT)
+#define pid_hashfn(x)       (hash32(x, HASH_SHIFT))
+
+// has list for process set based on pid
+static list_entry_t hash_list[HASH_LIST_SIZE];
+
+// idle proc
+struct proc_struct *idleproc = NULL;
+// init proc
+struct proc_struct *initproc = NULL;
+// current proc
+struct proc_struct *current = NULL;
+
+static int nr_process = 0;
+
+void kernel_thread_entry(void);
+void forkrets(struct trapframe *tf);
+void switch_to(struct context *from, struct context *to);
+
+// alloc_proc - alloc a proc_struct and init all fields of proc_struct
+static struct proc_struct *
+alloc_proc(void) {
+    struct proc_struct *proc = kmalloc(sizeof(struct proc_struct));
+    if (proc != NULL) {
+    //LAB4:EXERCISE1 YOUR CODE
+    /*
+     * below fields in proc_struct need to be initialized
+     *       enum proc_state state;                      // Process state
+     *       int pid;                                    // Process ID
+     *       int runs;                                   // the running times of Proces
+     *       uintptr_t kstack;                           // Process kernel stack
+     *       volatile bool need_resched;                 // bool value: need to be rescheduled to release CPU?
+     *       struct proc_struct *parent;                 // the parent process
+     *       struct mm_struct *mm;                       // Process's memory management field
+     *       struct context context;                     // Switch here to run process
+     *       struct trapframe *tf;                       // Trap frame for current interrupt
+     *       uintptr_t cr3;                              // CR3 register: the base addr of Page Directroy Table(PDT)
+     *       uint32_t flags;                             // Process flag
+     *       char name[PROC_NAME_LEN + 1];               // Process name
+     */
+    }
+    return proc;
+}
+
+// set_proc_name - set the name of proc
+char *
+set_proc_name(struct proc_struct *proc, const char *name) {
+    memset(proc->name, 0, sizeof(proc->name));
+    return memcpy(proc->name, name, PROC_NAME_LEN);
+}
+
+// get_proc_name - get the name of proc
+char *
+get_proc_name(struct proc_struct *proc) {
+    static char name[PROC_NAME_LEN + 1];
+    memset(name, 0, sizeof(name));
+    return memcpy(name, proc->name, PROC_NAME_LEN);
+}
+
+// set_links - set the relation links of process
+static void
+set_links(struct proc_struct *proc) {
+    list_add(&proc_list, &(proc->list_link));
+    proc->yptr = NULL;
+    if ((proc->optr = proc->parent->cptr) != NULL) {
+        proc->optr->yptr = proc;
+    }
+    proc->parent->cptr = proc;
+    nr_process ++;
+}
+
+// remove_links - clean the relation links of process
+static void
+remove_links(struct proc_struct *proc) {
+    list_del(&(proc->list_link));
+    if (proc->optr != NULL) {
+        proc->optr->yptr = proc->yptr;
+    }
+    if (proc->yptr != NULL) {
+        proc->yptr->optr = proc->optr;
+    }
+    else {
+       proc->parent->cptr = proc->optr;
+    }
+    nr_process --;
+}
+
+// get_pid - alloc a unique pid for process
+static int
+get_pid(void) {
+    static_assert(MAX_PID > MAX_PROCESS);
+    struct proc_struct *proc;
+    list_entry_t *list = &proc_list, *le;
+    static int next_safe = MAX_PID, last_pid = MAX_PID;
+    if (++ last_pid >= MAX_PID) {
+        last_pid = 1;
+        goto inside;
+    }
+    if (last_pid >= next_safe) {
+    inside:
+        next_safe = MAX_PID;
+    repeat:
+        le = list;
+        while ((le = list_next(le)) != list) {
+            proc = le2proc(le, list_link);
+            if (proc->pid == last_pid) {
+                if (++ last_pid >= next_safe) {
+                    if (last_pid >= MAX_PID) {
+                        last_pid = 1;
+                    }
+                    next_safe = MAX_PID;
+                    goto repeat;
+                }
+            }
+            else if (proc->pid > last_pid && next_safe > proc->pid) {
+                next_safe = proc->pid;
+            }
+        }
+    }
+    return last_pid;
+}
+
+// proc_run - make process "proc" running on cpu
+// NOTE: before call switch_to, should load  base addr of "proc"'s new PDT
+void
+proc_run(struct proc_struct *proc) {
+    if (proc != current) {
+        bool intr_flag;
+        struct proc_struct *prev = current, *next = proc;
+        local_intr_save(intr_flag);
+        {
+            current = proc;
+            load_esp0(next->kstack + KSTACKSIZE);
+            lcr3(next->cr3);
+            switch_to(&(prev->context), &(next->context));
+        }
+        local_intr_restore(intr_flag);
+    }
+}
+
+// forkret -- the first kernel entry point of a new thread/process
+// NOTE: the addr of forkret is setted in copy_thread function
+//       after switch_to, the current proc will execute here.
+static void
+forkret(void) {
+    forkrets(current->tf);
+}
+
+// hash_proc - add proc into proc hash_list
+static void
+hash_proc(struct proc_struct *proc) {
+    list_add(hash_list + pid_hashfn(proc->pid), &(proc->hash_link));
+}
+
+// unhash_proc - delete proc from proc hash_list
+static void
+unhash_proc(struct proc_struct *proc) {
+    list_del(&(proc->hash_link));
+}
+
+// find_proc - find proc frome proc hash_list according to pid
+struct proc_struct *
+find_proc(int pid) {
+    if (0 < pid && pid < MAX_PID) {
+        list_entry_t *list = hash_list + pid_hashfn(pid), *le = list;
+        while ((le = list_next(le)) != list) {
+            struct proc_struct *proc = le2proc(le, hash_link);
+            if (proc->pid == pid) {
+                return proc;
+            }
+        }
+    }
+    return NULL;
+}
+
+// kernel_thread - create a kernel thread using "fn" function
+// NOTE: the contents of temp trapframe tf will be copied to 
+//       proc->tf in do_fork-->copy_thread function
+int
+kernel_thread(int (*fn)(void *), void *arg, uint32_t clone_flags) {
+    struct trapframe tf;
+    memset(&tf, 0, sizeof(struct trapframe));
+    tf.tf_cs = KERNEL_CS;
+    tf.tf_ds = tf.tf_es = tf.tf_ss = KERNEL_DS;
+    tf.tf_regs.reg_ebx = (uint32_t)fn;
+    tf.tf_regs.reg_edx = (uint32_t)arg;
+    tf.tf_eip = (uint32_t)kernel_thread_entry;
+    return do_fork(clone_flags | CLONE_VM, 0, &tf);
+}
+
+// setup_kstack - alloc pages with size KSTACKPAGE as process kernel stack
+static int
+setup_kstack(struct proc_struct *proc) {
+    struct Page *page = alloc_pages(KSTACKPAGE);
+    if (page != NULL) {
+        proc->kstack = (uintptr_t)page2kva(page);
+        return 0;
+    }
+    return -E_NO_MEM;
+}
+
+// put_kstack - free the memory space of process kernel stack
+static void
+put_kstack(struct proc_struct *proc) {
+    free_pages(kva2page((void *)(proc->kstack)), KSTACKPAGE);
+}
+
+// setup_pgdir - alloc one page as PDT
+static int
+setup_pgdir(struct mm_struct *mm) {
+    struct Page *page;
+    if ((page = alloc_page()) == NULL) {
+        return -E_NO_MEM;
+    }
+    pde_t *pgdir = page2kva(page);
+    memcpy(pgdir, boot_pgdir, PGSIZE);
+    pgdir[PDX(VPT)] = PADDR(pgdir) | PTE_P | PTE_W;
+    mm->pgdir = pgdir;
+    return 0;
+}
+
+// put_pgdir - free the memory space of PDT
+static void
+put_pgdir(struct mm_struct *mm) {
+    free_page(kva2page(mm->pgdir));
+}
+
+// copy_mm - process "proc" duplicate OR share process "current"'s mm according clone_flags
+//         - if clone_flags & CLONE_VM, then "share" ; else "duplicate"
+static int
+copy_mm(uint32_t clone_flags, struct proc_struct *proc) {
+    struct mm_struct *mm, *oldmm = current->mm;
+
+    /* current is a kernel thread */
+    if (oldmm == NULL) {
+        return 0;
+    }
+    if (clone_flags & CLONE_VM) {
+        mm = oldmm;
+        goto good_mm;
+    }
+
+    int ret = -E_NO_MEM;
+    if ((mm = mm_create()) == NULL) {
+        goto bad_mm;
+    }
+    if (setup_pgdir(mm) != 0) {
+        goto bad_pgdir_cleanup_mm;
+    }
+
+    lock_mm(oldmm);
+    {
+        ret = dup_mmap(mm, oldmm);
+    }
+    unlock_mm(oldmm);
+
+    if (ret != 0) {
+        goto bad_dup_cleanup_mmap;
+    }
+
+good_mm:
+    mm_count_inc(mm);
+    proc->mm = mm;
+    proc->cr3 = PADDR(mm->pgdir);
+    return 0;
+bad_dup_cleanup_mmap:
+    exit_mmap(mm);
+    put_pgdir(mm);
+bad_pgdir_cleanup_mm:
+    mm_destroy(mm);
+bad_mm:
+    return ret;
+}
+
+// copy_thread - setup the trapframe on the  process's kernel stack top and
+//             - setup the kernel entry point and stack of process
+static void
+copy_thread(struct proc_struct *proc, uintptr_t esp, struct trapframe *tf) {
+    proc->tf = (struct trapframe *)(proc->kstack + KSTACKSIZE) - 1;
+    *(proc->tf) = *tf;
+    proc->tf->tf_regs.reg_eax = 0;
+    proc->tf->tf_esp = esp;
+    proc->tf->tf_eflags |= FL_IF;
+
+    proc->context.eip = (uintptr_t)forkret;
+    proc->context.esp = (uintptr_t)(proc->tf);
+}
+
+/* do_fork -     parent process for a new child process
+ * @clone_flags: used to guide how to clone the child process
+ * @stack:       the parent's user stack pointer. if stack==0, It means to fork a kernel thread.
+ * @tf:          the trapframe info, which will be copied to child process's proc->tf
+ */
+int
+do_fork(uint32_t clone_flags, uintptr_t stack, struct trapframe *tf) {
+    int ret = -E_NO_FREE_PROC;
+    struct proc_struct *proc;
+    if (nr_process >= MAX_PROCESS) {
+        goto fork_out;
+    }
+    ret = -E_NO_MEM;
+    //LAB4:EXERCISE2 YOUR CODE
+    /*
+     * Some Useful MACROs, Functions and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   alloc_proc:   create a proc struct and init fields (lab4:exercise1)
+     *   setup_kstack: alloc pages with size KSTACKPAGE as process kernel stack
+     *   copy_mm:      process "proc" duplicate OR share process "current"'s mm according clone_flags
+     *                 if clone_flags & CLONE_VM, then "share" ; else "duplicate"
+     *   copy_thread:  setup the trapframe on the  process's kernel stack top and
+     *                 setup the kernel entry point and stack of process
+     *   hash_proc:    add proc into proc hash_list
+     *   get_pid:      alloc a unique pid for process
+     *   wakup_proc:   set proc->state = PROC_RUNNABLE
+     * VARIABLES:
+     *   proc_list:    the process set's list
+     *   nr_process:   the number of process set
+     */
+
+    //    1. call alloc_proc to allocate a proc_struct
+    //    2. call setup_kstack to allocate a kernel stack for child process
+    //    3. call copy_mm to dup OR share mm according clone_flag
+    //    4. call copy_thread to setup tf & context in proc_struct
+    //    5. insert proc_struct into hash_list && proc_list
+    //    6. call wakup_proc to make the new child process RUNNABLE
+    //    7. set ret vaule using child proc's pid
+fork_out:
+    return ret;
+
+bad_fork_cleanup_kstack:
+    put_kstack(proc);
+bad_fork_cleanup_proc:
+    kfree(proc);
+    goto fork_out;
+}
+
+// do_exit - called by sys_exit
+//   1. call exit_mmap & put_pgdir & mm_destroy to free the almost all memory space of process
+//   2. set process' state as PROC_ZOMBIE, then call wakeup_proc(parent) to ask parent reclaim itself.
+//   3. call scheduler to switch to other process
+int
+do_exit(int error_code) {
+    if (current == idleproc) {
+        panic("idleproc exit.\n");
+    }
+    if (current == initproc) {
+        panic("initproc exit.\n");
+    }
+    
+    struct mm_struct *mm = current->mm;
+    if (mm != NULL) {
+        lcr3(boot_cr3);
+        if (mm_count_dec(mm) == 0) {
+            exit_mmap(mm);
+            put_pgdir(mm);
+            mm_destroy(mm);
+        }
+        current->mm = NULL;
+    }
+    current->state = PROC_ZOMBIE;
+    current->exit_code = error_code;
+    
+    bool intr_flag;
+    struct proc_struct *proc;
+    local_intr_save(intr_flag);
+    {
+        proc = current->parent;
+        if (proc->wait_state == WT_CHILD) {
+            wakeup_proc(proc);
+        }
+        while (current->cptr != NULL) {
+            proc = current->cptr;
+            current->cptr = proc->optr;
+    
+            proc->yptr = NULL;
+            if ((proc->optr = initproc->cptr) != NULL) {
+                initproc->cptr->yptr = proc;
+            }
+            proc->parent = initproc;
+            initproc->cptr = proc;
+            if (proc->state == PROC_ZOMBIE) {
+                if (initproc->wait_state == WT_CHILD) {
+                    wakeup_proc(initproc);
+                }
+            }
+        }
+    }
+    local_intr_restore(intr_flag);
+    
+    schedule();
+    panic("do_exit will not return!! %d.\n", current->pid);
+}
+
+/* load_icode - load the content of binary program(ELF format) as the new content of current process
+ * @binary:  the memory addr of the content of binary program
+ * @size:  the size of the content of binary program
+ */
+static int
+load_icode(unsigned char *binary, size_t size) {
+    if (current->mm != NULL) {
+        panic("load_icode: current->mm must be empty.\n");
+    }
+
+    int ret = -E_NO_MEM;
+    struct mm_struct *mm;
+    //(1) create a new mm for current process
+    if ((mm = mm_create()) == NULL) {
+        goto bad_mm;
+    }
+    //(2) create a new PDT, and mm->pgdir= kernel virtual addr of PDT
+    if (setup_pgdir(mm) != 0) {
+        goto bad_pgdir_cleanup_mm;
+    }
+    //(3) copy TEXT/DATA section, build BSS parts in binary to memory space of process
+    struct Page *page;
+    //(3.1) get the file header of the bianry program (ELF format)
+    struct elfhdr *elf = (struct elfhdr *)binary;
+    //(3.2) get the entry of the program section headers of the bianry program (ELF format)
+    struct proghdr *ph = (struct proghdr *)(binary + elf->e_phoff);
+    //(3.3) This program is valid?
+    if (elf->e_magic != ELF_MAGIC) {
+        ret = -E_INVAL_ELF;
+        goto bad_elf_cleanup_pgdir;
+    }
+
+    uint32_t vm_flags, perm;
+    struct proghdr *ph_end = ph + elf->e_phnum;
+    for (; ph < ph_end; ph ++) {
+    //(3.4) find every program section headers
+        if (ph->p_type != ELF_PT_LOAD) {
+            continue ;
+        }
+        if (ph->p_filesz > ph->p_memsz) {
+            ret = -E_INVAL_ELF;
+            goto bad_cleanup_mmap;
+        }
+        if (ph->p_filesz == 0) {
+            continue ;
+        }
+    //(3.5) call mm_map fun to setup the new vma ( ph->p_va, ph->p_memsz)
+        vm_flags = 0, perm = PTE_U;
+        if (ph->p_flags & ELF_PF_X) vm_flags |= VM_EXEC;
+        if (ph->p_flags & ELF_PF_W) vm_flags |= VM_WRITE;
+        if (ph->p_flags & ELF_PF_R) vm_flags |= VM_READ;
+        if (vm_flags & VM_WRITE) perm |= PTE_W;
+        if ((ret = mm_map(mm, ph->p_va, ph->p_memsz, vm_flags, NULL)) != 0) {
+            goto bad_cleanup_mmap;
+        }
+        unsigned char *from = binary + ph->p_offset;
+        size_t off, size;
+        uintptr_t start = ph->p_va, end, la = ROUNDDOWN(start, PGSIZE);
+
+        ret = -E_NO_MEM;
+
+     //(3.6) alloc memory, and  copy the contents of every program section (from, from+end) to process's memory (la, la+end)
+        end = ph->p_va + ph->p_filesz;
+     //(3.6.1) copy TEXT/DATA section of bianry program
+        while (start < end) {
+            if ((page = pgdir_alloc_page(mm->pgdir, la, perm)) == NULL) {
+                goto bad_cleanup_mmap;
+            }
+            off = start - la, size = PGSIZE - off, la += PGSIZE;
+            if (end < la) {
+                size -= la - end;
+            }
+            memcpy(page2kva(page) + off, from, size);
+            start += size, from += size;
+        }
+
+      //(3.6.2) build BSS section of binary program
+        end = ph->p_va + ph->p_memsz;
+        if (start < la) {
+            /* ph->p_memsz == ph->p_filesz */
+            if (start == end) {
+                continue ;
+            }
+            off = start + PGSIZE - la, size = PGSIZE - off;
+            if (end < la) {
+                size -= la - end;
+            }
+            memset(page2kva(page) + off, 0, size);
+            start += size;
+            assert((end < la && start == end) || (end >= la && start == la));
+        }
+        while (start < end) {
+            if ((page = pgdir_alloc_page(mm->pgdir, la, perm)) == NULL) {
+                goto bad_cleanup_mmap;
+            }
+            off = start - la, size = PGSIZE - off, la += PGSIZE;
+            if (end < la) {
+                size -= la - end;
+            }
+            memset(page2kva(page) + off, 0, size);
+            start += size;
+        }
+    }
+    //(4) build user stack memory
+    vm_flags = VM_READ | VM_WRITE | VM_STACK;
+    if ((ret = mm_map(mm, USTACKTOP - USTACKSIZE, USTACKSIZE, vm_flags, NULL)) != 0) {
+        goto bad_cleanup_mmap;
+    }
+    assert(pgdir_alloc_page(mm->pgdir, USTACKTOP-PGSIZE , PTE_USER) != NULL);
+    assert(pgdir_alloc_page(mm->pgdir, USTACKTOP-2*PGSIZE , PTE_USER) != NULL);
+    assert(pgdir_alloc_page(mm->pgdir, USTACKTOP-3*PGSIZE , PTE_USER) != NULL);
+    assert(pgdir_alloc_page(mm->pgdir, USTACKTOP-4*PGSIZE , PTE_USER) != NULL);
+    
+    //(5) set current process's mm, sr3, and set CR3 reg = physical addr of Page Directory
+    mm_count_inc(mm);
+    current->mm = mm;
+    current->cr3 = PADDR(mm->pgdir);
+    lcr3(PADDR(mm->pgdir));
+
+    //(6) setup trapframe for user environment
+    struct trapframe *tf = current->tf;
+    memset(tf, 0, sizeof(struct trapframe));
+    /* LAB5:EXERCISE1 YOUR CODE
+     * should set tf_cs,tf_ds,tf_es,tf_ss,tf_esp,tf_eip,tf_eflags
+     * NOTICE: If we set trapframe correctly, then the user level process can return to USER MODE from kernel. So
+     *          tf_cs should be USER_CS segment (see memlayout.h)
+     *          tf_ds=tf_es=tf_ss should be USER_DS segment
+     *          tf_esp should be the top addr of user stack (USTACKTOP)
+     *          tf_eip should be the entry point of this binary program (elf->e_entry)
+     *          tf_eflags should be set to enable computer to produce Interrupt
+     */
+    ret = 0;
+out:
+    return ret;
+bad_cleanup_mmap:
+    exit_mmap(mm);
+bad_elf_cleanup_pgdir:
+    put_pgdir(mm);
+bad_pgdir_cleanup_mm:
+    mm_destroy(mm);
+bad_mm:
+    goto out;
+}
+
+// do_execve - call exit_mmap(mm)&pug_pgdir(mm) to reclaim memory space of current process
+//           - call load_icode to setup new memory space accroding binary prog.
+int
+do_execve(const char *name, size_t len, unsigned char *binary, size_t size) {
+    struct mm_struct *mm = current->mm;
+    if (!user_mem_check(mm, (uintptr_t)name, len, 0)) {
+        return -E_INVAL;
+    }
+    if (len > PROC_NAME_LEN) {
+        len = PROC_NAME_LEN;
+    }
+
+    char local_name[PROC_NAME_LEN + 1];
+    memset(local_name, 0, sizeof(local_name));
+    memcpy(local_name, name, len);
+
+    if (mm != NULL) {
+        lcr3(boot_cr3);
+        if (mm_count_dec(mm) == 0) {
+            exit_mmap(mm);
+            put_pgdir(mm);
+            mm_destroy(mm);
+        }
+        current->mm = NULL;
+    }
+    int ret;
+    if ((ret = load_icode(binary, size)) != 0) {
+        goto execve_exit;
+    }
+    set_proc_name(current, local_name);
+    return 0;
+
+execve_exit:
+    do_exit(ret);
+    panic("already exit: %e.\n", ret);
+}
+
+// do_yield - ask the scheduler to reschedule
+int
+do_yield(void) {
+    current->need_resched = 1;
+    return 0;
+}
+
+// do_wait - wait one OR any children with PROC_ZOMBIE state, and free memory space of kernel stack
+//         - proc struct of this child.
+// NOTE: only after do_wait function, all resources of the child proces are free.
+int
+do_wait(int pid, int *code_store) {
+    struct mm_struct *mm = current->mm;
+    if (code_store != NULL) {
+        if (!user_mem_check(mm, (uintptr_t)code_store, sizeof(int), 1)) {
+            return -E_INVAL;
+        }
+    }
+
+    struct proc_struct *proc;
+    bool intr_flag, haskid;
+repeat:
+    haskid = 0;
+    if (pid != 0) {
+        proc = find_proc(pid);
+        if (proc != NULL && proc->parent == current) {
+            haskid = 1;
+            if (proc->state == PROC_ZOMBIE) {
+                goto found;
+            }
+        }
+    }
+    else {
+        proc = current->cptr;
+        for (; proc != NULL; proc = proc->optr) {
+            haskid = 1;
+            if (proc->state == PROC_ZOMBIE) {
+                goto found;
+            }
+        }
+    }
+    if (haskid) {
+        current->state = PROC_SLEEPING;
+        current->wait_state = WT_CHILD;
+        schedule();
+        if (current->flags & PF_EXITING) {
+            do_exit(-E_KILLED);
+        }
+        goto repeat;
+    }
+    return -E_BAD_PROC;
+
+found:
+    if (proc == idleproc || proc == initproc) {
+        panic("wait idleproc or initproc.\n");
+    }
+    if (code_store != NULL) {
+        *code_store = proc->exit_code;
+    }
+    local_intr_save(intr_flag);
+    {
+        unhash_proc(proc);
+        remove_links(proc);
+    }
+    local_intr_restore(intr_flag);
+    put_kstack(proc);
+    kfree(proc);
+    return 0;
+}
+
+// do_kill - kill process with pid by set this process's flags with PF_EXITING
+int
+do_kill(int pid) {
+    struct proc_struct *proc;
+    if ((proc = find_proc(pid)) != NULL) {
+        if (!(proc->flags & PF_EXITING)) {
+            proc->flags |= PF_EXITING;
+            if (proc->wait_state & WT_INTERRUPTED) {
+                wakeup_proc(proc);
+            }
+            return 0;
+        }
+        return -E_KILLED;
+    }
+    return -E_INVAL;
+}
+
+// kernel_execve - do SYS_exec syscall to exec a user program called by user_main kernel_thread
+static int
+kernel_execve(const char *name, unsigned char *binary, size_t size) {
+    int ret, len = strlen(name);
+    asm volatile (
+        "int %1;"
+        : "=a" (ret)
+        : "i" (T_SYSCALL), "0" (SYS_exec), "d" (name), "c" (len), "b" (binary), "D" (size)
+        : "memory");
+    return ret;
+}
+
+#define __KERNEL_EXECVE(name, binary, size) ({                          \
+            cprintf("kernel_execve: pid = %d, name = \"%s\".\n",        \
+                    current->pid, name);                                \
+            kernel_execve(name, binary, (size_t)(size));                \
+        })
+
+#define KERNEL_EXECVE(x) ({                                             \
+            extern unsigned char _binary_obj___user_##x##_out_start[],  \
+                _binary_obj___user_##x##_out_size[];                    \
+            __KERNEL_EXECVE(#x, _binary_obj___user_##x##_out_start,     \
+                            _binary_obj___user_##x##_out_size);         \
+        })
+
+#define __KERNEL_EXECVE2(x, xstart, xsize) ({                           \
+            extern unsigned char xstart[], xsize[];                     \
+            __KERNEL_EXECVE(#x, xstart, (size_t)xsize);                 \
+        })
+
+#define KERNEL_EXECVE2(x, xstart, xsize)        __KERNEL_EXECVE2(x, xstart, xsize)
+
+// user_main - kernel thread used to exec a user program
+static int
+user_main(void *arg) {
+#ifdef TEST
+    KERNEL_EXECVE2(TEST, TESTSTART, TESTSIZE);
+#else
+    KERNEL_EXECVE(exit);
+#endif
+    panic("user_main execve failed.\n");
+}
+
+// init_main - the second kernel thread used to create user_main kernel threads
+static int
+init_main(void *arg) {
+    size_t nr_free_pages_store = nr_free_pages();
+    size_t slab_allocated_store = kallocated();
+
+    int pid = kernel_thread(user_main, NULL, 0);
+    if (pid <= 0) {
+        panic("create user_main failed.\n");
+    }
+
+    while (do_wait(0, NULL) == 0) {
+        schedule();
+    }
+
+    cprintf("all user-mode processes have quit.\n");
+    assert(initproc->cptr == NULL && initproc->yptr == NULL && initproc->optr == NULL);
+    assert(nr_process == 2);
+    assert(list_next(&proc_list) == &(initproc->list_link));
+    assert(list_prev(&proc_list) == &(initproc->list_link));
+    assert(nr_free_pages_store == nr_free_pages());
+    assert(slab_allocated_store == kallocated());
+    cprintf("init check memory pass.\n");
+    return 0;
+}
+
+// proc_init - set up the first kernel thread idleproc "idle" by itself and 
+//           - create the second kernel thread init_main
+void
+proc_init(void) {
+    int i;
+
+    list_init(&proc_list);
+    for (i = 0; i < HASH_LIST_SIZE; i ++) {
+        list_init(hash_list + i);
+    }
+
+    if ((idleproc = alloc_proc()) == NULL) {
+        panic("cannot alloc idleproc.\n");
+    }
+
+    idleproc->pid = 0;
+    idleproc->state = PROC_RUNNABLE;
+    idleproc->kstack = (uintptr_t)bootstack;
+    idleproc->need_resched = 1;
+    set_proc_name(idleproc, "idle");
+    nr_process ++;
+
+    current = idleproc;
+
+    int pid = kernel_thread(init_main, NULL, 0);
+    if (pid <= 0) {
+        panic("create init_main failed.\n");
+    }
+
+    initproc = find_proc(pid);
+    set_proc_name(initproc, "init");
+
+    assert(idleproc != NULL && idleproc->pid == 0);
+    assert(initproc != NULL && initproc->pid == 1);
+}
+
+// cpu_idle - at the end of kern_init, the first kernel thread idleproc will do below works
+void
+cpu_idle(void) {
+    while (1) {
+        if (current->need_resched) {
+            schedule();
+        }
+    }
+}
+
diff --git a/code/lab5/kern/process/proc.h b/code/lab5/kern/process/proc.h
new file mode 100644
index 0000000..a1f12d8
--- /dev/null
+++ b/code/lab5/kern/process/proc.h
@@ -0,0 +1,89 @@
+#ifndef __KERN_PROCESS_PROC_H__
+#define __KERN_PROCESS_PROC_H__
+
+#include <defs.h>
+#include <list.h>
+#include <trap.h>
+#include <memlayout.h>
+
+
+// process's state in his life cycle
+enum proc_state {
+    PROC_UNINIT = 0,  // uninitialized
+    PROC_SLEEPING,    // sleeping
+    PROC_RUNNABLE,    // runnable(maybe running)
+    PROC_ZOMBIE,      // almost dead, and wait parent proc to reclaim his resource
+};
+
+// Saved registers for kernel context switches.
+// Don't need to save all the %fs etc. segment registers,
+// because they are constant across kernel contexts.
+// Save all the regular registers so we don't need to care
+// which are caller save, but not the return register %eax.
+// (Not saving %eax just simplifies the switching code.)
+// The layout of context must match code in switch.S.
+struct context {
+    uint32_t eip;
+    uint32_t esp;
+    uint32_t ebx;
+    uint32_t ecx;
+    uint32_t edx;
+    uint32_t esi;
+    uint32_t edi;
+    uint32_t ebp;
+};
+
+#define PROC_NAME_LEN               15
+#define MAX_PROCESS                 4096
+#define MAX_PID                     (MAX_PROCESS * 2)
+
+extern list_entry_t proc_list;
+
+struct proc_struct {
+    enum proc_state state;                      // Process state
+    int pid;                                    // Process ID
+    int runs;                                   // the running times of Proces
+    uintptr_t kstack;                           // Process kernel stack
+    volatile bool need_resched;                 // bool value: need to be rescheduled to release CPU?
+    struct proc_struct *parent;                 // the parent process
+    struct mm_struct *mm;                       // Process's memory management field
+    struct context context;                     // Switch here to run process
+    struct trapframe *tf;                       // Trap frame for current interrupt
+    uintptr_t cr3;                              // CR3 register: the base addr of Page Directroy Table(PDT)
+    uint32_t flags;                             // Process flag
+    char name[PROC_NAME_LEN + 1];               // Process name
+    list_entry_t list_link;                     // Process link list 
+    list_entry_t hash_link;                     // Process hash list
+    int exit_code;                              // exit code (be sent to parent proc)
+    uint32_t wait_state;                        // waiting state
+    struct proc_struct *cptr, *yptr, *optr;     // relations between processes
+};
+
+#define PF_EXITING                  0x00000001      // getting shutdown
+
+#define WT_CHILD                    (0x00000001 | WT_INTERRUPTED)
+#define WT_INTERRUPTED               0x80000000                    // the wait state could be interrupted
+
+
+#define le2proc(le, member)         \
+    to_struct((le), struct proc_struct, member)
+
+extern struct proc_struct *idleproc, *initproc, *current;
+
+void proc_init(void);
+void proc_run(struct proc_struct *proc);
+int kernel_thread(int (*fn)(void *), void *arg, uint32_t clone_flags);
+
+char *set_proc_name(struct proc_struct *proc, const char *name);
+char *get_proc_name(struct proc_struct *proc);
+void cpu_idle(void) __attribute__((noreturn));
+
+struct proc_struct *find_proc(int pid);
+int do_fork(uint32_t clone_flags, uintptr_t stack, struct trapframe *tf);
+int do_exit(int error_code);
+int do_yield(void);
+int do_execve(const char *name, size_t len, unsigned char *binary, size_t size);
+int do_wait(int pid, int *code_store);
+int do_kill(int pid);
+#endif /* !__KERN_PROCESS_PROC_H__ */
+
diff --git a/code/lab5/kern/process/switch.S b/code/lab5/kern/process/switch.S
new file mode 100644
index 0000000..27b4c8c
--- /dev/null
+++ b/code/lab5/kern/process/switch.S
@@ -0,0 +1,30 @@
+.text
+.globl switch_to
+switch_to:                      # switch_to(from, to)
+
+    # save from's registers
+    movl 4(%esp), %eax          # eax points to from
+    popl 0(%eax)                # save eip !popl
+    movl %esp, 4(%eax)
+    movl %ebx, 8(%eax)
+    movl %ecx, 12(%eax)
+    movl %edx, 16(%eax)
+    movl %esi, 20(%eax)
+    movl %edi, 24(%eax)
+    movl %ebp, 28(%eax)
+
+    # restore to's registers
+    movl 4(%esp), %eax          # not 8(%esp): popped return address already
+                                # eax now points to to
+    movl 28(%eax), %ebp
+    movl 24(%eax), %edi
+    movl 20(%eax), %esi
+    movl 16(%eax), %edx
+    movl 12(%eax), %ecx
+    movl 8(%eax), %ebx
+    movl 4(%eax), %esp
+
+    pushl 0(%eax)               # push eip
+
+    ret
+
diff --git a/code/lab5/kern/schedule/sched.c b/code/lab5/kern/schedule/sched.c
new file mode 100644
index 0000000..939caf4
--- /dev/null
+++ b/code/lab5/kern/schedule/sched.c
@@ -0,0 +1,52 @@
+#include <list.h>
+#include <sync.h>
+#include <proc.h>
+#include <sched.h>
+#include <assert.h>
+
+void
+wakeup_proc(struct proc_struct *proc) {
+    assert(proc->state != PROC_ZOMBIE);
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        if (proc->state != PROC_RUNNABLE) {
+            proc->state = PROC_RUNNABLE;
+            proc->wait_state = 0;
+        }
+        else {
+            warn("wakeup runnable process.\n");
+        }
+    }
+    local_intr_restore(intr_flag);
+}
+
+void
+schedule(void) {
+    bool intr_flag;
+    list_entry_t *le, *last;
+    struct proc_struct *next = NULL;
+    local_intr_save(intr_flag);
+    {
+        current->need_resched = 0;
+        last = (current == idleproc) ? &proc_list : &(current->list_link);
+        le = last;
+        do {
+            if ((le = list_next(le)) != &proc_list) {
+                next = le2proc(le, list_link);
+                if (next->state == PROC_RUNNABLE) {
+                    break;
+                }
+            }
+        } while (le != last);
+        if (next == NULL || next->state != PROC_RUNNABLE) {
+            next = idleproc;
+        }
+        next->runs ++;
+        if (next != current) {
+            proc_run(next);
+        }
+    }
+    local_intr_restore(intr_flag);
+}
+
diff --git a/code/lab5/kern/schedule/sched.h b/code/lab5/kern/schedule/sched.h
new file mode 100644
index 0000000..ed1fc6e
--- /dev/null
+++ b/code/lab5/kern/schedule/sched.h
@@ -0,0 +1,10 @@
+#ifndef __KERN_SCHEDULE_SCHED_H__
+#define __KERN_SCHEDULE_SCHED_H__
+
+#include <proc.h>
+
+void schedule(void);
+void wakeup_proc(struct proc_struct *proc);
+
+#endif /* !__KERN_SCHEDULE_SCHED_H__ */
+
diff --git a/code/lab5/kern/sync/sync.h b/code/lab5/kern/sync/sync.h
new file mode 100644
index 0000000..3e75192
--- /dev/null
+++ b/code/lab5/kern/sync/sync.h
@@ -0,0 +1,57 @@
+#ifndef __KERN_SYNC_SYNC_H__
+#define __KERN_SYNC_SYNC_H__
+
+#include <x86.h>
+#include <intr.h>
+#include <mmu.h>
+#include <assert.h>
+#include <atomic.h>
+#include <sched.h>
+
+static inline bool
+__intr_save(void) {
+    if (read_eflags() & FL_IF) {
+        intr_disable();
+        return 1;
+    }
+    return 0;
+}
+
+static inline void
+__intr_restore(bool flag) {
+    if (flag) {
+        intr_enable();
+    }
+}
+
+#define local_intr_save(x)      do { x = __intr_save(); } while (0)
+#define local_intr_restore(x)   __intr_restore(x);
+
+typedef volatile bool lock_t;
+
+static inline void
+lock_init(lock_t *lock) {
+    *lock = 0;
+}
+
+static inline bool
+try_lock(lock_t *lock) {
+    return !test_and_set_bit(0, lock);
+}
+
+static inline void
+lock(lock_t *lock) {
+    while (!try_lock(lock)) {
+        schedule();
+    }
+}
+
+static inline void
+unlock(lock_t *lock) {
+    if (!test_and_clear_bit(0, lock)) {
+        panic("Unlock failed.\n");
+    }
+}
+
+#endif /* !__KERN_SYNC_SYNC_H__ */
+
diff --git a/code/lab5/kern/syscall/syscall.c b/code/lab5/kern/syscall/syscall.c
new file mode 100644
index 0000000..7a7e4e2
--- /dev/null
+++ b/code/lab5/kern/syscall/syscall.c
@@ -0,0 +1,101 @@
+#include <unistd.h>
+#include <proc.h>
+#include <syscall.h>
+#include <trap.h>
+#include <stdio.h>
+#include <pmm.h>
+#include <assert.h>
+
+static int
+sys_exit(uint32_t arg[]) {
+    int error_code = (int)arg[0];
+    return do_exit(error_code);
+}
+
+static int
+sys_fork(uint32_t arg[]) {
+    struct trapframe *tf = current->tf;
+    uintptr_t stack = tf->tf_esp;
+    return do_fork(0, stack, tf);
+}
+
+static int
+sys_wait(uint32_t arg[]) {
+    int pid = (int)arg[0];
+    int *store = (int *)arg[1];
+    return do_wait(pid, store);
+}
+
+static int
+sys_exec(uint32_t arg[]) {
+    const char *name = (const char *)arg[0];
+    size_t len = (size_t)arg[1];
+    unsigned char *binary = (unsigned char *)arg[2];
+    size_t size = (size_t)arg[3];
+    return do_execve(name, len, binary, size);
+}
+
+static int
+sys_yield(uint32_t arg[]) {
+    return do_yield();
+}
+
+static int
+sys_kill(uint32_t arg[]) {
+    int pid = (int)arg[0];
+    return do_kill(pid);
+}
+
+static int
+sys_getpid(uint32_t arg[]) {
+    return current->pid;
+}
+
+static int
+sys_putc(uint32_t arg[]) {
+    int c = (int)arg[0];
+    cputchar(c);
+    return 0;
+}
+
+static int
+sys_pgdir(uint32_t arg[]) {
+    print_pgdir();
+    return 0;
+}
+
+static int (*syscalls[])(uint32_t arg[]) = {
+    [SYS_exit]              sys_exit,
+    [SYS_fork]              sys_fork,
+    [SYS_wait]              sys_wait,
+    [SYS_exec]              sys_exec,
+    [SYS_yield]             sys_yield,
+    [SYS_kill]              sys_kill,
+    [SYS_getpid]            sys_getpid,
+    [SYS_putc]              sys_putc,
+    [SYS_pgdir]             sys_pgdir,
+};
+
+#define NUM_SYSCALLS        ((sizeof(syscalls)) / (sizeof(syscalls[0])))
+
+void
+syscall(void) {
+    struct trapframe *tf = current->tf;
+    uint32_t arg[5];
+    int num = tf->tf_regs.reg_eax;
+    if (num >= 0 && num < NUM_SYSCALLS) {
+        if (syscalls[num] != NULL) {
+            arg[0] = tf->tf_regs.reg_edx;
+            arg[1] = tf->tf_regs.reg_ecx;
+            arg[2] = tf->tf_regs.reg_ebx;
+            arg[3] = tf->tf_regs.reg_edi;
+            arg[4] = tf->tf_regs.reg_esi;
+            tf->tf_regs.reg_eax = syscalls[num](arg);
+            return ;
+        }
+    }
+    print_trapframe(tf);
+    panic("undefined syscall %d, pid = %d, name = %s.\n",
+            num, current->pid, current->name);
+}
+
diff --git a/code/lab5/kern/syscall/syscall.h b/code/lab5/kern/syscall/syscall.h
new file mode 100644
index 0000000..a8fe843
--- /dev/null
+++ b/code/lab5/kern/syscall/syscall.h
@@ -0,0 +1,7 @@
+#ifndef __KERN_SYSCALL_SYSCALL_H__
+#define __KERN_SYSCALL_SYSCALL_H__
+
+void syscall(void);
+
+#endif /* !__KERN_SYSCALL_SYSCALL_H__ */
+
diff --git a/code/lab5/kern/trap/trap.c b/code/lab5/kern/trap/trap.c
new file mode 100644
index 0000000..953b752
--- /dev/null
+++ b/code/lab5/kern/trap/trap.c
@@ -0,0 +1,289 @@
+#include <defs.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <clock.h>
+#include <trap.h>
+#include <x86.h>
+#include <stdio.h>
+#include <assert.h>
+#include <console.h>
+#include <vmm.h>
+#include <swap.h>
+#include <kdebug.h>
+#include <unistd.h>
+#include <syscall.h>
+#include <error.h>
+#include <sched.h>
+#include <sync.h>
+
+#define TICK_NUM 100
+
+static void print_ticks() {
+    cprintf("%d ticks\n",TICK_NUM);
+#ifdef DEBUG_GRADE
+    cprintf("End of Test.\n");
+    panic("EOT: kernel seems ok.");
+#endif
+}
+
+/* *
+ * Interrupt descriptor table:
+ *
+ * Must be built at run time because shifted function addresses can't
+ * be represented in relocation records.
+ * */
+static struct gatedesc idt[256] = {{0}};
+
+static struct pseudodesc idt_pd = {
+    sizeof(idt) - 1, (uintptr_t)idt
+};
+
+/* idt_init - initialize IDT to each of the entry points in kern/trap/vectors.S */
+void
+idt_init(void) {
+     /* LAB1 YOUR CODE : STEP 2 */
+     /* (1) Where are the entry addrs of each Interrupt Service Routine (ISR)?
+      *     All ISR's entry addrs are stored in __vectors. where is uintptr_t __vectors[] ?
+      *     __vectors[] is in kern/trap/vector.S which is produced by tools/vector.c
+      *     (try "make" command in lab1, then you will find vector.S in kern/trap DIR)
+      *     You can use  "extern uintptr_t __vectors[];" to define this extern variable which will be used later.
+      * (2) Now you should setup the entries of ISR in Interrupt Description Table (IDT).
+      *     Can you see idt[256] in this file? Yes, it's IDT! you can use SETGATE macro to setup each item of IDT
+      * (3) After setup the contents of IDT, you will let CPU know where is the IDT by using 'lidt' instruction.
+      *     You don't know the meaning of this instruction? just google it! and check the libs/x86.h to know more.
+      *     Notice: the argument of lidt is idt_pd. try to find it!
+      */
+     /* LAB5 YOUR CODE */ 
+     //you should update your lab1 code (just add ONE or TWO lines of code), let user app to use syscall to get the service of ucore
+     //so you should setup the syscall interrupt gate in here
+}
+
+static const char *
+trapname(int trapno) {
+    static const char * const excnames[] = {
+        "Divide error",
+        "Debug",
+        "Non-Maskable Interrupt",
+        "Breakpoint",
+        "Overflow",
+        "BOUND Range Exceeded",
+        "Invalid Opcode",
+        "Device Not Available",
+        "Double Fault",
+        "Coprocessor Segment Overrun",
+        "Invalid TSS",
+        "Segment Not Present",
+        "Stack Fault",
+        "General Protection",
+        "Page Fault",
+        "(unknown trap)",
+        "x87 FPU Floating-Point Error",
+        "Alignment Check",
+        "Machine-Check",
+        "SIMD Floating-Point Exception"
+    };
+
+    if (trapno < sizeof(excnames)/sizeof(const char * const)) {
+        return excnames[trapno];
+    }
+    if (trapno >= IRQ_OFFSET && trapno < IRQ_OFFSET + 16) {
+        return "Hardware Interrupt";
+    }
+    return "(unknown trap)";
+}
+
+/* trap_in_kernel - test if trap happened in kernel */
+bool
+trap_in_kernel(struct trapframe *tf) {
+    return (tf->tf_cs == (uint16_t)KERNEL_CS);
+}
+
+static const char *IA32flags[] = {
+    "CF", NULL, "PF", NULL, "AF", NULL, "ZF", "SF",
+    "TF", "IF", "DF", "OF", NULL, NULL, "NT", NULL,
+    "RF", "VM", "AC", "VIF", "VIP", "ID", NULL, NULL,
+};
+
+void
+print_trapframe(struct trapframe *tf) {
+    cprintf("trapframe at %p\n", tf);
+    print_regs(&tf->tf_regs);
+    cprintf("  ds   0x----%04x\n", tf->tf_ds);
+    cprintf("  es   0x----%04x\n", tf->tf_es);
+    cprintf("  fs   0x----%04x\n", tf->tf_fs);
+    cprintf("  gs   0x----%04x\n", tf->tf_gs);
+    cprintf("  trap 0x%08x %s\n", tf->tf_trapno, trapname(tf->tf_trapno));
+    cprintf("  err  0x%08x\n", tf->tf_err);
+    cprintf("  eip  0x%08x\n", tf->tf_eip);
+    cprintf("  cs   0x----%04x\n", tf->tf_cs);
+    cprintf("  flag 0x%08x ", tf->tf_eflags);
+
+    int i, j;
+    for (i = 0, j = 1; i < sizeof(IA32flags) / sizeof(IA32flags[0]); i ++, j <<= 1) {
+        if ((tf->tf_eflags & j) && IA32flags[i] != NULL) {
+            cprintf("%s,", IA32flags[i]);
+        }
+    }
+    cprintf("IOPL=%d\n", (tf->tf_eflags & FL_IOPL_MASK) >> 12);
+
+    if (!trap_in_kernel(tf)) {
+        cprintf("  esp  0x%08x\n", tf->tf_esp);
+        cprintf("  ss   0x----%04x\n", tf->tf_ss);
+    }
+}
+
+void
+print_regs(struct pushregs *regs) {
+    cprintf("  edi  0x%08x\n", regs->reg_edi);
+    cprintf("  esi  0x%08x\n", regs->reg_esi);
+    cprintf("  ebp  0x%08x\n", regs->reg_ebp);
+    cprintf("  oesp 0x%08x\n", regs->reg_oesp);
+    cprintf("  ebx  0x%08x\n", regs->reg_ebx);
+    cprintf("  edx  0x%08x\n", regs->reg_edx);
+    cprintf("  ecx  0x%08x\n", regs->reg_ecx);
+    cprintf("  eax  0x%08x\n", regs->reg_eax);
+}
+
+static inline void
+print_pgfault(struct trapframe *tf) {
+    /* error_code:
+     * bit 0 == 0 means no page found, 1 means protection fault
+     * bit 1 == 0 means read, 1 means write
+     * bit 2 == 0 means kernel, 1 means user
+     * */
+    cprintf("page fault at 0x%08x: %c/%c [%s].\n", rcr2(),
+            (tf->tf_err & 4) ? 'U' : 'K',
+            (tf->tf_err & 2) ? 'W' : 'R',
+            (tf->tf_err & 1) ? "protection fault" : "no page found");
+}
+
+static int
+pgfault_handler(struct trapframe *tf) {
+    extern struct mm_struct *check_mm_struct;
+    if(check_mm_struct !=NULL) { //used for test check_swap
+            print_pgfault(tf);
+        }
+    struct mm_struct *mm;
+    if (check_mm_struct != NULL) {
+        assert(current == idleproc);
+        mm = check_mm_struct;
+    }
+    else {
+        if (current == NULL) {
+            print_trapframe(tf);
+            print_pgfault(tf);
+            panic("unhandled page fault.\n");
+        }
+        mm = current->mm;
+    }
+    return do_pgfault(mm, tf->tf_err, rcr2());
+}
+
+static volatile int in_swap_tick_event = 0;
+extern struct mm_struct *check_mm_struct;
+
+static void
+trap_dispatch(struct trapframe *tf) {
+    char c;
+
+    int ret=0;
+
+    switch (tf->tf_trapno) {
+    case T_PGFLT:  //page fault
+        if ((ret = pgfault_handler(tf)) != 0) {
+            print_trapframe(tf);
+            if (current == NULL) {
+                panic("handle pgfault failed. ret=%d\n", ret);
+            }
+            else {
+                if (trap_in_kernel(tf)) {
+                    panic("handle pgfault failed in kernel mode. ret=%d\n", ret);
+                }
+                cprintf("killed by kernel.\n");
+                panic("handle user mode pgfault failed. ret=%d\n", ret); 
+                do_exit(-E_KILLED);
+            }
+        }
+        break;
+    case T_SYSCALL:
+        syscall();
+        break;
+    case IRQ_OFFSET + IRQ_TIMER:
+#if 0
+    LAB3 : If some page replacement algorithm need tick to change the priority of pages, 
+    then you can add code here. 
+#endif
+        /* LAB1 YOUR CODE : STEP 3 */
+        /* handle the timer interrupt */
+        /* (1) After a timer interrupt, you should record this event using a global variable (increase it), such as ticks in kern/driver/clock.c
+         * (2) Every TICK_NUM cycle, you can print some info using a funciton, such as print_ticks().
+         * (3) Too Simple? Yes, I think so!
+         */
+        /* LAB5 YOUR CODE */
+        /* you should upate you lab1 code (just add ONE or TWO lines of code):
+         *    Every TICK_NUM cycle, you should set current process's current->need_resched = 1
+         */
+  
+        break;
+    case IRQ_OFFSET + IRQ_COM1:
+        c = cons_getc();
+        cprintf("serial [%03d] %c\n", c, c);
+        break;
+    case IRQ_OFFSET + IRQ_KBD:
+        c = cons_getc();
+        cprintf("kbd [%03d] %c\n", c, c);
+        break;
+    //LAB1 CHALLENGE 1 : YOUR CODE you should modify below codes.
+    case T_SWITCH_TOU:
+    case T_SWITCH_TOK:
+        panic("T_SWITCH_** ??\n");
+        break;
+    case IRQ_OFFSET + IRQ_IDE1:
+    case IRQ_OFFSET + IRQ_IDE2:
+        /* do nothing */
+        break;
+    default:
+        print_trapframe(tf);
+        if (current != NULL) {
+            cprintf("unhandled trap.\n");
+            do_exit(-E_KILLED);
+        }
+        // in kernel, it must be a mistake
+        panic("unexpected trap in kernel.\n");
+
+    }
+}
+
+/* *
+ * trap - handles or dispatches an exception/interrupt. if and when trap() returns,
+ * the code in kern/trap/trapentry.S restores the old CPU state saved in the
+ * trapframe and then uses the iret instruction to return from the exception.
+ * */
+void
+trap(struct trapframe *tf) {
+    // dispatch based on what type of trap occurred
+    // used for previous projects
+    if (current == NULL) {
+        trap_dispatch(tf);
+    }
+    else {
+        // keep a trapframe chain in stack
+        struct trapframe *otf = current->tf;
+        current->tf = tf;
+    
+        bool in_kernel = trap_in_kernel(tf);
+    
+        trap_dispatch(tf);
+    
+        current->tf = otf;
+        if (!in_kernel) {
+            if (current->flags & PF_EXITING) {
+                do_exit(-E_KILLED);
+            }
+            if (current->need_resched) {
+                schedule();
+            }
+        }
+    }
+}
+
diff --git a/code/lab5/kern/trap/trap.h b/code/lab5/kern/trap/trap.h
new file mode 100644
index 0000000..e870a6f
--- /dev/null
+++ b/code/lab5/kern/trap/trap.h
@@ -0,0 +1,89 @@
+#ifndef __KERN_TRAP_TRAP_H__
+#define __KERN_TRAP_TRAP_H__
+
+#include <defs.h>
+
+/* Trap Numbers */
+
+/* Processor-defined: */
+#define T_DIVIDE                0   // divide error
+#define T_DEBUG                 1   // debug exception
+#define T_NMI                   2   // non-maskable interrupt
+#define T_BRKPT                 3   // breakpoint
+#define T_OFLOW                 4   // overflow
+#define T_BOUND                 5   // bounds check
+#define T_ILLOP                 6   // illegal opcode
+#define T_DEVICE                7   // device not available
+#define T_DBLFLT                8   // double fault
+// #define T_COPROC             9   // reserved (not used since 486)
+#define T_TSS                   10  // invalid task switch segment
+#define T_SEGNP                 11  // segment not present
+#define T_STACK                 12  // stack exception
+#define T_GPFLT                 13  // general protection fault
+#define T_PGFLT                 14  // page fault
+// #define T_RES                15  // reserved
+#define T_FPERR                 16  // floating point error
+#define T_ALIGN                 17  // aligment check
+#define T_MCHK                  18  // machine check
+#define T_SIMDERR               19  // SIMD floating point error
+
+/* Hardware IRQ numbers. We receive these as (IRQ_OFFSET + IRQ_xx) */
+#define IRQ_OFFSET              32  // IRQ 0 corresponds to int IRQ_OFFSET
+
+#define IRQ_TIMER               0
+#define IRQ_KBD                 1
+#define IRQ_COM1                4
+#define IRQ_IDE1                14
+#define IRQ_IDE2                15
+#define IRQ_ERROR               19
+#define IRQ_SPURIOUS            31
+
+/* *
+ * These are arbitrarily chosen, but with care not to overlap
+ * processor defined exceptions or interrupt vectors.
+ * */
+#define T_SWITCH_TOU                120    // user/kernel switch
+#define T_SWITCH_TOK                121    // user/kernel switch
+
+/* registers as pushed by pushal */
+struct pushregs {
+    uint32_t reg_edi;
+    uint32_t reg_esi;
+    uint32_t reg_ebp;
+    uint32_t reg_oesp;          /* Useless */
+    uint32_t reg_ebx;
+    uint32_t reg_edx;
+    uint32_t reg_ecx;
+    uint32_t reg_eax;
+};
+
+struct trapframe {
+    struct pushregs tf_regs;
+    uint16_t tf_gs;
+    uint16_t tf_padding0;
+    uint16_t tf_fs;
+    uint16_t tf_padding1;
+    uint16_t tf_es;
+    uint16_t tf_padding2;
+    uint16_t tf_ds;
+    uint16_t tf_padding3;
+    uint32_t tf_trapno;
+    /* below here defined by x86 hardware */
+    uint32_t tf_err;
+    uintptr_t tf_eip;
+    uint16_t tf_cs;
+    uint16_t tf_padding4;
+    uint32_t tf_eflags;
+    /* below here only when crossing rings, such as from user to kernel */
+    uintptr_t tf_esp;
+    uint16_t tf_ss;
+    uint16_t tf_padding5;
+} __attribute__((packed));
+
+void idt_init(void);
+void print_trapframe(struct trapframe *tf);
+void print_regs(struct pushregs *regs);
+bool trap_in_kernel(struct trapframe *tf);
+
+#endif /* !__KERN_TRAP_TRAP_H__ */
+
diff --git a/code/lab5/kern/trap/trapentry.S b/code/lab5/kern/trap/trapentry.S
new file mode 100644
index 0000000..3565ec8
--- /dev/null
+++ b/code/lab5/kern/trap/trapentry.S
@@ -0,0 +1,49 @@
+#include <memlayout.h>
+
+# vectors.S sends all traps here.
+.text
+.globl __alltraps
+__alltraps:
+    # push registers to build a trap frame
+    # therefore make the stack look like a struct trapframe
+    pushl %ds
+    pushl %es
+    pushl %fs
+    pushl %gs
+    pushal
+
+    # load GD_KDATA into %ds and %es to set up data segments for kernel
+    movl $GD_KDATA, %eax
+    movw %ax, %ds
+    movw %ax, %es
+
+    # push %esp to pass a pointer to the trapframe as an argument to trap()
+    pushl %esp
+
+    # call trap(tf), where tf=%esp
+    call trap
+
+    # pop the pushed stack pointer
+    popl %esp
+
+    # return falls through to trapret...
+.globl __trapret
+__trapret:
+    # restore registers from stack
+    popal
+
+    # restore %ds, %es, %fs and %gs
+    popl %gs
+    popl %fs
+    popl %es
+    popl %ds
+
+    # get rid of the trap number and error code
+    addl $0x8, %esp
+    iret
+
+.globl forkrets
+forkrets:
+    # set stack to this new process's trapframe
+    movl 4(%esp), %esp
+    jmp __trapret
diff --git a/code/lab5/kern/trap/vectors.S b/code/lab5/kern/trap/vectors.S
new file mode 100644
index 0000000..1d05b4a
--- /dev/null
+++ b/code/lab5/kern/trap/vectors.S
@@ -0,0 +1,1536 @@
+# handler
+.text
+.globl __alltraps
+.globl vector0
+vector0:
+  pushl $0
+  pushl $0
+  jmp __alltraps
+.globl vector1
+vector1:
+  pushl $0
+  pushl $1
+  jmp __alltraps
+.globl vector2
+vector2:
+  pushl $0
+  pushl $2
+  jmp __alltraps
+.globl vector3
+vector3:
+  pushl $0
+  pushl $3
+  jmp __alltraps
+.globl vector4
+vector4:
+  pushl $0
+  pushl $4
+  jmp __alltraps
+.globl vector5
+vector5:
+  pushl $0
+  pushl $5
+  jmp __alltraps
+.globl vector6
+vector6:
+  pushl $0
+  pushl $6
+  jmp __alltraps
+.globl vector7
+vector7:
+  pushl $0
+  pushl $7
+  jmp __alltraps
+.globl vector8
+vector8:
+  pushl $8
+  jmp __alltraps
+.globl vector9
+vector9:
+  pushl $9
+  jmp __alltraps
+.globl vector10
+vector10:
+  pushl $10
+  jmp __alltraps
+.globl vector11
+vector11:
+  pushl $11
+  jmp __alltraps
+.globl vector12
+vector12:
+  pushl $12
+  jmp __alltraps
+.globl vector13
+vector13:
+  pushl $13
+  jmp __alltraps
+.globl vector14
+vector14:
+  pushl $14
+  jmp __alltraps
+.globl vector15
+vector15:
+  pushl $0
+  pushl $15
+  jmp __alltraps
+.globl vector16
+vector16:
+  pushl $0
+  pushl $16
+  jmp __alltraps
+.globl vector17
+vector17:
+  pushl $17
+  jmp __alltraps
+.globl vector18
+vector18:
+  pushl $0
+  pushl $18
+  jmp __alltraps
+.globl vector19
+vector19:
+  pushl $0
+  pushl $19
+  jmp __alltraps
+.globl vector20
+vector20:
+  pushl $0
+  pushl $20
+  jmp __alltraps
+.globl vector21
+vector21:
+  pushl $0
+  pushl $21
+  jmp __alltraps
+.globl vector22
+vector22:
+  pushl $0
+  pushl $22
+  jmp __alltraps
+.globl vector23
+vector23:
+  pushl $0
+  pushl $23
+  jmp __alltraps
+.globl vector24
+vector24:
+  pushl $0
+  pushl $24
+  jmp __alltraps
+.globl vector25
+vector25:
+  pushl $0
+  pushl $25
+  jmp __alltraps
+.globl vector26
+vector26:
+  pushl $0
+  pushl $26
+  jmp __alltraps
+.globl vector27
+vector27:
+  pushl $0
+  pushl $27
+  jmp __alltraps
+.globl vector28
+vector28:
+  pushl $0
+  pushl $28
+  jmp __alltraps
+.globl vector29
+vector29:
+  pushl $0
+  pushl $29
+  jmp __alltraps
+.globl vector30
+vector30:
+  pushl $0
+  pushl $30
+  jmp __alltraps
+.globl vector31
+vector31:
+  pushl $0
+  pushl $31
+  jmp __alltraps
+.globl vector32
+vector32:
+  pushl $0
+  pushl $32
+  jmp __alltraps
+.globl vector33
+vector33:
+  pushl $0
+  pushl $33
+  jmp __alltraps
+.globl vector34
+vector34:
+  pushl $0
+  pushl $34
+  jmp __alltraps
+.globl vector35
+vector35:
+  pushl $0
+  pushl $35
+  jmp __alltraps
+.globl vector36
+vector36:
+  pushl $0
+  pushl $36
+  jmp __alltraps
+.globl vector37
+vector37:
+  pushl $0
+  pushl $37
+  jmp __alltraps
+.globl vector38
+vector38:
+  pushl $0
+  pushl $38
+  jmp __alltraps
+.globl vector39
+vector39:
+  pushl $0
+  pushl $39
+  jmp __alltraps
+.globl vector40
+vector40:
+  pushl $0
+  pushl $40
+  jmp __alltraps
+.globl vector41
+vector41:
+  pushl $0
+  pushl $41
+  jmp __alltraps
+.globl vector42
+vector42:
+  pushl $0
+  pushl $42
+  jmp __alltraps
+.globl vector43
+vector43:
+  pushl $0
+  pushl $43
+  jmp __alltraps
+.globl vector44
+vector44:
+  pushl $0
+  pushl $44
+  jmp __alltraps
+.globl vector45
+vector45:
+  pushl $0
+  pushl $45
+  jmp __alltraps
+.globl vector46
+vector46:
+  pushl $0
+  pushl $46
+  jmp __alltraps
+.globl vector47
+vector47:
+  pushl $0
+  pushl $47
+  jmp __alltraps
+.globl vector48
+vector48:
+  pushl $0
+  pushl $48
+  jmp __alltraps
+.globl vector49
+vector49:
+  pushl $0
+  pushl $49
+  jmp __alltraps
+.globl vector50
+vector50:
+  pushl $0
+  pushl $50
+  jmp __alltraps
+.globl vector51
+vector51:
+  pushl $0
+  pushl $51
+  jmp __alltraps
+.globl vector52
+vector52:
+  pushl $0
+  pushl $52
+  jmp __alltraps
+.globl vector53
+vector53:
+  pushl $0
+  pushl $53
+  jmp __alltraps
+.globl vector54
+vector54:
+  pushl $0
+  pushl $54
+  jmp __alltraps
+.globl vector55
+vector55:
+  pushl $0
+  pushl $55
+  jmp __alltraps
+.globl vector56
+vector56:
+  pushl $0
+  pushl $56
+  jmp __alltraps
+.globl vector57
+vector57:
+  pushl $0
+  pushl $57
+  jmp __alltraps
+.globl vector58
+vector58:
+  pushl $0
+  pushl $58
+  jmp __alltraps
+.globl vector59
+vector59:
+  pushl $0
+  pushl $59
+  jmp __alltraps
+.globl vector60
+vector60:
+  pushl $0
+  pushl $60
+  jmp __alltraps
+.globl vector61
+vector61:
+  pushl $0
+  pushl $61
+  jmp __alltraps
+.globl vector62
+vector62:
+  pushl $0
+  pushl $62
+  jmp __alltraps
+.globl vector63
+vector63:
+  pushl $0
+  pushl $63
+  jmp __alltraps
+.globl vector64
+vector64:
+  pushl $0
+  pushl $64
+  jmp __alltraps
+.globl vector65
+vector65:
+  pushl $0
+  pushl $65
+  jmp __alltraps
+.globl vector66
+vector66:
+  pushl $0
+  pushl $66
+  jmp __alltraps
+.globl vector67
+vector67:
+  pushl $0
+  pushl $67
+  jmp __alltraps
+.globl vector68
+vector68:
+  pushl $0
+  pushl $68
+  jmp __alltraps
+.globl vector69
+vector69:
+  pushl $0
+  pushl $69
+  jmp __alltraps
+.globl vector70
+vector70:
+  pushl $0
+  pushl $70
+  jmp __alltraps
+.globl vector71
+vector71:
+  pushl $0
+  pushl $71
+  jmp __alltraps
+.globl vector72
+vector72:
+  pushl $0
+  pushl $72
+  jmp __alltraps
+.globl vector73
+vector73:
+  pushl $0
+  pushl $73
+  jmp __alltraps
+.globl vector74
+vector74:
+  pushl $0
+  pushl $74
+  jmp __alltraps
+.globl vector75
+vector75:
+  pushl $0
+  pushl $75
+  jmp __alltraps
+.globl vector76
+vector76:
+  pushl $0
+  pushl $76
+  jmp __alltraps
+.globl vector77
+vector77:
+  pushl $0
+  pushl $77
+  jmp __alltraps
+.globl vector78
+vector78:
+  pushl $0
+  pushl $78
+  jmp __alltraps
+.globl vector79
+vector79:
+  pushl $0
+  pushl $79
+  jmp __alltraps
+.globl vector80
+vector80:
+  pushl $0
+  pushl $80
+  jmp __alltraps
+.globl vector81
+vector81:
+  pushl $0
+  pushl $81
+  jmp __alltraps
+.globl vector82
+vector82:
+  pushl $0
+  pushl $82
+  jmp __alltraps
+.globl vector83
+vector83:
+  pushl $0
+  pushl $83
+  jmp __alltraps
+.globl vector84
+vector84:
+  pushl $0
+  pushl $84
+  jmp __alltraps
+.globl vector85
+vector85:
+  pushl $0
+  pushl $85
+  jmp __alltraps
+.globl vector86
+vector86:
+  pushl $0
+  pushl $86
+  jmp __alltraps
+.globl vector87
+vector87:
+  pushl $0
+  pushl $87
+  jmp __alltraps
+.globl vector88
+vector88:
+  pushl $0
+  pushl $88
+  jmp __alltraps
+.globl vector89
+vector89:
+  pushl $0
+  pushl $89
+  jmp __alltraps
+.globl vector90
+vector90:
+  pushl $0
+  pushl $90
+  jmp __alltraps
+.globl vector91
+vector91:
+  pushl $0
+  pushl $91
+  jmp __alltraps
+.globl vector92
+vector92:
+  pushl $0
+  pushl $92
+  jmp __alltraps
+.globl vector93
+vector93:
+  pushl $0
+  pushl $93
+  jmp __alltraps
+.globl vector94
+vector94:
+  pushl $0
+  pushl $94
+  jmp __alltraps
+.globl vector95
+vector95:
+  pushl $0
+  pushl $95
+  jmp __alltraps
+.globl vector96
+vector96:
+  pushl $0
+  pushl $96
+  jmp __alltraps
+.globl vector97
+vector97:
+  pushl $0
+  pushl $97
+  jmp __alltraps
+.globl vector98
+vector98:
+  pushl $0
+  pushl $98
+  jmp __alltraps
+.globl vector99
+vector99:
+  pushl $0
+  pushl $99
+  jmp __alltraps
+.globl vector100
+vector100:
+  pushl $0
+  pushl $100
+  jmp __alltraps
+.globl vector101
+vector101:
+  pushl $0
+  pushl $101
+  jmp __alltraps
+.globl vector102
+vector102:
+  pushl $0
+  pushl $102
+  jmp __alltraps
+.globl vector103
+vector103:
+  pushl $0
+  pushl $103
+  jmp __alltraps
+.globl vector104
+vector104:
+  pushl $0
+  pushl $104
+  jmp __alltraps
+.globl vector105
+vector105:
+  pushl $0
+  pushl $105
+  jmp __alltraps
+.globl vector106
+vector106:
+  pushl $0
+  pushl $106
+  jmp __alltraps
+.globl vector107
+vector107:
+  pushl $0
+  pushl $107
+  jmp __alltraps
+.globl vector108
+vector108:
+  pushl $0
+  pushl $108
+  jmp __alltraps
+.globl vector109
+vector109:
+  pushl $0
+  pushl $109
+  jmp __alltraps
+.globl vector110
+vector110:
+  pushl $0
+  pushl $110
+  jmp __alltraps
+.globl vector111
+vector111:
+  pushl $0
+  pushl $111
+  jmp __alltraps
+.globl vector112
+vector112:
+  pushl $0
+  pushl $112
+  jmp __alltraps
+.globl vector113
+vector113:
+  pushl $0
+  pushl $113
+  jmp __alltraps
+.globl vector114
+vector114:
+  pushl $0
+  pushl $114
+  jmp __alltraps
+.globl vector115
+vector115:
+  pushl $0
+  pushl $115
+  jmp __alltraps
+.globl vector116
+vector116:
+  pushl $0
+  pushl $116
+  jmp __alltraps
+.globl vector117
+vector117:
+  pushl $0
+  pushl $117
+  jmp __alltraps
+.globl vector118
+vector118:
+  pushl $0
+  pushl $118
+  jmp __alltraps
+.globl vector119
+vector119:
+  pushl $0
+  pushl $119
+  jmp __alltraps
+.globl vector120
+vector120:
+  pushl $0
+  pushl $120
+  jmp __alltraps
+.globl vector121
+vector121:
+  pushl $0
+  pushl $121
+  jmp __alltraps
+.globl vector122
+vector122:
+  pushl $0
+  pushl $122
+  jmp __alltraps
+.globl vector123
+vector123:
+  pushl $0
+  pushl $123
+  jmp __alltraps
+.globl vector124
+vector124:
+  pushl $0
+  pushl $124
+  jmp __alltraps
+.globl vector125
+vector125:
+  pushl $0
+  pushl $125
+  jmp __alltraps
+.globl vector126
+vector126:
+  pushl $0
+  pushl $126
+  jmp __alltraps
+.globl vector127
+vector127:
+  pushl $0
+  pushl $127
+  jmp __alltraps
+.globl vector128
+vector128:
+  pushl $0
+  pushl $128
+  jmp __alltraps
+.globl vector129
+vector129:
+  pushl $0
+  pushl $129
+  jmp __alltraps
+.globl vector130
+vector130:
+  pushl $0
+  pushl $130
+  jmp __alltraps
+.globl vector131
+vector131:
+  pushl $0
+  pushl $131
+  jmp __alltraps
+.globl vector132
+vector132:
+  pushl $0
+  pushl $132
+  jmp __alltraps
+.globl vector133
+vector133:
+  pushl $0
+  pushl $133
+  jmp __alltraps
+.globl vector134
+vector134:
+  pushl $0
+  pushl $134
+  jmp __alltraps
+.globl vector135
+vector135:
+  pushl $0
+  pushl $135
+  jmp __alltraps
+.globl vector136
+vector136:
+  pushl $0
+  pushl $136
+  jmp __alltraps
+.globl vector137
+vector137:
+  pushl $0
+  pushl $137
+  jmp __alltraps
+.globl vector138
+vector138:
+  pushl $0
+  pushl $138
+  jmp __alltraps
+.globl vector139
+vector139:
+  pushl $0
+  pushl $139
+  jmp __alltraps
+.globl vector140
+vector140:
+  pushl $0
+  pushl $140
+  jmp __alltraps
+.globl vector141
+vector141:
+  pushl $0
+  pushl $141
+  jmp __alltraps
+.globl vector142
+vector142:
+  pushl $0
+  pushl $142
+  jmp __alltraps
+.globl vector143
+vector143:
+  pushl $0
+  pushl $143
+  jmp __alltraps
+.globl vector144
+vector144:
+  pushl $0
+  pushl $144
+  jmp __alltraps
+.globl vector145
+vector145:
+  pushl $0
+  pushl $145
+  jmp __alltraps
+.globl vector146
+vector146:
+  pushl $0
+  pushl $146
+  jmp __alltraps
+.globl vector147
+vector147:
+  pushl $0
+  pushl $147
+  jmp __alltraps
+.globl vector148
+vector148:
+  pushl $0
+  pushl $148
+  jmp __alltraps
+.globl vector149
+vector149:
+  pushl $0
+  pushl $149
+  jmp __alltraps
+.globl vector150
+vector150:
+  pushl $0
+  pushl $150
+  jmp __alltraps
+.globl vector151
+vector151:
+  pushl $0
+  pushl $151
+  jmp __alltraps
+.globl vector152
+vector152:
+  pushl $0
+  pushl $152
+  jmp __alltraps
+.globl vector153
+vector153:
+  pushl $0
+  pushl $153
+  jmp __alltraps
+.globl vector154
+vector154:
+  pushl $0
+  pushl $154
+  jmp __alltraps
+.globl vector155
+vector155:
+  pushl $0
+  pushl $155
+  jmp __alltraps
+.globl vector156
+vector156:
+  pushl $0
+  pushl $156
+  jmp __alltraps
+.globl vector157
+vector157:
+  pushl $0
+  pushl $157
+  jmp __alltraps
+.globl vector158
+vector158:
+  pushl $0
+  pushl $158
+  jmp __alltraps
+.globl vector159
+vector159:
+  pushl $0
+  pushl $159
+  jmp __alltraps
+.globl vector160
+vector160:
+  pushl $0
+  pushl $160
+  jmp __alltraps
+.globl vector161
+vector161:
+  pushl $0
+  pushl $161
+  jmp __alltraps
+.globl vector162
+vector162:
+  pushl $0
+  pushl $162
+  jmp __alltraps
+.globl vector163
+vector163:
+  pushl $0
+  pushl $163
+  jmp __alltraps
+.globl vector164
+vector164:
+  pushl $0
+  pushl $164
+  jmp __alltraps
+.globl vector165
+vector165:
+  pushl $0
+  pushl $165
+  jmp __alltraps
+.globl vector166
+vector166:
+  pushl $0
+  pushl $166
+  jmp __alltraps
+.globl vector167
+vector167:
+  pushl $0
+  pushl $167
+  jmp __alltraps
+.globl vector168
+vector168:
+  pushl $0
+  pushl $168
+  jmp __alltraps
+.globl vector169
+vector169:
+  pushl $0
+  pushl $169
+  jmp __alltraps
+.globl vector170
+vector170:
+  pushl $0
+  pushl $170
+  jmp __alltraps
+.globl vector171
+vector171:
+  pushl $0
+  pushl $171
+  jmp __alltraps
+.globl vector172
+vector172:
+  pushl $0
+  pushl $172
+  jmp __alltraps
+.globl vector173
+vector173:
+  pushl $0
+  pushl $173
+  jmp __alltraps
+.globl vector174
+vector174:
+  pushl $0
+  pushl $174
+  jmp __alltraps
+.globl vector175
+vector175:
+  pushl $0
+  pushl $175
+  jmp __alltraps
+.globl vector176
+vector176:
+  pushl $0
+  pushl $176
+  jmp __alltraps
+.globl vector177
+vector177:
+  pushl $0
+  pushl $177
+  jmp __alltraps
+.globl vector178
+vector178:
+  pushl $0
+  pushl $178
+  jmp __alltraps
+.globl vector179
+vector179:
+  pushl $0
+  pushl $179
+  jmp __alltraps
+.globl vector180
+vector180:
+  pushl $0
+  pushl $180
+  jmp __alltraps
+.globl vector181
+vector181:
+  pushl $0
+  pushl $181
+  jmp __alltraps
+.globl vector182
+vector182:
+  pushl $0
+  pushl $182
+  jmp __alltraps
+.globl vector183
+vector183:
+  pushl $0
+  pushl $183
+  jmp __alltraps
+.globl vector184
+vector184:
+  pushl $0
+  pushl $184
+  jmp __alltraps
+.globl vector185
+vector185:
+  pushl $0
+  pushl $185
+  jmp __alltraps
+.globl vector186
+vector186:
+  pushl $0
+  pushl $186
+  jmp __alltraps
+.globl vector187
+vector187:
+  pushl $0
+  pushl $187
+  jmp __alltraps
+.globl vector188
+vector188:
+  pushl $0
+  pushl $188
+  jmp __alltraps
+.globl vector189
+vector189:
+  pushl $0
+  pushl $189
+  jmp __alltraps
+.globl vector190
+vector190:
+  pushl $0
+  pushl $190
+  jmp __alltraps
+.globl vector191
+vector191:
+  pushl $0
+  pushl $191
+  jmp __alltraps
+.globl vector192
+vector192:
+  pushl $0
+  pushl $192
+  jmp __alltraps
+.globl vector193
+vector193:
+  pushl $0
+  pushl $193
+  jmp __alltraps
+.globl vector194
+vector194:
+  pushl $0
+  pushl $194
+  jmp __alltraps
+.globl vector195
+vector195:
+  pushl $0
+  pushl $195
+  jmp __alltraps
+.globl vector196
+vector196:
+  pushl $0
+  pushl $196
+  jmp __alltraps
+.globl vector197
+vector197:
+  pushl $0
+  pushl $197
+  jmp __alltraps
+.globl vector198
+vector198:
+  pushl $0
+  pushl $198
+  jmp __alltraps
+.globl vector199
+vector199:
+  pushl $0
+  pushl $199
+  jmp __alltraps
+.globl vector200
+vector200:
+  pushl $0
+  pushl $200
+  jmp __alltraps
+.globl vector201
+vector201:
+  pushl $0
+  pushl $201
+  jmp __alltraps
+.globl vector202
+vector202:
+  pushl $0
+  pushl $202
+  jmp __alltraps
+.globl vector203
+vector203:
+  pushl $0
+  pushl $203
+  jmp __alltraps
+.globl vector204
+vector204:
+  pushl $0
+  pushl $204
+  jmp __alltraps
+.globl vector205
+vector205:
+  pushl $0
+  pushl $205
+  jmp __alltraps
+.globl vector206
+vector206:
+  pushl $0
+  pushl $206
+  jmp __alltraps
+.globl vector207
+vector207:
+  pushl $0
+  pushl $207
+  jmp __alltraps
+.globl vector208
+vector208:
+  pushl $0
+  pushl $208
+  jmp __alltraps
+.globl vector209
+vector209:
+  pushl $0
+  pushl $209
+  jmp __alltraps
+.globl vector210
+vector210:
+  pushl $0
+  pushl $210
+  jmp __alltraps
+.globl vector211
+vector211:
+  pushl $0
+  pushl $211
+  jmp __alltraps
+.globl vector212
+vector212:
+  pushl $0
+  pushl $212
+  jmp __alltraps
+.globl vector213
+vector213:
+  pushl $0
+  pushl $213
+  jmp __alltraps
+.globl vector214
+vector214:
+  pushl $0
+  pushl $214
+  jmp __alltraps
+.globl vector215
+vector215:
+  pushl $0
+  pushl $215
+  jmp __alltraps
+.globl vector216
+vector216:
+  pushl $0
+  pushl $216
+  jmp __alltraps
+.globl vector217
+vector217:
+  pushl $0
+  pushl $217
+  jmp __alltraps
+.globl vector218
+vector218:
+  pushl $0
+  pushl $218
+  jmp __alltraps
+.globl vector219
+vector219:
+  pushl $0
+  pushl $219
+  jmp __alltraps
+.globl vector220
+vector220:
+  pushl $0
+  pushl $220
+  jmp __alltraps
+.globl vector221
+vector221:
+  pushl $0
+  pushl $221
+  jmp __alltraps
+.globl vector222
+vector222:
+  pushl $0
+  pushl $222
+  jmp __alltraps
+.globl vector223
+vector223:
+  pushl $0
+  pushl $223
+  jmp __alltraps
+.globl vector224
+vector224:
+  pushl $0
+  pushl $224
+  jmp __alltraps
+.globl vector225
+vector225:
+  pushl $0
+  pushl $225
+  jmp __alltraps
+.globl vector226
+vector226:
+  pushl $0
+  pushl $226
+  jmp __alltraps
+.globl vector227
+vector227:
+  pushl $0
+  pushl $227
+  jmp __alltraps
+.globl vector228
+vector228:
+  pushl $0
+  pushl $228
+  jmp __alltraps
+.globl vector229
+vector229:
+  pushl $0
+  pushl $229
+  jmp __alltraps
+.globl vector230
+vector230:
+  pushl $0
+  pushl $230
+  jmp __alltraps
+.globl vector231
+vector231:
+  pushl $0
+  pushl $231
+  jmp __alltraps
+.globl vector232
+vector232:
+  pushl $0
+  pushl $232
+  jmp __alltraps
+.globl vector233
+vector233:
+  pushl $0
+  pushl $233
+  jmp __alltraps
+.globl vector234
+vector234:
+  pushl $0
+  pushl $234
+  jmp __alltraps
+.globl vector235
+vector235:
+  pushl $0
+  pushl $235
+  jmp __alltraps
+.globl vector236
+vector236:
+  pushl $0
+  pushl $236
+  jmp __alltraps
+.globl vector237
+vector237:
+  pushl $0
+  pushl $237
+  jmp __alltraps
+.globl vector238
+vector238:
+  pushl $0
+  pushl $238
+  jmp __alltraps
+.globl vector239
+vector239:
+  pushl $0
+  pushl $239
+  jmp __alltraps
+.globl vector240
+vector240:
+  pushl $0
+  pushl $240
+  jmp __alltraps
+.globl vector241
+vector241:
+  pushl $0
+  pushl $241
+  jmp __alltraps
+.globl vector242
+vector242:
+  pushl $0
+  pushl $242
+  jmp __alltraps
+.globl vector243
+vector243:
+  pushl $0
+  pushl $243
+  jmp __alltraps
+.globl vector244
+vector244:
+  pushl $0
+  pushl $244
+  jmp __alltraps
+.globl vector245
+vector245:
+  pushl $0
+  pushl $245
+  jmp __alltraps
+.globl vector246
+vector246:
+  pushl $0
+  pushl $246
+  jmp __alltraps
+.globl vector247
+vector247:
+  pushl $0
+  pushl $247
+  jmp __alltraps
+.globl vector248
+vector248:
+  pushl $0
+  pushl $248
+  jmp __alltraps
+.globl vector249
+vector249:
+  pushl $0
+  pushl $249
+  jmp __alltraps
+.globl vector250
+vector250:
+  pushl $0
+  pushl $250
+  jmp __alltraps
+.globl vector251
+vector251:
+  pushl $0
+  pushl $251
+  jmp __alltraps
+.globl vector252
+vector252:
+  pushl $0
+  pushl $252
+  jmp __alltraps
+.globl vector253
+vector253:
+  pushl $0
+  pushl $253
+  jmp __alltraps
+.globl vector254
+vector254:
+  pushl $0
+  pushl $254
+  jmp __alltraps
+.globl vector255
+vector255:
+  pushl $0
+  pushl $255
+  jmp __alltraps
+
+# vector table
+.data
+.globl __vectors
+__vectors:
+  .long vector0
+  .long vector1
+  .long vector2
+  .long vector3
+  .long vector4
+  .long vector5
+  .long vector6
+  .long vector7
+  .long vector8
+  .long vector9
+  .long vector10
+  .long vector11
+  .long vector12
+  .long vector13
+  .long vector14
+  .long vector15
+  .long vector16
+  .long vector17
+  .long vector18
+  .long vector19
+  .long vector20
+  .long vector21
+  .long vector22
+  .long vector23
+  .long vector24
+  .long vector25
+  .long vector26
+  .long vector27
+  .long vector28
+  .long vector29
+  .long vector30
+  .long vector31
+  .long vector32
+  .long vector33
+  .long vector34
+  .long vector35
+  .long vector36
+  .long vector37
+  .long vector38
+  .long vector39
+  .long vector40
+  .long vector41
+  .long vector42
+  .long vector43
+  .long vector44
+  .long vector45
+  .long vector46
+  .long vector47
+  .long vector48
+  .long vector49
+  .long vector50
+  .long vector51
+  .long vector52
+  .long vector53
+  .long vector54
+  .long vector55
+  .long vector56
+  .long vector57
+  .long vector58
+  .long vector59
+  .long vector60
+  .long vector61
+  .long vector62
+  .long vector63
+  .long vector64
+  .long vector65
+  .long vector66
+  .long vector67
+  .long vector68
+  .long vector69
+  .long vector70
+  .long vector71
+  .long vector72
+  .long vector73
+  .long vector74
+  .long vector75
+  .long vector76
+  .long vector77
+  .long vector78
+  .long vector79
+  .long vector80
+  .long vector81
+  .long vector82
+  .long vector83
+  .long vector84
+  .long vector85
+  .long vector86
+  .long vector87
+  .long vector88
+  .long vector89
+  .long vector90
+  .long vector91
+  .long vector92
+  .long vector93
+  .long vector94
+  .long vector95
+  .long vector96
+  .long vector97
+  .long vector98
+  .long vector99
+  .long vector100
+  .long vector101
+  .long vector102
+  .long vector103
+  .long vector104
+  .long vector105
+  .long vector106
+  .long vector107
+  .long vector108
+  .long vector109
+  .long vector110
+  .long vector111
+  .long vector112
+  .long vector113
+  .long vector114
+  .long vector115
+  .long vector116
+  .long vector117
+  .long vector118
+  .long vector119
+  .long vector120
+  .long vector121
+  .long vector122
+  .long vector123
+  .long vector124
+  .long vector125
+  .long vector126
+  .long vector127
+  .long vector128
+  .long vector129
+  .long vector130
+  .long vector131
+  .long vector132
+  .long vector133
+  .long vector134
+  .long vector135
+  .long vector136
+  .long vector137
+  .long vector138
+  .long vector139
+  .long vector140
+  .long vector141
+  .long vector142
+  .long vector143
+  .long vector144
+  .long vector145
+  .long vector146
+  .long vector147
+  .long vector148
+  .long vector149
+  .long vector150
+  .long vector151
+  .long vector152
+  .long vector153
+  .long vector154
+  .long vector155
+  .long vector156
+  .long vector157
+  .long vector158
+  .long vector159
+  .long vector160
+  .long vector161
+  .long vector162
+  .long vector163
+  .long vector164
+  .long vector165
+  .long vector166
+  .long vector167
+  .long vector168
+  .long vector169
+  .long vector170
+  .long vector171
+  .long vector172
+  .long vector173
+  .long vector174
+  .long vector175
+  .long vector176
+  .long vector177
+  .long vector178
+  .long vector179
+  .long vector180
+  .long vector181
+  .long vector182
+  .long vector183
+  .long vector184
+  .long vector185
+  .long vector186
+  .long vector187
+  .long vector188
+  .long vector189
+  .long vector190
+  .long vector191
+  .long vector192
+  .long vector193
+  .long vector194
+  .long vector195
+  .long vector196
+  .long vector197
+  .long vector198
+  .long vector199
+  .long vector200
+  .long vector201
+  .long vector202
+  .long vector203
+  .long vector204
+  .long vector205
+  .long vector206
+  .long vector207
+  .long vector208
+  .long vector209
+  .long vector210
+  .long vector211
+  .long vector212
+  .long vector213
+  .long vector214
+  .long vector215
+  .long vector216
+  .long vector217
+  .long vector218
+  .long vector219
+  .long vector220
+  .long vector221
+  .long vector222
+  .long vector223
+  .long vector224
+  .long vector225
+  .long vector226
+  .long vector227
+  .long vector228
+  .long vector229
+  .long vector230
+  .long vector231
+  .long vector232
+  .long vector233
+  .long vector234
+  .long vector235
+  .long vector236
+  .long vector237
+  .long vector238
+  .long vector239
+  .long vector240
+  .long vector241
+  .long vector242
+  .long vector243
+  .long vector244
+  .long vector245
+  .long vector246
+  .long vector247
+  .long vector248
+  .long vector249
+  .long vector250
+  .long vector251
+  .long vector252
+  .long vector253
+  .long vector254
+  .long vector255
diff --git a/code/lab5/libs/atomic.h b/code/lab5/libs/atomic.h
new file mode 100644
index 0000000..a3a9525
--- /dev/null
+++ b/code/lab5/libs/atomic.h
@@ -0,0 +1,251 @@
+#ifndef __LIBS_ATOMIC_H__
+#define __LIBS_ATOMIC_H__
+
+/* Atomic operations that C can't guarantee us. Useful for resource counting etc.. */
+
+typedef struct {
+    volatile int counter;
+} atomic_t;
+
+static inline int atomic_read(const atomic_t *v) __attribute__((always_inline));
+static inline void atomic_set(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_add(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_sub(atomic_t *v, int i) __attribute__((always_inline));
+static inline bool atomic_sub_test_zero(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_inc(atomic_t *v) __attribute__((always_inline));
+static inline void atomic_dec(atomic_t *v) __attribute__((always_inline));
+static inline bool atomic_inc_test_zero(atomic_t *v) __attribute__((always_inline));
+static inline bool atomic_dec_test_zero(atomic_t *v) __attribute__((always_inline));
+static inline int atomic_add_return(atomic_t *v, int i) __attribute__((always_inline));
+static inline int atomic_sub_return(atomic_t *v, int i) __attribute__((always_inline));
+
+/* *
+ * atomic_read - read atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically reads the value of @v.
+ * */
+static inline int
+atomic_read(const atomic_t *v) {
+    return v->counter;
+}
+
+/* *
+ * atomic_set - set atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  required value
+ *
+ * Atomically sets the value of @v to @i.
+ * */
+static inline void
+atomic_set(atomic_t *v, int i) {
+    v->counter = i;
+}
+
+/* *
+ * atomic_add - add integer to atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to add
+ *
+ * Atomically adds @i to @v.
+ * */
+static inline void
+atomic_add(atomic_t *v, int i) {
+    asm volatile ("addl %1, %0" : "+m" (v->counter) : "ir" (i));
+}
+
+/* *
+ * atomic_sub - subtract integer from atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v.
+ * */
+static inline void
+atomic_sub(atomic_t *v, int i) {
+    asm volatile("subl %1, %0" : "+m" (v->counter) : "ir" (i));
+}
+
+/* *
+ * atomic_sub_test_zero - subtract value from variable and test result
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v and
+ * returns true if the result is zero, or false for all other cases.
+ * */
+static inline bool
+atomic_sub_test_zero(atomic_t *v, int i) {
+    unsigned char c;
+    asm volatile("subl %2, %0; sete %1" : "+m" (v->counter), "=qm" (c) : "ir" (i) : "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_inc - increment atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically increments @v by 1.
+ * */
+static inline void
+atomic_inc(atomic_t *v) {
+    asm volatile("incl %0" : "+m" (v->counter));
+}
+
+/* *
+ * atomic_dec - decrement atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically decrements @v by 1.
+ * */
+static inline void
+atomic_dec(atomic_t *v) {
+    asm volatile("decl %0" : "+m" (v->counter));
+}
+
+/* *
+ * atomic_inc_test_zero - increment and test
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically increments @v by 1 and
+ * returns true if the result is zero, or false for all other cases.
+ * */
+static inline bool
+atomic_inc_test_zero(atomic_t *v) {
+    unsigned char c;
+    asm volatile("incl %0; sete %1" : "+m" (v->counter), "=qm" (c) :: "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_dec_test_zero - decrement and test
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically decrements @v by 1 and
+ * returns true if the result is 0, or false for all other cases.
+ * */
+static inline bool
+atomic_dec_test_zero(atomic_t *v) {
+    unsigned char c;
+    asm volatile("decl %0; sete %1" : "+m" (v->counter), "=qm" (c) :: "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_add_return - add integer and return
+ * @i:  integer value to add
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically adds @i to @v and returns @i + @v
+ * Requires Modern 486+ processor
+ * */
+static inline int
+atomic_add_return(atomic_t *v, int i) {
+    int __i = i;
+    asm volatile("xaddl %0, %1" : "+r" (i), "+m" (v->counter) :: "memory");
+    return i + __i;
+}
+
+/* *
+ * atomic_sub_return - subtract integer and return
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v and returns @v - @i
+ * */
+static inline int
+atomic_sub_return(atomic_t *v, int i) {
+    return atomic_add_return(v, -i);
+}
+
+static inline void set_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline void clear_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline void change_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_set_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_clear_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_change_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_bit(int nr, volatile void *addr) __attribute__((always_inline));
+
+/* *
+ * set_bit - Atomically set a bit in memory
+ * @nr:     the bit to set
+ * @addr:   the address to start counting from
+ *
+ * Note that @nr may be almost arbitrarily large; this function is not
+ * restricted to acting on a single-word quantity.
+ * */
+static inline void
+set_bit(int nr, volatile void *addr) {
+    asm volatile ("btsl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * clear_bit - Atomically clears a bit in memory
+ * @nr:     the bit to clear
+ * @addr:   the address to start counting from
+ * */
+static inline void
+clear_bit(int nr, volatile void *addr) {
+    asm volatile ("btrl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * change_bit - Atomically toggle a bit in memory
+ * @nr:     the bit to change
+ * @addr:   the address to start counting from
+ * */
+static inline void
+change_bit(int nr, volatile void *addr) {
+    asm volatile ("btcl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * test_and_set_bit - Atomically set a bit and return its old value
+ * @nr:     the bit to set
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_set_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btsl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_and_clear_bit - Atomically clear a bit and return its old value
+ * @nr:     the bit to clear
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_clear_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btrl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_and_change_bit - Atomically change a bit and return its old value
+ * @nr:     the bit to change
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_change_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btcl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_bit - Determine whether a bit is set
+ * @nr:     the bit to test
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btl %2, %1; sbbl %0,%0" : "=r" (oldbit) : "m" (*(volatile long *)addr), "Ir" (nr));
+    return oldbit != 0;
+}
+
+#endif /* !__LIBS_ATOMIC_H__ */
+
diff --git a/code/lab5/libs/defs.h b/code/lab5/libs/defs.h
new file mode 100644
index 0000000..88f280e
--- /dev/null
+++ b/code/lab5/libs/defs.h
@@ -0,0 +1,68 @@
+#ifndef __LIBS_DEFS_H__
+#define __LIBS_DEFS_H__
+
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+#define __always_inline inline __attribute__((always_inline))
+#define __noinline __attribute__((noinline))
+#define __noreturn __attribute__((noreturn))
+
+/* Represents true-or-false values */
+typedef int bool;
+
+/* Explicitly-sized versions of integer types */
+typedef char int8_t;
+typedef unsigned char uint8_t;
+typedef short int16_t;
+typedef unsigned short uint16_t;
+typedef int int32_t;
+typedef unsigned int uint32_t;
+typedef long long int64_t;
+typedef unsigned long long uint64_t;
+
+/* *
+ * Pointers and addresses are 32 bits long.
+ * We use pointer types to represent addresses,
+ * uintptr_t to represent the numerical values of addresses.
+ * */
+typedef int32_t intptr_t;
+typedef uint32_t uintptr_t;
+
+/* size_t is used for memory object sizes */
+typedef uintptr_t size_t;
+
+/* used for page numbers */
+typedef size_t ppn_t;
+
+/* *
+ * Rounding operations (efficient when n is a power of 2)
+ * Round down to the nearest multiple of n
+ * */
+#define ROUNDDOWN(a, n) ({                                          \
+            size_t __a = (size_t)(a);                               \
+            (typeof(a))(__a - __a % (n));                           \
+        })
+
+/* Round up to the nearest multiple of n */
+#define ROUNDUP(a, n) ({                                            \
+            size_t __n = (size_t)(n);                               \
+            (typeof(a))(ROUNDDOWN((size_t)(a) + __n - 1, __n));     \
+        })
+
+/* Return the offset of 'member' relative to the beginning of a struct type */
+#define offsetof(type, member)                                      \
+    ((size_t)(&((type *)0)->member))
+
+/* *
+ * to_struct - get the struct from a ptr
+ * @ptr:    a struct pointer of member
+ * @type:   the type of the struct this is embedded in
+ * @member: the name of the member within the struct
+ * */
+#define to_struct(ptr, type, member)                               \
+    ((type *)((char *)(ptr) - offsetof(type, member)))
+
+#endif /* !__LIBS_DEFS_H__ */
+
diff --git a/code/lab5/libs/elf.h b/code/lab5/libs/elf.h
new file mode 100644
index 0000000..8678f10
--- /dev/null
+++ b/code/lab5/libs/elf.h
@@ -0,0 +1,48 @@
+#ifndef __LIBS_ELF_H__
+#define __LIBS_ELF_H__
+
+#include <defs.h>
+
+#define ELF_MAGIC   0x464C457FU         // "\x7FELF" in little endian
+
+/* file header */
+struct elfhdr {
+    uint32_t e_magic;     // must equal ELF_MAGIC
+    uint8_t e_elf[12];
+    uint16_t e_type;      // 1=relocatable, 2=executable, 3=shared object, 4=core image
+    uint16_t e_machine;   // 3=x86, 4=68K, etc.
+    uint32_t e_version;   // file version, always 1
+    uint32_t e_entry;     // entry point if executable
+    uint32_t e_phoff;     // file position of program header or 0
+    uint32_t e_shoff;     // file position of section header or 0
+    uint32_t e_flags;     // architecture-specific flags, usually 0
+    uint16_t e_ehsize;    // size of this elf header
+    uint16_t e_phentsize; // size of an entry in program header
+    uint16_t e_phnum;     // number of entries in program header or 0
+    uint16_t e_shentsize; // size of an entry in section header
+    uint16_t e_shnum;     // number of entries in section header or 0
+    uint16_t e_shstrndx;  // section number that contains section name strings
+};
+
+/* program section header */
+struct proghdr {
+    uint32_t p_type;   // loadable code or data, dynamic linking info,etc.
+    uint32_t p_offset; // file offset of segment
+    uint32_t p_va;     // virtual address to map segment
+    uint32_t p_pa;     // physical address, not used
+    uint32_t p_filesz; // size of segment in file
+    uint32_t p_memsz;  // size of segment in memory (bigger if contains bss)
+    uint32_t p_flags;  // read/write/execute bits
+    uint32_t p_align;  // required alignment, invariably hardware page size
+};
+
+/* values for Proghdr::p_type */
+#define ELF_PT_LOAD                     1
+
+/* flag bits for Proghdr::p_flags */
+#define ELF_PF_X                        1
+#define ELF_PF_W                        2
+#define ELF_PF_R                        4
+
+#endif /* !__LIBS_ELF_H__ */
+
diff --git a/code/lab5/libs/error.h b/code/lab5/libs/error.h
new file mode 100644
index 0000000..ddad593
--- /dev/null
+++ b/code/lab5/libs/error.h
@@ -0,0 +1,33 @@
+#ifndef __LIBS_ERROR_H__
+#define __LIBS_ERROR_H__
+
+/* kernel error codes -- keep in sync with list in lib/printfmt.c */
+#define E_UNSPECIFIED       1   // Unspecified or unknown problem
+#define E_BAD_PROC          2   // Process doesn't exist or otherwise
+#define E_INVAL             3   // Invalid parameter
+#define E_NO_MEM            4   // Request failed due to memory shortage
+#define E_NO_FREE_PROC      5   // Attempt to create a new process beyond
+#define E_FAULT             6   // Memory fault
+#define E_SWAP_FAULT        7   // SWAP READ/WRITE fault
+#define E_INVAL_ELF         8   // Invalid elf file
+#define E_KILLED            9   // Process is killed
+#define E_PANIC             10  // Panic Failure
+#define E_TIMEOUT           11  // Timeout
+#define E_TOO_BIG           12  // Argument is Too Big
+#define E_NO_DEV            13  // No such Device
+#define E_NA_DEV            14  // Device Not Available
+#define E_BUSY              15  // Device/File is Busy
+#define E_NOENT             16  // No Such File or Directory
+#define E_ISDIR             17  // Is a Directory
+#define E_NOTDIR            18  // Not a Directory
+#define E_XDEV              19  // Cross Device-Link
+#define E_UNIMP             20  // Unimplemented Feature
+#define E_SEEK              21  // Illegal Seek
+#define E_MAX_OPEN          22  // Too Many Files are Open
+#define E_EXISTS            23  // File/Directory Already Exists
+#define E_NOTEMPTY          24  // Directory is Not Empty
+/* the maximum allowed */
+#define MAXERROR            24
+
+#endif /* !__LIBS_ERROR_H__ */
+
diff --git a/code/lab5/libs/hash.c b/code/lab5/libs/hash.c
new file mode 100644
index 0000000..61bcd88
--- /dev/null
+++ b/code/lab5/libs/hash.c
@@ -0,0 +1,18 @@
+#include <stdlib.h>
+
+/* 2^31 + 2^29 - 2^25 + 2^22 - 2^19 - 2^16 + 1 */
+#define GOLDEN_RATIO_PRIME_32       0x9e370001UL
+
+/* *
+ * hash32 - generate a hash value in the range [0, 2^@bits - 1]
+ * @val:    the input value
+ * @bits:   the number of bits in a return value
+ *
+ * High bits are more random, so we use them.
+ * */
+uint32_t
+hash32(uint32_t val, unsigned int bits) {
+    uint32_t hash = val * GOLDEN_RATIO_PRIME_32;
+    return (hash >> (32 - bits));
+}
+
diff --git a/code/lab5/libs/list.h b/code/lab5/libs/list.h
new file mode 100644
index 0000000..3dbf772
--- /dev/null
+++ b/code/lab5/libs/list.h
@@ -0,0 +1,163 @@
+#ifndef __LIBS_LIST_H__
+#define __LIBS_LIST_H__
+
+#ifndef __ASSEMBLER__
+
+#include <defs.h>
+
+/* *
+ * Simple doubly linked list implementation.
+ *
+ * Some of the internal functions ("__xxx") are useful when manipulating
+ * whole lists rather than single entries, as sometimes we already know
+ * the next/prev entries and we can generate better code by using them
+ * directly rather than using the generic single-entry routines.
+ * */
+
+struct list_entry {
+    struct list_entry *prev, *next;
+};
+
+typedef struct list_entry list_entry_t;
+
+static inline void list_init(list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add_before(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add_after(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_del(list_entry_t *listelm) __attribute__((always_inline));
+static inline void list_del_init(list_entry_t *listelm) __attribute__((always_inline));
+static inline bool list_empty(list_entry_t *list) __attribute__((always_inline));
+static inline list_entry_t *list_next(list_entry_t *listelm) __attribute__((always_inline));
+static inline list_entry_t *list_prev(list_entry_t *listelm) __attribute__((always_inline));
+
+static inline void __list_add(list_entry_t *elm, list_entry_t *prev, list_entry_t *next) __attribute__((always_inline));
+static inline void __list_del(list_entry_t *prev, list_entry_t *next) __attribute__((always_inline));
+
+/* *
+ * list_init - initialize a new entry
+ * @elm:        new entry to be initialized
+ * */
+static inline void
+list_init(list_entry_t *elm) {
+    elm->prev = elm->next = elm;
+}
+
+/* *
+ * list_add - add a new entry
+ * @listelm:    list head to add after
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *after* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add(list_entry_t *listelm, list_entry_t *elm) {
+    list_add_after(listelm, elm);
+}
+
+/* *
+ * list_add_before - add a new entry
+ * @listelm:    list head to add before
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *before* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add_before(list_entry_t *listelm, list_entry_t *elm) {
+    __list_add(elm, listelm->prev, listelm);
+}
+
+/* *
+ * list_add_after - add a new entry
+ * @listelm:    list head to add after
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *after* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add_after(list_entry_t *listelm, list_entry_t *elm) {
+    __list_add(elm, listelm, listelm->next);
+}
+
+/* *
+ * list_del - deletes entry from list
+ * @listelm:    the element to delete from the list
+ *
+ * Note: list_empty() on @listelm does not return true after this, the entry is
+ * in an undefined state.
+ * */
+static inline void
+list_del(list_entry_t *listelm) {
+    __list_del(listelm->prev, listelm->next);
+}
+
+/* *
+ * list_del_init - deletes entry from list and reinitialize it.
+ * @listelm:    the element to delete from the list.
+ *
+ * Note: list_empty() on @listelm returns true after this.
+ * */
+static inline void
+list_del_init(list_entry_t *listelm) {
+    list_del(listelm);
+    list_init(listelm);
+}
+
+/* *
+ * list_empty - tests whether a list is empty
+ * @list:       the list to test.
+ * */
+static inline bool
+list_empty(list_entry_t *list) {
+    return list->next == list;
+}
+
+/* *
+ * list_next - get the next entry
+ * @listelm:    the list head
+ **/
+static inline list_entry_t *
+list_next(list_entry_t *listelm) {
+    return listelm->next;
+}
+
+/* *
+ * list_prev - get the previous entry
+ * @listelm:    the list head
+ **/
+static inline list_entry_t *
+list_prev(list_entry_t *listelm) {
+    return listelm->prev;
+}
+
+/* *
+ * Insert a new entry between two known consecutive entries.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ * */
+static inline void
+__list_add(list_entry_t *elm, list_entry_t *prev, list_entry_t *next) {
+    prev->next = next->prev = elm;
+    elm->next = next;
+    elm->prev = prev;
+}
+
+/* *
+ * Delete a list entry by making the prev/next entries point to each other.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ * */
+static inline void
+__list_del(list_entry_t *prev, list_entry_t *next) {
+    prev->next = next;
+    next->prev = prev;
+}
+
+#endif /* !__ASSEMBLER__ */
+
+#endif /* !__LIBS_LIST_H__ */
+
diff --git a/code/lab5/libs/printfmt.c b/code/lab5/libs/printfmt.c
new file mode 100644
index 0000000..a666a52
--- /dev/null
+++ b/code/lab5/libs/printfmt.c
@@ -0,0 +1,343 @@
+#include <defs.h>
+#include <x86.h>
+#include <error.h>
+#include <stdio.h>
+#include <string.h>
+
+/* *
+ * Space or zero padding and a field width are supported for the numeric
+ * formats only.
+ *
+ * The special format %e takes an integer error code
+ * and prints a string describing the error.
+ * The integer may be positive or negative,
+ * so that -E_NO_MEM and E_NO_MEM are equivalent.
+ * */
+
+static const char * const error_string[MAXERROR + 1] = {
+    [0]                     NULL,
+    [E_UNSPECIFIED]         "unspecified error",
+    [E_BAD_PROC]            "bad process",
+    [E_INVAL]               "invalid parameter",
+    [E_NO_MEM]              "out of memory",
+    [E_NO_FREE_PROC]        "out of processes",
+    [E_FAULT]               "segmentation fault",
+    [E_INVAL_ELF]           "invalid elf file",
+    [E_KILLED]              "process is killed",
+    [E_PANIC]               "panic failure",
+};
+
+/* *
+ * printnum - print a number (base <= 16) in reverse order
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @num:        the number will be printed
+ * @base:       base for print, must be in [1, 16]
+ * @width:      maximum number of digits, if the actual width is less than @width, use @padc instead
+ * @padc:       character that padded on the left if the actual width is less than @width
+ * */
+static void
+printnum(void (*putch)(int, void*), void *putdat,
+        unsigned long long num, unsigned base, int width, int padc) {
+    unsigned long long result = num;
+    unsigned mod = do_div(result, base);
+
+    // first recursively print all preceding (more significant) digits
+    if (num >= base) {
+        printnum(putch, putdat, result, base, width - 1, padc);
+    } else {
+        // print any needed pad characters before first digit
+        while (-- width > 0)
+            putch(padc, putdat);
+    }
+    // then print this (the least significant) digit
+    putch("0123456789abcdef"[mod], putdat);
+}
+
+/* *
+ * getuint - get an unsigned int of various possible sizes from a varargs list
+ * @ap:         a varargs list pointer
+ * @lflag:      determines the size of the vararg that @ap points to
+ * */
+static unsigned long long
+getuint(va_list *ap, int lflag) {
+    if (lflag >= 2) {
+        return va_arg(*ap, unsigned long long);
+    }
+    else if (lflag) {
+        return va_arg(*ap, unsigned long);
+    }
+    else {
+        return va_arg(*ap, unsigned int);
+    }
+}
+
+/* *
+ * getint - same as getuint but signed, we can't use getuint because of sign extension
+ * @ap:         a varargs list pointer
+ * @lflag:      determines the size of the vararg that @ap points to
+ * */
+static long long
+getint(va_list *ap, int lflag) {
+    if (lflag >= 2) {
+        return va_arg(*ap, long long);
+    }
+    else if (lflag) {
+        return va_arg(*ap, long);
+    }
+    else {
+        return va_arg(*ap, int);
+    }
+}
+
+/* *
+ * printfmt - format a string and print it by using putch
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @fmt:        the format string to use
+ * */
+void
+printfmt(void (*putch)(int, void*), void *putdat, const char *fmt, ...) {
+    va_list ap;
+
+    va_start(ap, fmt);
+    vprintfmt(putch, putdat, fmt, ap);
+    va_end(ap);
+}
+
+/* *
+ * vprintfmt - format a string and print it by using putch, it's called with a va_list
+ * instead of a variable number of arguments
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @fmt:        the format string to use
+ * @ap:         arguments for the format string
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want printfmt() instead.
+ * */
+void
+vprintfmt(void (*putch)(int, void*), void *putdat, const char *fmt, va_list ap) {
+    register const char *p;
+    register int ch, err;
+    unsigned long long num;
+    int base, width, precision, lflag, altflag;
+
+    while (1) {
+        while ((ch = *(unsigned char *)fmt ++) != '%') {
+            if (ch == '\0') {
+                return;
+            }
+            putch(ch, putdat);
+        }
+
+        // Process a %-escape sequence
+        char padc = ' ';
+        width = precision = -1;
+        lflag = altflag = 0;
+
+    reswitch:
+        switch (ch = *(unsigned char *)fmt ++) {
+
+        // flag to pad on the right
+        case '-':
+            padc = '-';
+            goto reswitch;
+
+        // flag to pad with 0's instead of spaces
+        case '0':
+            padc = '0';
+            goto reswitch;
+
+        // width field
+        case '1' ... '9':
+            for (precision = 0; ; ++ fmt) {
+                precision = precision * 10 + ch - '0';
+                ch = *fmt;
+                if (ch < '0' || ch > '9') {
+                    break;
+                }
+            }
+            goto process_precision;
+
+        case '*':
+            precision = va_arg(ap, int);
+            goto process_precision;
+
+        case '.':
+            if (width < 0)
+                width = 0;
+            goto reswitch;
+
+        case '#':
+            altflag = 1;
+            goto reswitch;
+
+        process_precision:
+            if (width < 0)
+                width = precision, precision = -1;
+            goto reswitch;
+
+        // long flag (doubled for long long)
+        case 'l':
+            lflag ++;
+            goto reswitch;
+
+        // character
+        case 'c':
+            putch(va_arg(ap, int), putdat);
+            break;
+
+        // error message
+        case 'e':
+            err = va_arg(ap, int);
+            if (err < 0) {
+                err = -err;
+            }
+            if (err > MAXERROR || (p = error_string[err]) == NULL) {
+                printfmt(putch, putdat, "error %d", err);
+            }
+            else {
+                printfmt(putch, putdat, "%s", p);
+            }
+            break;
+
+        // string
+        case 's':
+            if ((p = va_arg(ap, char *)) == NULL) {
+                p = "(null)";
+            }
+            if (width > 0 && padc != '-') {
+                for (width -= strnlen(p, precision); width > 0; width --) {
+                    putch(padc, putdat);
+                }
+            }
+            for (; (ch = *p ++) != '\0' && (precision < 0 || -- precision >= 0); width --) {
+                if (altflag && (ch < ' ' || ch > '~')) {
+                    putch('?', putdat);
+                }
+                else {
+                    putch(ch, putdat);
+                }
+            }
+            for (; width > 0; width --) {
+                putch(' ', putdat);
+            }
+            break;
+
+        // (signed) decimal
+        case 'd':
+            num = getint(&ap, lflag);
+            if ((long long)num < 0) {
+                putch('-', putdat);
+                num = -(long long)num;
+            }
+            base = 10;
+            goto number;
+
+        // unsigned decimal
+        case 'u':
+            num = getuint(&ap, lflag);
+            base = 10;
+            goto number;
+
+        // (unsigned) octal
+        case 'o':
+            num = getuint(&ap, lflag);
+            base = 8;
+            goto number;
+
+        // pointer
+        case 'p':
+            putch('0', putdat);
+            putch('x', putdat);
+            num = (unsigned long long)(uintptr_t)va_arg(ap, void *);
+            base = 16;
+            goto number;
+
+        // (unsigned) hexadecimal
+        case 'x':
+            num = getuint(&ap, lflag);
+            base = 16;
+        number:
+            printnum(putch, putdat, num, base, width, padc);
+            break;
+
+        // escaped '%' character
+        case '%':
+            putch(ch, putdat);
+            break;
+
+        // unrecognized escape sequence - just print it literally
+        default:
+            putch('%', putdat);
+            for (fmt --; fmt[-1] != '%'; fmt --)
+                /* do nothing */;
+            break;
+        }
+    }
+}
+
+/* sprintbuf is used to save enough information of a buffer */
+struct sprintbuf {
+    char *buf;          // address pointer points to the first unused memory
+    char *ebuf;         // points the end of the buffer
+    int cnt;            // the number of characters that have been placed in this buffer
+};
+
+/* *
+ * sprintputch - 'print' a single character in a buffer
+ * @ch:         the character will be printed
+ * @b:          the buffer to place the character @ch
+ * */
+static void
+sprintputch(int ch, struct sprintbuf *b) {
+    b->cnt ++;
+    if (b->buf < b->ebuf) {
+        *b->buf ++ = ch;
+    }
+}
+
+/* *
+ * snprintf - format a string and place it in a buffer
+ * @str:        the buffer to place the result into
+ * @size:       the size of buffer, including the trailing null space
+ * @fmt:        the format string to use
+ * */
+int
+snprintf(char *str, size_t size, const char *fmt, ...) {
+    va_list ap;
+    int cnt;
+    va_start(ap, fmt);
+    cnt = vsnprintf(str, size, fmt, ap);
+    va_end(ap);
+    return cnt;
+}
+
+/* *
+ * vsnprintf - format a string and place it in a buffer, it's called with a va_list
+ * instead of a variable number of arguments
+ * @str:        the buffer to place the result into
+ * @size:       the size of buffer, including the trailing null space
+ * @fmt:        the format string to use
+ * @ap:         arguments for the format string
+ *
+ * The return value is the number of characters which would be generated for the
+ * given input, excluding the trailing '\0'.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want snprintf() instead.
+ * */
+int
+vsnprintf(char *str, size_t size, const char *fmt, va_list ap) {
+    struct sprintbuf b = {str, str + size - 1, 0};
+    if (str == NULL || b.buf > b.ebuf) {
+        return -E_INVAL;
+    }
+    // print the string to the buffer
+    vprintfmt((void*)sprintputch, &b, fmt, ap);
+    // null terminate the buffer
+    *b.buf = '\0';
+    return b.cnt;
+}
+
diff --git a/code/lab5/libs/rand.c b/code/lab5/libs/rand.c
new file mode 100644
index 0000000..2a2c4e7
--- /dev/null
+++ b/code/lab5/libs/rand.c
@@ -0,0 +1,26 @@
+#include <x86.h>
+#include <stdlib.h>
+
+static unsigned long long next = 1;
+
+/* *
+ * rand - returns a pseudo-random integer
+ *
+ * The rand() function return a value in the range [0, RAND_MAX].
+ * */
+int
+rand(void) {
+    next = (next * 0x5DEECE66DLL + 0xBLL) & ((1LL << 48) - 1);
+    unsigned long long result = (next >> 12);
+    return (int)do_div(result, RAND_MAX + 1);
+}
+
+/* *
+ * srand - seed the random number generator with the given number
+ * @seed:   the required seed number
+ * */
+void
+srand(unsigned int seed) {
+    next = seed;
+}
+
diff --git a/code/lab5/libs/stdarg.h b/code/lab5/libs/stdarg.h
new file mode 100644
index 0000000..f6e0758
--- /dev/null
+++ b/code/lab5/libs/stdarg.h
@@ -0,0 +1,12 @@
+#ifndef __LIBS_STDARG_H__
+#define __LIBS_STDARG_H__
+
+/* compiler provides size of save area */
+typedef __builtin_va_list va_list;
+
+#define va_start(ap, last)              (__builtin_va_start(ap, last))
+#define va_arg(ap, type)                (__builtin_va_arg(ap, type))
+#define va_end(ap)                      /*nothing*/
+
+#endif /* !__LIBS_STDARG_H__ */
+
diff --git a/code/lab5/libs/stdio.h b/code/lab5/libs/stdio.h
new file mode 100644
index 0000000..41e8b41
--- /dev/null
+++ b/code/lab5/libs/stdio.h
@@ -0,0 +1,24 @@
+#ifndef __LIBS_STDIO_H__
+#define __LIBS_STDIO_H__
+
+#include <defs.h>
+#include <stdarg.h>
+
+/* kern/libs/stdio.c */
+int cprintf(const char *fmt, ...);
+int vcprintf(const char *fmt, va_list ap);
+void cputchar(int c);
+int cputs(const char *str);
+int getchar(void);
+
+/* kern/libs/readline.c */
+char *readline(const char *prompt);
+
+/* libs/printfmt.c */
+void printfmt(void (*putch)(int, void *), void *putdat, const char *fmt, ...);
+void vprintfmt(void (*putch)(int, void *), void *putdat, const char *fmt, va_list ap);
+int snprintf(char *str, size_t size, const char *fmt, ...);
+int vsnprintf(char *str, size_t size, const char *fmt, va_list ap);
+
+#endif /* !__LIBS_STDIO_H__ */
+
diff --git a/code/lab5/libs/stdlib.h b/code/lab5/libs/stdlib.h
new file mode 100644
index 0000000..51878ef
--- /dev/null
+++ b/code/lab5/libs/stdlib.h
@@ -0,0 +1,17 @@
+#ifndef __LIBS_STDLIB_H__
+#define __LIBS_STDLIB_H__
+
+#include <defs.h>
+
+/* the largest number rand will return */
+#define RAND_MAX    2147483647UL
+
+/* libs/rand.c */
+int rand(void);
+void srand(unsigned int seed);
+
+/* libs/hash.c */
+uint32_t hash32(uint32_t val, unsigned int bits);
+
+#endif /* !__LIBS_RAND_H__ */
+
diff --git a/code/lab5/libs/string.c b/code/lab5/libs/string.c
new file mode 100644
index 0000000..bcf1b1c
--- /dev/null
+++ b/code/lab5/libs/string.c
@@ -0,0 +1,367 @@
+#include <string.h>
+#include <x86.h>
+
+/* *
+ * strlen - calculate the length of the string @s, not including
+ * the terminating '\0' character.
+ * @s:      the input string
+ *
+ * The strlen() function returns the length of string @s.
+ * */
+size_t
+strlen(const char *s) {
+    size_t cnt = 0;
+    while (*s ++ != '\0') {
+        cnt ++;
+    }
+    return cnt;
+}
+
+/* *
+ * strnlen - calculate the length of the string @s, not including
+ * the terminating '\0' char acter, but at most @len.
+ * @s:      the input string
+ * @len:    the max-length that function will scan
+ *
+ * Note that, this function looks only at the first @len characters
+ * at @s, and never beyond @s + @len.
+ *
+ * The return value is strlen(s), if that is less than @len, or
+ * @len if there is no '\0' character among the first @len characters
+ * pointed by @s.
+ * */
+size_t
+strnlen(const char *s, size_t len) {
+    size_t cnt = 0;
+    while (cnt < len && *s ++ != '\0') {
+        cnt ++;
+    }
+    return cnt;
+}
+
+/* *
+ * strcpy - copies the string pointed by @src into the array pointed by @dst,
+ * including the terminating null character.
+ * @dst:    pointer to the destination array where the content is to be copied
+ * @src:    string to be copied
+ *
+ * The return value is @dst.
+ *
+ * To avoid overflows, the size of array pointed by @dst should be long enough to
+ * contain the same string as @src (including the terminating null character), and
+ * should not overlap in memory with @src.
+ * */
+char *
+strcpy(char *dst, const char *src) {
+#ifdef __HAVE_ARCH_STRCPY
+    return __strcpy(dst, src);
+#else
+    char *p = dst;
+    while ((*p ++ = *src ++) != '\0')
+        /* nothing */;
+    return dst;
+#endif /* __HAVE_ARCH_STRCPY */
+}
+
+/* *
+ * strncpy - copies the first @len characters of @src to @dst. If the end of string @src
+ * if found before @len characters have been copied, @dst is padded with '\0' until a
+ * total of @len characters have been written to it.
+ * @dst:    pointer to the destination array where the content is to be copied
+ * @src:    string to be copied
+ * @len:    maximum number of characters to be copied from @src
+ *
+ * The return value is @dst
+ * */
+char *
+strncpy(char *dst, const char *src, size_t len) {
+    char *p = dst;
+    while (len > 0) {
+        if ((*p = *src) != '\0') {
+            src ++;
+        }
+        p ++, len --;
+    }
+    return dst;
+}
+
+/* *
+ * strcmp - compares the string @s1 and @s2
+ * @s1:     string to be compared
+ * @s2:     string to be compared
+ *
+ * This function starts comparing the first character of each string. If
+ * they are equal to each other, it continues with the following pairs until
+ * the characters differ or until a terminanting null-character is reached.
+ *
+ * Returns an integral value indicating the relationship between the strings:
+ * - A zero value indicates that both strings are equal;
+ * - A value greater than zero indicates that the first character that does
+ *   not match has a greater value in @s1 than in @s2;
+ * - And a value less than zero indicates the opposite.
+ * */
+int
+strcmp(const char *s1, const char *s2) {
+#ifdef __HAVE_ARCH_STRCMP
+    return __strcmp(s1, s2);
+#else
+    while (*s1 != '\0' && *s1 == *s2) {
+        s1 ++, s2 ++;
+    }
+    return (int)((unsigned char)*s1 - (unsigned char)*s2);
+#endif /* __HAVE_ARCH_STRCMP */
+}
+
+/* *
+ * strncmp - compares up to @n characters of the string @s1 to those of the string @s2
+ * @s1:     string to be compared
+ * @s2:     string to be compared
+ * @n:      maximum number of characters to compare
+ *
+ * This function starts comparing the first character of each string. If
+ * they are equal to each other, it continues with the following pairs until
+ * the characters differ, until a terminating null-character is reached, or
+ * until @n characters match in both strings, whichever happens first.
+ * */
+int
+strncmp(const char *s1, const char *s2, size_t n) {
+    while (n > 0 && *s1 != '\0' && *s1 == *s2) {
+        n --, s1 ++, s2 ++;
+    }
+    return (n == 0) ? 0 : (int)((unsigned char)*s1 - (unsigned char)*s2);
+}
+
+/* *
+ * strchr - locates first occurrence of character in string
+ * @s:      the input string
+ * @c:      character to be located
+ *
+ * The strchr() function returns a pointer to the first occurrence of
+ * character in @s. If the value is not found, the function returns 'NULL'.
+ * */
+char *
+strchr(const char *s, char c) {
+    while (*s != '\0') {
+        if (*s == c) {
+            return (char *)s;
+        }
+        s ++;
+    }
+    return NULL;
+}
+
+/* *
+ * strfind - locates first occurrence of character in string
+ * @s:      the input string
+ * @c:      character to be located
+ *
+ * The strfind() function is like strchr() except that if @c is
+ * not found in @s, then it returns a pointer to the null byte at the
+ * end of @s, rather than 'NULL'.
+ * */
+char *
+strfind(const char *s, char c) {
+    while (*s != '\0') {
+        if (*s == c) {
+            break;
+        }
+        s ++;
+    }
+    return (char *)s;
+}
+
+/* *
+ * strtol - converts string to long integer
+ * @s:      the input string that contains the representation of an integer number
+ * @endptr: reference to an object of type char *, whose value is set by the
+ *          function to the next character in @s after the numerical value. This
+ *          parameter can also be a null pointer, in which case it is not used.
+ * @base:   x
+ *
+ * The function first discards as many whitespace characters as necessary until
+ * the first non-whitespace character is found. Then, starting from this character,
+ * takes as many characters as possible that are valid following a syntax that
+ * depends on the base parameter, and interprets them as a numerical value. Finally,
+ * a pointer to the first character following the integer representation in @s
+ * is stored in the object pointed by @endptr.
+ *
+ * If the value of base is zero, the syntax expected is similar to that of
+ * integer constants, which is formed by a succession of:
+ * - An optional plus or minus sign;
+ * - An optional prefix indicating octal or hexadecimal base ("0" or "0x" respectively)
+ * - A sequence of decimal digits (if no base prefix was specified) or either octal
+ *   or hexadecimal digits if a specific prefix is present
+ *
+ * If the base value is between 2 and 36, the format expected for the integral number
+ * is a succession of the valid digits and/or letters needed to represent integers of
+ * the specified radix (starting from '0' and up to 'z'/'Z' for radix 36). The
+ * sequence may optionally be preceded by a plus or minus sign and, if base is 16,
+ * an optional "0x" or "0X" prefix.
+ *
+ * The strtol() function returns the converted integral number as a long int value.
+ * */
+long
+strtol(const char *s, char **endptr, int base) {
+    int neg = 0;
+    long val = 0;
+
+    // gobble initial whitespace
+    while (*s == ' ' || *s == '\t') {
+        s ++;
+    }
+
+    // plus/minus sign
+    if (*s == '+') {
+        s ++;
+    }
+    else if (*s == '-') {
+        s ++, neg = 1;
+    }
+
+    // hex or octal base prefix
+    if ((base == 0 || base == 16) && (s[0] == '0' && s[1] == 'x')) {
+        s += 2, base = 16;
+    }
+    else if (base == 0 && s[0] == '0') {
+        s ++, base = 8;
+    }
+    else if (base == 0) {
+        base = 10;
+    }
+
+    // digits
+    while (1) {
+        int dig;
+
+        if (*s >= '0' && *s <= '9') {
+            dig = *s - '0';
+        }
+        else if (*s >= 'a' && *s <= 'z') {
+            dig = *s - 'a' + 10;
+        }
+        else if (*s >= 'A' && *s <= 'Z') {
+            dig = *s - 'A' + 10;
+        }
+        else {
+            break;
+        }
+        if (dig >= base) {
+            break;
+        }
+        s ++, val = (val * base) + dig;
+        // we don't properly detect overflow!
+    }
+
+    if (endptr) {
+        *endptr = (char *) s;
+    }
+    return (neg ? -val : val);
+}
+
+/* *
+ * memset - sets the first @n bytes of the memory area pointed by @s
+ * to the specified value @c.
+ * @s:      pointer the the memory area to fill
+ * @c:      value to set
+ * @n:      number of bytes to be set to the value
+ *
+ * The memset() function returns @s.
+ * */
+void *
+memset(void *s, char c, size_t n) {
+#ifdef __HAVE_ARCH_MEMSET
+    return __memset(s, c, n);
+#else
+    char *p = s;
+    while (n -- > 0) {
+        *p ++ = c;
+    }
+    return s;
+#endif /* __HAVE_ARCH_MEMSET */
+}
+
+/* *
+ * memmove - copies the values of @n bytes from the location pointed by @src to
+ * the memory area pointed by @dst. @src and @dst are allowed to overlap.
+ * @dst     pointer to the destination array where the content is to be copied
+ * @src     pointer to the source of data to by copied
+ * @n:      number of bytes to copy
+ *
+ * The memmove() function returns @dst.
+ * */
+void *
+memmove(void *dst, const void *src, size_t n) {
+#ifdef __HAVE_ARCH_MEMMOVE
+    return __memmove(dst, src, n);
+#else
+    const char *s = src;
+    char *d = dst;
+    if (s < d && s + n > d) {
+        s += n, d += n;
+        while (n -- > 0) {
+            *-- d = *-- s;
+        }
+    } else {
+        while (n -- > 0) {
+            *d ++ = *s ++;
+        }
+    }
+    return dst;
+#endif /* __HAVE_ARCH_MEMMOVE */
+}
+
+/* *
+ * memcpy - copies the value of @n bytes from the location pointed by @src to
+ * the memory area pointed by @dst.
+ * @dst     pointer to the destination array where the content is to be copied
+ * @src     pointer to the source of data to by copied
+ * @n:      number of bytes to copy
+ *
+ * The memcpy() returns @dst.
+ *
+ * Note that, the function does not check any terminating null character in @src,
+ * it always copies exactly @n bytes. To avoid overflows, the size of arrays pointed
+ * by both @src and @dst, should be at least @n bytes, and should not overlap
+ * (for overlapping memory area, memmove is a safer approach).
+ * */
+void *
+memcpy(void *dst, const void *src, size_t n) {
+#ifdef __HAVE_ARCH_MEMCPY
+    return __memcpy(dst, src, n);
+#else
+    const char *s = src;
+    char *d = dst;
+    while (n -- > 0) {
+        *d ++ = *s ++;
+    }
+    return dst;
+#endif /* __HAVE_ARCH_MEMCPY */
+}
+
+/* *
+ * memcmp - compares two blocks of memory
+ * @v1:     pointer to block of memory
+ * @v2:     pointer to block of memory
+ * @n:      number of bytes to compare
+ *
+ * The memcmp() functions returns an integral value indicating the
+ * relationship between the content of the memory blocks:
+ * - A zero value indicates that the contents of both memory blocks are equal;
+ * - A value greater than zero indicates that the first byte that does not
+ *   match in both memory blocks has a greater value in @v1 than in @v2
+ *   as if evaluated as unsigned char values;
+ * - And a value less than zero indicates the opposite.
+ * */
+int
+memcmp(const void *v1, const void *v2, size_t n) {
+    const char *s1 = (const char *)v1;
+    const char *s2 = (const char *)v2;
+    while (n -- > 0) {
+        if (*s1 != *s2) {
+            return (int)((unsigned char)*s1 - (unsigned char)*s2);
+        }
+        s1 ++, s2 ++;
+    }
+    return 0;
+}
+
diff --git a/code/lab5/libs/string.h b/code/lab5/libs/string.h
new file mode 100644
index 0000000..14d0aac
--- /dev/null
+++ b/code/lab5/libs/string.h
@@ -0,0 +1,25 @@
+#ifndef __LIBS_STRING_H__
+#define __LIBS_STRING_H__
+
+#include <defs.h>
+
+size_t strlen(const char *s);
+size_t strnlen(const char *s, size_t len);
+
+char *strcpy(char *dst, const char *src);
+char *strncpy(char *dst, const char *src, size_t len);
+
+int strcmp(const char *s1, const char *s2);
+int strncmp(const char *s1, const char *s2, size_t n);
+
+char *strchr(const char *s, char c);
+char *strfind(const char *s, char c);
+long strtol(const char *s, char **endptr, int base);
+
+void *memset(void *s, char c, size_t n);
+void *memmove(void *dst, const void *src, size_t n);
+void *memcpy(void *dst, const void *src, size_t n);
+int memcmp(const void *v1, const void *v2, size_t n);
+
+#endif /* !__LIBS_STRING_H__ */
+
diff --git a/code/lab5/libs/unistd.h b/code/lab5/libs/unistd.h
new file mode 100644
index 0000000..56ce6f5
--- /dev/null
+++ b/code/lab5/libs/unistd.h
@@ -0,0 +1,29 @@
+#ifndef __LIBS_UNISTD_H__
+#define __LIBS_UNISTD_H__
+
+#define T_SYSCALL           0x80
+
+/* syscall number */
+#define SYS_exit            1
+#define SYS_fork            2
+#define SYS_wait            3
+#define SYS_exec            4
+#define SYS_clone           5
+#define SYS_yield           10
+#define SYS_sleep           11
+#define SYS_kill            12
+#define SYS_gettime         17
+#define SYS_getpid          18
+#define SYS_brk             19
+#define SYS_mmap            20
+#define SYS_munmap          21
+#define SYS_shmem           22
+#define SYS_putc            30
+#define SYS_pgdir           31
+
+/* SYS_fork flags */
+#define CLONE_VM            0x00000100  // set if VM shared between processes
+#define CLONE_THREAD        0x00000200  // thread group
+
+#endif /* !__LIBS_UNISTD_H__ */
+
diff --git a/code/lab5/libs/x86.h b/code/lab5/libs/x86.h
new file mode 100644
index 0000000..b29f671
--- /dev/null
+++ b/code/lab5/libs/x86.h
@@ -0,0 +1,302 @@
+#ifndef __LIBS_X86_H__
+#define __LIBS_X86_H__
+
+#include <defs.h>
+
+#define do_div(n, base) ({                                          \
+            unsigned long __upper, __low, __high, __mod, __base;    \
+            __base = (base);                                        \
+            asm ("" : "=a" (__low), "=d" (__high) : "A" (n));       \
+            __upper = __high;                                       \
+            if (__high != 0) {                                      \
+                __upper = __high % __base;                          \
+                __high = __high / __base;                           \
+            }                                                       \
+            asm ("divl %2" : "=a" (__low), "=d" (__mod)             \
+                : "rm" (__base), "0" (__low), "1" (__upper));       \
+            asm ("" : "=A" (n) : "a" (__low), "d" (__high));        \
+            __mod;                                                  \
+        })
+
+#define barrier() __asm__ __volatile__ ("" ::: "memory")
+
+static inline uint8_t inb(uint16_t port) __attribute__((always_inline));
+static inline void insl(uint32_t port, void *addr, int cnt) __attribute__((always_inline));
+static inline void outb(uint16_t port, uint8_t data) __attribute__((always_inline));
+static inline void outw(uint16_t port, uint16_t data) __attribute__((always_inline));
+static inline void outsl(uint32_t port, const void *addr, int cnt) __attribute__((always_inline));
+static inline uint32_t read_ebp(void) __attribute__((always_inline));
+static inline void breakpoint(void) __attribute__((always_inline));
+static inline uint32_t read_dr(unsigned regnum) __attribute__((always_inline));
+static inline void write_dr(unsigned regnum, uint32_t value) __attribute__((always_inline));
+
+/* Pseudo-descriptors used for LGDT, LLDT(not used) and LIDT instructions. */
+struct pseudodesc {
+    uint16_t pd_lim;        // Limit
+    uintptr_t pd_base;      // Base address
+} __attribute__ ((packed));
+
+static inline void lidt(struct pseudodesc *pd) __attribute__((always_inline));
+static inline void sti(void) __attribute__((always_inline));
+static inline void cli(void) __attribute__((always_inline));
+static inline void ltr(uint16_t sel) __attribute__((always_inline));
+static inline uint32_t read_eflags(void) __attribute__((always_inline));
+static inline void write_eflags(uint32_t eflags) __attribute__((always_inline));
+static inline void lcr0(uintptr_t cr0) __attribute__((always_inline));
+static inline void lcr3(uintptr_t cr3) __attribute__((always_inline));
+static inline uintptr_t rcr0(void) __attribute__((always_inline));
+static inline uintptr_t rcr1(void) __attribute__((always_inline));
+static inline uintptr_t rcr2(void) __attribute__((always_inline));
+static inline uintptr_t rcr3(void) __attribute__((always_inline));
+static inline void invlpg(void *addr) __attribute__((always_inline));
+
+static inline uint8_t
+inb(uint16_t port) {
+    uint8_t data;
+    asm volatile ("inb %1, %0" : "=a" (data) : "d" (port) : "memory");
+    return data;
+}
+
+static inline void
+insl(uint32_t port, void *addr, int cnt) {
+    asm volatile (
+        "cld;"
+        "repne; insl;"
+        : "=D" (addr), "=c" (cnt)
+        : "d" (port), "0" (addr), "1" (cnt)
+        : "memory", "cc");
+}
+
+static inline void
+outb(uint16_t port, uint8_t data) {
+    asm volatile ("outb %0, %1" :: "a" (data), "d" (port) : "memory");
+}
+
+static inline void
+outw(uint16_t port, uint16_t data) {
+    asm volatile ("outw %0, %1" :: "a" (data), "d" (port) : "memory");
+}
+
+static inline void
+outsl(uint32_t port, const void *addr, int cnt) {
+    asm volatile (
+        "cld;"
+        "repne; outsl;"
+        : "=S" (addr), "=c" (cnt)
+        : "d" (port), "0" (addr), "1" (cnt)
+        : "memory", "cc");
+}
+
+static inline uint32_t
+read_ebp(void) {
+    uint32_t ebp;
+    asm volatile ("movl %%ebp, %0" : "=r" (ebp));
+    return ebp;
+}
+
+static inline void
+breakpoint(void) {
+    asm volatile ("int $3");
+}
+
+static inline uint32_t
+read_dr(unsigned regnum) {
+    uint32_t value = 0;
+    switch (regnum) {
+    case 0: asm volatile ("movl %%db0, %0" : "=r" (value)); break;
+    case 1: asm volatile ("movl %%db1, %0" : "=r" (value)); break;
+    case 2: asm volatile ("movl %%db2, %0" : "=r" (value)); break;
+    case 3: asm volatile ("movl %%db3, %0" : "=r" (value)); break;
+    case 6: asm volatile ("movl %%db6, %0" : "=r" (value)); break;
+    case 7: asm volatile ("movl %%db7, %0" : "=r" (value)); break;
+    }
+    return value;
+}
+
+static void
+write_dr(unsigned regnum, uint32_t value) {
+    switch (regnum) {
+    case 0: asm volatile ("movl %0, %%db0" :: "r" (value)); break;
+    case 1: asm volatile ("movl %0, %%db1" :: "r" (value)); break;
+    case 2: asm volatile ("movl %0, %%db2" :: "r" (value)); break;
+    case 3: asm volatile ("movl %0, %%db3" :: "r" (value)); break;
+    case 6: asm volatile ("movl %0, %%db6" :: "r" (value)); break;
+    case 7: asm volatile ("movl %0, %%db7" :: "r" (value)); break;
+    }
+}
+
+static inline void
+lidt(struct pseudodesc *pd) {
+    asm volatile ("lidt (%0)" :: "r" (pd) : "memory");
+}
+
+static inline void
+sti(void) {
+    asm volatile ("sti");
+}
+
+static inline void
+cli(void) {
+    asm volatile ("cli" ::: "memory");
+}
+
+static inline void
+ltr(uint16_t sel) {
+    asm volatile ("ltr %0" :: "r" (sel) : "memory");
+}
+
+static inline uint32_t
+read_eflags(void) {
+    uint32_t eflags;
+    asm volatile ("pushfl; popl %0" : "=r" (eflags));
+    return eflags;
+}
+
+static inline void
+write_eflags(uint32_t eflags) {
+    asm volatile ("pushl %0; popfl" :: "r" (eflags));
+}
+
+static inline void
+lcr0(uintptr_t cr0) {
+    asm volatile ("mov %0, %%cr0" :: "r" (cr0) : "memory");
+}
+
+static inline void
+lcr3(uintptr_t cr3) {
+    asm volatile ("mov %0, %%cr3" :: "r" (cr3) : "memory");
+}
+
+static inline uintptr_t
+rcr0(void) {
+    uintptr_t cr0;
+    asm volatile ("mov %%cr0, %0" : "=r" (cr0) :: "memory");
+    return cr0;
+}
+
+static inline uintptr_t
+rcr1(void) {
+    uintptr_t cr1;
+    asm volatile ("mov %%cr1, %0" : "=r" (cr1) :: "memory");
+    return cr1;
+}
+
+static inline uintptr_t
+rcr2(void) {
+    uintptr_t cr2;
+    asm volatile ("mov %%cr2, %0" : "=r" (cr2) :: "memory");
+    return cr2;
+}
+
+static inline uintptr_t
+rcr3(void) {
+    uintptr_t cr3;
+    asm volatile ("mov %%cr3, %0" : "=r" (cr3) :: "memory");
+    return cr3;
+}
+
+static inline void
+invlpg(void *addr) {
+    asm volatile ("invlpg (%0)" :: "r" (addr) : "memory");
+}
+
+static inline int __strcmp(const char *s1, const char *s2) __attribute__((always_inline));
+static inline char *__strcpy(char *dst, const char *src) __attribute__((always_inline));
+static inline void *__memset(void *s, char c, size_t n) __attribute__((always_inline));
+static inline void *__memmove(void *dst, const void *src, size_t n) __attribute__((always_inline));
+static inline void *__memcpy(void *dst, const void *src, size_t n) __attribute__((always_inline));
+
+#ifndef __HAVE_ARCH_STRCMP
+#define __HAVE_ARCH_STRCMP
+static inline int
+__strcmp(const char *s1, const char *s2) {
+    int d0, d1, ret;
+    asm volatile (
+        "1: lodsb;"
+        "scasb;"
+        "jne 2f;"
+        "testb %%al, %%al;"
+        "jne 1b;"
+        "xorl %%eax, %%eax;"
+        "jmp 3f;"
+        "2: sbbl %%eax, %%eax;"
+        "orb $1, %%al;"
+        "3:"
+        : "=a" (ret), "=&S" (d0), "=&D" (d1)
+        : "1" (s1), "2" (s2)
+        : "memory");
+    return ret;
+}
+
+#endif /* __HAVE_ARCH_STRCMP */
+
+#ifndef __HAVE_ARCH_STRCPY
+#define __HAVE_ARCH_STRCPY
+static inline char *
+__strcpy(char *dst, const char *src) {
+    int d0, d1, d2;
+    asm volatile (
+        "1: lodsb;"
+        "stosb;"
+        "testb %%al, %%al;"
+        "jne 1b;"
+        : "=&S" (d0), "=&D" (d1), "=&a" (d2)
+        : "0" (src), "1" (dst) : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_STRCPY */
+
+#ifndef __HAVE_ARCH_MEMSET
+#define __HAVE_ARCH_MEMSET
+static inline void *
+__memset(void *s, char c, size_t n) {
+    int d0, d1;
+    asm volatile (
+        "rep; stosb;"
+        : "=&c" (d0), "=&D" (d1)
+        : "0" (n), "a" (c), "1" (s)
+        : "memory");
+    return s;
+}
+#endif /* __HAVE_ARCH_MEMSET */
+
+#ifndef __HAVE_ARCH_MEMMOVE
+#define __HAVE_ARCH_MEMMOVE
+static inline void *
+__memmove(void *dst, const void *src, size_t n) {
+    if (dst < src) {
+        return __memcpy(dst, src, n);
+    }
+    int d0, d1, d2;
+    asm volatile (
+        "std;"
+        "rep; movsb;"
+        "cld;"
+        : "=&c" (d0), "=&S" (d1), "=&D" (d2)
+        : "0" (n), "1" (n - 1 + src), "2" (n - 1 + dst)
+        : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_MEMMOVE */
+
+#ifndef __HAVE_ARCH_MEMCPY
+#define __HAVE_ARCH_MEMCPY
+static inline void *
+__memcpy(void *dst, const void *src, size_t n) {
+    int d0, d1, d2;
+    asm volatile (
+        "rep; movsl;"
+        "movl %4, %%ecx;"
+        "andl $3, %%ecx;"
+        "jz 1f;"
+        "rep; movsb;"
+        "1:"
+        : "=&c" (d0), "=&D" (d1), "=&S" (d2)
+        : "0" (n / 4), "g" (n), "1" (dst), "2" (src)
+        : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_MEMCPY */
+
+#endif /* !__LIBS_X86_H__ */
+
diff --git a/code/lab5/tools/boot.ld b/code/lab5/tools/boot.ld
new file mode 100644
index 0000000..dc732b0
--- /dev/null
+++ b/code/lab5/tools/boot.ld
@@ -0,0 +1,15 @@
+OUTPUT_FORMAT("elf32-i386")
+OUTPUT_ARCH(i386)
+
+SECTIONS {
+    . = 0x7C00;
+
+    .startup : {
+        *bootasm.o(.text)
+    }
+
+    .text : { *(.text) }
+    .data : { *(.data .rodata) }
+    
+    /DISCARD/ : { *(.eh_*) }
+}
diff --git a/code/lab5/tools/function.mk b/code/lab5/tools/function.mk
new file mode 100644
index 0000000..9b8be0c
--- /dev/null
+++ b/code/lab5/tools/function.mk
@@ -0,0 +1,95 @@
+OBJPREFIX	:= __objs_
+
+.SECONDEXPANSION:
+# -------------------- function begin --------------------
+
+# list all files in some directories: (#directories, #types)
+listf = $(filter $(if $(2),$(addprefix %.,$(2)),%),\
+		  $(wildcard $(addsuffix $(SLASH)*,$(1))))
+
+# get .o obj files: (#files[, packet])
+toobj = $(addprefix $(OBJDIR)$(SLASH)$(if $(2),$(2)$(SLASH)),\
+		$(addsuffix .o,$(basename $(1))))
+
+# get .d dependency files: (#files[, packet])
+todep = $(patsubst %.o,%.d,$(call toobj,$(1),$(2)))
+
+totarget = $(addprefix $(BINDIR)$(SLASH),$(1))
+
+# change $(name) to $(OBJPREFIX)$(name): (#names)
+packetname = $(if $(1),$(addprefix $(OBJPREFIX),$(1)),$(OBJPREFIX))
+
+# cc compile template, generate rule for dep, obj: (file, cc[, flags, dir])
+define cc_template
+$$(call todep,$(1),$(4)): $(1) | $$$$(dir $$$$@)
+	@$(2) -I$$(dir $(1)) $(3) -MM $$< -MT "$$(patsubst %.d,%.o,$$@) $$@"> $$@
+$$(call toobj,$(1),$(4)): $(1) | $$$$(dir $$$$@)
+	@echo + cc $$<
+	$(V)$(2) -I$$(dir $(1)) $(3) -c $$< -o $$@
+ALLOBJS += $$(call toobj,$(1),$(4))
+endef
+
+# compile file: (#files, cc[, flags, dir])
+define do_cc_compile
+$$(foreach f,$(1),$$(eval $$(call cc_template,$$(f),$(2),$(3),$(4))))
+endef
+
+# add files to packet: (#files, cc[, flags, packet, dir])
+define do_add_files_to_packet
+__temp_packet__ := $(call packetname,$(4))
+ifeq ($$(origin $$(__temp_packet__)),undefined)
+$$(__temp_packet__) :=
+endif
+__temp_objs__ := $(call toobj,$(1),$(5))
+$$(foreach f,$(1),$$(eval $$(call cc_template,$$(f),$(2),$(3),$(5))))
+$$(__temp_packet__) += $$(__temp_objs__)
+endef
+
+# add objs to packet: (#objs, packet)
+define do_add_objs_to_packet
+__temp_packet__ := $(call packetname,$(2))
+ifeq ($$(origin $$(__temp_packet__)),undefined)
+$$(__temp_packet__) :=
+endif
+$$(__temp_packet__) += $(1)
+endef
+
+# add packets and objs to target (target, #packes, #objs[, cc, flags])
+define do_create_target
+__temp_target__ = $(call totarget,$(1))
+__temp_objs__ = $$(foreach p,$(call packetname,$(2)),$$($$(p))) $(3)
+TARGETS += $$(__temp_target__)
+ifneq ($(4),)
+$$(__temp_target__): $$(__temp_objs__) | $$$$(dir $$$$@)
+	$(V)$(4) $(5) $$^ -o $$@
+else
+$$(__temp_target__): $$(__temp_objs__) | $$$$(dir $$$$@)
+endif
+endef
+
+# finish all
+define do_finish_all
+ALLDEPS = $$(ALLOBJS:.o=.d)
+$$(sort $$(dir $$(ALLOBJS)) $(BINDIR)$(SLASH) $(OBJDIR)$(SLASH)):
+	@$(MKDIR) $$@
+endef
+
+# --------------------  function end  --------------------
+# compile file: (#files, cc[, flags, dir])
+cc_compile = $(eval $(call do_cc_compile,$(1),$(2),$(3),$(4)))
+
+# add files to packet: (#files, cc[, flags, packet, dir])
+add_files = $(eval $(call do_add_files_to_packet,$(1),$(2),$(3),$(4),$(5)))
+
+# add objs to packet: (#objs, packet)
+add_objs = $(eval $(call do_add_objs_to_packet,$(1),$(2)))
+
+# add packets and objs to target (target, #packes, #objs, cc, [, flags])
+create_target = $(eval $(call do_create_target,$(1),$(2),$(3),$(4),$(5)))
+
+read_packet = $(foreach p,$(call packetname,$(1)),$($(p)))
+
+add_dependency = $(eval $(1): $(2))
+
+finish_all = $(eval $(call do_finish_all))
+
diff --git a/code/lab5/tools/gdbinit b/code/lab5/tools/gdbinit
new file mode 100644
index 0000000..df5df85
--- /dev/null
+++ b/code/lab5/tools/gdbinit
@@ -0,0 +1,3 @@
+file bin/kernel
+target remote :1234
+break kern_init
diff --git a/code/lab5/tools/grade.sh b/code/lab5/tools/grade.sh
new file mode 100644
index 0000000..54df4f2
--- /dev/null
+++ b/code/lab5/tools/grade.sh
@@ -0,0 +1,517 @@
+#!/bin/sh
+
+verbose=false
+if [ "x$1" = "x-v" ]; then
+    verbose=true
+    out=/dev/stdout
+    err=/dev/stderr
+else
+    out=/dev/null
+    err=/dev/null
+fi
+
+## make & makeopts
+if gmake --version > /dev/null 2>&1; then
+    make=gmake;
+else
+    make=make;
+fi
+
+makeopts="--quiet --no-print-directory -j"
+
+make_print() {
+    echo `$make $makeopts print-$1`
+}
+
+## command tools
+awk='awk'
+bc='bc'
+date='date'
+grep='grep'
+rm='rm -f'
+sed='sed'
+
+## symbol table
+sym_table='obj/kernel.sym'
+
+## gdb & gdbopts
+gdb="$(make_print GDB)"
+gdbport='1234'
+
+gdb_in="$(make_print GRADE_GDB_IN)"
+
+## qemu & qemuopts
+qemu="$(make_print qemu)"
+
+qemu_out="$(make_print GRADE_QEMU_OUT)"
+
+if $qemu -nographic -help | grep -q '^-gdb'; then
+    qemugdb="-gdb tcp::$gdbport"
+else
+    qemugdb="-s -p $gdbport"
+fi
+
+## default variables
+default_timeout=30
+default_pts=5
+
+pts=5
+part=0
+part_pos=0
+total=0
+total_pos=0
+
+## default functions
+update_score() {
+    total=`expr $total + $part`
+    total_pos=`expr $total_pos + $part_pos`
+    part=0
+    part_pos=0
+}
+
+get_time() {
+    echo `$date +%s.%N 2> /dev/null`
+}
+
+show_part() {
+    echo "Part $1 Score: $part/$part_pos"
+    echo
+    update_score
+}
+
+show_final() {
+    update_score
+    echo "Total Score: $total/$total_pos"
+    if [ $total -lt $total_pos ]; then
+        exit 1
+    fi
+}
+
+show_time() {
+    t1=$(get_time)
+    time=`echo "scale=1; ($t1-$t0)/1" | $sed 's/.N/.0/g' | $bc 2> /dev/null`
+    echo "(${time}s)"
+}
+
+show_build_tag() {
+    echo "$1:" | $awk '{printf "%-24s ", $0}'
+}
+
+show_check_tag() {
+    echo "$1:" | $awk '{printf "  -%-40s  ", $0}'
+}
+
+show_msg() {
+    echo $1
+    shift
+    if [ $# -gt 0 ]; then
+        echo "$@" | awk '{printf "   %s\n", $0}'
+        echo
+    fi
+}
+
+pass() {
+    show_msg OK "$@"
+    part=`expr $part + $pts`
+    part_pos=`expr $part_pos + $pts`
+}
+
+fail() {
+    show_msg WRONG "$@"
+    part_pos=`expr $part_pos + $pts`
+}
+
+run_qemu() {
+    # Run qemu with serial output redirected to $qemu_out. If $brkfun is non-empty,
+    # wait until $brkfun is reached or $timeout expires, then kill QEMU
+    qemuextra=
+    if [ "$brkfun" ]; then
+        qemuextra="-S $qemugdb"
+    fi
+
+    if [ -z "$timeout" ] || [ $timeout -le 0 ]; then
+        timeout=$default_timeout;
+    fi
+
+    t0=$(get_time)
+    (
+        ulimit -t $timeout
+        exec $qemu -nographic $qemuopts -serial file:$qemu_out -monitor null -no-reboot $qemuextra
+    ) > $out 2> $err &
+    pid=$!
+
+    # wait for QEMU to start
+    sleep 1
+
+    if [ -n "$brkfun" ]; then
+        # find the address of the kernel $brkfun function
+        brkaddr=`$grep " $brkfun\$" $sym_table | $sed -e's/ .*$//g'`
+        (
+            echo "target remote localhost:$gdbport"
+            echo "break *0x$brkaddr"
+            echo "continue"
+        ) > $gdb_in
+
+        $gdb -batch -nx -x $gdb_in > /dev/null 2>&1
+
+        # make sure that QEMU is dead
+        # on OS X, exiting gdb doesn't always exit qemu
+        kill $pid > /dev/null 2>&1
+    fi
+}
+
+build_run() {
+    # usage: build_run <tag> <args>
+    show_build_tag "$1"
+    shift
+
+    if $verbose; then
+        echo "$make $@ ..."
+    fi
+    $make $makeopts $@ 'DEFS+=-DDEBUG_GRADE' > $out 2> $err
+
+    if [ $? -ne 0 ]; then
+        echo $make $@ failed
+        exit 1
+    fi
+
+    # now run qemu and save the output
+    run_qemu
+
+    show_time
+}
+
+check_result() {
+    # usage: check_result <tag> <check> <check args...>
+    show_check_tag "$1"
+    shift
+
+    # give qemu some time to run (for asynchronous mode)
+    if [ ! -s $qemu_out ]; then
+        sleep 4
+    fi
+
+    if [ ! -s $qemu_out ]; then
+        fail > /dev/null
+        echo 'no $qemu_out'
+    else
+        check=$1
+        shift
+        $check "$@"
+    fi
+}
+
+check_regexps() {
+    okay=yes
+    not=0
+    reg=0
+    error=
+    for i do
+        if [ "x$i" = "x!" ]; then
+            not=1
+        elif [ "x$i" = "x-" ]; then
+            reg=1
+        else
+            if [ $reg -ne 0 ]; then
+                $grep '-E' "^$i\$" $qemu_out > /dev/null
+            else
+                $grep '-F' "$i" $qemu_out > /dev/null
+            fi
+            found=$(($? == 0))
+            if [ $found -eq $not ]; then
+                if [ $found -eq 0 ]; then
+                    msg="!! error: missing '$i'"
+                else
+                    msg="!! error: got unexpected line '$i'"
+                fi
+                okay=no
+                if [ -z "$error" ]; then
+                    error="$msg"
+                else
+                    error="$error\n$msg"
+                fi
+            fi
+            not=0
+            reg=0
+        fi
+    done
+    if [ "$okay" = "yes" ]; then
+        pass
+    else
+        fail "$error"
+        if $verbose; then
+            exit 1
+        fi
+    fi
+}
+
+run_test() {
+    # usage: run_test [-tag <tag>] [-prog <prog>] [-Ddef...] [-check <check>] checkargs ...
+    tag=
+    prog=
+    check=check_regexps
+    while true; do
+        select=
+        case $1 in
+            -tag|-prog)
+                select=`expr substr $1 2 ${#1}`
+                eval $select='$2'
+                ;;
+        esac
+        if [ -z "$select" ]; then
+            break
+        fi
+        shift
+        shift
+    done
+    defs=
+    while expr "x$1" : "x-D.*" > /dev/null; do
+        defs="DEFS+='$1' $defs"
+        shift
+    done
+    if [ "x$1" = "x-check" ]; then
+        check=$2
+        shift
+        shift
+    fi
+
+    if [ -z "$prog" ]; then
+        $make $makeopts touch > /dev/null 2>&1
+        args="$defs"
+    else
+        if [ -z "$tag" ]; then
+            tag="$prog"
+        fi
+        args="build-$prog $defs"
+    fi
+
+    build_run "$tag" "$args"
+
+    check_result 'check result' "$check" "$@"
+}
+
+quick_run() {
+    # usage: quick_run <tag> [-Ddef...]
+    tag="$1"
+    shift
+    defs=
+    while expr "x$1" : "x-D.*" > /dev/null; do
+        defs="DEFS+='$1' $defs"
+        shift
+    done
+
+    $make $makeopts touch > /dev/null 2>&1
+    build_run "$tag" "$defs"
+}
+
+quick_check() {
+    # usage: quick_check <tag> checkargs ...
+    tag="$1"
+    shift
+    check_result "$tag" check_regexps "$@"
+}
+
+## kernel image
+osimg=$(make_print ucoreimg)
+
+## swap image
+swapimg=$(make_print swapimg)
+
+## set default qemu-options
+qemuopts="-hda $osimg -drive file=$swapimg,media=disk,cache=writeback"
+
+## set break-function, default is readline
+brkfun=readline
+
+default_check() {
+    pts=7
+    check_regexps "$@"
+
+    pts=3
+    quick_check 'check output'                                  \
+    'memory management: default_pmm_manager'                      \
+    'check_alloc_page() succeeded!'                             \
+    'check_pgdir() succeeded!'                                  \
+    'check_boot_pgdir() succeeded!'				\
+    'PDE(0e0) c0000000-f8000000 38000000 urw'                   \
+    '  |-- PTE(38000) c0000000-f8000000 38000000 -rw'           \
+    'PDE(001) fac00000-fb000000 00400000 -rw'                   \
+    '  |-- PTE(000e0) faf00000-fafe0000 000e0000 urw'           \
+    '  |-- PTE(00001) fafeb000-fafec000 00001000 -rw'		\
+    'check_slab() succeeded!'					\
+    'check_vma_struct() succeeded!'                             \
+    'page fault at 0x00000100: K/W [no page found].'            \
+    'check_pgfault() succeeded!'                                \
+    'check_vmm() succeeded.'					\
+    'page fault at 0x00001000: K/W [no page found].'            \
+    'page fault at 0x00002000: K/W [no page found].'            \
+    'page fault at 0x00003000: K/W [no page found].'            \
+    'page fault at 0x00004000: K/W [no page found].'            \
+    'write Virt Page e in fifo_check_swap'			\
+    'page fault at 0x00005000: K/W [no page found].'		\
+    'page fault at 0x00001000: K/W [no page found]'		\
+    'page fault at 0x00002000: K/W [no page found].'		\
+    'page fault at 0x00003000: K/W [no page found].'		\
+    'page fault at 0x00004000: K/W [no page found].'		\
+    'check_swap() succeeded!'					\
+    '++ setup timer interrupts'
+}
+
+## check now!!
+
+run_test -prog 'badsegment' -check default_check                \
+        'kernel_execve: pid = 2, name = "badsegment".'          \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000d General Protection'                    \
+        '  err  0x00000028'                                     \
+      - '  eip  0x008.....'                                     \
+      - '  esp  0xaff.....'                                     \
+        '  cs   0x----001b'                                     \
+        '  ss   0x----0023'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'divzero' -check default_check                   \
+        'kernel_execve: pid = 2, name = "divzero".'             \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x00000000 Divide error'                          \
+      - '  eip  0x008.....'                                     \
+      - '  esp  0xaff.....'                                     \
+        '  cs   0x----001b'                                     \
+        '  ss   0x----0023'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'softint' -check default_check                   \
+        'kernel_execve: pid = 2, name = "softint".'             \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000d General Protection'                    \
+        '  err  0x00000072'                                     \
+      - '  eip  0x008.....'                                     \
+      - '  esp  0xaff.....'                                     \
+        '  cs   0x----001b'                                     \
+        '  ss   0x----0023'                                     \
+    ! - 'user panic at .*'
+
+pts=10
+
+run_test -prog 'faultread'  -check default_check                                     \
+        'kernel_execve: pid = 2, name = "faultread".'           \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000e Page Fault'                            \
+        '  err  0x00000004'                                     \
+      - '  eip  0x008.....'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'faultreadkernel' -check default_check                                \
+        'kernel_execve: pid = 2, name = "faultreadkernel".'     \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000e Page Fault'                            \
+        '  err  0x00000005'                                     \
+      - '  eip  0x008.....'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'hello' -check default_check                                          \
+        'kernel_execve: pid = 2, name = "hello".'               \
+        'Hello world!!.'                                        \
+        'I am process 2.'                                       \
+        'hello pass.'
+
+run_test -prog 'testbss' -check default_check                                        \
+        'kernel_execve: pid = 2, name = "testbss".'             \
+        'Making sure bss works right...'                        \
+        'Yes, good.  Now doing a wild write off the end...'     \
+        'testbss may pass.'                                     \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000e Page Fault'                            \
+        '  err  0x00000006'                                     \
+      - '  eip  0x008.....'                                     \
+        'killed by kernel.'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'pgdir' -check default_check                                          \
+        'kernel_execve: pid = 2, name = "pgdir".'               \
+        'I am 2, print pgdir.'                                  \
+        'PDE(001) 00800000-00c00000 00400000 urw'               \
+        '  |-- PTE(00002) 00800000-00802000 00002000 ur-'       \
+        '  |-- PTE(00001) 00802000-00803000 00001000 urw'       \
+        'PDE(001) afc00000-b0000000 00400000 urw'               \
+        '  |-- PTE(00004) afffc000-b0000000 00004000 urw'       \
+        'PDE(0e0) c0000000-f8000000 38000000 urw'               \
+        '  |-- PTE(38000) c0000000-f8000000 38000000 -rw'       \
+        'pgdir pass.'
+
+run_test -prog 'yield' -check default_check                                          \
+        'kernel_execve: pid = 2, name = "yield".'               \
+        'Hello, I am process 2.'                                \
+        'Back in process 2, iteration 0.'                       \
+        'Back in process 2, iteration 1.'                       \
+        'Back in process 2, iteration 2.'                       \
+        'Back in process 2, iteration 3.'                       \
+        'Back in process 2, iteration 4.'                       \
+        'All done in process 2.'                                \
+        'yield pass.'
+
+
+run_test -prog 'badarg' -check default_check                    \
+        'kernel_execve: pid = 2, name = "badarg".'              \
+        'fork ok.'                                              \
+        'badarg pass.'                                          \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+pts=10
+
+run_test -prog 'exit'  -check default_check                                          \
+        'kernel_execve: pid = 2, name = "exit".'                \
+        'I am the parent. Forking the child...'                 \
+        'I am the parent, waiting now..'                        \
+        'I am the child.'                                       \
+      - 'waitpid [0-9]+ ok\.'                                   \
+        'exit pass.'                                            \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+run_test -prog 'spin'  -check default_check                                          \
+        'kernel_execve: pid = 2, name = "spin".'                \
+        'I am the parent. Forking the child...'                 \
+        'I am the parent. Running the child...'                 \
+        'I am the child. spinning ...'                          \
+        'I am the parent.  Killing the child...'                \
+        'kill returns 0'                                        \
+        'wait returns 0'                                        \
+        'spin may pass.'                                        \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+run_test -prog 'waitkill'  -check default_check                                      \
+        'kernel_execve: pid = 2, name = "waitkill".'            \
+        'wait child 1.'                                         \
+        'child 2.'                                              \
+        'child 1.'                                              \
+        'kill parent ok.'                                       \
+        'kill child1 ok.'                                       \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+pts=15
+
+run_test -prog 'forktest'   -check default_check                                     \
+        'kernel_execve: pid = 2, name = "forktest".'            \
+        'I am child 31'                                         \
+        'I am child 19'                                         \
+        'I am child 13'                                         \
+        'I am child 0'                                          \
+        'forktest pass.'                                        \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'fork claimed to work [0-9]+ times!'                    \
+    !   'wait stopped early'                                    \
+    !   'wait got too many'                                     \
+    ! - 'user panic at .*'
+
+## print final-score
+show_final
+
diff --git a/code/lab5/tools/kernel.ld b/code/lab5/tools/kernel.ld
new file mode 100644
index 0000000..1838500
--- /dev/null
+++ b/code/lab5/tools/kernel.ld
@@ -0,0 +1,58 @@
+/* Simple linker script for the ucore kernel.
+   See the GNU ld 'info' manual ("info ld") to learn the syntax. */
+
+OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
+OUTPUT_ARCH(i386)
+ENTRY(kern_entry)
+
+SECTIONS {
+    /* Load the kernel at this address: "." means the current address */
+    . = 0xC0100000;
+
+    .text : {
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+
+    PROVIDE(etext = .); /* Define the 'etext' symbol to this value */
+
+    .rodata : {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+
+    /* Include debugging information in kernel memory */
+    .stab : {
+        PROVIDE(__STAB_BEGIN__ = .);
+        *(.stab);
+        PROVIDE(__STAB_END__ = .);
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    .stabstr : {
+        PROVIDE(__STABSTR_BEGIN__ = .);
+        *(.stabstr);
+        PROVIDE(__STABSTR_END__ = .);
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    /* Adjust the address for the data segment to the next page */
+    . = ALIGN(0x1000);
+
+    /* The data segment */
+    .data : {
+        *(.data)
+    }
+
+    PROVIDE(edata = .);
+
+    .bss : {
+        *(.bss)
+    }
+
+    PROVIDE(end = .);
+
+    /DISCARD/ : {
+        *(.eh_frame .note.GNU-stack)
+    }
+}
diff --git a/code/lab5/tools/sign.c b/code/lab5/tools/sign.c
new file mode 100644
index 0000000..9d81bb6
--- /dev/null
+++ b/code/lab5/tools/sign.c
@@ -0,0 +1,43 @@
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+
+int
+main(int argc, char *argv[]) {
+    struct stat st;
+    if (argc != 3) {
+        fprintf(stderr, "Usage: <input filename> <output filename>\n");
+        return -1;
+    }
+    if (stat(argv[1], &st) != 0) {
+        fprintf(stderr, "Error opening file '%s': %s\n", argv[1], strerror(errno));
+        return -1;
+    }
+    printf("'%s' size: %lld bytes\n", argv[1], (long long)st.st_size);
+    if (st.st_size > 510) {
+        fprintf(stderr, "%lld >> 510!!\n", (long long)st.st_size);
+        return -1;
+    }
+    char buf[512];
+    memset(buf, 0, sizeof(buf));
+    FILE *ifp = fopen(argv[1], "rb");
+    int size = fread(buf, 1, st.st_size, ifp);
+    if (size != st.st_size) {
+        fprintf(stderr, "read '%s' error, size is %d.\n", argv[1], size);
+        return -1;
+    }
+    fclose(ifp);
+    buf[510] = 0x55;
+    buf[511] = 0xAA;
+    FILE *ofp = fopen(argv[2], "wb+");
+    size = fwrite(buf, 1, 512, ofp);
+    if (size != 512) {
+        fprintf(stderr, "write '%s' error, size is %d.\n", argv[2], size);
+        return -1;
+    }
+    fclose(ofp);
+    printf("build 512 bytes boot sector: '%s' success!\n", argv[2]);
+    return 0;
+}
+
diff --git a/code/lab5/tools/user.ld b/code/lab5/tools/user.ld
new file mode 100644
index 0000000..c73b6fa
--- /dev/null
+++ b/code/lab5/tools/user.ld
@@ -0,0 +1,71 @@
+/* Simple linker script for ucore user-level programs.
+   See the GNU ld 'info' manual ("info ld") to learn the syntax. */
+
+OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
+OUTPUT_ARCH(i386)
+ENTRY(_start)
+
+SECTIONS {
+    /* Load programs at this address: "." means the current address */
+    . = 0x800020;
+
+    .text : {
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+
+    PROVIDE(etext = .); /* Define the 'etext' symbol to this value */
+
+    .rodata : {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+
+    /* Adjust the address for the data segment to the next page */
+    . = ALIGN(0x1000);
+
+    .data : {
+        *(.data)
+    }
+
+    PROVIDE(edata = .);
+
+    .bss : {
+        *(.bss)
+    }
+
+    PROVIDE(end = .);
+
+
+    /* Place debugging symbols so that they can be found by
+     * the kernel debugger.
+     * Specifically, the four words at 0x200000 mark the beginning of
+     * the stabs, the end of the stabs, the beginning of the stabs
+     * string table, and the end of the stabs string table, respectively.
+     */
+
+    .stab_info 0x200000 : {
+        LONG(__STAB_BEGIN__);
+        LONG(__STAB_END__);
+        LONG(__STABSTR_BEGIN__);
+        LONG(__STABSTR_END__);
+    }
+
+    .stab : {
+        __STAB_BEGIN__ = DEFINED(__STAB_BEGIN__) ? __STAB_BEGIN__ : .;
+        *(.stab);
+        __STAB_END__ = DEFINED(__STAB_END__) ? __STAB_END__ : .;
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    .stabstr : {
+        __STABSTR_BEGIN__ = DEFINED(__STABSTR_BEGIN__) ? __STABSTR_BEGIN__ : .;
+        *(.stabstr);
+        __STABSTR_END__ = DEFINED(__STABSTR_END__) ? __STABSTR_END__ : .;
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    /DISCARD/ : {
+        *(.eh_frame .note.GNU-stack .comment)
+    }
+}
diff --git a/code/lab5/tools/vector.c b/code/lab5/tools/vector.c
new file mode 100644
index 0000000..e24d77e
--- /dev/null
+++ b/code/lab5/tools/vector.c
@@ -0,0 +1,29 @@
+#include <stdio.h>
+
+int
+main(void) {
+    printf("# handler\n");
+    printf(".text\n");
+    printf(".globl __alltraps\n");
+
+    int i;
+    for (i = 0; i < 256; i ++) {
+        printf(".globl vector%d\n", i);
+        printf("vector%d:\n", i);
+        if ((i < 8 || i > 14) && i != 17) {
+            printf("  pushl $0\n");
+        }
+        printf("  pushl $%d\n", i);
+        printf("  jmp __alltraps\n");
+    }
+    printf("\n");
+    printf("# vector table\n");
+    printf(".data\n");
+    printf(".globl __vectors\n");
+    printf("__vectors:\n");
+    for (i = 0; i < 256; i ++) {
+        printf("  .long vector%d\n", i);
+    }
+    return 0;
+}
+
diff --git a/code/lab5/user/badarg.c b/code/lab5/user/badarg.c
new file mode 100644
index 0000000..7b4ffad
--- /dev/null
+++ b/code/lab5/user/badarg.c
@@ -0,0 +1,22 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    int pid, exit_code;
+    if ((pid = fork()) == 0) {
+        cprintf("fork ok.\n");
+        int i;
+        for (i = 0; i < 10; i ++) {
+            yield();
+        }
+        exit(0xbeaf);
+    }
+    assert(pid > 0);
+    assert(waitpid(-1, NULL) != 0);
+    assert(waitpid(pid, (void *)0xC0000000) != 0);
+    assert(waitpid(pid, &exit_code) == 0 && exit_code == 0xbeaf);
+    cprintf("badarg pass.\n");
+    return 0;
+}
+
diff --git a/code/lab5/user/badsegment.c b/code/lab5/user/badsegment.c
new file mode 100644
index 0000000..cdd9e99
--- /dev/null
+++ b/code/lab5/user/badsegment.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <ulib.h>
+
+/* try to load the kernel's TSS selector into the DS register */
+
+int
+main(void) {
+    asm volatile("movw $0x28,%ax; movw %ax,%ds");
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab5/user/divzero.c b/code/lab5/user/divzero.c
new file mode 100644
index 0000000..16c23d5
--- /dev/null
+++ b/code/lab5/user/divzero.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int zero;
+
+int
+main(void) {
+    cprintf("value is %d.\n", 1 / zero);
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab5/user/exit.c b/code/lab5/user/exit.c
new file mode 100644
index 0000000..c3ac5f8
--- /dev/null
+++ b/code/lab5/user/exit.c
@@ -0,0 +1,34 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int magic = -0x10384;
+
+int
+main(void) {
+    int pid, code;
+    cprintf("I am the parent. Forking the child...\n");
+    if ((pid = fork()) == 0) {
+        cprintf("I am the child.\n");
+        yield();
+        yield();
+        yield();
+        yield();
+        yield();
+        yield();
+        yield();
+        exit(magic);
+    }
+    else {
+        cprintf("I am parent, fork a child pid %d\n",pid);
+    }
+    assert(pid > 0);
+    cprintf("I am the parent, waiting now..\n");
+
+    assert(waitpid(pid, &code) == 0 && code == magic);
+    assert(waitpid(pid, &code) != 0 && wait() != 0);
+    cprintf("waitpid %d ok.\n", pid);
+
+    cprintf("exit pass.\n");
+    return 0;
+}
+
diff --git a/code/lab5/user/faultread.c b/code/lab5/user/faultread.c
new file mode 100644
index 0000000..6d292e1
--- /dev/null
+++ b/code/lab5/user/faultread.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    cprintf("I read %8x from 0.\n", *(unsigned int *)0);
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab5/user/faultreadkernel.c b/code/lab5/user/faultreadkernel.c
new file mode 100644
index 0000000..53457f6
--- /dev/null
+++ b/code/lab5/user/faultreadkernel.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    cprintf("I read %08x from 0xfac00000!\n", *(unsigned *)0xfac00000);
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab5/user/forktest.c b/code/lab5/user/forktest.c
new file mode 100644
index 0000000..3eda228
--- /dev/null
+++ b/code/lab5/user/forktest.c
@@ -0,0 +1,34 @@
+#include <ulib.h>
+#include <stdio.h>
+
+const int max_child = 32;
+
+int
+main(void) {
+    int n, pid;
+    for (n = 0; n < max_child; n ++) {
+        if ((pid = fork()) == 0) {
+            cprintf("I am child %d\n", n);
+            exit(0);
+        }
+        assert(pid > 0);
+    }
+
+    if (n > max_child) {
+        panic("fork claimed to work %d times!\n", n);
+    }
+
+    for (; n > 0; n --) {
+        if (wait() != 0) {
+            panic("wait stopped early\n");
+        }
+    }
+
+    if (wait() == 0) {
+        panic("wait got too many\n");
+    }
+
+    cprintf("forktest pass.\n");
+    return 0;
+}
+
diff --git a/code/lab5/user/forktree.c b/code/lab5/user/forktree.c
new file mode 100644
index 0000000..ad45bc1
--- /dev/null
+++ b/code/lab5/user/forktree.c
@@ -0,0 +1,37 @@
+#include <ulib.h>
+#include <stdio.h>
+#include <string.h>
+
+#define DEPTH 2
+
+void forktree(const char *cur);
+
+void
+forkchild(const char *cur, char branch) {
+    char nxt[DEPTH + 1];
+
+    if (strlen(cur) >= DEPTH)
+        return;
+
+    snprintf(nxt, DEPTH + 1, "%s%c", cur, branch);
+    if (fork() == 0) {
+        forktree(nxt);
+        yield();
+        exit(0);
+    }
+}
+
+void
+forktree(const char *cur) {
+    cprintf("%04x: I am '%s'\n", getpid(), cur);
+
+    forkchild(cur, '0');
+    forkchild(cur, '1');
+}
+
+int
+main(void) {
+    forktree("");
+    return 0;
+}
+
diff --git a/code/lab5/user/hello.c b/code/lab5/user/hello.c
new file mode 100644
index 0000000..0f05251
--- /dev/null
+++ b/code/lab5/user/hello.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    cprintf("Hello world!!.\n");
+    cprintf("I am process %d.\n", getpid());
+    cprintf("hello pass.\n");
+    return 0;
+}
+
diff --git a/code/lab5/user/libs/initcode.S b/code/lab5/user/libs/initcode.S
new file mode 100644
index 0000000..77a91d6
--- /dev/null
+++ b/code/lab5/user/libs/initcode.S
@@ -0,0 +1,14 @@
+.text
+.globl _start
+_start:
+    # set ebp for backtrace
+    movl $0x0, %ebp
+
+    # move down the esp register
+    # since it may cause page fault in backtrace
+    subl $0x20, %esp
+
+    # call user-program function
+    call umain
+1:  jmp 1b
+
diff --git a/code/lab5/user/libs/panic.c b/code/lab5/user/libs/panic.c
new file mode 100644
index 0000000..783be16
--- /dev/null
+++ b/code/lab5/user/libs/panic.c
@@ -0,0 +1,28 @@
+#include <defs.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <ulib.h>
+#include <error.h>
+
+void
+__panic(const char *file, int line, const char *fmt, ...) {
+    // print the 'message'
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("user panic at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+    exit(-E_PANIC);
+}
+
+void
+__warn(const char *file, int line, const char *fmt, ...) {
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("user warning at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+}
+
diff --git a/code/lab5/user/libs/stdio.c b/code/lab5/user/libs/stdio.c
new file mode 100644
index 0000000..69b7749
--- /dev/null
+++ b/code/lab5/user/libs/stdio.c
@@ -0,0 +1,62 @@
+#include <defs.h>
+#include <stdio.h>
+#include <syscall.h>
+
+/* *
+ * cputch - writes a single character @c to stdout, and it will
+ * increace the value of counter pointed by @cnt.
+ * */
+static void
+cputch(int c, int *cnt) {
+    sys_putc(c);
+    (*cnt) ++;
+}
+
+/* *
+ * vcprintf - format a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want cprintf() instead.
+ * */
+int
+vcprintf(const char *fmt, va_list ap) {
+    int cnt = 0;
+    vprintfmt((void*)cputch, &cnt, fmt, ap);
+    return cnt;
+}
+
+/* *
+ * cprintf - formats a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ * */
+int
+cprintf(const char *fmt, ...) {
+    va_list ap;
+
+    va_start(ap, fmt);
+    int cnt = vcprintf(fmt, ap);
+    va_end(ap);
+
+    return cnt;
+}
+
+/* *
+ * cputs- writes the string pointed by @str to stdout and
+ * appends a newline character.
+ * */
+int
+cputs(const char *str) {
+    int cnt = 0;
+    char c;
+    while ((c = *str ++) != '\0') {
+        cputch(c, &cnt);
+    }
+    cputch('\n', &cnt);
+    return cnt;
+}
+
diff --git a/code/lab5/user/libs/syscall.c b/code/lab5/user/libs/syscall.c
new file mode 100644
index 0000000..7bdc0d2
--- /dev/null
+++ b/code/lab5/user/libs/syscall.c
@@ -0,0 +1,72 @@
+#include <defs.h>
+#include <unistd.h>
+#include <stdarg.h>
+#include <syscall.h>
+
+#define MAX_ARGS            5
+
+static inline int
+syscall(int num, ...) {
+    va_list ap;
+    va_start(ap, num);
+    uint32_t a[MAX_ARGS];
+    int i, ret;
+    for (i = 0; i < MAX_ARGS; i ++) {
+        a[i] = va_arg(ap, uint32_t);
+    }
+    va_end(ap);
+
+    asm volatile (
+        "int %1;"
+        : "=a" (ret)
+        : "i" (T_SYSCALL),
+          "a" (num),
+          "d" (a[0]),
+          "c" (a[1]),
+          "b" (a[2]),
+          "D" (a[3]),
+          "S" (a[4])
+        : "cc", "memory");
+    return ret;
+}
+
+int
+sys_exit(int error_code) {
+    return syscall(SYS_exit, error_code);
+}
+
+int
+sys_fork(void) {
+    return syscall(SYS_fork);
+}
+
+int
+sys_wait(int pid, int *store) {
+    return syscall(SYS_wait, pid, store);
+}
+
+int
+sys_yield(void) {
+    return syscall(SYS_yield);
+}
+
+int
+sys_kill(int pid) {
+    return syscall(SYS_kill, pid);
+}
+
+int
+sys_getpid(void) {
+    return syscall(SYS_getpid);
+}
+
+int
+sys_putc(int c) {
+    return syscall(SYS_putc, c);
+}
+
+int
+sys_pgdir(void) {
+    return syscall(SYS_pgdir);
+}
+
diff --git a/code/lab5/user/libs/syscall.h b/code/lab5/user/libs/syscall.h
new file mode 100644
index 0000000..1ccfbc4
--- /dev/null
+++ b/code/lab5/user/libs/syscall.h
@@ -0,0 +1,14 @@
+#ifndef __USER_LIBS_SYSCALL_H__
+#define __USER_LIBS_SYSCALL_H__
+
+int sys_exit(int error_code);
+int sys_fork(void);
+int sys_wait(int pid, int *store);
+int sys_yield(void);
+int sys_kill(int pid);
+int sys_getpid(void);
+int sys_putc(int c);
+int sys_pgdir(void);
+
+#endif /* !__USER_LIBS_SYSCALL_H__ */
+
diff --git a/code/lab5/user/libs/ulib.c b/code/lab5/user/libs/ulib.c
new file mode 100644
index 0000000..329da5c
--- /dev/null
+++ b/code/lab5/user/libs/ulib.c
@@ -0,0 +1,48 @@
+#include <defs.h>
+#include <syscall.h>
+#include <stdio.h>
+#include <ulib.h>
+
+void
+exit(int error_code) {
+    sys_exit(error_code);
+    cprintf("BUG: exit failed.\n");
+    while (1);
+}
+
+int
+fork(void) {
+    return sys_fork();
+}
+
+int
+wait(void) {
+    return sys_wait(0, NULL);
+}
+
+int
+waitpid(int pid, int *store) {
+    return sys_wait(pid, store);
+}
+
+void
+yield(void) {
+    sys_yield();
+}
+
+int
+kill(int pid) {
+    return sys_kill(pid);
+}
+
+int
+getpid(void) {
+    return sys_getpid();
+}
+
+//print_pgdir - print the PDT&PT
+void
+print_pgdir(void) {
+    sys_pgdir();
+}
+
diff --git a/code/lab5/user/libs/ulib.h b/code/lab5/user/libs/ulib.h
new file mode 100644
index 0000000..1bb5763
--- /dev/null
+++ b/code/lab5/user/libs/ulib.h
@@ -0,0 +1,36 @@
+#ifndef __USER_LIBS_ULIB_H__
+#define __USER_LIBS_ULIB_H__
+
+#include <defs.h>
+
+void __warn(const char *file, int line, const char *fmt, ...);
+void __noreturn __panic(const char *file, int line, const char *fmt, ...);
+
+#define warn(...)                                       \
+    __warn(__FILE__, __LINE__, __VA_ARGS__)
+
+#define panic(...)                                      \
+    __panic(__FILE__, __LINE__, __VA_ARGS__)
+
+#define assert(x)                                       \
+    do {                                                \
+        if (!(x)) {                                     \
+            panic("assertion failed: %s", #x);          \
+        }                                               \
+    } while (0)
+
+// static_assert(x) will generate a compile-time error if 'x' is false.
+#define static_assert(x)                                \
+    switch (x) { case 0: case (x): ; }
+
+void __noreturn exit(int error_code);
+int fork(void);
+int wait(void);
+int waitpid(int pid, int *store);
+void yield(void);
+int kill(int pid);
+int getpid(void);
+void print_pgdir(void);
+
+#endif /* !__USER_LIBS_ULIB_H__ */
+
diff --git a/code/lab5/user/libs/umain.c b/code/lab5/user/libs/umain.c
new file mode 100644
index 0000000..c352072
--- /dev/null
+++ b/code/lab5/user/libs/umain.c
@@ -0,0 +1,10 @@
+#include <ulib.h>
+
+int main(void);
+
+void
+umain(void) {
+    int ret = main();
+    exit(ret);
+}
+
diff --git a/code/lab5/user/pgdir.c b/code/lab5/user/pgdir.c
new file mode 100644
index 0000000..09fd7e3
--- /dev/null
+++ b/code/lab5/user/pgdir.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    cprintf("I am %d, print pgdir.\n", getpid());
+    print_pgdir();
+    cprintf("pgdir pass.\n");
+    return 0;
+}
+
diff --git a/code/lab5/user/softint.c b/code/lab5/user/softint.c
new file mode 100644
index 0000000..2f14d15
--- /dev/null
+++ b/code/lab5/user/softint.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    asm volatile("int $14");
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab5/user/spin.c b/code/lab5/user/spin.c
new file mode 100644
index 0000000..91581e5
--- /dev/null
+++ b/code/lab5/user/spin.c
@@ -0,0 +1,29 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    int pid, ret;
+    cprintf("I am the parent. Forking the child...\n");
+    if ((pid = fork()) == 0) {
+        cprintf("I am the child. spinning ...\n");
+        while (1);
+    }
+    cprintf("I am the parent. Running the child...\n");
+
+    yield();
+    yield();
+    yield();
+
+    cprintf("I am the parent.  Killing the child...\n");
+
+    assert((ret = kill(pid)) == 0);
+    cprintf("kill returns %d\n", ret);
+
+    assert((ret = waitpid(pid, NULL)) == 0);
+    cprintf("wait returns %d\n", ret);
+
+    cprintf("spin may pass.\n");
+    return 0;
+}
+
diff --git a/code/lab5/user/testbss.c b/code/lab5/user/testbss.c
new file mode 100644
index 0000000..14dc6e1
--- /dev/null
+++ b/code/lab5/user/testbss.c
@@ -0,0 +1,33 @@
+#include <stdio.h>
+#include <ulib.h>
+
+#define ARRAYSIZE (1024*1024)
+
+uint32_t bigarray[ARRAYSIZE];
+
+int
+main(void) {
+    cprintf("Making sure bss works right...\n");
+    int i;
+    for (i = 0; i < ARRAYSIZE; i ++) {
+        if (bigarray[i] != 0) {
+            panic("bigarray[%d] isn't cleared!\n", i);
+        }
+    }
+    for (i = 0; i < ARRAYSIZE; i ++) {
+        bigarray[i] = i;
+    }
+    for (i = 0; i < ARRAYSIZE; i ++) {
+        if (bigarray[i] != i) {
+            panic("bigarray[%d] didn't hold its value!\n", i);
+        }
+    }
+
+    cprintf("Yes, good.  Now doing a wild write off the end...\n");
+    cprintf("testbss may pass.\n");
+
+    bigarray[ARRAYSIZE + 1024] = 0;
+    asm volatile ("int $0x14");
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab5/user/waitkill.c b/code/lab5/user/waitkill.c
new file mode 100644
index 0000000..9bb3f80
--- /dev/null
+++ b/code/lab5/user/waitkill.c
@@ -0,0 +1,59 @@
+#include <ulib.h>
+#include <stdio.h>
+
+void
+do_yield(void) {
+    yield();
+    yield();
+    yield();
+    yield();
+    yield();
+    yield();
+}
+
+int parent, pid1, pid2;
+
+void
+loop(void) {
+    cprintf("child 1.\n");
+    while (1);
+}
+
+void
+work(void) {
+    cprintf("child 2.\n");
+    do_yield();
+    if (kill(parent) == 0) {
+        cprintf("kill parent ok.\n");
+        do_yield();
+        if (kill(pid1) == 0) {
+            cprintf("kill child1 ok.\n");
+            exit(0);
+        }
+    }
+    exit(-1);
+}
+
+int
+main(void) {
+    parent = getpid();
+    if ((pid1 = fork()) == 0) {
+        loop();
+    }
+
+    assert(pid1 > 0);
+
+    if ((pid2 = fork()) == 0) {
+        work();
+    }
+    if (pid2 > 0) {
+        cprintf("wait child 1.\n");
+        waitpid(pid1, NULL);
+        panic("waitpid %d returns\n", pid1);
+    }
+    else {
+        kill(pid1);
+    }
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab5/user/yield.c b/code/lab5/user/yield.c
new file mode 100644
index 0000000..a19890d
--- /dev/null
+++ b/code/lab5/user/yield.c
@@ -0,0 +1,16 @@
+#include <ulib.h>
+#include <stdio.h>
+
+int
+main(void) {
+    int i;
+    cprintf("Hello, I am process %d.\n", getpid());
+    for (i = 0; i < 5; i ++) {
+        yield();
+        cprintf("Back in process %d, iteration %d.\n", getpid(), i);
+    }
+    cprintf("All done in process %d.\n", getpid());
+    cprintf("yield pass.\n");
+    return 0;
+}
+
diff --git a/code/lab6/Makefile b/code/lab6/Makefile
new file mode 100644
index 0000000..e613b28
--- /dev/null
+++ b/code/lab6/Makefile
@@ -0,0 +1,323 @@
+PROJ	:= 6
+EMPTY	:=
+SPACE	:= $(EMPTY) $(EMPTY)
+SLASH	:= /
+
+V       := @
+
+# try to infer the correct GCCPREFX
+ifndef GCCPREFIX
+GCCPREFIX := $(shell if i386-ucore-elf-objdump -i 2>&1 | grep '^elf32-i386$$' >/dev/null 2>&1; \
+	then echo 'i386-ucore-elf-'; \
+	elif objdump -i 2>&1 | grep 'elf32-i386' >/dev/null 2>&1; \
+	then echo ''; \
+	else echo "***" 1>&2; \
+	echo "*** Error: Couldn't find an i386-ucore-elf version of GCC/binutils." 1>&2; \
+	echo "*** Is the directory with i386-ucore-elf-gcc in your PATH?" 1>&2; \
+	echo "*** If your i386-ucore-elf toolchain is installed with a command" 1>&2; \
+	echo "*** prefix other than 'i386-ucore-elf-', set your GCCPREFIX" 1>&2; \
+	echo "*** environment variable to that prefix and run 'make' again." 1>&2; \
+	echo "*** To turn off this error, run 'gmake GCCPREFIX= ...'." 1>&2; \
+	echo "***" 1>&2; exit 1; fi)
+endif
+
+# try to infer the correct QEMU
+ifndef QEMU
+QEMU := $(shell if which qemu > /dev/null; \
+	then echo 'qemu'; exit; \
+	elif which i386-ucore-elf-qemu > /dev/null; \
+	then echo 'i386-ucore-elf-qemu'; exit; \
+	else \
+	echo "***" 1>&2; \
+	echo "*** Error: Couldn't find a working QEMU executable." 1>&2; \
+	echo "*** Is the directory containing the qemu binary in your PATH" 1>&2; \
+	echo "***" 1>&2; exit 1; fi)
+endif
+
+# eliminate default suffix rules
+.SUFFIXES: .c .S .h
+
+# delete target files if there is an error (or make is interrupted)
+.DELETE_ON_ERROR:
+
+# define compiler and flags
+
+HOSTCC		:= gcc
+HOSTCFLAGS	:= -g -Wall -O2
+
+GDB		:= $(GCCPREFIX)gdb
+
+CC		?= $(GCCPREFIX)gcc
+CFLAGS	:= -fno-builtin -Wall -ggdb -m32 -gstabs -nostdinc $(DEFS)
+CFLAGS	+= $(shell $(CC) -fno-stack-protector -E -x c /dev/null >/dev/null 2>&1 && echo -fno-stack-protector)
+CTYPE	:= c S
+
+LD      := $(GCCPREFIX)ld
+LDFLAGS	:= -m $(shell $(LD) -V | grep elf_i386 2>/dev/null)
+LDFLAGS	+= -nostdlib
+
+OBJCOPY := $(GCCPREFIX)objcopy
+OBJDUMP := $(GCCPREFIX)objdump
+
+COPY	:= cp
+MKDIR   := mkdir -p
+MV		:= mv
+RM		:= rm -f
+AWK		:= awk
+SED		:= sed
+SH		:= sh
+TR		:= tr
+TOUCH	:= touch -c
+
+OBJDIR	:= obj
+BINDIR	:= bin
+
+ALLOBJS	:=
+ALLDEPS	:=
+TARGETS	:=
+
+include tools/function.mk
+
+listf_cc = $(call listf,$(1),$(CTYPE))
+
+USER_PREFIX	:= __user_
+
+# for cc
+add_files_cc = $(call add_files,$(1),$(CC),$(CFLAGS) $(3),$(2),$(4))
+create_target_cc = $(call create_target,$(1),$(2),$(3),$(CC),$(CFLAGS))
+
+# for hostcc
+add_files_host = $(call add_files,$(1),$(HOSTCC),$(HOSTCFLAGS),$(2),$(3))
+create_target_host = $(call create_target,$(1),$(2),$(3),$(HOSTCC),$(HOSTCFLAGS))
+
+cgtype = $(patsubst %.$(2),%.$(3),$(1))
+objfile = $(call toobj,$(1))
+asmfile = $(call cgtype,$(call toobj,$(1)),o,asm)
+outfile = $(call cgtype,$(call toobj,$(1)),o,out)
+symfile = $(call cgtype,$(call toobj,$(1)),o,sym)
+filename = $(basename $(notdir $(1)))
+ubinfile = $(call outfile,$(addprefix $(USER_PREFIX),$(call filename,$(1))))
+
+# for match pattern
+match = $(shell echo $(2) | $(AWK) '{for(i=1;i<=NF;i++){if(match("$(1)","^"$$(i)"$$")){exit 1;}}}'; echo $$?)
+
+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+# include kernel/user
+
+INCLUDE	+= libs/
+
+CFLAGS	+= $(addprefix -I,$(INCLUDE))
+
+LIBDIR	+= libs
+
+$(call add_files_cc,$(call listf_cc,$(LIBDIR)),libs,)
+
+# -------------------------------------------------------------------
+# user programs
+
+UINCLUDE	+= user/include/ \
+			   user/libs/
+
+USRCDIR		+= user
+
+ULIBDIR		+= user/libs
+
+UCFLAGS		+= $(addprefix -I,$(UINCLUDE))
+USER_BINS	:=
+
+$(call add_files_cc,$(call listf_cc,$(ULIBDIR)),ulibs,$(UCFLAGS))
+$(call add_files_cc,$(call listf_cc,$(USRCDIR)),uprog,$(UCFLAGS))
+
+UOBJS	:= $(call read_packet,ulibs libs)
+
+define uprog_ld
+__user_bin__ := $$(call ubinfile,$(1))
+USER_BINS += $$(__user_bin__)
+$$(__user_bin__): tools/user.ld
+$$(__user_bin__): $$(UOBJS)
+$$(__user_bin__): $(1) | $$$$(dir $$$$@)
+	$(V)$(LD) $(LDFLAGS) -T tools/user.ld -o $$@ $$(UOBJS) $(1)
+	@$(OBJDUMP) -S $$@ > $$(call cgtype,$$<,o,asm)
+	@$(OBJDUMP) -t $$@ | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$$$$/d' > $$(call cgtype,$$<,o,sym)
+endef
+
+$(foreach p,$(call read_packet,uprog),$(eval $(call uprog_ld,$(p))))
+
+# -------------------------------------------------------------------
+# kernel
+
+KINCLUDE	+= kern/debug/ \
+			   kern/driver/ \
+			   kern/trap/ \
+			   kern/mm/ \
+			   kern/libs/ \
+			   kern/sync/ \
+			   kern/fs/    \
+			   kern/process \
+			   kern/schedule \
+			   kern/syscall
+
+KSRCDIR		+= kern/init \
+			   kern/libs \
+			   kern/debug \
+			   kern/driver \
+			   kern/trap \
+			   kern/mm \
+			   kern/sync \
+			   kern/fs    \
+			   kern/process \
+			   kern/schedule \
+			   kern/syscall
+
+KCFLAGS		+= $(addprefix -I,$(KINCLUDE))
+
+$(call add_files_cc,$(call listf_cc,$(KSRCDIR)),kernel,$(KCFLAGS))
+
+KOBJS	= $(call read_packet,kernel libs)
+
+# create kernel target
+kernel = $(call totarget,kernel)
+
+$(kernel): tools/kernel.ld
+
+$(kernel): $(KOBJS) $(USER_BINS)
+	@echo + ld $@
+	$(V)$(LD) $(LDFLAGS) -T tools/kernel.ld -o $@ $(KOBJS) -b binary $(USER_BINS)
+	@$(OBJDUMP) -S $@ > $(call asmfile,kernel)
+	@$(OBJDUMP) -t $@ | $(SED) '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > $(call symfile,kernel)
+
+$(call create_target,kernel)
+
+# -------------------------------------------------------------------
+
+# create bootblock
+bootfiles = $(call listf_cc,boot)
+$(foreach f,$(bootfiles),$(call cc_compile,$(f),$(CC),$(CFLAGS) -Os -nostdinc))
+
+bootblock = $(call totarget,bootblock)
+
+$(bootblock): $(call toobj,boot/bootasm.S) $(call toobj,$(bootfiles)) | $(call totarget,sign)
+	@echo + ld $@
+	$(V)$(LD) $(LDFLAGS) -N -T tools/boot.ld $^ -o $(call toobj,bootblock)
+	@$(OBJDUMP) -S $(call objfile,bootblock) > $(call asmfile,bootblock)
+	@$(OBJCOPY) -S -O binary $(call objfile,bootblock) $(call outfile,bootblock)
+	@$(call totarget,sign) $(call outfile,bootblock) $(bootblock)
+
+$(call create_target,bootblock)
+
+# -------------------------------------------------------------------
+
+# create 'sign' tools
+$(call add_files_host,tools/sign.c,sign,sign)
+$(call create_target_host,sign,sign)
+
+# -------------------------------------------------------------------
+
+# create ucore.img
+UCOREIMG	:= $(call totarget,ucore.img)
+
+$(UCOREIMG): $(kernel) $(bootblock)
+	$(V)dd if=/dev/zero of=$@ count=10000
+	$(V)dd if=$(bootblock) of=$@ conv=notrunc
+	$(V)dd if=$(kernel) of=$@ seek=1 conv=notrunc
+
+$(call create_target,ucore.img)
+
+# -------------------------------------------------------------------
+
+# create swap.img
+SWAPIMG		:= $(call totarget,swap.img)
+
+$(SWAPIMG):
+	$(V)dd if=/dev/zero of=$@ bs=1M count=128
+
+$(call create_target,swap.img)
+
+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+$(call finish_all)
+
+IGNORE_ALLDEPS	= clean \
+				  dist-clean \
+				  grade \
+				  touch \
+				  print-.+ \
+				  run-.+ \
+				  build-.+ \
+				  handin
+
+ifeq ($(call match,$(MAKECMDGOALS),$(IGNORE_ALLDEPS)),0)
+-include $(ALLDEPS)
+endif
+
+# files for grade script
+
+TARGETS: $(TARGETS)
+
+.DEFAULT_GOAL := TARGETS
+
+QEMUOPTS = -hda $(UCOREIMG) -drive file=$(SWAPIMG),media=disk,cache=writeback
+
+.PHONY: qemu qemu-nox debug debug-nox
+qemu: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -parallel stdio $(QEMUOPTS) -serial null
+
+qemu-nox: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -serial mon:stdio $(QEMUOPTS) -nographic
+
+TERMINAL := gnome-terminal
+
+debug: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -S -s -parallel stdio $(QEMUOPTS) -serial null &
+	$(V)sleep 2
+	$(V)$(TERMINAL) -e "$(GDB) -q -x tools/gdbinit"
+
+debug-nox: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -S -s -serial mon:stdio $(QEMUOPTS) -nographic &
+	$(V)sleep 2
+	$(V)$(TERMINAL) -e "$(GDB) -q -x tools/gdbinit"
+
+RUN_PREFIX	:= _binary_$(OBJDIR)_$(USER_PREFIX)
+MAKEOPTS	:= --quiet --no-print-directory
+
+run-%: build-%
+	$(V)$(QEMU) -parallel stdio $(QEMUOPTS) -serial null
+
+build-%: touch
+	$(V)$(MAKE) $(MAKEOPTS) "DEFS+=-DTEST=$* -DTESTSTART=$(RUN_PREFIX)$*_out_start -DTESTSIZE=$(RUN_PREFIX)$*_out_size"
+
+.PHONY: grade touch
+
+GRADE_GDB_IN	:= .gdb.in
+GRADE_QEMU_OUT	:= .qemu.out
+HANDIN			:= lab$(PROJ)-handin.tar.gz
+
+TOUCH_FILES		:= kern/process/proc.c
+
+MAKEOPTS		:= --quiet --no-print-directory
+
+grade:
+	$(V)$(MAKE) $(MAKEOPTS) clean
+	$(V)$(SH) tools/grade.sh
+
+touch:
+	$(V)$(foreach f,$(TOUCH_FILES),$(TOUCH) $(f))
+
+print-%:
+	@echo $($(shell echo $(patsubst print-%,%,$@) | $(TR) [a-z] [A-Z]))
+
+.PHONY: clean dist-clean handin packall
+clean:
+	$(V)$(RM) $(GRADE_GDB_IN) $(GRADE_QEMU_OUT)
+	-$(RM) -r $(OBJDIR) $(BINDIR)
+
+dist-clean: clean
+	-$(RM) $(HANDIN)
+
+handin: packall
+	@echo Please visit http://learn.tsinghua.edu.cn and upload $(HANDIN). Thanks!
+
+packall: clean
+	@$(RM) -f $(HANDIN)
+	@tar -czf $(HANDIN) `find . -type f -o -type d | grep -v '^\.*$$' | grep -vF '$(HANDIN)'`
+
diff --git a/code/lab6/boot/asm.h b/code/lab6/boot/asm.h
new file mode 100644
index 0000000..8e0405a
--- /dev/null
+++ b/code/lab6/boot/asm.h
@@ -0,0 +1,26 @@
+#ifndef __BOOT_ASM_H__
+#define __BOOT_ASM_H__
+
+/* Assembler macros to create x86 segments */
+
+/* Normal segment */
+#define SEG_NULLASM                                             \
+    .word 0, 0;                                                 \
+    .byte 0, 0, 0, 0
+
+#define SEG_ASM(type,base,lim)                                  \
+    .word (((lim) >> 12) & 0xffff), ((base) & 0xffff);          \
+    .byte (((base) >> 16) & 0xff), (0x90 | (type)),             \
+        (0xC0 | (((lim) >> 28) & 0xf)), (((base) >> 24) & 0xff)
+
+
+/* Application segment type bits */
+#define STA_X       0x8     // Executable segment
+#define STA_E       0x4     // Expand down (non-executable segments)
+#define STA_C       0x4     // Conforming code segment (executable only)
+#define STA_W       0x2     // Writeable (non-executable segments)
+#define STA_R       0x2     // Readable (executable segments)
+#define STA_A       0x1     // Accessed
+
+#endif /* !__BOOT_ASM_H__ */
+
diff --git a/code/lab6/boot/bootasm.S b/code/lab6/boot/bootasm.S
new file mode 100644
index 0000000..f1852c3
--- /dev/null
+++ b/code/lab6/boot/bootasm.S
@@ -0,0 +1,107 @@
+#include <asm.h>
+
+# Start the CPU: switch to 32-bit protected mode, jump into C.
+# The BIOS loads this code from the first sector of the hard disk into
+# memory at physical address 0x7c00 and starts executing in real mode
+# with %cs=0 %ip=7c00.
+
+.set PROT_MODE_CSEG,        0x8                     # kernel code segment selector
+.set PROT_MODE_DSEG,        0x10                    # kernel data segment selector
+.set CR0_PE_ON,             0x1                     # protected mode enable flag
+.set SMAP,                  0x534d4150
+
+# start address should be 0:7c00, in real mode, the beginning address of the running bootloader
+.globl start
+start:
+.code16                                             # Assemble for 16-bit mode
+    cli                                             # Disable interrupts
+    cld                                             # String operations increment
+
+    # Set up the important data segment registers (DS, ES, SS).
+    xorw %ax, %ax                                   # Segment number zero
+    movw %ax, %ds                                   # -> Data Segment
+    movw %ax, %es                                   # -> Extra Segment
+    movw %ax, %ss                                   # -> Stack Segment
+
+    # Enable A20:
+    #  For backwards compatibility with the earliest PCs, physical
+    #  address line 20 is tied low, so that addresses higher than
+    #  1MB wrap around to zero by default. This code undoes this.
+seta20.1:
+    inb $0x64, %al                                  # Wait for not busy
+    testb $0x2, %al
+    jnz seta20.1
+
+    movb $0xd1, %al                                 # 0xd1 -> port 0x64
+    outb %al, $0x64
+
+seta20.2:
+    inb $0x64, %al                                  # Wait for not busy
+    testb $0x2, %al
+    jnz seta20.2
+
+    movb $0xdf, %al                                 # 0xdf -> port 0x60
+    outb %al, $0x60
+
+probe_memory:
+    movl $0, 0x8000
+    xorl %ebx, %ebx
+    movw $0x8004, %di
+start_probe:
+    movl $0xE820, %eax
+    movl $20, %ecx
+    movl $SMAP, %edx
+    int $0x15
+    jnc cont
+    movw $12345, 0x8000
+    jmp finish_probe
+cont:
+    addw $20, %di
+    incl 0x8000
+    cmpl $0, %ebx
+    jnz start_probe
+finish_probe:
+
+    # Switch from real to protected mode, using a bootstrap GDT
+    # and segment translation that makes virtual addresses
+    # identical to physical addresses, so that the
+    # effective memory map does not change during the switch.
+    lgdt gdtdesc
+    movl %cr0, %eax
+    orl $CR0_PE_ON, %eax
+    movl %eax, %cr0
+
+    # Jump to next instruction, but in 32-bit code segment.
+    # Switches processor into 32-bit mode.
+    ljmp $PROT_MODE_CSEG, $protcseg
+
+.code32                                             # Assemble for 32-bit mode
+protcseg:
+    # Set up the protected-mode data segment registers
+    movw $PROT_MODE_DSEG, %ax                       # Our data segment selector
+    movw %ax, %ds                                   # -> DS: Data Segment
+    movw %ax, %es                                   # -> ES: Extra Segment
+    movw %ax, %fs                                   # -> FS
+    movw %ax, %gs                                   # -> GS
+    movw %ax, %ss                                   # -> SS: Stack Segment
+
+    # Set up the stack pointer and call into C. The stack region is from 0--start(0x7c00)
+    movl $0x0, %ebp
+    movl $start, %esp
+    call bootmain
+
+    # If bootmain returns (it shouldn't), loop.
+spin:
+    jmp spin
+
+.data
+# Bootstrap GDT
+.p2align 2                                          # force 4 byte alignment
+gdt:
+    SEG_NULLASM                                     # null seg
+    SEG_ASM(STA_X|STA_R, 0x0, 0xffffffff)           # code seg for bootloader and kernel
+    SEG_ASM(STA_W, 0x0, 0xffffffff)                 # data seg for bootloader and kernel
+
+gdtdesc:
+    .word 0x17                                      # sizeof(gdt) - 1
+    .long gdt                                       # address gdt
diff --git a/code/lab6/boot/bootmain.c b/code/lab6/boot/bootmain.c
new file mode 100644
index 0000000..4b55eb7
--- /dev/null
+++ b/code/lab6/boot/bootmain.c
@@ -0,0 +1,116 @@
+#include <defs.h>
+#include <x86.h>
+#include <elf.h>
+
+/* *********************************************************************
+ * This a dirt simple boot loader, whose sole job is to boot
+ * an ELF kernel image from the first IDE hard disk.
+ *
+ * DISK LAYOUT
+ *  * This program(bootasm.S and bootmain.c) is the bootloader.
+ *    It should be stored in the first sector of the disk.
+ *
+ *  * The 2nd sector onward holds the kernel image.
+ *
+ *  * The kernel image must be in ELF format.
+ *
+ * BOOT UP STEPS
+ *  * when the CPU boots it loads the BIOS into memory and executes it
+ *
+ *  * the BIOS intializes devices, sets of the interrupt routines, and
+ *    reads the first sector of the boot device(e.g., hard-drive)
+ *    into memory and jumps to it.
+ *
+ *  * Assuming this boot loader is stored in the first sector of the
+ *    hard-drive, this code takes over...
+ *
+ *  * control starts in bootasm.S -- which sets up protected mode,
+ *    and a stack so C code then run, then calls bootmain()
+ *
+ *  * bootmain() in this file takes over, reads in the kernel and jumps to it.
+ * */
+
+#define SECTSIZE        512
+#define ELFHDR          ((struct elfhdr *)0x10000)      // scratch space
+
+/* waitdisk - wait for disk ready */
+static void
+waitdisk(void) {
+    while ((inb(0x1F7) & 0xC0) != 0x40)
+        /* do nothing */;
+}
+
+/* readsect - read a single sector at @secno into @dst */
+static void
+readsect(void *dst, uint32_t secno) {
+    // wait for disk to be ready
+    waitdisk();
+
+    outb(0x1F2, 1);                         // count = 1
+    outb(0x1F3, secno & 0xFF);
+    outb(0x1F4, (secno >> 8) & 0xFF);
+    outb(0x1F5, (secno >> 16) & 0xFF);
+    outb(0x1F6, ((secno >> 24) & 0xF) | 0xE0);
+    outb(0x1F7, 0x20);                      // cmd 0x20 - read sectors
+
+    // wait for disk to be ready
+    waitdisk();
+
+    // read a sector
+    insl(0x1F0, dst, SECTSIZE / 4);
+}
+
+/* *
+ * readseg - read @count bytes at @offset from kernel into virtual address @va,
+ * might copy more than asked.
+ * */
+static void
+readseg(uintptr_t va, uint32_t count, uint32_t offset) {
+    uintptr_t end_va = va + count;
+
+    // round down to sector boundary
+    va -= offset % SECTSIZE;
+
+    // translate from bytes to sectors; kernel starts at sector 1
+    uint32_t secno = (offset / SECTSIZE) + 1;
+
+    // If this is too slow, we could read lots of sectors at a time.
+    // We'd write more to memory than asked, but it doesn't matter --
+    // we load in increasing order.
+    for (; va < end_va; va += SECTSIZE, secno ++) {
+        readsect((void *)va, secno);
+    }
+}
+
+/* bootmain - the entry of bootloader */
+void
+bootmain(void) {
+    // read the 1st page off disk
+    readseg((uintptr_t)ELFHDR, SECTSIZE * 8, 0);
+
+    // is this a valid ELF?
+    if (ELFHDR->e_magic != ELF_MAGIC) {
+        goto bad;
+    }
+
+    struct proghdr *ph, *eph;
+
+    // load each program segment (ignores ph flags)
+    ph = (struct proghdr *)((uintptr_t)ELFHDR + ELFHDR->e_phoff);
+    eph = ph + ELFHDR->e_phnum;
+    for (; ph < eph; ph ++) {
+        readseg(ph->p_va & 0xFFFFFF, ph->p_memsz, ph->p_offset);
+    }
+
+    // call the entry point from the ELF header
+    // note: does not return
+    ((void (*)(void))(ELFHDR->e_entry & 0xFFFFFF))();
+
+bad:
+    outw(0x8A00, 0x8A00);
+    outw(0x8A00, 0x8E00);
+
+    /* do nothing */
+    while (1);
+}
+
diff --git a/code/lab6/kern/debug/assert.h b/code/lab6/kern/debug/assert.h
new file mode 100644
index 0000000..ac1a966
--- /dev/null
+++ b/code/lab6/kern/debug/assert.h
@@ -0,0 +1,27 @@
+#ifndef __KERN_DEBUG_ASSERT_H__
+#define __KERN_DEBUG_ASSERT_H__
+
+#include <defs.h>
+
+void __warn(const char *file, int line, const char *fmt, ...);
+void __noreturn __panic(const char *file, int line, const char *fmt, ...);
+
+#define warn(...)                                       \
+    __warn(__FILE__, __LINE__, __VA_ARGS__)
+
+#define panic(...)                                      \
+    __panic(__FILE__, __LINE__, __VA_ARGS__)
+
+#define assert(x)                                       \
+    do {                                                \
+        if (!(x)) {                                     \
+            panic("assertion failed: %s", #x);          \
+        }                                               \
+    } while (0)
+
+// static_assert(x) will generate a compile-time error if 'x' is false.
+#define static_assert(x)                                \
+    switch (x) { case 0: case (x): ; }
+
+#endif /* !__KERN_DEBUG_ASSERT_H__ */
+
diff --git a/code/lab6/kern/debug/kdebug.c b/code/lab6/kern/debug/kdebug.c
new file mode 100644
index 0000000..fedbf5b
--- /dev/null
+++ b/code/lab6/kern/debug/kdebug.c
@@ -0,0 +1,351 @@
+#include <defs.h>
+#include <x86.h>
+#include <stab.h>
+#include <stdio.h>
+#include <string.h>
+#include <memlayout.h>
+#include <sync.h>
+#include <vmm.h>
+#include <proc.h>
+#include <kdebug.h>
+#include <monitor.h>
+#include <assert.h>
+
+#define STACKFRAME_DEPTH 20
+
+extern const struct stab __STAB_BEGIN__[];  // beginning of stabs table
+extern const struct stab __STAB_END__[];    // end of stabs table
+extern const char __STABSTR_BEGIN__[];      // beginning of string table
+extern const char __STABSTR_END__[];        // end of string table
+
+/* debug information about a particular instruction pointer */
+struct eipdebuginfo {
+    const char *eip_file;                   // source code filename for eip
+    int eip_line;                           // source code line number for eip
+    const char *eip_fn_name;                // name of function containing eip
+    int eip_fn_namelen;                     // length of function's name
+    uintptr_t eip_fn_addr;                  // start address of function
+    int eip_fn_narg;                        // number of function arguments
+};
+
+/* user STABS data structure  */
+struct userstabdata {
+    const struct stab *stabs;
+    const struct stab *stab_end;
+    const char *stabstr;
+    const char *stabstr_end;
+};
+
+/* *
+ * stab_binsearch - according to the input, the initial value of
+ * range [*@region_left, *@region_right], find a single stab entry
+ * that includes the address @addr and matches the type @type,
+ * and then save its boundary to the locations that pointed
+ * by @region_left and @region_right.
+ *
+ * Some stab types are arranged in increasing order by instruction address.
+ * For example, N_FUN stabs (stab entries with n_type == N_FUN), which
+ * mark functions, and N_SO stabs, which mark source files.
+ *
+ * Given an instruction address, this function finds the single stab entry
+ * of type @type that contains that address.
+ *
+ * The search takes place within the range [*@region_left, *@region_right].
+ * Thus, to search an entire set of N stabs, you might do:
+ *
+ *      left = 0;
+ *      right = N - 1;    (rightmost stab)
+ *      stab_binsearch(stabs, &left, &right, type, addr);
+ *
+ * The search modifies *region_left and *region_right to bracket the @addr.
+ * *@region_left points to the matching stab that contains @addr,
+ * and *@region_right points just before the next stab.
+ * If *@region_left > *region_right, then @addr is not contained in any
+ * matching stab.
+ *
+ * For example, given these N_SO stabs:
+ *      Index  Type   Address
+ *      0      SO     f0100000
+ *      13     SO     f0100040
+ *      117    SO     f0100176
+ *      118    SO     f0100178
+ *      555    SO     f0100652
+ *      556    SO     f0100654
+ *      657    SO     f0100849
+ * this code:
+ *      left = 0, right = 657;
+ *      stab_binsearch(stabs, &left, &right, N_SO, 0xf0100184);
+ * will exit setting left = 118, right = 554.
+ * */
+static void
+stab_binsearch(const struct stab *stabs, int *region_left, int *region_right,
+           int type, uintptr_t addr) {
+    int l = *region_left, r = *region_right, any_matches = 0;
+
+    while (l <= r) {
+        int true_m = (l + r) / 2, m = true_m;
+
+        // search for earliest stab with right type
+        while (m >= l && stabs[m].n_type != type) {
+            m --;
+        }
+        if (m < l) {    // no match in [l, m]
+            l = true_m + 1;
+            continue;
+        }
+
+        // actual binary search
+        any_matches = 1;
+        if (stabs[m].n_value < addr) {
+            *region_left = m;
+            l = true_m + 1;
+        } else if (stabs[m].n_value > addr) {
+            *region_right = m - 1;
+            r = m - 1;
+        } else {
+            // exact match for 'addr', but continue loop to find
+            // *region_right
+            *region_left = m;
+            l = m;
+            addr ++;
+        }
+    }
+
+    if (!any_matches) {
+        *region_right = *region_left - 1;
+    }
+    else {
+        // find rightmost region containing 'addr'
+        l = *region_right;
+        for (; l > *region_left && stabs[l].n_type != type; l --)
+            /* do nothing */;
+        *region_left = l;
+    }
+}
+
+/* *
+ * debuginfo_eip - Fill in the @info structure with information about
+ * the specified instruction address, @addr.  Returns 0 if information
+ * was found, and negative if not.  But even if it returns negative it
+ * has stored some information into '*info'.
+ * */
+int
+debuginfo_eip(uintptr_t addr, struct eipdebuginfo *info) {
+    const struct stab *stabs, *stab_end;
+    const char *stabstr, *stabstr_end;
+
+    info->eip_file = "<unknown>";
+    info->eip_line = 0;
+    info->eip_fn_name = "<unknown>";
+    info->eip_fn_namelen = 9;
+    info->eip_fn_addr = addr;
+    info->eip_fn_narg = 0;
+
+    // find the relevant set of stabs
+    if (addr >= KERNBASE) {
+        stabs = __STAB_BEGIN__;
+        stab_end = __STAB_END__;
+        stabstr = __STABSTR_BEGIN__;
+        stabstr_end = __STABSTR_END__;
+    }
+    else {
+        // user-program linker script, tools/user.ld puts the information about the
+        // program's stabs (included __STAB_BEGIN__, __STAB_END__, __STABSTR_BEGIN__,
+        // and __STABSTR_END__) in a structure located at virtual address USTAB.
+        const struct userstabdata *usd = (struct userstabdata *)USTAB;
+
+        // make sure that debugger (current process) can access this memory
+        struct mm_struct *mm;
+        if (current == NULL || (mm = current->mm) == NULL) {
+            return -1;
+        }
+        if (!user_mem_check(mm, (uintptr_t)usd, sizeof(struct userstabdata), 0)) {
+            return -1;
+        }
+
+        stabs = usd->stabs;
+        stab_end = usd->stab_end;
+        stabstr = usd->stabstr;
+        stabstr_end = usd->stabstr_end;
+
+        // make sure the STABS and string table memory is valid
+        if (!user_mem_check(mm, (uintptr_t)stabs, (uintptr_t)stab_end - (uintptr_t)stabs, 0)) {
+            return -1;
+        }
+        if (!user_mem_check(mm, (uintptr_t)stabstr, stabstr_end - stabstr, 0)) {
+            return -1;
+        }
+    }
+
+    // String table validity checks
+    if (stabstr_end <= stabstr || stabstr_end[-1] != 0) {
+        return -1;
+    }
+
+    // Now we find the right stabs that define the function containing
+    // 'eip'.  First, we find the basic source file containing 'eip'.
+    // Then, we look in that source file for the function.  Then we look
+    // for the line number.
+
+    // Search the entire set of stabs for the source file (type N_SO).
+    int lfile = 0, rfile = (stab_end - stabs) - 1;
+    stab_binsearch(stabs, &lfile, &rfile, N_SO, addr);
+    if (lfile == 0)
+        return -1;
+
+    // Search within that file's stabs for the function definition
+    // (N_FUN).
+    int lfun = lfile, rfun = rfile;
+    int lline, rline;
+    stab_binsearch(stabs, &lfun, &rfun, N_FUN, addr);
+
+    if (lfun <= rfun) {
+        // stabs[lfun] points to the function name
+        // in the string table, but check bounds just in case.
+        if (stabs[lfun].n_strx < stabstr_end - stabstr) {
+            info->eip_fn_name = stabstr + stabs[lfun].n_strx;
+        }
+        info->eip_fn_addr = stabs[lfun].n_value;
+        addr -= info->eip_fn_addr;
+        // Search within the function definition for the line number.
+        lline = lfun;
+        rline = rfun;
+    } else {
+        // Couldn't find function stab!  Maybe we're in an assembly
+        // file.  Search the whole file for the line number.
+        info->eip_fn_addr = addr;
+        lline = lfile;
+        rline = rfile;
+    }
+    info->eip_fn_namelen = strfind(info->eip_fn_name, ':') - info->eip_fn_name;
+
+    // Search within [lline, rline] for the line number stab.
+    // If found, set info->eip_line to the right line number.
+    // If not found, return -1.
+    stab_binsearch(stabs, &lline, &rline, N_SLINE, addr);
+    if (lline <= rline) {
+        info->eip_line = stabs[rline].n_desc;
+    } else {
+        return -1;
+    }
+
+    // Search backwards from the line number for the relevant filename stab.
+    // We can't just use the "lfile" stab because inlined functions
+    // can interpolate code from a different file!
+    // Such included source files use the N_SOL stab type.
+    while (lline >= lfile
+           && stabs[lline].n_type != N_SOL
+           && (stabs[lline].n_type != N_SO || !stabs[lline].n_value)) {
+        lline --;
+    }
+    if (lline >= lfile && stabs[lline].n_strx < stabstr_end - stabstr) {
+        info->eip_file = stabstr + stabs[lline].n_strx;
+    }
+
+    // Set eip_fn_narg to the number of arguments taken by the function,
+    // or 0 if there was no containing function.
+    if (lfun < rfun) {
+        for (lline = lfun + 1;
+             lline < rfun && stabs[lline].n_type == N_PSYM;
+             lline ++) {
+            info->eip_fn_narg ++;
+        }
+    }
+    return 0;
+}
+
+/* *
+ * print_kerninfo - print the information about kernel, including the location
+ * of kernel entry, the start addresses of data and text segements, the start
+ * address of free memory and how many memory that kernel has used.
+ * */
+void
+print_kerninfo(void) {
+    extern char etext[], edata[], end[], kern_init[];
+    cprintf("Special kernel symbols:\n");
+    cprintf("  entry  0x%08x (phys)\n", kern_init);
+    cprintf("  etext  0x%08x (phys)\n", etext);
+    cprintf("  edata  0x%08x (phys)\n", edata);
+    cprintf("  end    0x%08x (phys)\n", end);
+    cprintf("Kernel executable memory footprint: %dKB\n", (end - kern_init + 1023)/1024);
+}
+
+/* *
+ * print_debuginfo - read and print the stat information for the address @eip,
+ * and info.eip_fn_addr should be the first address of the related function.
+ * */
+void
+print_debuginfo(uintptr_t eip) {
+    struct eipdebuginfo info;
+    if (debuginfo_eip(eip, &info) != 0) {
+        cprintf("    <unknow>: -- 0x%08x --\n", eip);
+    }
+    else {
+        char fnname[256];
+        int j;
+        for (j = 0; j < info.eip_fn_namelen; j ++) {
+            fnname[j] = info.eip_fn_name[j];
+        }
+        fnname[j] = '\0';
+        cprintf("    %s:%d: %s+%d\n", info.eip_file, info.eip_line,
+                fnname, eip - info.eip_fn_addr);
+    }
+}
+
+static __noinline uint32_t
+read_eip(void) {
+    uint32_t eip;
+    asm volatile("movl 4(%%ebp), %0" : "=r" (eip));
+    return eip;
+}
+
+/* *
+ * print_stackframe - print a list of the saved eip values from the nested 'call'
+ * instructions that led to the current point of execution
+ *
+ * The x86 stack pointer, namely esp, points to the lowest location on the stack
+ * that is currently in use. Everything below that location in stack is free. Pushing
+ * a value onto the stack will invole decreasing the stack pointer and then writing
+ * the value to the place that stack pointer pointes to. And popping a value do the
+ * opposite.
+ *
+ * The ebp (base pointer) register, in contrast, is associated with the stack
+ * primarily by software convention. On entry to a C function, the function's
+ * prologue code normally saves the previous function's base pointer by pushing
+ * it onto the stack, and then copies the current esp value into ebp for the duration
+ * of the function. If all the functions in a program obey this convention,
+ * then at any given point during the program's execution, it is possible to trace
+ * back through the stack by following the chain of saved ebp pointers and determining
+ * exactly what nested sequence of function calls caused this particular point in the
+ * program to be reached. This capability can be particularly useful, for example,
+ * when a particular function causes an assert failure or panic because bad arguments
+ * were passed to it, but you aren't sure who passed the bad arguments. A stack
+ * backtrace lets you find the offending function.
+ *
+ * The inline function read_ebp() can tell us the value of current ebp. And the
+ * non-inline function read_eip() is useful, it can read the value of current eip,
+ * since while calling this function, read_eip() can read the caller's eip from
+ * stack easily.
+ *
+ * In print_debuginfo(), the function debuginfo_eip() can get enough information about
+ * calling-chain. Finally print_stackframe() will trace and print them for debugging.
+ *
+ * Note that, the length of ebp-chain is limited. In boot/bootasm.S, before jumping
+ * to the kernel entry, the value of ebp has been set to zero, that's the boundary.
+ * */
+void
+print_stackframe(void) {
+     /* LAB1 YOUR CODE : STEP 1 */
+     /* (1) call read_ebp() to get the value of ebp. the type is (uint32_t);
+      * (2) call read_eip() to get the value of eip. the type is (uint32_t);
+      * (3) from 0 .. STACKFRAME_DEPTH
+      *    (3.1) printf value of ebp, eip
+      *    (3.2) (uint32_t)calling arguments [0..4] = the contents in address (unit32_t)ebp +2 [0..4]
+      *    (3.3) cprintf("\n");
+      *    (3.4) call print_debuginfo(eip-1) to print the C calling function name and line number, etc.
+      *    (3.5) popup a calling stackframe
+      *           NOTICE: the calling funciton's return addr eip  = ss:[ebp+4]
+      *                   the calling funciton's ebp = ss:[ebp]
+      */
+}
+
diff --git a/code/lab6/kern/debug/kdebug.h b/code/lab6/kern/debug/kdebug.h
new file mode 100644
index 0000000..c2a7b74
--- /dev/null
+++ b/code/lab6/kern/debug/kdebug.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_DEBUG_KDEBUG_H__
+#define __KERN_DEBUG_KDEBUG_H__
+
+#include <defs.h>
+#include <trap.h>
+
+void print_kerninfo(void);
+void print_stackframe(void);
+void print_debuginfo(uintptr_t eip);
+
+#endif /* !__KERN_DEBUG_KDEBUG_H__ */
+
diff --git a/code/lab6/kern/debug/monitor.c b/code/lab6/kern/debug/monitor.c
new file mode 100644
index 0000000..85ac06c
--- /dev/null
+++ b/code/lab6/kern/debug/monitor.c
@@ -0,0 +1,132 @@
+#include <stdio.h>
+#include <string.h>
+#include <mmu.h>
+#include <trap.h>
+#include <monitor.h>
+#include <kdebug.h>
+
+/* *
+ * Simple command-line kernel monitor useful for controlling the
+ * kernel and exploring the system interactively.
+ * */
+
+struct command {
+    const char *name;
+    const char *desc;
+    // return -1 to force monitor to exit
+    int(*func)(int argc, char **argv, struct trapframe *tf);
+};
+
+static struct command commands[] = {
+    {"help", "Display this list of commands.", mon_help},
+    {"kerninfo", "Display information about the kernel.", mon_kerninfo},
+    {"backtrace", "Print backtrace of stack frame.", mon_backtrace},
+};
+
+/* return if kernel is panic, in kern/debug/panic.c */
+bool is_kernel_panic(void);
+
+#define NCOMMANDS (sizeof(commands)/sizeof(struct command))
+
+/***** Kernel monitor command interpreter *****/
+
+#define MAXARGS         16
+#define WHITESPACE      " \t\n\r"
+
+/* parse - parse the command buffer into whitespace-separated arguments */
+static int
+parse(char *buf, char **argv) {
+    int argc = 0;
+    while (1) {
+        // find global whitespace
+        while (*buf != '\0' && strchr(WHITESPACE, *buf) != NULL) {
+            *buf ++ = '\0';
+        }
+        if (*buf == '\0') {
+            break;
+        }
+
+        // save and scan past next arg
+        if (argc == MAXARGS - 1) {
+            cprintf("Too many arguments (max %d).\n", MAXARGS);
+        }
+        argv[argc ++] = buf;
+        while (*buf != '\0' && strchr(WHITESPACE, *buf) == NULL) {
+            buf ++;
+        }
+    }
+    return argc;
+}
+
+/* *
+ * runcmd - parse the input string, split it into separated arguments
+ * and then lookup and invoke some related commands/
+ * */
+static int
+runcmd(char *buf, struct trapframe *tf) {
+    char *argv[MAXARGS];
+    int argc = parse(buf, argv);
+    if (argc == 0) {
+        return 0;
+    }
+    int i;
+    for (i = 0; i < NCOMMANDS; i ++) {
+        if (strcmp(commands[i].name, argv[0]) == 0) {
+            return commands[i].func(argc - 1, argv + 1, tf);
+        }
+    }
+    cprintf("Unknown command '%s'\n", argv[0]);
+    return 0;
+}
+
+/***** Implementations of basic kernel monitor commands *****/
+
+void
+monitor(struct trapframe *tf) {
+    cprintf("Welcome to the kernel debug monitor!!\n");
+    cprintf("Type 'help' for a list of commands.\n");
+
+    if (tf != NULL) {
+        print_trapframe(tf);
+    }
+
+    char *buf;
+    while (1) {
+        if ((buf = readline("K> ")) != NULL) {
+            if (runcmd(buf, tf) < 0) {
+                break;
+            }
+        }
+    }
+}
+
+/* mon_help - print the information about mon_* functions */
+int
+mon_help(int argc, char **argv, struct trapframe *tf) {
+    int i;
+    for (i = 0; i < NCOMMANDS; i ++) {
+        cprintf("%s - %s\n", commands[i].name, commands[i].desc);
+    }
+    return 0;
+}
+
+/* *
+ * mon_kerninfo - call print_kerninfo in kern/debug/kdebug.c to
+ * print the memory occupancy in kernel.
+ * */
+int
+mon_kerninfo(int argc, char **argv, struct trapframe *tf) {
+    print_kerninfo();
+    return 0;
+}
+
+/* *
+ * mon_backtrace - call print_stackframe in kern/debug/kdebug.c to
+ * print a backtrace of the stack.
+ * */
+int
+mon_backtrace(int argc, char **argv, struct trapframe *tf) {
+    print_stackframe();
+    return 0;
+}
+
diff --git a/code/lab6/kern/debug/monitor.h b/code/lab6/kern/debug/monitor.h
new file mode 100644
index 0000000..2bc0854
--- /dev/null
+++ b/code/lab6/kern/debug/monitor.h
@@ -0,0 +1,19 @@
+#ifndef __KERN_DEBUG_MONITOR_H__
+#define __KERN_DEBUG_MONITOR_H__
+
+#include <trap.h>
+
+void monitor(struct trapframe *tf);
+
+int mon_help(int argc, char **argv, struct trapframe *tf);
+int mon_kerninfo(int argc, char **argv, struct trapframe *tf);
+int mon_backtrace(int argc, char **argv, struct trapframe *tf);
+int mon_continue(int argc, char **argv, struct trapframe *tf);
+int mon_step(int argc, char **argv, struct trapframe *tf);
+int mon_breakpoint(int argc, char **argv, struct trapframe *tf);
+int mon_watchpoint(int argc, char **argv, struct trapframe *tf);
+int mon_delete_dr(int argc, char **argv, struct trapframe *tf);
+int mon_list_dr(int argc, char **argv, struct trapframe *tf);
+
+#endif /* !__KERN_DEBUG_MONITOR_H__ */
+
diff --git a/code/lab6/kern/debug/panic.c b/code/lab6/kern/debug/panic.c
new file mode 100644
index 0000000..9be6c0b
--- /dev/null
+++ b/code/lab6/kern/debug/panic.c
@@ -0,0 +1,49 @@
+#include <defs.h>
+#include <stdio.h>
+#include <intr.h>
+#include <monitor.h>
+
+static bool is_panic = 0;
+
+/* *
+ * __panic - __panic is called on unresolvable fatal errors. it prints
+ * "panic: 'message'", and then enters the kernel monitor.
+ * */
+void
+__panic(const char *file, int line, const char *fmt, ...) {
+    if (is_panic) {
+        goto panic_dead;
+    }
+    is_panic = 1;
+
+    // print the 'message'
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("kernel panic at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+
+panic_dead:
+    intr_disable();
+    while (1) {
+        monitor(NULL);
+    }
+}
+
+/* __warn - like panic, but don't */
+void
+__warn(const char *file, int line, const char *fmt, ...) {
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("kernel warning at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+}
+
+bool
+is_kernel_panic(void) {
+    return is_panic;
+}
+
diff --git a/code/lab6/kern/debug/stab.h b/code/lab6/kern/debug/stab.h
new file mode 100644
index 0000000..8d5cea3
--- /dev/null
+++ b/code/lab6/kern/debug/stab.h
@@ -0,0 +1,54 @@
+#ifndef __KERN_DEBUG_STAB_H__
+#define __KERN_DEBUG_STAB_H__
+
+#include <defs.h>
+
+/* *
+ * STABS debugging info
+ *
+ * The kernel debugger can understand some debugging information in
+ * the STABS format.  For more information on this format, see
+ * http://sources.redhat.com/gdb/onlinedocs/stabs_toc.html
+ *
+ * The constants below define some symbol types used by various debuggers
+ * and compilers.  Kernel uses the N_SO, N_SOL, N_FUN, and N_SLINE types.
+ * */
+
+#define N_GSYM      0x20    // global symbol
+#define N_FNAME     0x22    // F77 function name
+#define N_FUN       0x24    // procedure name
+#define N_STSYM     0x26    // data segment variable
+#define N_LCSYM     0x28    // bss segment variable
+#define N_MAIN      0x2a    // main function name
+#define N_PC        0x30    // global Pascal symbol
+#define N_RSYM      0x40    // register variable
+#define N_SLINE     0x44    // text segment line number
+#define N_DSLINE    0x46    // data segment line number
+#define N_BSLINE    0x48    // bss segment line number
+#define N_SSYM      0x60    // structure/union element
+#define N_SO        0x64    // main source file name
+#define N_LSYM      0x80    // stack variable
+#define N_BINCL     0x82    // include file beginning
+#define N_SOL       0x84    // included source file name
+#define N_PSYM      0xa0    // parameter variable
+#define N_EINCL     0xa2    // include file end
+#define N_ENTRY     0xa4    // alternate entry point
+#define N_LBRAC     0xc0    // left bracket
+#define N_EXCL      0xc2    // deleted include file
+#define N_RBRAC     0xe0    // right bracket
+#define N_BCOMM     0xe2    // begin common
+#define N_ECOMM     0xe4    // end common
+#define N_ECOML     0xe8    // end common (local name)
+#define N_LENG      0xfe    // length of preceding entry
+
+/* Entries in the STABS table are formatted as follows. */
+struct stab {
+    uint32_t n_strx;        // index into string table of name
+    uint8_t n_type;         // type of symbol
+    uint8_t n_other;        // misc info (usually empty)
+    uint16_t n_desc;        // description field
+    uintptr_t n_value;      // value of symbol
+};
+
+#endif /* !__KERN_DEBUG_STAB_H__ */
+
diff --git a/code/lab6/kern/driver/clock.c b/code/lab6/kern/driver/clock.c
new file mode 100644
index 0000000..4e67c3b
--- /dev/null
+++ b/code/lab6/kern/driver/clock.c
@@ -0,0 +1,45 @@
+#include <x86.h>
+#include <trap.h>
+#include <stdio.h>
+#include <picirq.h>
+
+/* *
+ * Support for time-related hardware gadgets - the 8253 timer,
+ * which generates interruptes on IRQ-0.
+ * */
+
+#define IO_TIMER1           0x040               // 8253 Timer #1
+
+/* *
+ * Frequency of all three count-down timers; (TIMER_FREQ/freq)
+ * is the appropriate count to generate a frequency of freq Hz.
+ * */
+
+#define TIMER_FREQ      1193182
+#define TIMER_DIV(x)    ((TIMER_FREQ + (x) / 2) / (x))
+
+#define TIMER_MODE      (IO_TIMER1 + 3)         // timer mode port
+#define TIMER_SEL0      0x00                    // select counter 0
+#define TIMER_RATEGEN   0x04                    // mode 2, rate generator
+#define TIMER_16BIT     0x30                    // r/w counter 16 bits, LSB first
+
+volatile size_t ticks;
+
+/* *
+ * clock_init - initialize 8253 clock to interrupt 100 times per second,
+ * and then enable IRQ_TIMER.
+ * */
+void
+clock_init(void) {
+    // set 8253 timer-chip
+    outb(TIMER_MODE, TIMER_SEL0 | TIMER_RATEGEN | TIMER_16BIT);
+    outb(IO_TIMER1, TIMER_DIV(100) % 256);
+    outb(IO_TIMER1, TIMER_DIV(100) / 256);
+
+    // initialize time counter 'ticks' to zero
+    ticks = 0;
+
+    cprintf("++ setup timer interrupts\n");
+    pic_enable(IRQ_TIMER);
+}
+
diff --git a/code/lab6/kern/driver/clock.h b/code/lab6/kern/driver/clock.h
new file mode 100644
index 0000000..e22f393
--- /dev/null
+++ b/code/lab6/kern/driver/clock.h
@@ -0,0 +1,11 @@
+#ifndef __KERN_DRIVER_CLOCK_H__
+#define __KERN_DRIVER_CLOCK_H__
+
+#include <defs.h>
+
+extern volatile size_t ticks;
+
+void clock_init(void);
+
+#endif /* !__KERN_DRIVER_CLOCK_H__ */
+
diff --git a/code/lab6/kern/driver/console.c b/code/lab6/kern/driver/console.c
new file mode 100644
index 0000000..d4cf56b
--- /dev/null
+++ b/code/lab6/kern/driver/console.c
@@ -0,0 +1,465 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <kbdreg.h>
+#include <picirq.h>
+#include <trap.h>
+#include <memlayout.h>
+#include <sync.h>
+
+/* stupid I/O delay routine necessitated by historical PC design flaws */
+static void
+delay(void) {
+    inb(0x84);
+    inb(0x84);
+    inb(0x84);
+    inb(0x84);
+}
+
+/***** Serial I/O code *****/
+#define COM1            0x3F8
+
+#define COM_RX          0       // In:  Receive buffer (DLAB=0)
+#define COM_TX          0       // Out: Transmit buffer (DLAB=0)
+#define COM_DLL         0       // Out: Divisor Latch Low (DLAB=1)
+#define COM_DLM         1       // Out: Divisor Latch High (DLAB=1)
+#define COM_IER         1       // Out: Interrupt Enable Register
+#define COM_IER_RDI     0x01    // Enable receiver data interrupt
+#define COM_IIR         2       // In:  Interrupt ID Register
+#define COM_FCR         2       // Out: FIFO Control Register
+#define COM_LCR         3       // Out: Line Control Register
+#define COM_LCR_DLAB    0x80    // Divisor latch access bit
+#define COM_LCR_WLEN8   0x03    // Wordlength: 8 bits
+#define COM_MCR         4       // Out: Modem Control Register
+#define COM_MCR_RTS     0x02    // RTS complement
+#define COM_MCR_DTR     0x01    // DTR complement
+#define COM_MCR_OUT2    0x08    // Out2 complement
+#define COM_LSR         5       // In:  Line Status Register
+#define COM_LSR_DATA    0x01    // Data available
+#define COM_LSR_TXRDY   0x20    // Transmit buffer avail
+#define COM_LSR_TSRE    0x40    // Transmitter off
+
+#define MONO_BASE       0x3B4
+#define MONO_BUF        0xB0000
+#define CGA_BASE        0x3D4
+#define CGA_BUF         0xB8000
+#define CRT_ROWS        25
+#define CRT_COLS        80
+#define CRT_SIZE        (CRT_ROWS * CRT_COLS)
+
+#define LPTPORT         0x378
+
+static uint16_t *crt_buf;
+static uint16_t crt_pos;
+static uint16_t addr_6845;
+
+/* TEXT-mode CGA/VGA display output */
+
+static void
+cga_init(void) {
+    volatile uint16_t *cp = (uint16_t *)(CGA_BUF + KERNBASE);
+    uint16_t was = *cp;
+    *cp = (uint16_t) 0xA55A;
+    if (*cp != 0xA55A) {
+        cp = (uint16_t*)(MONO_BUF + KERNBASE);
+        addr_6845 = MONO_BASE;
+    } else {
+        *cp = was;
+        addr_6845 = CGA_BASE;
+    }
+
+    // Extract cursor location
+    uint32_t pos;
+    outb(addr_6845, 14);
+    pos = inb(addr_6845 + 1) << 8;
+    outb(addr_6845, 15);
+    pos |= inb(addr_6845 + 1);
+
+    crt_buf = (uint16_t*) cp;
+    crt_pos = pos;
+}
+
+static bool serial_exists = 0;
+
+static void
+serial_init(void) {
+    // Turn off the FIFO
+    outb(COM1 + COM_FCR, 0);
+
+    // Set speed; requires DLAB latch
+    outb(COM1 + COM_LCR, COM_LCR_DLAB);
+    outb(COM1 + COM_DLL, (uint8_t) (115200 / 9600));
+    outb(COM1 + COM_DLM, 0);
+
+    // 8 data bits, 1 stop bit, parity off; turn off DLAB latch
+    outb(COM1 + COM_LCR, COM_LCR_WLEN8 & ~COM_LCR_DLAB);
+
+    // No modem controls
+    outb(COM1 + COM_MCR, 0);
+    // Enable rcv interrupts
+    outb(COM1 + COM_IER, COM_IER_RDI);
+
+    // Clear any preexisting overrun indications and interrupts
+    // Serial port doesn't exist if COM_LSR returns 0xFF
+    serial_exists = (inb(COM1 + COM_LSR) != 0xFF);
+    (void) inb(COM1+COM_IIR);
+    (void) inb(COM1+COM_RX);
+
+    if (serial_exists) {
+        pic_enable(IRQ_COM1);
+    }
+}
+
+static void
+lpt_putc_sub(int c) {
+    int i;
+    for (i = 0; !(inb(LPTPORT + 1) & 0x80) && i < 12800; i ++) {
+        delay();
+    }
+    outb(LPTPORT + 0, c);
+    outb(LPTPORT + 2, 0x08 | 0x04 | 0x01);
+    outb(LPTPORT + 2, 0x08);
+}
+
+/* lpt_putc - copy console output to parallel port */
+static void
+lpt_putc(int c) {
+    if (c != '\b') {
+        lpt_putc_sub(c);
+    }
+    else {
+        lpt_putc_sub('\b');
+        lpt_putc_sub(' ');
+        lpt_putc_sub('\b');
+    }
+}
+
+/* cga_putc - print character to console */
+static void
+cga_putc(int c) {
+    // set black on white
+    if (!(c & ~0xFF)) {
+        c |= 0x0700;
+    }
+
+    switch (c & 0xff) {
+    case '\b':
+        if (crt_pos > 0) {
+            crt_pos --;
+            crt_buf[crt_pos] = (c & ~0xff) | ' ';
+        }
+        break;
+    case '\n':
+        crt_pos += CRT_COLS;
+    case '\r':
+        crt_pos -= (crt_pos % CRT_COLS);
+        break;
+    default:
+        crt_buf[crt_pos ++] = c;     // write the character
+        break;
+    }
+
+    // What is the purpose of this?
+    if (crt_pos >= CRT_SIZE) {
+        int i;
+        memmove(crt_buf, crt_buf + CRT_COLS, (CRT_SIZE - CRT_COLS) * sizeof(uint16_t));
+        for (i = CRT_SIZE - CRT_COLS; i < CRT_SIZE; i ++) {
+            crt_buf[i] = 0x0700 | ' ';
+        }
+        crt_pos -= CRT_COLS;
+    }
+
+    // move that little blinky thing
+    outb(addr_6845, 14);
+    outb(addr_6845 + 1, crt_pos >> 8);
+    outb(addr_6845, 15);
+    outb(addr_6845 + 1, crt_pos);
+}
+
+static void
+serial_putc_sub(int c) {
+    int i;
+    for (i = 0; !(inb(COM1 + COM_LSR) & COM_LSR_TXRDY) && i < 12800; i ++) {
+        delay();
+    }
+    outb(COM1 + COM_TX, c);
+}
+
+/* serial_putc - print character to serial port */
+static void
+serial_putc(int c) {
+    if (c != '\b') {
+        serial_putc_sub(c);
+    }
+    else {
+        serial_putc_sub('\b');
+        serial_putc_sub(' ');
+        serial_putc_sub('\b');
+    }
+}
+
+/* *
+ * Here we manage the console input buffer, where we stash characters
+ * received from the keyboard or serial port whenever the corresponding
+ * interrupt occurs.
+ * */
+
+#define CONSBUFSIZE 512
+
+static struct {
+    uint8_t buf[CONSBUFSIZE];
+    uint32_t rpos;
+    uint32_t wpos;
+} cons;
+
+/* *
+ * cons_intr - called by device interrupt routines to feed input
+ * characters into the circular console input buffer.
+ * */
+static void
+cons_intr(int (*proc)(void)) {
+    int c;
+    while ((c = (*proc)()) != -1) {
+        if (c != 0) {
+            cons.buf[cons.wpos ++] = c;
+            if (cons.wpos == CONSBUFSIZE) {
+                cons.wpos = 0;
+            }
+        }
+    }
+}
+
+/* serial_proc_data - get data from serial port */
+static int
+serial_proc_data(void) {
+    if (!(inb(COM1 + COM_LSR) & COM_LSR_DATA)) {
+        return -1;
+    }
+    int c = inb(COM1 + COM_RX);
+    if (c == 127) {
+        c = '\b';
+    }
+    return c;
+}
+
+/* serial_intr - try to feed input characters from serial port */
+void
+serial_intr(void) {
+    if (serial_exists) {
+        cons_intr(serial_proc_data);
+    }
+}
+
+/***** Keyboard input code *****/
+
+#define NO              0
+
+#define SHIFT           (1<<0)
+#define CTL             (1<<1)
+#define ALT             (1<<2)
+
+#define CAPSLOCK        (1<<3)
+#define NUMLOCK         (1<<4)
+#define SCROLLLOCK      (1<<5)
+
+#define E0ESC           (1<<6)
+
+static uint8_t shiftcode[256] = {
+    [0x1D] CTL,
+    [0x2A] SHIFT,
+    [0x36] SHIFT,
+    [0x38] ALT,
+    [0x9D] CTL,
+    [0xB8] ALT
+};
+
+static uint8_t togglecode[256] = {
+    [0x3A] CAPSLOCK,
+    [0x45] NUMLOCK,
+    [0x46] SCROLLLOCK
+};
+
+static uint8_t normalmap[256] = {
+    NO,   0x1B, '1',  '2',  '3',  '4',  '5',  '6',  // 0x00
+    '7',  '8',  '9',  '0',  '-',  '=',  '\b', '\t',
+    'q',  'w',  'e',  'r',  't',  'y',  'u',  'i',  // 0x10
+    'o',  'p',  '[',  ']',  '\n', NO,   'a',  's',
+    'd',  'f',  'g',  'h',  'j',  'k',  'l',  ';',  // 0x20
+    '\'', '`',  NO,   '\\', 'z',  'x',  'c',  'v',
+    'b',  'n',  'm',  ',',  '.',  '/',  NO,   '*',  // 0x30
+    NO,   ' ',  NO,   NO,   NO,   NO,   NO,   NO,
+    NO,   NO,   NO,   NO,   NO,   NO,   NO,   '7',  // 0x40
+    '8',  '9',  '-',  '4',  '5',  '6',  '+',  '1',
+    '2',  '3',  '0',  '.',  NO,   NO,   NO,   NO,   // 0x50
+    [0xC7] KEY_HOME,    [0x9C] '\n' /*KP_Enter*/,
+    [0xB5] '/' /*KP_Div*/,  [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+static uint8_t shiftmap[256] = {
+    NO,   033,  '!',  '@',  '#',  '$',  '%',  '^',  // 0x00
+    '&',  '*',  '(',  ')',  '_',  '+',  '\b', '\t',
+    'Q',  'W',  'E',  'R',  'T',  'Y',  'U',  'I',  // 0x10
+    'O',  'P',  '{',  '}',  '\n', NO,   'A',  'S',
+    'D',  'F',  'G',  'H',  'J',  'K',  'L',  ':',  // 0x20
+    '"',  '~',  NO,   '|',  'Z',  'X',  'C',  'V',
+    'B',  'N',  'M',  '<',  '>',  '?',  NO,   '*',  // 0x30
+    NO,   ' ',  NO,   NO,   NO,   NO,   NO,   NO,
+    NO,   NO,   NO,   NO,   NO,   NO,   NO,   '7',  // 0x40
+    '8',  '9',  '-',  '4',  '5',  '6',  '+',  '1',
+    '2',  '3',  '0',  '.',  NO,   NO,   NO,   NO,   // 0x50
+    [0xC7] KEY_HOME,    [0x9C] '\n' /*KP_Enter*/,
+    [0xB5] '/' /*KP_Div*/,  [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+#define C(x) (x - '@')
+
+static uint8_t ctlmap[256] = {
+    NO,      NO,      NO,      NO,      NO,      NO,      NO,      NO,
+    NO,      NO,      NO,      NO,      NO,      NO,      NO,      NO,
+    C('Q'),  C('W'),  C('E'),  C('R'),  C('T'),  C('Y'),  C('U'),  C('I'),
+    C('O'),  C('P'),  NO,      NO,      '\r',    NO,      C('A'),  C('S'),
+    C('D'),  C('F'),  C('G'),  C('H'),  C('J'),  C('K'),  C('L'),  NO,
+    NO,      NO,      NO,      C('\\'), C('Z'),  C('X'),  C('C'),  C('V'),
+    C('B'),  C('N'),  C('M'),  NO,      NO,      C('/'),  NO,      NO,
+    [0x97] KEY_HOME,
+    [0xB5] C('/'),      [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+static uint8_t *charcode[4] = {
+    normalmap,
+    shiftmap,
+    ctlmap,
+    ctlmap
+};
+
+/* *
+ * kbd_proc_data - get data from keyboard
+ *
+ * The kbd_proc_data() function gets data from the keyboard.
+ * If we finish a character, return it, else 0. And return -1 if no data.
+ * */
+static int
+kbd_proc_data(void) {
+    int c;
+    uint8_t data;
+    static uint32_t shift;
+
+    if ((inb(KBSTATP) & KBS_DIB) == 0) {
+        return -1;
+    }
+
+    data = inb(KBDATAP);
+
+    if (data == 0xE0) {
+        // E0 escape character
+        shift |= E0ESC;
+        return 0;
+    } else if (data & 0x80) {
+        // Key released
+        data = (shift & E0ESC ? data : data & 0x7F);
+        shift &= ~(shiftcode[data] | E0ESC);
+        return 0;
+    } else if (shift & E0ESC) {
+        // Last character was an E0 escape; or with 0x80
+        data |= 0x80;
+        shift &= ~E0ESC;
+    }
+
+    shift |= shiftcode[data];
+    shift ^= togglecode[data];
+
+    c = charcode[shift & (CTL | SHIFT)][data];
+    if (shift & CAPSLOCK) {
+        if ('a' <= c && c <= 'z')
+            c += 'A' - 'a';
+        else if ('A' <= c && c <= 'Z')
+            c += 'a' - 'A';
+    }
+
+    // Process special keys
+    // Ctrl-Alt-Del: reboot
+    if (!(~shift & (CTL | ALT)) && c == KEY_DEL) {
+        cprintf("Rebooting!\n");
+        outb(0x92, 0x3); // courtesy of Chris Frost
+    }
+    return c;
+}
+
+/* kbd_intr - try to feed input characters from keyboard */
+static void
+kbd_intr(void) {
+    cons_intr(kbd_proc_data);
+}
+
+static void
+kbd_init(void) {
+    // drain the kbd buffer
+    kbd_intr();
+    pic_enable(IRQ_KBD);
+}
+
+/* cons_init - initializes the console devices */
+void
+cons_init(void) {
+    cga_init();
+    serial_init();
+    kbd_init();
+    if (!serial_exists) {
+        cprintf("serial port does not exist!!\n");
+    }
+}
+
+/* cons_putc - print a single character @c to console devices */
+void
+cons_putc(int c) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        lpt_putc(c);
+        cga_putc(c);
+        serial_putc(c);
+    }
+    local_intr_restore(intr_flag);
+}
+
+/* *
+ * cons_getc - return the next input character from console,
+ * or 0 if none waiting.
+ * */
+int
+cons_getc(void) {
+    int c = 0;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        // poll for any pending input characters,
+        // so that this function works even when interrupts are disabled
+        // (e.g., when called from the kernel monitor).
+        serial_intr();
+        kbd_intr();
+
+        // grab the next character from the input buffer.
+        if (cons.rpos != cons.wpos) {
+            c = cons.buf[cons.rpos ++];
+            if (cons.rpos == CONSBUFSIZE) {
+                cons.rpos = 0;
+            }
+        }
+    }
+    local_intr_restore(intr_flag);
+    return c;
+}
+
diff --git a/code/lab6/kern/driver/console.h b/code/lab6/kern/driver/console.h
new file mode 100644
index 0000000..72e6167
--- /dev/null
+++ b/code/lab6/kern/driver/console.h
@@ -0,0 +1,11 @@
+#ifndef __KERN_DRIVER_CONSOLE_H__
+#define __KERN_DRIVER_CONSOLE_H__
+
+void cons_init(void);
+void cons_putc(int c);
+int cons_getc(void);
+void serial_intr(void);
+void kbd_intr(void);
+
+#endif /* !__KERN_DRIVER_CONSOLE_H__ */
+
diff --git a/code/lab6/kern/driver/ide.c b/code/lab6/kern/driver/ide.c
new file mode 100644
index 0000000..271cfa8
--- /dev/null
+++ b/code/lab6/kern/driver/ide.c
@@ -0,0 +1,214 @@
+#include <defs.h>
+#include <stdio.h>
+#include <trap.h>
+#include <picirq.h>
+#include <fs.h>
+#include <ide.h>
+#include <x86.h>
+#include <assert.h>
+
+#define ISA_DATA                0x00
+#define ISA_ERROR               0x01
+#define ISA_PRECOMP             0x01
+#define ISA_CTRL                0x02
+#define ISA_SECCNT              0x02
+#define ISA_SECTOR              0x03
+#define ISA_CYL_LO              0x04
+#define ISA_CYL_HI              0x05
+#define ISA_SDH                 0x06
+#define ISA_COMMAND             0x07
+#define ISA_STATUS              0x07
+
+#define IDE_BSY                 0x80
+#define IDE_DRDY                0x40
+#define IDE_DF                  0x20
+#define IDE_DRQ                 0x08
+#define IDE_ERR                 0x01
+
+#define IDE_CMD_READ            0x20
+#define IDE_CMD_WRITE           0x30
+#define IDE_CMD_IDENTIFY        0xEC
+
+#define IDE_IDENT_SECTORS       20
+#define IDE_IDENT_MODEL         54
+#define IDE_IDENT_CAPABILITIES  98
+#define IDE_IDENT_CMDSETS       164
+#define IDE_IDENT_MAX_LBA       120
+#define IDE_IDENT_MAX_LBA_EXT   200
+
+#define IO_BASE0                0x1F0
+#define IO_BASE1                0x170
+#define IO_CTRL0                0x3F4
+#define IO_CTRL1                0x374
+
+#define MAX_IDE                 4
+#define MAX_NSECS               128
+#define MAX_DISK_NSECS          0x10000000U
+#define VALID_IDE(ideno)        (((ideno) >= 0) && ((ideno) < MAX_IDE) && (ide_devices[ideno].valid))
+
+static const struct {
+    unsigned short base;        // I/O Base
+    unsigned short ctrl;        // Control Base
+} channels[2] = {
+    {IO_BASE0, IO_CTRL0},
+    {IO_BASE1, IO_CTRL1},
+};
+
+#define IO_BASE(ideno)          (channels[(ideno) >> 1].base)
+#define IO_CTRL(ideno)          (channels[(ideno) >> 1].ctrl)
+
+static struct ide_device {
+    unsigned char valid;        // 0 or 1 (If Device Really Exists)
+    unsigned int sets;          // Commend Sets Supported
+    unsigned int size;          // Size in Sectors
+    unsigned char model[41];    // Model in String
+} ide_devices[MAX_IDE];
+
+static int
+ide_wait_ready(unsigned short iobase, bool check_error) {
+    int r;
+    while ((r = inb(iobase + ISA_STATUS)) & IDE_BSY)
+        /* nothing */;
+    if (check_error && (r & (IDE_DF | IDE_ERR)) != 0) {
+        return -1;
+    }
+    return 0;
+}
+
+void
+ide_init(void) {
+    static_assert((SECTSIZE % 4) == 0);
+    unsigned short ideno, iobase;
+    for (ideno = 0; ideno < MAX_IDE; ideno ++) {
+        /* assume that no device here */
+        ide_devices[ideno].valid = 0;
+
+        iobase = IO_BASE(ideno);
+
+        /* wait device ready */
+        ide_wait_ready(iobase, 0);
+
+        /* step1: select drive */
+        outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4));
+        ide_wait_ready(iobase, 0);
+
+        /* step2: send ATA identify command */
+        outb(iobase + ISA_COMMAND, IDE_CMD_IDENTIFY);
+        ide_wait_ready(iobase, 0);
+
+        /* step3: polling */
+        if (inb(iobase + ISA_STATUS) == 0 || ide_wait_ready(iobase, 1) != 0) {
+            continue ;
+        }
+
+        /* device is ok */
+        ide_devices[ideno].valid = 1;
+
+        /* read identification space of the device */
+        unsigned int buffer[128];
+        insl(iobase + ISA_DATA, buffer, sizeof(buffer) / sizeof(unsigned int));
+
+        unsigned char *ident = (unsigned char *)buffer;
+        unsigned int sectors;
+        unsigned int cmdsets = *(unsigned int *)(ident + IDE_IDENT_CMDSETS);
+        /* device use 48-bits or 28-bits addressing */
+        if (cmdsets & (1 << 26)) {
+            sectors = *(unsigned int *)(ident + IDE_IDENT_MAX_LBA_EXT);
+        }
+        else {
+            sectors = *(unsigned int *)(ident + IDE_IDENT_MAX_LBA);
+        }
+        ide_devices[ideno].sets = cmdsets;
+        ide_devices[ideno].size = sectors;
+
+        /* check if supports LBA */
+        assert((*(unsigned short *)(ident + IDE_IDENT_CAPABILITIES) & 0x200) != 0);
+
+        unsigned char *model = ide_devices[ideno].model, *data = ident + IDE_IDENT_MODEL;
+        unsigned int i, length = 40;
+        for (i = 0; i < length; i += 2) {
+            model[i] = data[i + 1], model[i + 1] = data[i];
+        }
+        do {
+            model[i] = '\0';
+        } while (i -- > 0 && model[i] == ' ');
+
+        cprintf("ide %d: %10u(sectors), '%s'.\n", ideno, ide_devices[ideno].size, ide_devices[ideno].model);
+    }
+
+    // enable ide interrupt
+    pic_enable(IRQ_IDE1);
+    pic_enable(IRQ_IDE2);
+}
+
+bool
+ide_device_valid(unsigned short ideno) {
+    return VALID_IDE(ideno);
+}
+
+size_t
+ide_device_size(unsigned short ideno) {
+    if (ide_device_valid(ideno)) {
+        return ide_devices[ideno].size;
+    }
+    return 0;
+}
+
+int
+ide_read_secs(unsigned short ideno, uint32_t secno, void *dst, size_t nsecs) {
+    assert(nsecs <= MAX_NSECS && VALID_IDE(ideno));
+    assert(secno < MAX_DISK_NSECS && secno + nsecs <= MAX_DISK_NSECS);
+    unsigned short iobase = IO_BASE(ideno), ioctrl = IO_CTRL(ideno);
+
+    ide_wait_ready(iobase, 0);
+
+    // generate interrupt
+    outb(ioctrl + ISA_CTRL, 0);
+    outb(iobase + ISA_SECCNT, nsecs);
+    outb(iobase + ISA_SECTOR, secno & 0xFF);
+    outb(iobase + ISA_CYL_LO, (secno >> 8) & 0xFF);
+    outb(iobase + ISA_CYL_HI, (secno >> 16) & 0xFF);
+    outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4) | ((secno >> 24) & 0xF));
+    outb(iobase + ISA_COMMAND, IDE_CMD_READ);
+
+    int ret = 0;
+    for (; nsecs > 0; nsecs --, dst += SECTSIZE) {
+        if ((ret = ide_wait_ready(iobase, 1)) != 0) {
+            goto out;
+        }
+        insl(iobase, dst, SECTSIZE / sizeof(uint32_t));
+    }
+
+out:
+    return ret;
+}
+
+int
+ide_write_secs(unsigned short ideno, uint32_t secno, const void *src, size_t nsecs) {
+    assert(nsecs <= MAX_NSECS && VALID_IDE(ideno));
+    assert(secno < MAX_DISK_NSECS && secno + nsecs <= MAX_DISK_NSECS);
+    unsigned short iobase = IO_BASE(ideno), ioctrl = IO_CTRL(ideno);
+
+    ide_wait_ready(iobase, 0);
+
+    // generate interrupt
+    outb(ioctrl + ISA_CTRL, 0);
+    outb(iobase + ISA_SECCNT, nsecs);
+    outb(iobase + ISA_SECTOR, secno & 0xFF);
+    outb(iobase + ISA_CYL_LO, (secno >> 8) & 0xFF);
+    outb(iobase + ISA_CYL_HI, (secno >> 16) & 0xFF);
+    outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4) | ((secno >> 24) & 0xF));
+    outb(iobase + ISA_COMMAND, IDE_CMD_WRITE);
+
+    int ret = 0;
+    for (; nsecs > 0; nsecs --, src += SECTSIZE) {
+        if ((ret = ide_wait_ready(iobase, 1)) != 0) {
+            goto out;
+        }
+        outsl(iobase, src, SECTSIZE / sizeof(uint32_t));
+    }
+
+out:
+    return ret;
+}
+
diff --git a/code/lab6/kern/driver/ide.h b/code/lab6/kern/driver/ide.h
new file mode 100644
index 0000000..3e3fd21
--- /dev/null
+++ b/code/lab6/kern/driver/ide.h
@@ -0,0 +1,14 @@
+#ifndef __KERN_DRIVER_IDE_H__
+#define __KERN_DRIVER_IDE_H__
+
+#include <defs.h>
+
+void ide_init(void);
+bool ide_device_valid(unsigned short ideno);
+size_t ide_device_size(unsigned short ideno);
+
+int ide_read_secs(unsigned short ideno, uint32_t secno, void *dst, size_t nsecs);
+int ide_write_secs(unsigned short ideno, uint32_t secno, const void *src, size_t nsecs);
+
+#endif /* !__KERN_DRIVER_IDE_H__ */
+
diff --git a/code/lab6/kern/driver/intr.c b/code/lab6/kern/driver/intr.c
new file mode 100644
index 0000000..e64da62
--- /dev/null
+++ b/code/lab6/kern/driver/intr.c
@@ -0,0 +1,15 @@
+#include <x86.h>
+#include <intr.h>
+
+/* intr_enable - enable irq interrupt */
+void
+intr_enable(void) {
+    sti();
+}
+
+/* intr_disable - disable irq interrupt */
+void
+intr_disable(void) {
+    cli();
+}
+
diff --git a/code/lab6/kern/driver/intr.h b/code/lab6/kern/driver/intr.h
new file mode 100644
index 0000000..5fdf7a5
--- /dev/null
+++ b/code/lab6/kern/driver/intr.h
@@ -0,0 +1,8 @@
+#ifndef __KERN_DRIVER_INTR_H__
+#define __KERN_DRIVER_INTR_H__
+
+void intr_enable(void);
+void intr_disable(void);
+
+#endif /* !__KERN_DRIVER_INTR_H__ */
+
diff --git a/code/lab6/kern/driver/kbdreg.h b/code/lab6/kern/driver/kbdreg.h
new file mode 100644
index 0000000..00dc49a
--- /dev/null
+++ b/code/lab6/kern/driver/kbdreg.h
@@ -0,0 +1,84 @@
+#ifndef __KERN_DRIVER_KBDREG_H__
+#define __KERN_DRIVER_KBDREG_H__
+
+// Special keycodes
+#define KEY_HOME            0xE0
+#define KEY_END             0xE1
+#define KEY_UP              0xE2
+#define KEY_DN              0xE3
+#define KEY_LF              0xE4
+#define KEY_RT              0xE5
+#define KEY_PGUP            0xE6
+#define KEY_PGDN            0xE7
+#define KEY_INS             0xE8
+#define KEY_DEL             0xE9
+
+
+/* This is i8042reg.h + kbdreg.h from NetBSD. */
+
+#define KBSTATP             0x64    // kbd controller status port(I)
+#define KBS_DIB             0x01    // kbd data in buffer
+#define KBS_IBF             0x02    // kbd input buffer low
+#define KBS_WARM            0x04    // kbd input buffer low
+#define BS_OCMD             0x08    // kbd output buffer has command
+#define KBS_NOSEC           0x10    // kbd security lock not engaged
+#define KBS_TERR            0x20    // kbd transmission error
+#define KBS_RERR            0x40    // kbd receive error
+#define KBS_PERR            0x80    // kbd parity error
+
+#define KBCMDP              0x64    // kbd controller port(O)
+#define KBC_RAMREAD         0x20    // read from RAM
+#define KBC_RAMWRITE        0x60    // write to RAM
+#define KBC_AUXDISABLE      0xa7    // disable auxiliary port
+#define KBC_AUXENABLE       0xa8    // enable auxiliary port
+#define KBC_AUXTEST         0xa9    // test auxiliary port
+#define KBC_KBDECHO         0xd2    // echo to keyboard port
+#define KBC_AUXECHO         0xd3    // echo to auxiliary port
+#define KBC_AUXWRITE        0xd4    // write to auxiliary port
+#define KBC_SELFTEST        0xaa    // start self-test
+#define KBC_KBDTEST         0xab    // test keyboard port
+#define KBC_KBDDISABLE      0xad    // disable keyboard port
+#define KBC_KBDENABLE       0xae    // enable keyboard port
+#define KBC_PULSE0          0xfe    // pulse output bit 0
+#define KBC_PULSE1          0xfd    // pulse output bit 1
+#define KBC_PULSE2          0xfb    // pulse output bit 2
+#define KBC_PULSE3          0xf7    // pulse output bit 3
+
+#define KBDATAP             0x60    // kbd data port(I)
+#define KBOUTP              0x60    // kbd data port(O)
+
+#define K_RDCMDBYTE         0x20
+#define K_LDCMDBYTE         0x60
+
+#define KC8_TRANS           0x40    // convert to old scan codes
+#define KC8_MDISABLE        0x20    // disable mouse
+#define KC8_KDISABLE        0x10    // disable keyboard
+#define KC8_IGNSEC          0x08    // ignore security lock
+#define KC8_CPU             0x04    // exit from protected mode reset
+#define KC8_MENABLE         0x02    // enable mouse interrupt
+#define KC8_KENABLE         0x01    // enable keyboard interrupt
+#define CMDBYTE             (KC8_TRANS|KC8_CPU|KC8_MENABLE|KC8_KENABLE)
+
+/* keyboard commands */
+#define KBC_RESET           0xFF    // reset the keyboard
+#define KBC_RESEND          0xFE    // request the keyboard resend the last byte
+#define KBC_SETDEFAULT      0xF6    // resets keyboard to its power-on defaults
+#define KBC_DISABLE         0xF5    // as per KBC_SETDEFAULT, but also disable key scanning
+#define KBC_ENABLE          0xF4    // enable key scanning
+#define KBC_TYPEMATIC       0xF3    // set typematic rate and delay
+#define KBC_SETTABLE        0xF0    // set scancode translation table
+#define KBC_MODEIND         0xED    // set mode indicators(i.e. LEDs)
+#define KBC_ECHO            0xEE    // request an echo from the keyboard
+
+/* keyboard responses */
+#define KBR_EXTENDED        0xE0    // extended key sequence
+#define KBR_RESEND          0xFE    // needs resend of command
+#define KBR_ACK             0xFA    // received a valid command
+#define KBR_OVERRUN         0x00    // flooded
+#define KBR_FAILURE         0xFD    // diagnosic failure
+#define KBR_BREAK           0xF0    // break code prefix - sent on key release
+#define KBR_RSTDONE         0xAA    // reset complete
+#define KBR_ECHO            0xEE    // echo response
+
+#endif /* !__KERN_DRIVER_KBDREG_H__ */
+
diff --git a/code/lab6/kern/driver/picirq.c b/code/lab6/kern/driver/picirq.c
new file mode 100644
index 0000000..e7f7063
--- /dev/null
+++ b/code/lab6/kern/driver/picirq.c
@@ -0,0 +1,86 @@
+#include <defs.h>
+#include <x86.h>
+#include <picirq.h>
+
+// I/O Addresses of the two programmable interrupt controllers
+#define IO_PIC1             0x20    // Master (IRQs 0-7)
+#define IO_PIC2             0xA0    // Slave (IRQs 8-15)
+
+#define IRQ_SLAVE           2       // IRQ at which slave connects to master
+
+// Current IRQ mask.
+// Initial IRQ mask has interrupt 2 enabled (for slave 8259A).
+static uint16_t irq_mask = 0xFFFF & ~(1 << IRQ_SLAVE);
+static bool did_init = 0;
+
+static void
+pic_setmask(uint16_t mask) {
+    irq_mask = mask;
+    if (did_init) {
+        outb(IO_PIC1 + 1, mask);
+        outb(IO_PIC2 + 1, mask >> 8);
+    }
+}
+
+void
+pic_enable(unsigned int irq) {
+    pic_setmask(irq_mask & ~(1 << irq));
+}
+
+/* pic_init - initialize the 8259A interrupt controllers */
+void
+pic_init(void) {
+    did_init = 1;
+
+    // mask all interrupts
+    outb(IO_PIC1 + 1, 0xFF);
+    outb(IO_PIC2 + 1, 0xFF);
+
+    // Set up master (8259A-1)
+
+    // ICW1:  0001g0hi
+    //    g:  0 = edge triggering, 1 = level triggering
+    //    h:  0 = cascaded PICs, 1 = master only
+    //    i:  0 = no ICW4, 1 = ICW4 required
+    outb(IO_PIC1, 0x11);
+
+    // ICW2:  Vector offset
+    outb(IO_PIC1 + 1, IRQ_OFFSET);
+
+    // ICW3:  (master PIC) bit mask of IR lines connected to slaves
+    //        (slave PIC) 3-bit # of slave's connection to master
+    outb(IO_PIC1 + 1, 1 << IRQ_SLAVE);
+
+    // ICW4:  000nbmap
+    //    n:  1 = special fully nested mode
+    //    b:  1 = buffered mode
+    //    m:  0 = slave PIC, 1 = master PIC
+    //        (ignored when b is 0, as the master/slave role
+    //         can be hardwired).
+    //    a:  1 = Automatic EOI mode
+    //    p:  0 = MCS-80/85 mode, 1 = intel x86 mode
+    outb(IO_PIC1 + 1, 0x3);
+
+    // Set up slave (8259A-2)
+    outb(IO_PIC2, 0x11);    // ICW1
+    outb(IO_PIC2 + 1, IRQ_OFFSET + 8);  // ICW2
+    outb(IO_PIC2 + 1, IRQ_SLAVE);       // ICW3
+    // NB Automatic EOI mode doesn't tend to work on the slave.
+    // Linux source code says it's "to be investigated".
+    outb(IO_PIC2 + 1, 0x3);             // ICW4
+
+    // OCW3:  0ef01prs
+    //   ef:  0x = NOP, 10 = clear specific mask, 11 = set specific mask
+    //    p:  0 = no polling, 1 = polling mode
+    //   rs:  0x = NOP, 10 = read IRR, 11 = read ISR
+    outb(IO_PIC1, 0x68);    // clear specific mask
+    outb(IO_PIC1, 0x0a);    // read IRR by default
+
+    outb(IO_PIC2, 0x68);    // OCW3
+    outb(IO_PIC2, 0x0a);    // OCW3
+
+    if (irq_mask != 0xFFFF) {
+        pic_setmask(irq_mask);
+    }
+}
+
diff --git a/code/lab6/kern/driver/picirq.h b/code/lab6/kern/driver/picirq.h
new file mode 100644
index 0000000..b61e72e
--- /dev/null
+++ b/code/lab6/kern/driver/picirq.h
@@ -0,0 +1,10 @@
+#ifndef __KERN_DRIVER_PICIRQ_H__
+#define __KERN_DRIVER_PICIRQ_H__
+
+void pic_init(void);
+void pic_enable(unsigned int irq);
+
+#define IRQ_OFFSET      32
+
+#endif /* !__KERN_DRIVER_PICIRQ_H__ */
+
diff --git a/code/lab6/kern/fs/fs.h b/code/lab6/kern/fs/fs.h
new file mode 100644
index 0000000..92c05e7
--- /dev/null
+++ b/code/lab6/kern/fs/fs.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_FS_FS_H__
+#define __KERN_FS_FS_H__
+
+#include <mmu.h>
+
+#define SECTSIZE            512
+#define PAGE_NSECT          (PGSIZE / SECTSIZE)
+
+#define SWAP_DEV_NO         1
+
+#endif /* !__KERN_FS_FS_H__ */
+
diff --git a/code/lab6/kern/fs/swapfs.c b/code/lab6/kern/fs/swapfs.c
new file mode 100644
index 0000000..d9f6090
--- /dev/null
+++ b/code/lab6/kern/fs/swapfs.c
@@ -0,0 +1,27 @@
+#include <swap.h>
+#include <swapfs.h>
+#include <mmu.h>
+#include <fs.h>
+#include <ide.h>
+#include <pmm.h>
+#include <assert.h>
+
+void
+swapfs_init(void) {
+    static_assert((PGSIZE % SECTSIZE) == 0);
+    if (!ide_device_valid(SWAP_DEV_NO)) {
+        panic("swap fs isn't available.\n");
+    }
+    max_swap_offset = ide_device_size(SWAP_DEV_NO) / (PGSIZE / SECTSIZE);
+}
+
+int
+swapfs_read(swap_entry_t entry, struct Page *page) {
+    return ide_read_secs(SWAP_DEV_NO, swap_offset(entry) * PAGE_NSECT, page2kva(page), PAGE_NSECT);
+}
+
+int
+swapfs_write(swap_entry_t entry, struct Page *page) {
+    return ide_write_secs(SWAP_DEV_NO, swap_offset(entry) * PAGE_NSECT, page2kva(page), PAGE_NSECT);
+}
+
diff --git a/code/lab6/kern/fs/swapfs.h b/code/lab6/kern/fs/swapfs.h
new file mode 100644
index 0000000..d433926
--- /dev/null
+++ b/code/lab6/kern/fs/swapfs.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_FS_SWAPFS_H__
+#define __KERN_FS_SWAPFS_H__
+
+#include <memlayout.h>
+#include <swap.h>
+
+void swapfs_init(void);
+int swapfs_read(swap_entry_t entry, struct Page *page);
+int swapfs_write(swap_entry_t entry, struct Page *page);
+
+#endif /* !__KERN_FS_SWAPFS_H__ */
+
diff --git a/code/lab6/kern/init/entry.S b/code/lab6/kern/init/entry.S
new file mode 100644
index 0000000..8e37f2a
--- /dev/null
+++ b/code/lab6/kern/init/entry.S
@@ -0,0 +1,49 @@
+#include <mmu.h>
+#include <memlayout.h>
+
+#define REALLOC(x) (x - KERNBASE)
+
+.text
+.globl kern_entry
+kern_entry:
+    # reload temperate gdt (second time) to remap all physical memory
+    # virtual_addr 0~4G=linear_addr&physical_addr -KERNBASE~4G-KERNBASE 
+    lgdt REALLOC(__gdtdesc)
+    movl $KERNEL_DS, %eax
+    movw %ax, %ds
+    movw %ax, %es
+    movw %ax, %ss
+
+    ljmp $KERNEL_CS, $relocated
+
+relocated:
+
+    # set ebp, esp
+    movl $0x0, %ebp
+    # the kernel stack region is from bootstack -- bootstacktop,
+    # the kernel stack size is KSTACKSIZE (8KB)defined in memlayout.h
+    movl $bootstacktop, %esp
+    # now kernel stack is ready , call the first C function
+    call kern_init
+
+# should never get here
+spin:
+    jmp spin
+
+.data
+.align PGSIZE
+    .globl bootstack
+bootstack:
+    .space KSTACKSIZE
+    .globl bootstacktop
+bootstacktop:
+
+.align 4
+__gdt:
+    SEG_NULL
+    SEG_ASM(STA_X | STA_R, - KERNBASE, 0xFFFFFFFF)      # code segment
+    SEG_ASM(STA_W, - KERNBASE, 0xFFFFFFFF)              # data segment
+__gdtdesc:
+    .word 0x17                                          # sizeof(__gdt) - 1
+    .long REALLOC(__gdt)
+
diff --git a/code/lab6/kern/init/init.c b/code/lab6/kern/init/init.c
new file mode 100644
index 0000000..3341078
--- /dev/null
+++ b/code/lab6/kern/init/init.c
@@ -0,0 +1,114 @@
+#include <defs.h>
+#include <stdio.h>
+#include <string.h>
+#include <console.h>
+#include <kdebug.h>
+#include <picirq.h>
+#include <trap.h>
+#include <clock.h>
+#include <intr.h>
+#include <pmm.h>
+#include <vmm.h>
+#include <ide.h>
+#include <swap.h>
+#include <proc.h>
+
+int kern_init(void) __attribute__((noreturn));
+
+static void lab1_switch_test(void);
+
+int
+kern_init(void) {
+    extern char edata[], end[];
+    memset(edata, 0, end - edata);
+
+    cons_init();                // init the console
+
+    const char *message = "(THU.CST) os is loading ...";
+    cprintf("%s\n\n", message);
+
+    print_kerninfo();
+
+    grade_backtrace();
+
+    pmm_init();                 // init physical memory management
+
+    pic_init();                 // init interrupt controller
+    idt_init();                 // init interrupt descriptor table
+
+    vmm_init();                 // init virtual memory management
+    sched_init();               // init scheduler
+    proc_init();                // init process table
+    
+    ide_init();                 // init ide devices
+    swap_init();                // init swap
+
+    clock_init();               // init clock interrupt
+    intr_enable();              // enable irq interrupt
+
+    //LAB1: CAHLLENGE 1 If you try to do it, uncomment lab1_switch_test()
+    // user/kernel mode switch test
+    //lab1_switch_test();
+    
+    cpu_idle();                 // run idle process
+}
+
+void __attribute__((noinline))
+grade_backtrace2(int arg0, int arg1, int arg2, int arg3) {
+    mon_backtrace(0, NULL, NULL);
+}
+
+void __attribute__((noinline))
+grade_backtrace1(int arg0, int arg1) {
+    grade_backtrace2(arg0, (int)&arg0, arg1, (int)&arg1);
+}
+
+void __attribute__((noinline))
+grade_backtrace0(int arg0, int arg1, int arg2) {
+    grade_backtrace1(arg0, arg2);
+}
+
+void
+grade_backtrace(void) {
+    grade_backtrace0(0, (int)kern_init, 0xffff0000);
+}
+
+static void
+lab1_print_cur_status(void) {
+    static int round = 0;
+    uint16_t reg1, reg2, reg3, reg4;
+    asm volatile (
+            "mov %%cs, %0;"
+            "mov %%ds, %1;"
+            "mov %%es, %2;"
+            "mov %%ss, %3;"
+            : "=m"(reg1), "=m"(reg2), "=m"(reg3), "=m"(reg4));
+    cprintf("%d: @ring %d\n", round, reg1 & 3);
+    cprintf("%d:  cs = %x\n", round, reg1);
+    cprintf("%d:  ds = %x\n", round, reg2);
+    cprintf("%d:  es = %x\n", round, reg3);
+    cprintf("%d:  ss = %x\n", round, reg4);
+    round ++;
+}
+
+static void
+lab1_switch_to_user(void) {
+    //LAB1 CHALLENGE 1 : TODO
+}
+
+static void
+lab1_switch_to_kernel(void) {
+    //LAB1 CHALLENGE 1 :  TODO
+}
+
+static void
+lab1_switch_test(void) {
+    lab1_print_cur_status();
+    cprintf("+++ switch to  user  mode +++\n");
+    lab1_switch_to_user();
+    lab1_print_cur_status();
+    cprintf("+++ switch to kernel mode +++\n");
+    lab1_switch_to_kernel();
+    lab1_print_cur_status();
+}
+
diff --git a/code/lab6/kern/libs/rb_tree.c b/code/lab6/kern/libs/rb_tree.c
new file mode 100644
index 0000000..0a5fcc8
--- /dev/null
+++ b/code/lab6/kern/libs/rb_tree.c
@@ -0,0 +1,528 @@
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <kmalloc.h>
+#include <rb_tree.h>
+#include <assert.h>
+
+/* rb_node_create - create a new rb_node */
+static inline rb_node *
+rb_node_create(void) {
+    return kmalloc(sizeof(rb_node));
+}
+
+/* rb_tree_empty - tests if tree is empty */
+static inline bool
+rb_tree_empty(rb_tree *tree) {
+    rb_node *nil = tree->nil, *root = tree->root;
+    return root->left == nil;
+}
+
+/* *
+ * rb_tree_create - creates a new red-black tree, the 'compare' function
+ * is required and returns 'NULL' if failed.
+ *
+ * Note that, root->left should always point to the node that is the root
+ * of the tree. And nil points to a 'NULL' node which should always be
+ * black and may have arbitrary children and parent node.
+ * */
+rb_tree *
+rb_tree_create(int (*compare)(rb_node *node1, rb_node *node2)) {
+    assert(compare != NULL);
+
+    rb_tree *tree;
+    rb_node *nil, *root;
+
+    if ((tree = kmalloc(sizeof(rb_tree))) == NULL) {
+        goto bad_tree;
+    }
+
+    tree->compare = compare;
+
+    if ((nil = rb_node_create()) == NULL) {
+        goto bad_node_cleanup_tree;
+    }
+
+    nil->parent = nil->left = nil->right = nil;
+    nil->red = 0;
+    tree->nil = nil;
+
+    if ((root = rb_node_create()) == NULL) {
+        goto bad_node_cleanup_nil;
+    }
+
+    root->parent = root->left = root->right = nil;
+    root->red = 0;
+    tree->root = root;
+    return tree;
+
+bad_node_cleanup_nil:
+    kfree(nil);
+bad_node_cleanup_tree:
+    kfree(tree);
+bad_tree:
+    return NULL;
+}
+
+/* *
+ * FUNC_ROTATE - rotates as described in "Introduction to Algorithm".
+ *
+ * For example, FUNC_ROTATE(rb_left_rotate, left, right) can be expaned to a
+ * left-rotate function, which requires an red-black 'tree' and a node 'x'
+ * to be rotated on. Basically, this function, named rb_left_rotate, makes the
+ * parent of 'x' be the left child of 'x', 'x' the parent of its parent before
+ * rotation and finally fixes other nodes accordingly.
+ *
+ * FUNC_ROTATE(xx, left, right) means left-rotate,
+ * and FUNC_ROTATE(xx, right, left) means right-rotate.
+ * */
+#define FUNC_ROTATE(func_name, _left, _right)                   \
+static void                                                     \
+func_name(rb_tree *tree, rb_node *x) {                          \
+    rb_node *nil = tree->nil, *y = x->_right;                   \
+    assert(x != tree->root && x != nil && y != nil);            \
+    x->_right = y->_left;                                       \
+    if (y->_left != nil) {                                      \
+        y->_left->parent = x;                                   \
+    }                                                           \
+    y->parent = x->parent;                                      \
+    if (x == x->parent->_left) {                                \
+        x->parent->_left = y;                                   \
+    }                                                           \
+    else {                                                      \
+        x->parent->_right = y;                                  \
+    }                                                           \
+    y->_left = x;                                               \
+    x->parent = y;                                              \
+    assert(!(nil->red));                                        \
+}
+
+FUNC_ROTATE(rb_left_rotate, left, right);
+FUNC_ROTATE(rb_right_rotate, right, left);
+
+#undef FUNC_ROTATE
+
+#define COMPARE(tree, node1, node2)                             \
+    ((tree))->compare((node1), (node2))
+
+/* *
+ * rb_insert_binary - insert @node to red-black @tree as if it were
+ * a regular binary tree. This function is only intended to be called
+ * by function rb_insert.
+ * */
+static inline void
+rb_insert_binary(rb_tree *tree, rb_node *node) {
+    rb_node *x, *y, *z = node, *nil = tree->nil, *root = tree->root;
+
+    z->left = z->right = nil;
+    y = root, x = y->left;
+    while (x != nil) {
+        y = x;
+        x = (COMPARE(tree, x, node) > 0) ? x->left : x->right;
+    }
+    z->parent = y;
+    if (y == root || COMPARE(tree, y, z) > 0) {
+        y->left = z;
+    }
+    else {
+        y->right = z;
+    }
+}
+
+/* rb_insert - insert a node to red-black tree */
+void
+rb_insert(rb_tree *tree, rb_node *node) {
+    rb_insert_binary(tree, node);
+    node->red = 1;
+
+    rb_node *x = node, *y;
+
+#define RB_INSERT_SUB(_left, _right)                            \
+    do {                                                        \
+        y = x->parent->parent->_right;                          \
+        if (y->red) {                                           \
+            x->parent->red = 0;                                 \
+            y->red = 0;                                         \
+            x->parent->parent->red = 1;                         \
+            x = x->parent->parent;                              \
+        }                                                       \
+        else {                                                  \
+            if (x == x->parent->_right) {                       \
+                x = x->parent;                                  \
+                rb_##_left##_rotate(tree, x);                   \
+            }                                                   \
+            x->parent->red = 0;                                 \
+            x->parent->parent->red = 1;                         \
+            rb_##_right##_rotate(tree, x->parent->parent);      \
+        }                                                       \
+    } while (0)
+
+    while (x->parent->red) {
+        if (x->parent == x->parent->parent->left) {
+            RB_INSERT_SUB(left, right);
+        }
+        else {
+            RB_INSERT_SUB(right, left);
+        }
+    }
+    tree->root->left->red = 0;
+    assert(!(tree->nil->red) && !(tree->root->red));
+
+#undef RB_INSERT_SUB
+}
+
+/* *
+ * rb_tree_successor - returns the successor of @node, or nil
+ * if no successor exists. Make sure that @node must belong to @tree,
+ * and this function should only be called by rb_node_prev.
+ * */
+static inline rb_node *
+rb_tree_successor(rb_tree *tree, rb_node *node) {
+    rb_node *x = node, *y, *nil = tree->nil;
+
+    if ((y = x->right) != nil) {
+        while (y->left != nil) {
+            y = y->left;
+        }
+        return y;
+    }
+    else {
+        y = x->parent;
+        while (x == y->right) {
+            x = y, y = y->parent;
+        }
+        if (y == tree->root) {
+            return nil;
+        }
+        return y;
+    }
+}
+
+/* *
+ * rb_tree_predecessor - returns the predecessor of @node, or nil
+ * if no predecessor exists, likes rb_tree_successor.
+ * */
+static inline rb_node *
+rb_tree_predecessor(rb_tree *tree, rb_node *node) {
+    rb_node *x = node, *y, *nil = tree->nil;
+
+    if ((y = x->left) != nil) {
+        while (y->right != nil) {
+            y = y->right;
+        }
+        return y;
+    }
+    else {
+        y = x->parent;
+        while (x == y->left) {
+            if (y == tree->root) {
+                return nil;
+            }
+            x = y, y = y->parent;
+        }
+        return y;
+    }
+}
+
+/* *
+ * rb_search - returns a node with value 'equal' to @key (according to
+ * function @compare). If there're multiple nodes with value 'equal' to @key,
+ * the functions returns the one highest in the tree.
+ * */
+rb_node *
+rb_search(rb_tree *tree, int (*compare)(rb_node *node, void *key), void *key) {
+    rb_node *nil = tree->nil, *node = tree->root->left;
+    int r;
+    while (node != nil && (r = compare(node, key)) != 0) {
+        node = (r > 0) ? node->left : node->right;
+    }
+    return (node != nil) ? node : NULL;
+}
+
+/* *
+ * rb_delete_fixup - performs rotations and changes colors to restore
+ * red-black properties after a node is deleted.
+ * */
+static void
+rb_delete_fixup(rb_tree *tree, rb_node *node) {
+    rb_node *x = node, *w, *root = tree->root->left;
+
+#define RB_DELETE_FIXUP_SUB(_left, _right)                      \
+    do {                                                        \
+        w = x->parent->_right;                                  \
+        if (w->red) {                                           \
+            w->red = 0;                                         \
+            x->parent->red = 1;                                 \
+            rb_##_left##_rotate(tree, x->parent);               \
+            w = x->parent->_right;                              \
+        }                                                       \
+        if (!w->_left->red && !w->_right->red) {                \
+            w->red = 1;                                         \
+            x = x->parent;                                      \
+        }                                                       \
+        else {                                                  \
+            if (!w->_right->red) {                              \
+                w->_left->red = 0;                              \
+                w->red = 1;                                     \
+                rb_##_right##_rotate(tree, w);                  \
+                w = x->parent->_right;                          \
+            }                                                   \
+            w->red = x->parent->red;                            \
+            x->parent->red = 0;                                 \
+            w->_right->red = 0;                                 \
+            rb_##_left##_rotate(tree, x->parent);               \
+            x = root;                                           \
+        }                                                       \
+    } while (0)
+
+    while (x != root && !x->red) {
+        if (x == x->parent->left) {
+            RB_DELETE_FIXUP_SUB(left, right);
+        }
+        else {
+            RB_DELETE_FIXUP_SUB(right, left);
+        }
+    }
+    x->red = 0;
+
+#undef RB_DELETE_FIXUP_SUB
+}
+
+/* *
+ * rb_delete - deletes @node from @tree, and calls rb_delete_fixup to
+ * restore red-black properties.
+ * */
+void
+rb_delete(rb_tree *tree, rb_node *node) {
+    rb_node *x, *y, *z = node;
+    rb_node *nil = tree->nil, *root = tree->root;
+
+    y = (z->left == nil || z->right == nil) ? z : rb_tree_successor(tree, z);
+    x = (y->left != nil) ? y->left : y->right;
+
+    assert(y != root && y != nil);
+
+    x->parent = y->parent;
+    if (y == y->parent->left) {
+        y->parent->left = x;
+    }
+    else {
+        y->parent->right = x;
+    }
+
+    bool need_fixup = !(y->red);
+
+    if (y != z) {
+        if (z == z->parent->left) {
+            z->parent->left = y;
+        }
+        else {
+            z->parent->right = y;
+        }
+        z->left->parent = z->right->parent = y;
+        *y = *z;
+    }
+    if (need_fixup) {
+        rb_delete_fixup(tree, x);
+    }
+}
+
+/* rb_tree_destroy - destroy a tree and free memory */
+void
+rb_tree_destroy(rb_tree *tree) {
+    kfree(tree->root);
+    kfree(tree->nil);
+    kfree(tree);
+}
+
+/* *
+ * rb_node_prev - returns the predecessor node of @node in @tree,
+ * or 'NULL' if no predecessor exists.
+ * */
+rb_node *
+rb_node_prev(rb_tree *tree, rb_node *node) {
+    rb_node *prev = rb_tree_predecessor(tree, node);
+    return (prev != tree->nil) ? prev : NULL;
+}
+
+/* *
+ * rb_node_next - returns the successor node of @node in @tree,
+ * or 'NULL' if no successor exists.
+ * */
+rb_node *
+rb_node_next(rb_tree *tree, rb_node *node) {
+    rb_node *next = rb_tree_successor(tree, node);
+    return (next != tree->nil) ? next : NULL;
+}
+
+/* rb_node_root - returns the root node of a @tree, or 'NULL' if tree is empty */
+rb_node *
+rb_node_root(rb_tree *tree) {
+    rb_node *node = tree->root->left;
+    return (node != tree->nil) ? node : NULL;
+}
+
+/* rb_node_left - gets the left child of @node, or 'NULL' if no such node */
+rb_node *
+rb_node_left(rb_tree *tree, rb_node *node) {
+    rb_node *left = node->left;
+    return (left != tree->nil) ? left : NULL;
+}
+
+/* rb_node_right - gets the right child of @node, or 'NULL' if no such node */
+rb_node *
+rb_node_right(rb_tree *tree, rb_node *node) {
+    rb_node *right = node->right;
+    return (right != tree->nil) ? right : NULL;
+}
+
+int
+check_tree(rb_tree *tree, rb_node *node) {
+    rb_node *nil = tree->nil;
+    if (node == nil) {
+        assert(!node->red);
+        return 1;
+    }
+    if (node->left != nil) {
+        assert(COMPARE(tree, node, node->left) >= 0);
+        assert(node->left->parent == node);
+    }
+    if (node->right != nil) {
+        assert(COMPARE(tree, node, node->right) <= 0);
+        assert(node->right->parent == node);
+    }
+    if (node->red) {
+        assert(!node->left->red && !node->right->red);
+    }
+    int hb_left = check_tree(tree, node->left);
+    int hb_right = check_tree(tree, node->right);
+    assert(hb_left == hb_right);
+    int hb = hb_left;
+    if (!node->red) {
+        hb ++;
+    }
+    return hb;
+}
+
+static void *
+check_safe_kmalloc(size_t size) {
+    void *ret = kmalloc(size);
+    assert(ret != NULL);
+    return ret;
+}
+
+struct check_data {
+    long data;
+    rb_node rb_link;
+};
+
+#define rbn2data(node)              \
+    (to_struct(node, struct check_data, rb_link))
+
+static inline int
+check_compare1(rb_node *node1, rb_node *node2) {
+    return rbn2data(node1)->data - rbn2data(node2)->data;
+}
+
+static inline int
+check_compare2(rb_node *node, void *key) {
+    return rbn2data(node)->data - (long)key;
+}
+
+void
+check_rb_tree(void) {
+    rb_tree *tree = rb_tree_create(check_compare1);
+    assert(tree != NULL);
+
+    rb_node *nil = tree->nil, *root = tree->root;
+    assert(!nil->red && root->left == nil);
+
+    int total = 1000;
+    struct check_data **all = check_safe_kmalloc(sizeof(struct check_data *) * total);
+
+    long i;
+    for (i = 0; i < total; i ++) {
+        all[i] = check_safe_kmalloc(sizeof(struct check_data));
+        all[i]->data = i;
+    }
+
+    int *mark = check_safe_kmalloc(sizeof(int) * total);
+    memset(mark, 0, sizeof(int) * total);
+
+    for (i = 0; i < total; i ++) {
+        mark[all[i]->data] = 1;
+    }
+    for (i = 0; i < total; i ++) {
+        assert(mark[i] == 1);
+    }
+
+    for (i = 0; i < total; i ++) {
+        int j = (rand() % (total - i)) + i;
+        struct check_data *z = all[i];
+        all[i] = all[j];
+        all[j] = z;
+    }
+
+    memset(mark, 0, sizeof(int) * total);
+    for (i = 0; i < total; i ++) {
+        mark[all[i]->data] = 1;
+    }
+    for (i = 0; i < total; i ++) {
+        assert(mark[i] == 1);
+    }
+
+    for (i = 0; i < total; i ++) {
+        rb_insert(tree, &(all[i]->rb_link));
+        check_tree(tree, root->left);
+    }
+
+    rb_node *node;
+    for (i = 0; i < total; i ++) {
+        node = rb_search(tree, check_compare2, (void *)(all[i]->data));
+        assert(node != NULL && node == &(all[i]->rb_link));
+    }
+
+    for (i = 0; i < total; i ++) {
+        node = rb_search(tree, check_compare2, (void *)i);
+        assert(node != NULL && rbn2data(node)->data == i);
+        rb_delete(tree, node);
+        check_tree(tree, root->left);
+    }
+
+    assert(!nil->red && root->left == nil);
+
+    long max = 32;
+    if (max > total) {
+        max = total;
+    }
+
+    for (i = 0; i < max; i ++) {
+        all[i]->data = max;
+        rb_insert(tree, &(all[i]->rb_link));
+        check_tree(tree, root->left);
+    }
+
+    for (i = 0; i < max; i ++) {
+        node = rb_search(tree, check_compare2, (void *)max);
+        assert(node != NULL && rbn2data(node)->data == max);
+        rb_delete(tree, node);
+        check_tree(tree, root->left);
+    }
+
+    assert(rb_tree_empty(tree));
+
+    for (i = 0; i < total; i ++) {
+        rb_insert(tree, &(all[i]->rb_link));
+        check_tree(tree, root->left);
+    }
+
+    rb_tree_destroy(tree);
+
+    for (i = 0; i < total; i ++) {
+        kfree(all[i]);
+    }
+
+    kfree(mark);
+    kfree(all);
+}
+
diff --git a/code/lab6/kern/libs/rb_tree.h b/code/lab6/kern/libs/rb_tree.h
new file mode 100644
index 0000000..a2aa9aa
--- /dev/null
+++ b/code/lab6/kern/libs/rb_tree.h
@@ -0,0 +1,32 @@
+#ifndef __KERN_LIBS_RB_TREE_H__
+#define __KERN_LIBS_RB_TREE_H__
+
+#include <defs.h>
+
+typedef struct rb_node {
+    bool red;                           // if red = 0, it's a black node
+    struct rb_node *parent;
+    struct rb_node *left, *right;
+} rb_node;
+
+typedef struct rb_tree {
+    // compare function should return -1 if *node1 < *node2, 1 if *node1 > *node2, and 0 otherwise
+    int (*compare)(rb_node *node1, rb_node *node2);
+    struct rb_node *nil, *root;
+} rb_tree;
+
+rb_tree *rb_tree_create(int (*compare)(rb_node *node1, rb_node *node2));
+void rb_tree_destroy(rb_tree *tree);
+void rb_insert(rb_tree *tree, rb_node *node);
+void rb_delete(rb_tree *tree, rb_node *node);
+rb_node *rb_search(rb_tree *tree, int (*compare)(rb_node *node, void *key), void *key);
+rb_node *rb_node_prev(rb_tree *tree, rb_node *node);
+rb_node *rb_node_next(rb_tree *tree, rb_node *node);
+rb_node *rb_node_root(rb_tree *tree);
+rb_node *rb_node_left(rb_tree *tree, rb_node *node);
+rb_node *rb_node_right(rb_tree *tree, rb_node *node);
+
+void check_rb_tree(void);
+
+#endif /* !__KERN_LIBS_RBTREE_H__ */
+
diff --git a/code/lab6/kern/libs/readline.c b/code/lab6/kern/libs/readline.c
new file mode 100644
index 0000000..cc1eddb
--- /dev/null
+++ b/code/lab6/kern/libs/readline.c
@@ -0,0 +1,50 @@
+#include <stdio.h>
+
+#define BUFSIZE 1024
+static char buf[BUFSIZE];
+
+/* *
+ * readline - get a line from stdin
+ * @prompt:     the string to be written to stdout
+ *
+ * The readline() function will write the input string @prompt to
+ * stdout first. If the @prompt is NULL or the empty string,
+ * no prompt is issued.
+ *
+ * This function will keep on reading characters and saving them to buffer
+ * 'buf' until '\n' or '\r' is encountered.
+ *
+ * Note that, if the length of string that will be read is longer than
+ * buffer size, the end of string will be discarded.
+ *
+ * The readline() function returns the text of the line read. If some errors
+ * are happened, NULL is returned. The return value is a global variable,
+ * thus it should be copied before it is used.
+ * */
+char *
+readline(const char *prompt) {
+    if (prompt != NULL) {
+        cprintf("%s", prompt);
+    }
+    int i = 0, c;
+    while (1) {
+        c = getchar();
+        if (c < 0) {
+            return NULL;
+        }
+        else if (c >= ' ' && i < BUFSIZE - 1) {
+            cputchar(c);
+            buf[i ++] = c;
+        }
+        else if (c == '\b' && i > 0) {
+            cputchar(c);
+            i --;
+        }
+        else if (c == '\n' || c == '\r') {
+            cputchar(c);
+            buf[i] = '\0';
+            return buf;
+        }
+    }
+}
+
diff --git a/code/lab6/kern/libs/stdio.c b/code/lab6/kern/libs/stdio.c
new file mode 100644
index 0000000..5efefcd
--- /dev/null
+++ b/code/lab6/kern/libs/stdio.c
@@ -0,0 +1,78 @@
+#include <defs.h>
+#include <stdio.h>
+#include <console.h>
+
+/* HIGH level console I/O */
+
+/* *
+ * cputch - writes a single character @c to stdout, and it will
+ * increace the value of counter pointed by @cnt.
+ * */
+static void
+cputch(int c, int *cnt) {
+    cons_putc(c);
+    (*cnt) ++;
+}
+
+/* *
+ * vcprintf - format a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want cprintf() instead.
+ * */
+int
+vcprintf(const char *fmt, va_list ap) {
+    int cnt = 0;
+    vprintfmt((void*)cputch, &cnt, fmt, ap);
+    return cnt;
+}
+
+/* *
+ * cprintf - formats a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ * */
+int
+cprintf(const char *fmt, ...) {
+    va_list ap;
+    int cnt;
+    va_start(ap, fmt);
+    cnt = vcprintf(fmt, ap);
+    va_end(ap);
+    return cnt;
+}
+
+/* cputchar - writes a single character to stdout */
+void
+cputchar(int c) {
+    cons_putc(c);
+}
+
+/* *
+ * cputs- writes the string pointed by @str to stdout and
+ * appends a newline character.
+ * */
+int
+cputs(const char *str) {
+    int cnt = 0;
+    char c;
+    while ((c = *str ++) != '\0') {
+        cputch(c, &cnt);
+    }
+    cputch('\n', &cnt);
+    return cnt;
+}
+
+/* getchar - reads a single non-zero character from stdin */
+int
+getchar(void) {
+    int c;
+    while ((c = cons_getc()) == 0)
+        /* do nothing */;
+    return c;
+}
+
diff --git a/code/lab6/kern/mm/default_pmm.c b/code/lab6/kern/mm/default_pmm.c
new file mode 100644
index 0000000..770a30f
--- /dev/null
+++ b/code/lab6/kern/mm/default_pmm.c
@@ -0,0 +1,272 @@
+#include <pmm.h>
+#include <list.h>
+#include <string.h>
+#include <default_pmm.h>
+
+/* In the first fit algorithm, the allocator keeps a list of free blocks (known as the free list) and,
+   on receiving a request for memory, scans along the list for the first block that is large enough to
+   satisfy the request. If the chosen block is significantly larger than that requested, then it is 
+   usually split, and the remainder added to the list as another free block.
+   Please see Page 196~198, Section 8.2 of Yan Wei Ming's chinese book "Data Structure -- C programming language"
+*/
+// LAB2 EXERCISE 1: YOUR CODE
+// you should rewrite functions: default_init,default_init_memmap,default_alloc_pages, default_free_pages.
+/*
+ * Details of FFMA
+ * (1) Prepare: In order to implement the First-Fit Mem Alloc (FFMA), we should manage the free mem block use some list.
+ *              The struct free_area_t is used for the management of free mem blocks. At first you should
+ *              be familiar to the struct list in list.h. struct list is a simple doubly linked list implementation.
+ *              You should know howto USE: list_init, list_add(list_add_after), list_add_before, list_del, list_next, list_prev
+ *              Another tricky method is to transform a general list struct to a special struct (such as struct page):
+ *              you can find some MACRO: le2page (in memlayout.h), (in future labs: le2vma (in vmm.h), le2proc (in proc.h),etc.)
+ * (2) default_init: you can reuse the  demo default_init fun to init the free_list and set nr_free to 0.
+ *              free_list is used to record the free mem blocks. nr_free is the total number for free mem blocks.
+ * (3) default_init_memmap:  CALL GRAPH: kern_init --> pmm_init-->page_init-->init_memmap--> pmm_manager->init_memmap
+ *              This fun is used to init a free block (with parameter: addr_base, page_number).
+ *              First you should init each page (in memlayout.h) in this free block, include:
+ *                  p->flags should be set bit PG_property (means this page is valid. In pmm_init fun (in pmm.c),
+ *                  the bit PG_reserved is setted in p->flags)
+ *                  if this page  is free and is not the first page of free block, p->property should be set to 0.
+ *                  if this page  is free and is the first page of free block, p->property should be set to total num of block.
+ *                  p->ref should be 0, because now p is free and no reference.
+ *                  We can use p->page_link to link this page to free_list, (such as: list_add_before(&free_list, &(p->page_link)); )
+ *              Finally, we should sum the number of free mem block: nr_free+=n
+ * (4) default_alloc_pages: search find a first free block (block size >=n) in free list and reszie the free block, return the addr
+ *              of malloced block.
+ *              (4.1) So you should search freelist like this:
+ *                       list_entry_t le = &free_list;
+ *                       while((le=list_next(le)) != &free_list) {
+ *                       ....
+ *                 (4.1.1) In while loop, get the struct page and check the p->property (record the num of free block) >=n?
+ *                       struct Page *p = le2page(le, page_link);
+ *                       if(p->property >= n){ ...
+ *                 (4.1.2) If we find this p, then it' means we find a free block(block size >=n), and the first n pages can be malloced.
+ *                     Some flag bits of this page should be setted: PG_reserved =1, PG_property =0
+ *                     unlink the pages from free_list
+ *                     (4.1.2.1) If (p->property >n), we should re-caluclate number of the the rest of this free block,
+ *                           (such as: le2page(le,page_link))->property = p->property - n;)
+ *                 (4.1.3)  re-caluclate nr_free (number of the the rest of all free block)
+ *                 (4.1.4)  return p
+ *               (4.2) If we can not find a free block (block size >=n), then return NULL
+ * (5) default_free_pages: relink the pages into  free list, maybe merge small free blocks into big free blocks.
+ *               (5.1) according the base addr of withdrawed blocks, search free list, find the correct position
+ *                     (from low to high addr), and insert the pages. (may use list_next, le2page, list_add_before)
+ *               (5.2) reset the fields of pages, such as p->ref, p->flags (PageProperty)
+ *               (5.3) try to merge low addr or high addr blocks. Notice: should change some pages's p->property correctly.
+ */
+free_area_t free_area;
+
+#define free_list (free_area.free_list)
+#define nr_free (free_area.nr_free)
+
+static void
+default_init(void) {
+    list_init(&free_list);
+    nr_free = 0;
+}
+
+static void
+default_init_memmap(struct Page *base, size_t n) {
+    assert(n > 0);
+    struct Page *p = base;
+    for (; p != base + n; p ++) {
+        assert(PageReserved(p));
+        p->flags = p->property = 0;
+        set_page_ref(p, 0);
+    }
+    base->property = n;
+    SetPageProperty(base);
+    nr_free += n;
+    list_add(&free_list, &(base->page_link));
+}
+
+static struct Page *
+default_alloc_pages(size_t n) {
+    assert(n > 0);
+    if (n > nr_free) {
+        return NULL;
+    }
+    struct Page *page = NULL;
+    list_entry_t *le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        if (p->property >= n) {
+            page = p;
+            break;
+        }
+    }
+    if (page != NULL) {
+        list_del(&(page->page_link));
+        if (page->property > n) {
+            struct Page *p = page + n;
+            p->property = page->property - n;
+            list_add(&free_list, &(p->page_link));
+    }
+        nr_free -= n;
+        ClearPageProperty(page);
+    }
+    return page;
+}
+
+static void
+default_free_pages(struct Page *base, size_t n) {
+    assert(n > 0);
+    struct Page *p = base;
+    for (; p != base + n; p ++) {
+        assert(!PageReserved(p) && !PageProperty(p));
+        p->flags = 0;
+        set_page_ref(p, 0);
+    }
+    base->property = n;
+    SetPageProperty(base);
+    list_entry_t *le = list_next(&free_list);
+    while (le != &free_list) {
+        p = le2page(le, page_link);
+        le = list_next(le);
+        if (base + base->property == p) {
+            base->property += p->property;
+            ClearPageProperty(p);
+            list_del(&(p->page_link));
+        }
+        else if (p + p->property == base) {
+            p->property += base->property;
+            ClearPageProperty(base);
+            base = p;
+            list_del(&(p->page_link));
+        }
+    }
+    nr_free += n;
+    list_add(&free_list, &(base->page_link));
+}
+
+static size_t
+default_nr_free_pages(void) {
+    return nr_free;
+}
+
+static void
+basic_check(void) {
+    struct Page *p0, *p1, *p2;
+    p0 = p1 = p2 = NULL;
+    assert((p0 = alloc_page()) != NULL);
+    assert((p1 = alloc_page()) != NULL);
+    assert((p2 = alloc_page()) != NULL);
+
+    assert(p0 != p1 && p0 != p2 && p1 != p2);
+    assert(page_ref(p0) == 0 && page_ref(p1) == 0 && page_ref(p2) == 0);
+
+    assert(page2pa(p0) < npage * PGSIZE);
+    assert(page2pa(p1) < npage * PGSIZE);
+    assert(page2pa(p2) < npage * PGSIZE);
+
+    list_entry_t free_list_store = free_list;
+    list_init(&free_list);
+    assert(list_empty(&free_list));
+
+    unsigned int nr_free_store = nr_free;
+    nr_free = 0;
+
+    assert(alloc_page() == NULL);
+
+    free_page(p0);
+    free_page(p1);
+    free_page(p2);
+    assert(nr_free == 3);
+
+    assert((p0 = alloc_page()) != NULL);
+    assert((p1 = alloc_page()) != NULL);
+    assert((p2 = alloc_page()) != NULL);
+
+    assert(alloc_page() == NULL);
+
+    free_page(p0);
+    assert(!list_empty(&free_list));
+
+    struct Page *p;
+    assert((p = alloc_page()) == p0);
+    assert(alloc_page() == NULL);
+
+    assert(nr_free == 0);
+    free_list = free_list_store;
+    nr_free = nr_free_store;
+
+    free_page(p);
+    free_page(p1);
+    free_page(p2);
+}
+
+// LAB2: below code is used to check the first fit allocation algorithm (your EXERCISE 1) 
+// NOTICE: You SHOULD NOT CHANGE basic_check, default_check functions!
+static void
+default_check(void) {
+    int count = 0, total = 0;
+    list_entry_t *le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        assert(PageProperty(p));
+        count ++, total += p->property;
+    }
+    assert(total == nr_free_pages());
+
+    basic_check();
+
+    struct Page *p0 = alloc_pages(5), *p1, *p2;
+    assert(p0 != NULL);
+    assert(!PageProperty(p0));
+
+    list_entry_t free_list_store = free_list;
+    list_init(&free_list);
+    assert(list_empty(&free_list));
+    assert(alloc_page() == NULL);
+
+    unsigned int nr_free_store = nr_free;
+    nr_free = 0;
+
+    free_pages(p0 + 2, 3);
+    assert(alloc_pages(4) == NULL);
+    assert(PageProperty(p0 + 2) && p0[2].property == 3);
+    assert((p1 = alloc_pages(3)) != NULL);
+    assert(alloc_page() == NULL);
+    assert(p0 + 2 == p1);
+
+    p2 = p0 + 1;
+    free_page(p0);
+    free_pages(p1, 3);
+    assert(PageProperty(p0) && p0->property == 1);
+    assert(PageProperty(p1) && p1->property == 3);
+
+    assert((p0 = alloc_page()) == p2 - 1);
+    free_page(p0);
+    assert((p0 = alloc_pages(2)) == p2 + 1);
+
+    free_pages(p0, 2);
+    free_page(p2);
+
+    assert((p0 = alloc_pages(5)) != NULL);
+    assert(alloc_page() == NULL);
+
+    assert(nr_free == 0);
+    nr_free = nr_free_store;
+
+    free_list = free_list_store;
+    free_pages(p0, 5);
+
+    le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        count --, total -= p->property;
+    }
+    assert(count == 0);
+    assert(total == 0);
+}
+
+const struct pmm_manager default_pmm_manager = {
+    .name = "default_pmm_manager",
+    .init = default_init,
+    .init_memmap = default_init_memmap,
+    .alloc_pages = default_alloc_pages,
+    .free_pages = default_free_pages,
+    .nr_free_pages = default_nr_free_pages,
+    .check = default_check,
+};
+
diff --git a/code/lab6/kern/mm/default_pmm.h b/code/lab6/kern/mm/default_pmm.h
new file mode 100644
index 0000000..5f4e6fc
--- /dev/null
+++ b/code/lab6/kern/mm/default_pmm.h
@@ -0,0 +1,9 @@
+#ifndef __KERN_MM_DEFAULT_PMM_H__
+#define  __KERN_MM_DEFAULT_PMM_H__
+
+#include <pmm.h>
+
+extern const struct pmm_manager default_pmm_manager;
+extern free_area_t free_area;
+#endif /* ! __KERN_MM_DEFAULT_PMM_H__ */
+
diff --git a/code/lab6/kern/mm/kmalloc.c b/code/lab6/kern/mm/kmalloc.c
new file mode 100644
index 0000000..aa5bb90
--- /dev/null
+++ b/code/lab6/kern/mm/kmalloc.c
@@ -0,0 +1,640 @@
+#include <defs.h>
+#include <list.h>
+#include <memlayout.h>
+#include <assert.h>
+#include <kmalloc.h>
+#include <sync.h>
+#include <pmm.h>
+#include <stdio.h>
+#include <rb_tree.h>
+
+/* The slab allocator used in ucore is based on an algorithm first introduced by 
+   Jeff Bonwick for the SunOS operating system. The paper can be download from 
+   http://citeseer.ist.psu.edu/bonwick94slab.html 
+   An implementation of the Slab Allocator as described in outline in;
+      UNIX Internals: The New Frontiers by Uresh Vahalia
+      Pub: Prentice Hall      ISBN 0-13-101908-2
+   Within a kernel, a considerable amount of memory is allocated for a finite set 
+   of objects such as file descriptors and other common structures. Jeff found that
+   the amount of time required to initialize a regular object in the kernel exceeded
+   the amount of time required to allocate and deallocate it. His conclusion was 
+   that instead of freeing the memory back to a global pool, he would have the memory
+   remain initialized for its intended purpose.
+   In our simple slab implementation, the the high-level organization of the slab 
+   structures is simplied. At the highest level is an array slab_cache[SLAB_CACHE_NUM],
+   and each array element is a slab_cache which has slab chains. Each slab_cache has 
+   two list, one list chains the full allocated slab, and another list chains the notfull 
+   allocated(maybe empty) slab.  And  each slab has fixed number(2^n) of pages. In each 
+   slab, there are a lot of objects (such as ) with same fixed size(32B ~ 128KB). 
+   
+   +----------------------------------+
+   | slab_cache[0] for 0~32B obj      |
+   +----------------------------------+
+   | slab_cache[1] for 33B~64B obj    |-->lists for slabs
+   +----------------------------------+            |  
+   | slab_cache[2] for 65B~128B obj   |            |            
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~            |                 
+   +----------------------------------+            |
+   | slab_cache[12]for 64KB~128KB obj |            |                    
+   +----------------------------------+            |
+                                                   |
+     slabs_full/slabs_not    +---------------------+
+   -<-----------<----------<-+
+   |           |         |
+  slab1       slab2     slab3...
+   |
+   |-------|-------|
+  pages1  pages2   pages3...
+   |
+   |
+   |
+   slab_t+n*bufctl_t+obj1-obj2-obj3...objn  (the size of obj is small)
+   |
+   OR
+   |
+   obj1-obj2-obj3...objn  WITH slab_t+n*bufctl_t in another slab (the size of obj is BIG)
+
+   The important functions are:
+     kmem_cache_grow(kmem_cache_t *cachep)
+     kmem_slab_destroy(kmem_cache_t *cachep, slab_t *slabp)
+     kmalloc(size_t size): used by outside functions need dynamicly get memory
+     kfree(void *objp): used by outside functions need dynamicly release memory
+*/
+  
+#define BUFCTL_END      0xFFFFFFFFL // the signature of the last bufctl
+#define SLAB_LIMIT      0xFFFFFFFEL // the max value of obj number
+
+typedef size_t kmem_bufctl_t; //the index of obj in slab
+
+typedef struct slab_s {
+    list_entry_t slab_link; // the list entry linked to kmem_cache list
+    void *s_mem;            // the kernel virtual address of the first obj in slab 
+    size_t inuse;           // the number of allocated objs
+    size_t offset;          // the first obj's offset value in slab
+    kmem_bufctl_t free;     // the first free obj's index in slab  
+} slab_t;
+
+// get the slab address according to the link element (see list.h)
+#define le2slab(le, member)                 \
+    to_struct((le), slab_t, member)
+
+typedef struct kmem_cache_s kmem_cache_t;
+
+
+struct kmem_cache_s {
+    list_entry_t slabs_full;     // list for fully allocated slabs
+    list_entry_t slabs_notfull;  // list for not-fully allocated slabs
+
+    size_t objsize;              // the fixed size of obj
+    size_t num;                  // number of objs per slab
+    size_t offset;               // this first obj's offset in slab 
+    bool off_slab;               // the control part of slab in slab or not.
+
+    /* order of pages per slab (2^n) */
+    size_t page_order;
+
+    kmem_cache_t *slab_cachep;
+};
+
+#define MIN_SIZE_ORDER          5           // 32
+#define MAX_SIZE_ORDER          17          // 128k
+#define SLAB_CACHE_NUM          (MAX_SIZE_ORDER - MIN_SIZE_ORDER + 1)
+
+static kmem_cache_t slab_cache[SLAB_CACHE_NUM];
+
+static void init_kmem_cache(kmem_cache_t *cachep, size_t objsize, size_t align);
+static void check_slab(void);
+
+
+//slab_init - call init_kmem_cache function to reset the slab_cache array
+static void
+slab_init(void) {
+    size_t i;
+    //the align bit for obj in slab. 2^n could be better for performance
+    size_t align = 16;
+    for (i = 0; i < SLAB_CACHE_NUM; i ++) {
+        init_kmem_cache(slab_cache + i, 1 << (i + MIN_SIZE_ORDER), align);
+    }
+    check_slab();
+}
+
+inline void 
+kmalloc_init(void) {
+    slab_init();
+    cprintf("kmalloc_init() succeeded!\n");
+}
+
+//slab_allocated - summary the total size of allocated objs
+static size_t
+slab_allocated(void) {
+    size_t total = 0;
+    int i;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        for (i = 0; i < SLAB_CACHE_NUM; i ++) {
+            kmem_cache_t *cachep = slab_cache + i;
+            list_entry_t *list, *le;
+            list = le = &(cachep->slabs_full);
+            while ((le = list_next(le)) != list) {
+                total += cachep->num * cachep->objsize;
+            }
+            list = le = &(cachep->slabs_notfull);
+            while ((le = list_next(le)) != list) {
+                slab_t *slabp = le2slab(le, slab_link);
+                total += slabp->inuse * cachep->objsize;
+            }
+        }
+    }
+    local_intr_restore(intr_flag);
+    return total;
+}
+
+inline size_t
+kallocated(void) {
+   return slab_allocated();
+}
+
+// slab_mgmt_size - get the size of slab control area (slab_t+num*kmem_bufctl_t)
+static size_t
+slab_mgmt_size(size_t num, size_t align) {
+    return ROUNDUP(sizeof(slab_t) + num * sizeof(kmem_bufctl_t), align);
+}
+
+// cacahe_estimate - estimate the number of objs in a slab
+static void
+cache_estimate(size_t order, size_t objsize, size_t align, bool off_slab, size_t *remainder, size_t *num) {
+    size_t nr_objs, mgmt_size;
+    size_t slab_size = (PGSIZE << order);
+
+    if (off_slab) {
+        mgmt_size = 0;
+        nr_objs = slab_size / objsize;
+        if (nr_objs > SLAB_LIMIT) {
+            nr_objs = SLAB_LIMIT;
+        }
+    }
+    else {
+        nr_objs = (slab_size - sizeof(slab_t)) / (objsize + sizeof(kmem_bufctl_t));
+        while (slab_mgmt_size(nr_objs, align) + nr_objs * objsize > slab_size) {
+            nr_objs --;
+        }
+        if (nr_objs > SLAB_LIMIT) {
+            nr_objs = SLAB_LIMIT;
+        }
+        mgmt_size = slab_mgmt_size(nr_objs, align);
+    }
+    *num = nr_objs;
+    *remainder = slab_size - nr_objs * objsize - mgmt_size;
+}
+
+// calculate_slab_order - estimate the size(4K~4M) of slab
+// paramemters:
+//   cachep:    the slab_cache
+//   objsize:   the size of obj
+//   align:     align bit for objs
+//   off_slab:  the control part of slab in slab or not
+//   left_over: the size of can not be used area in slab
+static void
+calculate_slab_order(kmem_cache_t *cachep, size_t objsize, size_t align, bool off_slab, size_t *left_over) {
+    size_t order;
+    for (order = 0; order <= KMALLOC_MAX_ORDER; order ++) {
+        size_t num, remainder;
+        cache_estimate(order, objsize, align, off_slab, &remainder, &num);
+        if (num != 0) {
+            if (off_slab) {
+                size_t off_slab_limit = objsize - sizeof(slab_t);
+                off_slab_limit /= sizeof(kmem_bufctl_t);
+                if (num > off_slab_limit) {
+                    panic("off_slab: objsize = %d, num = %d.", objsize, num);
+                }
+            }
+            if (remainder * 8 <= (PGSIZE << order)) {
+                cachep->num = num;
+                cachep->page_order = order;
+                if (left_over != NULL) {
+                    *left_over = remainder;
+                }
+                return ;
+            }
+        }
+    }
+    panic("calculate_slab_over: failed.");
+}
+
+// getorder - find order, should satisfy n <= minest 2^order
+static inline size_t
+getorder(size_t n) {
+    size_t order = MIN_SIZE_ORDER, order_size = (1 << order);
+    for (; order <= MAX_SIZE_ORDER; order ++, order_size <<= 1) {
+        if (n <= order_size) {
+            return order;
+        }
+    }
+    panic("getorder failed. %d\n", n);
+}
+
+// init_kmem_cache - initial a slab_cache cachep according to the obj with the size = objsize
+static void
+init_kmem_cache(kmem_cache_t *cachep, size_t objsize, size_t align) {
+    list_init(&(cachep->slabs_full));
+    list_init(&(cachep->slabs_notfull));
+
+    objsize = ROUNDUP(objsize, align);
+    cachep->objsize = objsize;
+    cachep->off_slab = (objsize >= (PGSIZE >> 3));
+
+    size_t left_over;
+    calculate_slab_order(cachep, objsize, align, cachep->off_slab, &left_over);
+
+    assert(cachep->num > 0);
+
+    size_t mgmt_size = slab_mgmt_size(cachep->num, align);
+
+    if (cachep->off_slab && left_over >= mgmt_size) {
+        cachep->off_slab = 0;
+    }
+
+    if (cachep->off_slab) {
+        cachep->offset = 0;
+        cachep->slab_cachep = slab_cache + (getorder(mgmt_size) - MIN_SIZE_ORDER);
+    }
+    else {
+        cachep->offset = mgmt_size;
+    }
+}
+
+static void *kmem_cache_alloc(kmem_cache_t *cachep);
+
+#define slab_bufctl(slabp)              \
+    ((kmem_bufctl_t*)(((slab_t *)(slabp)) + 1))
+
+// kmem_cache_slabmgmt - get the address of a slab according to page
+//                     - and initialize the slab according to cachep
+static slab_t *
+kmem_cache_slabmgmt(kmem_cache_t *cachep, struct Page *page) {
+    void *objp = page2kva(page);
+    slab_t *slabp;
+    if (cachep->off_slab) {
+        if ((slabp = kmem_cache_alloc(cachep->slab_cachep)) == NULL) {
+            return NULL;
+        }
+    }
+    else {
+        slabp = page2kva(page);
+    }
+    slabp->inuse = 0;
+    slabp->offset = cachep->offset;
+    slabp->s_mem = objp + cachep->offset;
+    return slabp;
+}
+
+#define SET_PAGE_CACHE(page, cachep)                                                \
+    do {                                                                            \
+        struct Page *__page = (struct Page *)(page);                                \
+        kmem_cache_t **__cachepp = (kmem_cache_t **)&(__page->page_link.next);      \
+        *__cachepp = (kmem_cache_t *)(cachep);                                      \
+    } while (0)
+
+#define SET_PAGE_SLAB(page, slabp)                                                  \
+    do {                                                                            \
+        struct Page *__page = (struct Page *)(page);                                \
+        slab_t **__cachepp = (slab_t **)&(__page->page_link.prev);                  \
+        *__cachepp = (slab_t *)(slabp);                                             \
+    } while (0)
+
+// kmem_cache_grow - allocate a new slab by calling alloc_pages
+//                 - set control area in the new slab
+static bool
+kmem_cache_grow(kmem_cache_t *cachep) {
+    struct Page *page = alloc_pages(1 << cachep->page_order);
+    if (page == NULL) {
+        goto failed;
+    }
+
+    slab_t *slabp;
+    if ((slabp = kmem_cache_slabmgmt(cachep, page)) == NULL) {
+        goto oops;
+    }
+
+    size_t order_size = (1 << cachep->page_order);
+    do {
+        //setup this page in the free list (see memlayout.h: struct page)???
+        SET_PAGE_CACHE(page, cachep);
+        SET_PAGE_SLAB(page, slabp);
+    //this page is used for slab
+        SetPageSlab(page);
+        page ++;
+    } while (-- order_size);
+
+    int i;
+    for (i = 0; i < cachep->num; i ++) {
+        slab_bufctl(slabp)[i] = i + 1;
+    }
+    slab_bufctl(slabp)[cachep->num - 1] = BUFCTL_END;
+    slabp->free = 0;
+
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        list_add(&(cachep->slabs_notfull), &(slabp->slab_link));
+    }
+    local_intr_restore(intr_flag);
+    return 1;
+
+oops:
+    free_pages(page, 1 << cachep->page_order);
+failed:
+    return 0;
+}
+
+// kmem_cache_alloc_one - allocate a obj in a slab
+static void * 
+kmem_cache_alloc_one(kmem_cache_t *cachep, slab_t *slabp) {
+    slabp->inuse ++;
+    void *objp = slabp->s_mem + slabp->free * cachep->objsize;
+    slabp->free = slab_bufctl(slabp)[slabp->free];
+
+    if (slabp->free == BUFCTL_END) {
+        list_del(&(slabp->slab_link));
+        list_add(&(cachep->slabs_full), &(slabp->slab_link));
+    }
+    return objp;
+}
+
+// kmem_cache_alloc - call kmem_cache_alloc_one function to allocate a obj
+//                  - if no free obj, try to allocate a slab
+static void *
+kmem_cache_alloc(kmem_cache_t *cachep) {
+    void *objp;
+    bool intr_flag;
+
+try_again:
+    local_intr_save(intr_flag);
+    if (list_empty(&(cachep->slabs_notfull))) {
+        goto alloc_new_slab;
+    }
+    slab_t *slabp = le2slab(list_next(&(cachep->slabs_notfull)), slab_link);
+    objp = kmem_cache_alloc_one(cachep, slabp);
+    local_intr_restore(intr_flag);
+    return objp;
+
+alloc_new_slab:
+    local_intr_restore(intr_flag);
+
+    if (kmem_cache_grow(cachep)) {
+        goto try_again;
+    }
+    return NULL;
+}
+
+// kmalloc - simple interface used by outside functions 
+//         - to allocate a free memory using kmem_cache_alloc function
+void *
+kmalloc(size_t size) {
+    assert(size > 0);
+    size_t order = getorder(size);
+    if (order > MAX_SIZE_ORDER) {
+        return NULL;
+    }
+    return kmem_cache_alloc(slab_cache + (order - MIN_SIZE_ORDER));
+}
+
+static void kmem_cache_free(kmem_cache_t *cachep, void *obj);
+
+// kmem_slab_destroy - call free_pages & kmem_cache_free to free a slab 
+static void
+kmem_slab_destroy(kmem_cache_t *cachep, slab_t *slabp) {
+    struct Page *page = kva2page(slabp->s_mem - slabp->offset);
+
+    struct Page *p = page;
+    size_t order_size = (1 << cachep->page_order);
+    do {
+        assert(PageSlab(p));
+        ClearPageSlab(p);
+        p ++;
+    } while (-- order_size);
+
+    free_pages(page, 1 << cachep->page_order);
+
+    if (cachep->off_slab) {
+        kmem_cache_free(cachep->slab_cachep, slabp);
+    }
+}
+
+// kmem_cache_free_one - free an obj in a slab
+//                     - if slab->inuse==0, then free the slab
+static void
+kmem_cache_free_one(kmem_cache_t *cachep, slab_t *slabp, void *objp) {
+    //should not use divide operator ???
+    size_t objnr = (objp - slabp->s_mem) / cachep->objsize;
+    slab_bufctl(slabp)[objnr] = slabp->free;
+    slabp->free = objnr;
+
+    slabp->inuse --;
+
+    if (slabp->inuse == 0) {
+        list_del(&(slabp->slab_link));
+        kmem_slab_destroy(cachep, slabp);
+    }
+    else if (slabp->inuse == cachep->num -1 ) {
+        list_del(&(slabp->slab_link));
+        list_add(&(cachep->slabs_notfull), &(slabp->slab_link));
+    }
+}
+
+#define GET_PAGE_CACHE(page)                                \
+    (kmem_cache_t *)((page)->page_link.next)
+
+#define GET_PAGE_SLAB(page)                                 \
+    (slab_t *)((page)->page_link.prev)
+
+// kmem_cache_free - call kmem_cache_free_one function to free an obj 
+static void
+kmem_cache_free(kmem_cache_t *cachep, void *objp) {
+    bool intr_flag;
+    struct Page *page = kva2page(objp);
+
+    if (!PageSlab(page)) {
+        panic("not a slab page %08x\n", objp);
+    }
+    local_intr_save(intr_flag);
+    {
+        kmem_cache_free_one(cachep, GET_PAGE_SLAB(page), objp);
+    }
+    local_intr_restore(intr_flag);
+}
+
+// kfree - simple interface used by ooutside functions to free an obj
+void
+kfree(void *objp) {
+    kmem_cache_free(GET_PAGE_CACHE(kva2page(objp)), objp);
+}
+
+static inline void
+check_slab_empty(void) {
+    int i;
+    for (i = 0; i < SLAB_CACHE_NUM; i ++) {
+        kmem_cache_t *cachep = slab_cache + i;
+        assert(list_empty(&(cachep->slabs_full)));
+        assert(list_empty(&(cachep->slabs_notfull)));
+    }
+}
+
+void
+check_slab(void) {
+    int i;
+    void *v0, *v1;
+
+    size_t nr_free_pages_store = nr_free_pages();
+    size_t slab_allocated_store = slab_allocated();
+
+    /* slab must be empty now */
+    check_slab_empty();
+    assert(slab_allocated() == 0);
+
+    kmem_cache_t *cachep0, *cachep1;
+
+    cachep0 = slab_cache;
+    assert(cachep0->objsize == 32 && cachep0->num > 1 && !cachep0->off_slab);
+    assert((v0 = kmalloc(16)) != NULL);
+
+    slab_t *slabp0, *slabp1;
+
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    slabp0 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+    assert(slabp0->inuse == 1 && list_next(&(slabp0->slab_link)) == &(cachep0->slabs_notfull));
+
+    struct Page *p0, *p1;
+    size_t order_size;
+
+
+    p0 = kva2page(slabp0->s_mem - slabp0->offset), p1 = p0;
+    order_size = (1 << cachep0->page_order);
+    for (i = 0; i < cachep0->page_order; i ++, p1 ++) {
+        assert(PageSlab(p1));
+        assert(GET_PAGE_CACHE(p1) == cachep0 && GET_PAGE_SLAB(p1) == slabp0);
+    }
+
+    assert(v0 == slabp0->s_mem);
+    assert((v1 = kmalloc(16)) != NULL && v1 == v0 + 32);
+
+    kfree(v0);
+    assert(slabp0->free == 0);
+    kfree(v1);
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    for (i = 0; i < cachep0->page_order; i ++, p0 ++) {
+        assert(!PageSlab(p0));
+    }
+
+
+    v0 = kmalloc(16);
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    slabp0 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+
+    for (i = 0; i < cachep0->num - 1; i ++) {
+        kmalloc(16);
+    }
+
+    assert(slabp0->inuse == cachep0->num);
+    assert(list_next(&(cachep0->slabs_full)) == &(slabp0->slab_link));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    v1 = kmalloc(16);
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    slabp1 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+
+    kfree(v0);
+    assert(list_empty(&(cachep0->slabs_full)));
+    assert(list_next(&(slabp0->slab_link)) == &(slabp1->slab_link)
+            || list_next(&(slabp1->slab_link)) == &(slabp0->slab_link));
+
+    kfree(v1);
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    assert(list_next(&(cachep0->slabs_notfull)) == &(slabp0->slab_link));
+    assert(list_next(&(slabp0->slab_link)) == &(cachep0->slabs_notfull));
+
+    v1 = kmalloc(16);
+    assert(v1 == v0);
+    assert(list_next(&(cachep0->slabs_full)) == &(slabp0->slab_link));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    for (i = 0; i < cachep0->num; i ++) {
+        kfree(v1 + i * cachep0->objsize);
+    }
+
+    assert(list_empty(&(cachep0->slabs_full)));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    cachep0 = slab_cache;
+
+    bool has_off_slab = 0;
+    for (i = 0; i < SLAB_CACHE_NUM; i ++, cachep0 ++) {
+        if (cachep0->off_slab) {
+            has_off_slab = 1;
+            cachep1 = cachep0->slab_cachep;
+            if (!cachep1->off_slab) {
+                break;
+            }
+        }
+    }
+
+    if (!has_off_slab) {
+        goto check_pass;
+    }
+
+    assert(cachep0->off_slab && !cachep1->off_slab);
+    assert(cachep1 < cachep0);
+
+    assert(list_empty(&(cachep0->slabs_full)));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    assert(list_empty(&(cachep1->slabs_full)));
+    assert(list_empty(&(cachep1->slabs_notfull)));
+
+    v0 = kmalloc(cachep0->objsize);
+    p0 = kva2page(v0);
+    assert(page2kva(p0) == v0);
+
+    if (cachep0->num == 1) {
+        assert(!list_empty(&(cachep0->slabs_full)));
+        slabp0 = le2slab(list_next(&(cachep0->slabs_full)), slab_link);
+    }
+    else {
+        assert(!list_empty(&(cachep0->slabs_notfull)));
+        slabp0 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+    }
+
+    assert(slabp0 != NULL);
+
+    if (cachep1->num == 1) {
+        assert(!list_empty(&(cachep1->slabs_full)));
+        slabp1 = le2slab(list_next(&(cachep1->slabs_full)), slab_link);
+    }
+    else {
+        assert(!list_empty(&(cachep1->slabs_notfull)));
+        slabp1 = le2slab(list_next(&(cachep1->slabs_notfull)), slab_link);
+    }
+
+    assert(slabp1 != NULL);
+
+    order_size = (1 << cachep0->page_order);
+    for (i = 0; i < order_size; i ++, p0 ++) {
+        assert(PageSlab(p0));
+        assert(GET_PAGE_CACHE(p0) == cachep0 && GET_PAGE_SLAB(p0) == slabp0);
+    }
+
+    kfree(v0);
+
+check_pass:
+
+    check_rb_tree();
+    check_slab_empty();
+    assert(slab_allocated() == 0);
+    assert(nr_free_pages_store == nr_free_pages());
+    assert(slab_allocated_store == slab_allocated());
+
+    cprintf("check_slab() succeeded!\n");
+}
+
diff --git a/code/lab6/kern/mm/kmalloc.h b/code/lab6/kern/mm/kmalloc.h
new file mode 100644
index 0000000..8617975
--- /dev/null
+++ b/code/lab6/kern/mm/kmalloc.h
@@ -0,0 +1,16 @@
+#ifndef __KERN_MM_SLAB_H__
+#define __KERN_MM_SLAB_H__
+
+#include <defs.h>
+
+#define KMALLOC_MAX_ORDER       10
+
+void kmalloc_init(void);
+
+void *kmalloc(size_t n);
+void kfree(void *objp);
+
+size_t kallocated(void);
+
+#endif /* !__KERN_MM_SLAB_H__ */
+
diff --git a/code/lab6/kern/mm/memlayout.h b/code/lab6/kern/mm/memlayout.h
new file mode 100644
index 0000000..d84bf93
--- /dev/null
+++ b/code/lab6/kern/mm/memlayout.h
@@ -0,0 +1,169 @@
+#ifndef __KERN_MM_MEMLAYOUT_H__
+#define __KERN_MM_MEMLAYOUT_H__
+
+/* This file contains the definitions for memory management in our OS. */
+
+/* global segment number */
+#define SEG_KTEXT   1
+#define SEG_KDATA   2
+#define SEG_UTEXT   3
+#define SEG_UDATA   4
+#define SEG_TSS     5
+
+/* global descrptor numbers */
+#define GD_KTEXT    ((SEG_KTEXT) << 3)      // kernel text
+#define GD_KDATA    ((SEG_KDATA) << 3)      // kernel data
+#define GD_UTEXT    ((SEG_UTEXT) << 3)      // user text
+#define GD_UDATA    ((SEG_UDATA) << 3)      // user data
+#define GD_TSS      ((SEG_TSS) << 3)        // task segment selector
+
+#define DPL_KERNEL  (0)
+#define DPL_USER    (3)
+
+#define KERNEL_CS   ((GD_KTEXT) | DPL_KERNEL)
+#define KERNEL_DS   ((GD_KDATA) | DPL_KERNEL)
+#define USER_CS     ((GD_UTEXT) | DPL_USER)
+#define USER_DS     ((GD_UDATA) | DPL_USER)
+
+/* *
+ * Virtual memory map:                                          Permissions
+ *                                                              kernel/user
+ *
+ *     4G ------------------> +---------------------------------+
+ *                            |                                 |
+ *                            |         Empty Memory (*)        |
+ *                            |                                 |
+ *                            +---------------------------------+ 0xFB000000
+ *                            |   Cur. Page Table (Kern, RW)    | RW/-- PTSIZE
+ *     VPT -----------------> +---------------------------------+ 0xFAC00000
+ *                            |        Invalid Memory (*)       | --/--
+ *     KERNTOP -------------> +---------------------------------+ 0xF8000000
+ *                            |                                 |
+ *                            |    Remapped Physical Memory     | RW/-- KMEMSIZE
+ *                            |                                 |
+ *     KERNBASE ------------> +---------------------------------+ 0xC0000000
+ *                            |        Invalid Memory (*)       | --/--
+ *     USERTOP -------------> +---------------------------------+ 0xB0000000
+ *                            |           User stack            |
+ *                            +---------------------------------+
+ *                            |                                 |
+ *                            :                                 :
+ *                            |         ~~~~~~~~~~~~~~~~        |
+ *                            :                                 :
+ *                            |                                 |
+ *                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ *                            |       User Program & Heap       |
+ *     UTEXT ---------------> +---------------------------------+ 0x00800000
+ *                            |        Invalid Memory (*)       | --/--
+ *                            |  - - - - - - - - - - - - - - -  |
+ *                            |    User STAB Data (optional)    |
+ *     USERBASE, USTAB------> +---------------------------------+ 0x00200000
+ *                            |        Invalid Memory (*)       | --/--
+ *     0 -------------------> +---------------------------------+ 0x00000000
+ * (*) Note: The kernel ensures that "Invalid Memory" is *never* mapped.
+ *     "Empty Memory" is normally unmapped, but user programs may map pages
+ *     there if desired.
+ *
+ * */
+
+/* All physical memory mapped at this address */
+#define KERNBASE            0xC0000000
+#define KMEMSIZE            0x38000000                  // the maximum amount of physical memory
+#define KERNTOP             (KERNBASE + KMEMSIZE)
+
+/* *
+ * Virtual page table. Entry PDX[VPT] in the PD (Page Directory) contains
+ * a pointer to the page directory itself, thereby turning the PD into a page
+ * table, which maps all the PTEs (Page Table Entry) containing the page mappings
+ * for the entire virtual address space into that 4 Meg region starting at VPT.
+ * */
+#define VPT                 0xFAC00000
+
+#define KSTACKPAGE          2                           // # of pages in kernel stack
+#define KSTACKSIZE          (KSTACKPAGE * PGSIZE)       // sizeof kernel stack
+
+#define USERTOP             0xB0000000
+#define USTACKTOP           USERTOP
+#define USTACKPAGE          256                         // # of pages in user stack
+#define USTACKSIZE          (USTACKPAGE * PGSIZE)       // sizeof user stack
+
+#define USERBASE            0x00200000
+#define UTEXT               0x00800000                  // where user programs generally begin
+#define USTAB               USERBASE                    // the location of the user STABS data structure
+
+#define USER_ACCESS(start, end)                     \
+(USERBASE <= (start) && (start) < (end) && (end) <= USERTOP)
+
+#define KERN_ACCESS(start, end)                     \
+(KERNBASE <= (start) && (start) < (end) && (end) <= KERNTOP)
+
+#ifndef __ASSEMBLER__
+
+#include <defs.h>
+#include <atomic.h>
+#include <list.h>
+
+typedef uintptr_t pte_t;
+typedef uintptr_t pde_t;
+typedef pte_t swap_entry_t; //the pte can also be a swap entry
+
+// some constants for bios interrupt 15h AX = 0xE820
+#define E820MAX             20      // number of entries in E820MAP
+#define E820_ARM            1       // address range memory
+#define E820_ARR            2       // address range reserved
+
+struct e820map {
+    int nr_map;
+    struct {
+        uint64_t addr;
+        uint64_t size;
+        uint32_t type;
+    } __attribute__((packed)) map[E820MAX];
+};
+
+/* *
+ * struct Page - Page descriptor structures. Each Page describes one
+ * physical page. In kern/mm/pmm.h, you can find lots of useful functions
+ * that convert Page to other data types, such as phyical address.
+ * */
+struct Page {
+    atomic_t ref;                   // page frame's reference counter
+    uint32_t flags;                 // array of flags that describe the status of the page frame
+    unsigned int property;          // used in buddy system, stores the order (the X in 2^X) of the continuous memory block
+    int zone_num;                   // used in buddy system, the No. of zone which the page belongs to
+    list_entry_t page_link;         // free list link
+    list_entry_t pra_page_link;     // used for pra (page replace algorithm)
+    uintptr_t pra_vaddr;            // used for pra (page replace algorithm)
+};
+
+/* Flags describing the status of a page frame */
+#define PG_reserved                 0       // the page descriptor is reserved for kernel or unusable
+#define PG_property                 1       // the member 'property' is valid
+
+#define SetPageReserved(page)       set_bit(PG_reserved, &((page)->flags))
+#define ClearPageReserved(page)     clear_bit(PG_reserved, &((page)->flags))
+#define PageReserved(page)          test_bit(PG_reserved, &((page)->flags))
+#define SetPageProperty(page)       set_bit(PG_property, &((page)->flags))
+#define ClearPageProperty(page)     clear_bit(PG_property, &((page)->flags))
+#define PageProperty(page)          test_bit(PG_property, &((page)->flags))
+
+// convert list entry to page
+#define le2page(le, member)                 \
+    to_struct((le), struct Page, member)
+
+/* free_area_t - maintains a doubly linked list to record free (unused) pages */
+typedef struct {
+    list_entry_t free_list;         // the list header
+    unsigned int nr_free;           // # of free pages in this free list
+} free_area_t;
+
+/* for slab style kmalloc */
+#define PG_slab                     2       // page frame is included in a slab
+#define SetPageSlab(page)           set_bit(PG_slab, &((page)->flags))
+#define ClearPageSlab(page)         clear_bit(PG_slab, &((page)->flags))
+#define PageSlab(page)              test_bit(PG_slab, &((page)->flags))
+
+#endif /* !__ASSEMBLER__ */
+
+#endif /* !__KERN_MM_MEMLAYOUT_H__ */
+
diff --git a/code/lab6/kern/mm/mmu.h b/code/lab6/kern/mm/mmu.h
new file mode 100644
index 0000000..3858ad9
--- /dev/null
+++ b/code/lab6/kern/mm/mmu.h
@@ -0,0 +1,272 @@
+#ifndef __KERN_MM_MMU_H__
+#define __KERN_MM_MMU_H__
+
+/* Eflags register */
+#define FL_CF           0x00000001  // Carry Flag
+#define FL_PF           0x00000004  // Parity Flag
+#define FL_AF           0x00000010  // Auxiliary carry Flag
+#define FL_ZF           0x00000040  // Zero Flag
+#define FL_SF           0x00000080  // Sign Flag
+#define FL_TF           0x00000100  // Trap Flag
+#define FL_IF           0x00000200  // Interrupt Flag
+#define FL_DF           0x00000400  // Direction Flag
+#define FL_OF           0x00000800  // Overflow Flag
+#define FL_IOPL_MASK    0x00003000  // I/O Privilege Level bitmask
+#define FL_IOPL_0       0x00000000  //   IOPL == 0
+#define FL_IOPL_1       0x00001000  //   IOPL == 1
+#define FL_IOPL_2       0x00002000  //   IOPL == 2
+#define FL_IOPL_3       0x00003000  //   IOPL == 3
+#define FL_NT           0x00004000  // Nested Task
+#define FL_RF           0x00010000  // Resume Flag
+#define FL_VM           0x00020000  // Virtual 8086 mode
+#define FL_AC           0x00040000  // Alignment Check
+#define FL_VIF          0x00080000  // Virtual Interrupt Flag
+#define FL_VIP          0x00100000  // Virtual Interrupt Pending
+#define FL_ID           0x00200000  // ID flag
+
+/* Application segment type bits */
+#define STA_X           0x8         // Executable segment
+#define STA_E           0x4         // Expand down (non-executable segments)
+#define STA_C           0x4         // Conforming code segment (executable only)
+#define STA_W           0x2         // Writeable (non-executable segments)
+#define STA_R           0x2         // Readable (executable segments)
+#define STA_A           0x1         // Accessed
+
+/* System segment type bits */
+#define STS_T16A        0x1         // Available 16-bit TSS
+#define STS_LDT         0x2         // Local Descriptor Table
+#define STS_T16B        0x3         // Busy 16-bit TSS
+#define STS_CG16        0x4         // 16-bit Call Gate
+#define STS_TG          0x5         // Task Gate / Coum Transmitions
+#define STS_IG16        0x6         // 16-bit Interrupt Gate
+#define STS_TG16        0x7         // 16-bit Trap Gate
+#define STS_T32A        0x9         // Available 32-bit TSS
+#define STS_T32B        0xB         // Busy 32-bit TSS
+#define STS_CG32        0xC         // 32-bit Call Gate
+#define STS_IG32        0xE         // 32-bit Interrupt Gate
+#define STS_TG32        0xF         // 32-bit Trap Gate
+
+#ifdef __ASSEMBLER__
+
+#define SEG_NULL                                                \
+    .word 0, 0;                                                 \
+    .byte 0, 0, 0, 0
+
+#define SEG_ASM(type,base,lim)                                  \
+    .word (((lim) >> 12) & 0xffff), ((base) & 0xffff);          \
+    .byte (((base) >> 16) & 0xff), (0x90 | (type)),             \
+        (0xC0 | (((lim) >> 28) & 0xf)), (((base) >> 24) & 0xff)
+
+#else /* not __ASSEMBLER__ */
+
+#include <defs.h>
+
+/* Gate descriptors for interrupts and traps */
+struct gatedesc {
+    unsigned gd_off_15_0 : 16;      // low 16 bits of offset in segment
+    unsigned gd_ss : 16;            // segment selector
+    unsigned gd_args : 5;           // # args, 0 for interrupt/trap gates
+    unsigned gd_rsv1 : 3;           // reserved(should be zero I guess)
+    unsigned gd_type : 4;           // type(STS_{TG,IG32,TG32})
+    unsigned gd_s : 1;              // must be 0 (system)
+    unsigned gd_dpl : 2;            // descriptor(meaning new) privilege level
+    unsigned gd_p : 1;              // Present
+    unsigned gd_off_31_16 : 16;     // high bits of offset in segment
+};
+
+/* *
+ * Set up a normal interrupt/trap gate descriptor
+ *   - istrap: 1 for a trap (= exception) gate, 0 for an interrupt gate
+ *   - sel: Code segment selector for interrupt/trap handler
+ *   - off: Offset in code segment for interrupt/trap handler
+ *   - dpl: Descriptor Privilege Level - the privilege level required
+ *          for software to invoke this interrupt/trap gate explicitly
+ *          using an int instruction.
+ * */
+#define SETGATE(gate, istrap, sel, off, dpl) {               \
+        (gate).gd_off_15_0 = (uint32_t)(off) & 0xffff;      \
+        (gate).gd_ss = (sel);                                \
+        (gate).gd_args = 0;                                 \
+        (gate).gd_rsv1 = 0;                                 \
+        (gate).gd_type = (istrap) ? STS_TG32 : STS_IG32;    \
+        (gate).gd_s = 0;                                    \
+        (gate).gd_dpl = (dpl);                              \
+        (gate).gd_p = 1;                                    \
+        (gate).gd_off_31_16 = (uint32_t)(off) >> 16;        \
+    }
+
+/* Set up a call gate descriptor */
+#define SETCALLGATE(gate, ss, off, dpl) {                   \
+        (gate).gd_off_15_0 = (uint32_t)(off) & 0xffff;      \
+        (gate).gd_ss = (ss);                                \
+        (gate).gd_args = 0;                                 \
+        (gate).gd_rsv1 = 0;                                 \
+        (gate).gd_type = STS_CG32;                          \
+        (gate).gd_s = 0;                                    \
+        (gate).gd_dpl = (dpl);                              \
+        (gate).gd_p = 1;                                    \
+        (gate).gd_off_31_16 = (uint32_t)(off) >> 16;        \
+    }
+
+/* segment descriptors */
+struct segdesc {
+    unsigned sd_lim_15_0 : 16;      // low bits of segment limit
+    unsigned sd_base_15_0 : 16;     // low bits of segment base address
+    unsigned sd_base_23_16 : 8;     // middle bits of segment base address
+    unsigned sd_type : 4;           // segment type (see STS_ constants)
+    unsigned sd_s : 1;              // 0 = system, 1 = application
+    unsigned sd_dpl : 2;            // descriptor Privilege Level
+    unsigned sd_p : 1;              // present
+    unsigned sd_lim_19_16 : 4;      // high bits of segment limit
+    unsigned sd_avl : 1;            // unused (available for software use)
+    unsigned sd_rsv1 : 1;           // reserved
+    unsigned sd_db : 1;             // 0 = 16-bit segment, 1 = 32-bit segment
+    unsigned sd_g : 1;              // granularity: limit scaled by 4K when set
+    unsigned sd_base_31_24 : 8;     // high bits of segment base address
+};
+
+#define SEG_NULL                                            \
+    (struct segdesc) {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+
+#define SEG(type, base, lim, dpl)                           \
+    (struct segdesc) {                                      \
+        ((lim) >> 12) & 0xffff, (base) & 0xffff,            \
+        ((base) >> 16) & 0xff, type, 1, dpl, 1,             \
+        (unsigned)(lim) >> 28, 0, 0, 1, 1,                  \
+        (unsigned) (base) >> 24                             \
+    }
+
+#define SEGTSS(type, base, lim, dpl)                        \
+    (struct segdesc) {                                      \
+        (lim) & 0xffff, (base) & 0xffff,                    \
+        ((base) >> 16) & 0xff, type, 0, dpl, 1,             \
+        (unsigned) (lim) >> 16, 0, 0, 1, 0,                 \
+        (unsigned) (base) >> 24                             \
+    }
+
+/* task state segment format (as described by the Pentium architecture book) */
+struct taskstate {
+    uint32_t ts_link;       // old ts selector
+    uintptr_t ts_esp0;      // stack pointers and segment selectors
+    uint16_t ts_ss0;        // after an increase in privilege level
+    uint16_t ts_padding1;
+    uintptr_t ts_esp1;
+    uint16_t ts_ss1;
+    uint16_t ts_padding2;
+    uintptr_t ts_esp2;
+    uint16_t ts_ss2;
+    uint16_t ts_padding3;
+    uintptr_t ts_cr3;       // page directory base
+    uintptr_t ts_eip;       // saved state from last task switch
+    uint32_t ts_eflags;
+    uint32_t ts_eax;        // more saved state (registers)
+    uint32_t ts_ecx;
+    uint32_t ts_edx;
+    uint32_t ts_ebx;
+    uintptr_t ts_esp;
+    uintptr_t ts_ebp;
+    uint32_t ts_esi;
+    uint32_t ts_edi;
+    uint16_t ts_es;         // even more saved state (segment selectors)
+    uint16_t ts_padding4;
+    uint16_t ts_cs;
+    uint16_t ts_padding5;
+    uint16_t ts_ss;
+    uint16_t ts_padding6;
+    uint16_t ts_ds;
+    uint16_t ts_padding7;
+    uint16_t ts_fs;
+    uint16_t ts_padding8;
+    uint16_t ts_gs;
+    uint16_t ts_padding9;
+    uint16_t ts_ldt;
+    uint16_t ts_padding10;
+    uint16_t ts_t;          // trap on task switch
+    uint16_t ts_iomb;       // i/o map base address
+} __attribute__((packed));
+
+#endif /* !__ASSEMBLER__ */
+
+// A linear address 'la' has a three-part structure as follows:
+//
+// +--------10------+-------10-------+---------12----------+
+// | Page Directory |   Page Table   | Offset within Page  |
+// |      Index     |     Index      |                     |
+// +----------------+----------------+---------------------+
+//  \--- PDX(la) --/ \--- PTX(la) --/ \---- PGOFF(la) ----/
+//  \----------- PPN(la) -----------/
+//
+// The PDX, PTX, PGOFF, and PPN macros decompose linear addresses as shown.
+// To construct a linear address la from PDX(la), PTX(la), and PGOFF(la),
+// use PGADDR(PDX(la), PTX(la), PGOFF(la)).
+
+// page directory index
+#define PDX(la) ((((uintptr_t)(la)) >> PDXSHIFT) & 0x3FF)
+
+// page table index
+#define PTX(la) ((((uintptr_t)(la)) >> PTXSHIFT) & 0x3FF)
+
+// page number field of address
+#define PPN(la) (((uintptr_t)(la)) >> PTXSHIFT)
+
+// offset in page
+#define PGOFF(la) (((uintptr_t)(la)) & 0xFFF)
+
+// construct linear address from indexes and offset
+#define PGADDR(d, t, o) ((uintptr_t)((d) << PDXSHIFT | (t) << PTXSHIFT | (o)))
+
+// address in page table or page directory entry
+#define PTE_ADDR(pte)   ((uintptr_t)(pte) & ~0xFFF)
+#define PDE_ADDR(pde)   PTE_ADDR(pde)
+
+/* page directory and page table constants */
+#define NPDEENTRY       1024                    // page directory entries per page directory
+#define NPTEENTRY       1024                    // page table entries per page table
+
+#define PGSIZE          4096                    // bytes mapped by a page
+#define PGSHIFT         12                      // log2(PGSIZE)
+#define PTSIZE          (PGSIZE * NPTEENTRY)    // bytes mapped by a page directory entry
+#define PTSHIFT         22                      // log2(PTSIZE)
+
+#define PTXSHIFT        12                      // offset of PTX in a linear address
+#define PDXSHIFT        22                      // offset of PDX in a linear address
+
+/* page table/directory entry flags */
+#define PTE_P           0x001                   // Present
+#define PTE_W           0x002                   // Writeable
+#define PTE_U           0x004                   // User
+#define PTE_PWT         0x008                   // Write-Through
+#define PTE_PCD         0x010                   // Cache-Disable
+#define PTE_A           0x020                   // Accessed
+#define PTE_D           0x040                   // Dirty
+#define PTE_PS          0x080                   // Page Size
+#define PTE_MBZ         0x180                   // Bits must be zero
+#define PTE_AVAIL       0xE00                   // Available for software use
+                                                // The PTE_AVAIL bits aren't used by the kernel or interpreted by the
+                                                // hardware, so user processes are allowed to set them arbitrarily.
+
+#define PTE_USER        (PTE_U | PTE_W | PTE_P)
+
+/* Control Register flags */
+#define CR0_PE          0x00000001              // Protection Enable
+#define CR0_MP          0x00000002              // Monitor coProcessor
+#define CR0_EM          0x00000004              // Emulation
+#define CR0_TS          0x00000008              // Task Switched
+#define CR0_ET          0x00000010              // Extension Type
+#define CR0_NE          0x00000020              // Numeric Errror
+#define CR0_WP          0x00010000              // Write Protect
+#define CR0_AM          0x00040000              // Alignment Mask
+#define CR0_NW          0x20000000              // Not Writethrough
+#define CR0_CD          0x40000000              // Cache Disable
+#define CR0_PG          0x80000000              // Paging
+
+#define CR4_PCE         0x00000100              // Performance counter enable
+#define CR4_MCE         0x00000040              // Machine Check Enable
+#define CR4_PSE         0x00000010              // Page Size Extensions
+#define CR4_DE          0x00000008              // Debugging Extensions
+#define CR4_TSD         0x00000004              // Time Stamp Disable
+#define CR4_PVI         0x00000002              // Protected-Mode Virtual Interrupts
+#define CR4_VME         0x00000001              // V86 Mode Extensions
+
+#endif /* !__KERN_MM_MMU_H__ */
+
diff --git a/code/lab6/kern/mm/pmm.c b/code/lab6/kern/mm/pmm.c
new file mode 100644
index 0000000..cc3f28c
--- /dev/null
+++ b/code/lab6/kern/mm/pmm.c
@@ -0,0 +1,759 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <default_pmm.h>
+#include <sync.h>
+#include <error.h>
+#include <swap.h>
+#include <vmm.h>
+#include <kmalloc.h>
+
+/* *
+ * Task State Segment:
+ *
+ * The TSS may reside anywhere in memory. A special segment register called
+ * the Task Register (TR) holds a segment selector that points a valid TSS
+ * segment descriptor which resides in the GDT. Therefore, to use a TSS
+ * the following must be done in function gdt_init:
+ *   - create a TSS descriptor entry in GDT
+ *   - add enough information to the TSS in memory as needed
+ *   - load the TR register with a segment selector for that segment
+ *
+ * There are several fileds in TSS for specifying the new stack pointer when a
+ * privilege level change happens. But only the fields SS0 and ESP0 are useful
+ * in our os kernel.
+ *
+ * The field SS0 contains the stack segment selector for CPL = 0, and the ESP0
+ * contains the new ESP value for CPL = 0. When an interrupt happens in protected
+ * mode, the x86 CPU will look in the TSS for SS0 and ESP0 and load their value
+ * into SS and ESP respectively.
+ * */
+static struct taskstate ts = {0};
+
+// virtual address of physicall page array
+struct Page *pages;
+// amount of physical memory (in pages)
+size_t npage = 0;
+
+// virtual address of boot-time page directory
+pde_t *boot_pgdir = NULL;
+// physical address of boot-time page directory
+uintptr_t boot_cr3;
+
+// physical memory management
+const struct pmm_manager *pmm_manager;
+
+/* *
+ * The page directory entry corresponding to the virtual address range
+ * [VPT, VPT + PTSIZE) points to the page directory itself. Thus, the page
+ * directory is treated as a page table as well as a page directory.
+ *
+ * One result of treating the page directory as a page table is that all PTEs
+ * can be accessed though a "virtual page table" at virtual address VPT. And the
+ * PTE for number n is stored in vpt[n].
+ *
+ * A second consequence is that the contents of the current page directory will
+ * always available at virtual address PGADDR(PDX(VPT), PDX(VPT), 0), to which
+ * vpd is set bellow.
+ * */
+pte_t * const vpt = (pte_t *)VPT;
+pde_t * const vpd = (pde_t *)PGADDR(PDX(VPT), PDX(VPT), 0);
+
+/* *
+ * Global Descriptor Table:
+ *
+ * The kernel and user segments are identical (except for the DPL). To load
+ * the %ss register, the CPL must equal the DPL. Thus, we must duplicate the
+ * segments for the user and the kernel. Defined as follows:
+ *   - 0x0 :  unused (always faults -- for trapping NULL far pointers)
+ *   - 0x8 :  kernel code segment
+ *   - 0x10:  kernel data segment
+ *   - 0x18:  user code segment
+ *   - 0x20:  user data segment
+ *   - 0x28:  defined for tss, initialized in gdt_init
+ * */
+static struct segdesc gdt[] = {
+    SEG_NULL,
+    [SEG_KTEXT] = SEG(STA_X | STA_R, 0x0, 0xFFFFFFFF, DPL_KERNEL),
+    [SEG_KDATA] = SEG(STA_W, 0x0, 0xFFFFFFFF, DPL_KERNEL),
+    [SEG_UTEXT] = SEG(STA_X | STA_R, 0x0, 0xFFFFFFFF, DPL_USER),
+    [SEG_UDATA] = SEG(STA_W, 0x0, 0xFFFFFFFF, DPL_USER),
+    [SEG_TSS]   = SEG_NULL,
+};
+
+static struct pseudodesc gdt_pd = {
+    sizeof(gdt) - 1, (uintptr_t)gdt
+};
+
+static void check_alloc_page(void);
+static void check_pgdir(void);
+static void check_boot_pgdir(void);
+
+/* *
+ * lgdt - load the global descriptor table register and reset the
+ * data/code segement registers for kernel.
+ * */
+static inline void
+lgdt(struct pseudodesc *pd) {
+    asm volatile ("lgdt (%0)" :: "r" (pd));
+    asm volatile ("movw %%ax, %%gs" :: "a" (USER_DS));
+    asm volatile ("movw %%ax, %%fs" :: "a" (USER_DS));
+    asm volatile ("movw %%ax, %%es" :: "a" (KERNEL_DS));
+    asm volatile ("movw %%ax, %%ds" :: "a" (KERNEL_DS));
+    asm volatile ("movw %%ax, %%ss" :: "a" (KERNEL_DS));
+    // reload cs
+    asm volatile ("ljmp %0, $1f\n 1:\n" :: "i" (KERNEL_CS));
+}
+
+/* *
+ * load_esp0 - change the ESP0 in default task state segment,
+ * so that we can use different kernel stack when we trap frame
+ * user to kernel.
+ * */
+void
+load_esp0(uintptr_t esp0) {
+    ts.ts_esp0 = esp0;
+}
+
+/* gdt_init - initialize the default GDT and TSS */
+static void
+gdt_init(void) {
+    // set boot kernel stack and default SS0
+    load_esp0((uintptr_t)bootstacktop);
+    ts.ts_ss0 = KERNEL_DS;
+
+    // initialize the TSS filed of the gdt
+    gdt[SEG_TSS] = SEGTSS(STS_T32A, (uintptr_t)&ts, sizeof(ts), DPL_KERNEL);
+
+    // reload all segment registers
+    lgdt(&gdt_pd);
+
+    // load the TSS
+    ltr(GD_TSS);
+}
+
+//init_pmm_manager - initialize a pmm_manager instance
+static void
+init_pmm_manager(void) {
+    pmm_manager = &default_pmm_manager;
+    cprintf("memory management: %s\n", pmm_manager->name);
+    pmm_manager->init();
+}
+
+//init_memmap - call pmm->init_memmap to build Page struct for free memory  
+static void
+init_memmap(struct Page *base, size_t n) {
+    pmm_manager->init_memmap(base, n);
+}
+
+//alloc_pages - call pmm->alloc_pages to allocate a continuous n*PAGESIZE memory 
+struct Page *
+alloc_pages(size_t n) {
+    struct Page *page=NULL;
+    bool intr_flag;
+    
+    while (1)
+    {
+         local_intr_save(intr_flag);
+         {
+              page = pmm_manager->alloc_pages(n);
+         }
+         local_intr_restore(intr_flag);
+
+         if (page != NULL || n > 1 || swap_init_ok == 0) break;
+         
+         extern struct mm_struct *check_mm_struct;
+         //cprintf("page %x, call swap_out in alloc_pages %d\n",page, n);
+         swap_out(check_mm_struct, n, 0);
+    }
+    //cprintf("n %d,get page %x, No %d in alloc_pages\n",n,page,(page-pages));
+    return page;
+}
+
+//free_pages - call pmm->free_pages to free a continuous n*PAGESIZE memory 
+void
+free_pages(struct Page *base, size_t n) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        pmm_manager->free_pages(base, n);
+    }
+    local_intr_restore(intr_flag);
+}
+
+//nr_free_pages - call pmm->nr_free_pages to get the size (nr*PAGESIZE) 
+//of current free memory
+size_t
+nr_free_pages(void) {
+    size_t ret;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        ret = pmm_manager->nr_free_pages();
+    }
+    local_intr_restore(intr_flag);
+    return ret;
+}
+
+/* pmm_init - initialize the physical memory management */
+static void
+page_init(void) {
+    struct e820map *memmap = (struct e820map *)(0x8000 + KERNBASE);
+    uint64_t maxpa = 0;
+
+    cprintf("e820map:\n");
+    int i;
+    for (i = 0; i < memmap->nr_map; i ++) {
+        uint64_t begin = memmap->map[i].addr, end = begin + memmap->map[i].size;
+        cprintf("  memory: %08llx, [%08llx, %08llx], type = %d.\n",
+                memmap->map[i].size, begin, end - 1, memmap->map[i].type);
+        if (memmap->map[i].type == E820_ARM) {
+            if (maxpa < end && begin < KMEMSIZE) {
+                maxpa = end;
+            }
+        }
+    }
+    if (maxpa > KMEMSIZE) {
+        maxpa = KMEMSIZE;
+    }
+
+    extern char end[];
+
+    npage = maxpa / PGSIZE;
+    pages = (struct Page *)ROUNDUP((void *)end, PGSIZE);
+
+    for (i = 0; i < npage; i ++) {
+        SetPageReserved(pages + i);
+    }
+
+    uintptr_t freemem = PADDR((uintptr_t)pages + sizeof(struct Page) * npage);
+
+    for (i = 0; i < memmap->nr_map; i ++) {
+        uint64_t begin = memmap->map[i].addr, end = begin + memmap->map[i].size;
+        if (memmap->map[i].type == E820_ARM) {
+            if (begin < freemem) {
+                begin = freemem;
+            }
+            if (end > KMEMSIZE) {
+                end = KMEMSIZE;
+            }
+            if (begin < end) {
+                begin = ROUNDUP(begin, PGSIZE);
+                end = ROUNDDOWN(end, PGSIZE);
+                if (begin < end) {
+                    init_memmap(pa2page(begin), (end - begin) / PGSIZE);
+                }
+            }
+        }
+    }
+}
+
+static void
+enable_paging(void) {
+    lcr3(boot_cr3);
+
+    // turn on paging
+    uint32_t cr0 = rcr0();
+    cr0 |= CR0_PE | CR0_PG | CR0_AM | CR0_WP | CR0_NE | CR0_TS | CR0_EM | CR0_MP;
+    cr0 &= ~(CR0_TS | CR0_EM);
+    lcr0(cr0);
+}
+
+//boot_map_segment - setup&enable the paging mechanism
+// parameters
+//  la:   linear address of this memory need to map (after x86 segment map)
+//  size: memory size
+//  pa:   physical address of this memory
+//  perm: permission of this memory  
+static void
+boot_map_segment(pde_t *pgdir, uintptr_t la, size_t size, uintptr_t pa, uint32_t perm) {
+    assert(PGOFF(la) == PGOFF(pa));
+    size_t n = ROUNDUP(size + PGOFF(la), PGSIZE) / PGSIZE;
+    la = ROUNDDOWN(la, PGSIZE);
+    pa = ROUNDDOWN(pa, PGSIZE);
+    for (; n > 0; n --, la += PGSIZE, pa += PGSIZE) {
+        pte_t *ptep = get_pte(pgdir, la, 1);
+        assert(ptep != NULL);
+        *ptep = pa | PTE_P | perm;
+    }
+}
+
+//boot_alloc_page - allocate one page using pmm->alloc_pages(1) 
+// return value: the kernel virtual address of this allocated page
+//note: this function is used to get the memory for PDT(Page Directory Table)&PT(Page Table)
+static void *
+boot_alloc_page(void) {
+    struct Page *p = alloc_page();
+    if (p == NULL) {
+        panic("boot_alloc_page failed.\n");
+    }
+    return page2kva(p);
+}
+
+//pmm_init - setup a pmm to manage physical memory, build PDT&PT to setup paging mechanism 
+//         - check the correctness of pmm & paging mechanism, print PDT&PT
+void
+pmm_init(void) {
+    //We need to alloc/free the physical memory (granularity is 4KB or other size). 
+    //So a framework of physical memory manager (struct pmm_manager)is defined in pmm.h
+    //First we should init a physical memory manager(pmm) based on the framework.
+    //Then pmm can alloc/free the physical memory. 
+    //Now the first_fit/best_fit/worst_fit/buddy_system pmm are available.
+    init_pmm_manager();
+
+    // detect physical memory space, reserve already used memory,
+    // then use pmm->init_memmap to create free page list
+    page_init();
+
+    //use pmm->check to verify the correctness of the alloc/free function in a pmm
+    check_alloc_page();
+
+    // create boot_pgdir, an initial page directory(Page Directory Table, PDT)
+    boot_pgdir = boot_alloc_page();
+    memset(boot_pgdir, 0, PGSIZE);
+    boot_cr3 = PADDR(boot_pgdir);
+
+    check_pgdir();
+
+    static_assert(KERNBASE % PTSIZE == 0 && KERNTOP % PTSIZE == 0);
+
+    // recursively insert boot_pgdir in itself
+    // to form a virtual page table at virtual address VPT
+    boot_pgdir[PDX(VPT)] = PADDR(boot_pgdir) | PTE_P | PTE_W;
+
+    // map all physical memory to linear memory with base linear addr KERNBASE
+    //linear_addr KERNBASE~KERNBASE+KMEMSIZE = phy_addr 0~KMEMSIZE
+    //But shouldn't use this map until enable_paging() & gdt_init() finished.
+    boot_map_segment(boot_pgdir, KERNBASE, KMEMSIZE, 0, PTE_W);
+
+    //temporary map: 
+    //virtual_addr 3G~3G+4M = linear_addr 0~4M = linear_addr 3G~3G+4M = phy_addr 0~4M     
+    boot_pgdir[0] = boot_pgdir[PDX(KERNBASE)];
+
+    enable_paging();
+
+    //reload gdt(third time,the last time) to map all physical memory
+    //virtual_addr 0~4G=liear_addr 0~4G
+    //then set kernel stack(ss:esp) in TSS, setup TSS in gdt, load TSS
+    gdt_init();
+
+    //disable the map of virtual_addr 0~4M
+    boot_pgdir[0] = 0;
+
+    //now the basic virtual memory map(see memalyout.h) is established.
+    //check the correctness of the basic virtual memory map.
+    check_boot_pgdir();
+
+    print_pgdir();
+    
+    kmalloc_init();
+
+}
+
+//get_pte - get pte and return the kernel virtual address of this pte for la
+//        - if the PT contians this pte didn't exist, alloc a page for PT
+// parameter:
+//  pgdir:  the kernel virtual base address of PDT
+//  la:     the linear address need to map
+//  create: a logical value to decide if alloc a page for PT
+// return vaule: the kernel virtual address of this pte
+pte_t *
+get_pte(pde_t *pgdir, uintptr_t la, bool create) {
+    /* LAB2 EXERCISE 2: YOUR CODE
+     *
+     * If you need to visit a physical address, please use KADDR()
+     * please read pmm.h for useful macros
+     *
+     * Maybe you want help comment, BELOW comments can help you finish the code
+     *
+     * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   PDX(la) = the index of page directory entry of VIRTUAL ADDRESS la.
+     *   KADDR(pa) : takes a physical address and returns the corresponding kernel virtual address.
+     *   set_page_ref(page,1) : means the page be referenced by one time
+     *   page2pa(page): get the physical address of memory which this (struct Page *) page  manages
+     *   struct Page * alloc_page() : allocation a page
+     *   memset(void *s, char c, size_t n) : sets the first n bytes of the memory area pointed by s
+     *                                       to the specified value c.
+     * DEFINEs:
+     *   PTE_P           0x001                   // page table/directory entry flags bit : Present
+     *   PTE_W           0x002                   // page table/directory entry flags bit : Writeable
+     *   PTE_U           0x004                   // page table/directory entry flags bit : User can access
+     */
+#if 0
+    pde_t *pdep = NULL;   // (1) find page directory entry
+    if (0) {              // (2) check if entry is not present
+                          // (3) check if creating is needed, then alloc page for page table
+                          // CAUTION: this page is used for page table, not for common data page
+                          // (4) set page reference
+        uintptr_t pa = 0; // (5) get linear address of page
+                          // (6) clear page content using memset
+                          // (7) set page directory entry's permission
+    }
+    return NULL;          // (8) return page table entry
+#endif
+}
+
+//get_page - get related Page struct for linear address la using PDT pgdir
+struct Page *
+get_page(pde_t *pgdir, uintptr_t la, pte_t **ptep_store) {
+    pte_t *ptep = get_pte(pgdir, la, 0);
+    if (ptep_store != NULL) {
+        *ptep_store = ptep;
+    }
+    if (ptep != NULL && *ptep & PTE_P) {
+        return pa2page(*ptep);
+    }
+    return NULL;
+}
+
+//page_remove_pte - free an Page sturct which is related linear address la
+//                - and clean(invalidate) pte which is related linear address la
+//note: PT is changed, so the TLB need to be invalidate 
+static inline void
+page_remove_pte(pde_t *pgdir, uintptr_t la, pte_t *ptep) {
+    /* LAB2 EXERCISE 3: YOUR CODE
+     *
+     * Please check if ptep is valid, and tlb must be manually updated if mapping is updated
+     *
+     * Maybe you want help comment, BELOW comments can help you finish the code
+     *
+     * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   struct Page *page pte2page(*ptep): get the according page from the value of a ptep
+     *   free_page : free a page
+     *   page_ref_dec(page) : decrease page->ref. NOTICE: ff page->ref == 0 , then this page should be free.
+     *   tlb_invalidate(pde_t *pgdir, uintptr_t la) : Invalidate a TLB entry, but only if the page tables being
+     *                        edited are the ones currently in use by the processor.
+     * DEFINEs:
+     *   PTE_P           0x001                   // page table/directory entry flags bit : Present
+     */
+#if 0
+    if (0) {                      //(1) check if page directory is present
+        struct Page *page = NULL; //(2) find corresponding page to pte
+                                  //(3) decrease page reference
+                                  //(4) and free this page when page reference reachs 0
+                                  //(5) clear second page table entry
+                                  //(6) flush tlb
+    }
+#endif
+}
+
+void
+unmap_range(pde_t *pgdir, uintptr_t start, uintptr_t end) {
+    assert(start % PGSIZE == 0 && end % PGSIZE == 0);
+    assert(USER_ACCESS(start, end));
+
+    do {
+        pte_t *ptep = get_pte(pgdir, start, 0);
+        if (ptep == NULL) {
+            start = ROUNDDOWN(start + PTSIZE, PTSIZE);
+            continue ;
+        }
+        if (*ptep != 0) {
+            page_remove_pte(pgdir, start, ptep);
+        }
+        start += PGSIZE;
+    } while (start != 0 && start < end);
+}
+
+void
+exit_range(pde_t *pgdir, uintptr_t start, uintptr_t end) {
+    assert(start % PGSIZE == 0 && end % PGSIZE == 0);
+    assert(USER_ACCESS(start, end));
+
+    start = ROUNDDOWN(start, PTSIZE);
+    do {
+        int pde_idx = PDX(start);
+        if (pgdir[pde_idx] & PTE_P) {
+            free_page(pde2page(pgdir[pde_idx]));
+            pgdir[pde_idx] = 0;
+        }
+        start += PTSIZE;
+    } while (start != 0 && start < end);
+}
+/* copy_range - copy content of memory (start, end) of one process A to another process B
+ * @to:    the addr of process B's Page Directory
+ * @from:  the addr of process A's Page Directory
+ * @share: flags to indicate to dup OR share. We just use dup method, so it didn't be used.
+ *
+ * CALL GRAPH: copy_mm-->dup_mmap-->copy_range
+ */
+int
+copy_range(pde_t *to, pde_t *from, uintptr_t start, uintptr_t end, bool share) {
+    assert(start % PGSIZE == 0 && end % PGSIZE == 0);
+    assert(USER_ACCESS(start, end));
+    // copy content by page unit.
+    do {
+        //call get_pte to find process A's pte according to the addr start
+        pte_t *ptep = get_pte(from, start, 0), *nptep;
+        if (ptep == NULL) {
+            start = ROUNDDOWN(start + PTSIZE, PTSIZE);
+            continue ;
+        }
+        //call get_pte to find process B's pte according to the addr start. If pte is NULL, just alloc a PT
+        if (*ptep & PTE_P) {
+            if ((nptep = get_pte(to, start, 1)) == NULL) {
+                return -E_NO_MEM;
+            }
+        uint32_t perm = (*ptep & PTE_USER);
+        //get page from ptep
+        struct Page *page = pte2page(*ptep);
+        // alloc a page for process B
+        struct Page *npage=alloc_page();
+        assert(page!=NULL);
+        assert(npage!=NULL);
+        int ret=0;
+        /* LAB5:EXERCISE2 YOUR CODE
+         * replicate content of page to npage, build the map of phy addr of nage with the linear addr start
+         *
+         * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+         * MACROs or Functions:
+         *    page2kva(struct Page *page): return the kernel vritual addr of memory which page managed (SEE pmm.h)
+         *    page_insert: build the map of phy addr of an Page with the linear addr la
+         *    memcpy: typical memory copy function
+         *
+         * (1) find src_kvaddr: the kernel virtual address of page
+         * (2) find dst_kvaddr: the kernel virtual address of npage
+         * (3) memory copy from src_kvaddr to dst_kvaddr, size is PGSIZE
+         * (4) build the map of phy addr of  nage with the linear addr start
+         */
+        assert(ret == 0);
+        }
+        start += PGSIZE;
+    } while (start != 0 && start < end);
+    return 0;
+}
+
+//page_remove - free an Page which is related linear address la and has an validated pte
+void
+page_remove(pde_t *pgdir, uintptr_t la) {
+    pte_t *ptep = get_pte(pgdir, la, 0);
+    if (ptep != NULL) {
+        page_remove_pte(pgdir, la, ptep);
+    }
+}
+
+//page_insert - build the map of phy addr of an Page with the linear addr la
+// paramemters:
+//  pgdir: the kernel virtual base address of PDT
+//  page:  the Page which need to map
+//  la:    the linear address need to map
+//  perm:  the permission of this Page which is setted in related pte
+// return value: always 0
+//note: PT is changed, so the TLB need to be invalidate 
+int
+page_insert(pde_t *pgdir, struct Page *page, uintptr_t la, uint32_t perm) {
+    pte_t *ptep = get_pte(pgdir, la, 1);
+    if (ptep == NULL) {
+        return -E_NO_MEM;
+    }
+    page_ref_inc(page);
+    if (*ptep & PTE_P) {
+        struct Page *p = pte2page(*ptep);
+        if (p == page) {
+            page_ref_dec(page);
+        }
+        else {
+            page_remove_pte(pgdir, la, ptep);
+        }
+    }
+    *ptep = page2pa(page) | PTE_P | perm;
+    tlb_invalidate(pgdir, la);
+    return 0;
+}
+
+// invalidate a TLB entry, but only if the page tables being
+// edited are the ones currently in use by the processor.
+void
+tlb_invalidate(pde_t *pgdir, uintptr_t la) {
+    if (rcr3() == PADDR(pgdir)) {
+        invlpg((void *)la);
+    }
+}
+
+// pgdir_alloc_page - call alloc_page & page_insert functions to 
+//                  - allocate a page size memory & setup an addr map
+//                  - pa<->la with linear address la and the PDT pgdir
+struct Page *
+pgdir_alloc_page(pde_t *pgdir, uintptr_t la, uint32_t perm) {
+    struct Page *page = alloc_page();
+    if (page != NULL) {
+        if (page_insert(pgdir, page, la, perm) != 0) {
+            free_page(page);
+            return NULL;
+        }
+        if (swap_init_ok){
+            if(check_mm_struct!=NULL) {
+                swap_map_swappable(check_mm_struct, la, page, 0);
+                page->pra_vaddr=la;
+                assert(page_ref(page) == 1);
+                //cprintf("get No. %d  page: pra_vaddr %x, pra_link.prev %x, pra_link_next %x in pgdir_alloc_page\n", (page-pages), page->pra_vaddr,page->pra_page_link.prev, page->pra_page_link.next);
+            } 
+            else  {  //now current is existed, should fix it in the future
+                //swap_map_swappable(current->mm, la, page, 0);
+                //page->pra_vaddr=la;
+                //assert(page_ref(page) == 1);
+                //panic("pgdir_alloc_page: no pages. now current is existed, should fix it in the future\n");
+            }
+        }
+
+    }
+
+    return page;
+}
+
+static void
+check_alloc_page(void) {
+    pmm_manager->check();
+    cprintf("check_alloc_page() succeeded!\n");
+}
+
+static void
+check_pgdir(void) {
+    assert(npage <= KMEMSIZE / PGSIZE);
+    assert(boot_pgdir != NULL && (uint32_t)PGOFF(boot_pgdir) == 0);
+    assert(get_page(boot_pgdir, 0x0, NULL) == NULL);
+
+    struct Page *p1, *p2;
+    p1 = alloc_page();
+    assert(page_insert(boot_pgdir, p1, 0x0, 0) == 0);
+
+    pte_t *ptep;
+    assert((ptep = get_pte(boot_pgdir, 0x0, 0)) != NULL);
+    assert(pa2page(*ptep) == p1);
+    assert(page_ref(p1) == 1);
+
+    ptep = &((pte_t *)KADDR(PDE_ADDR(boot_pgdir[0])))[1];
+    assert(get_pte(boot_pgdir, PGSIZE, 0) == ptep);
+
+    p2 = alloc_page();
+    assert(page_insert(boot_pgdir, p2, PGSIZE, PTE_U | PTE_W) == 0);
+    assert((ptep = get_pte(boot_pgdir, PGSIZE, 0)) != NULL);
+    assert(*ptep & PTE_U);
+    assert(*ptep & PTE_W);
+    assert(boot_pgdir[0] & PTE_U);
+    assert(page_ref(p2) == 1);
+
+    assert(page_insert(boot_pgdir, p1, PGSIZE, 0) == 0);
+    assert(page_ref(p1) == 2);
+    assert(page_ref(p2) == 0);
+    assert((ptep = get_pte(boot_pgdir, PGSIZE, 0)) != NULL);
+    assert(pa2page(*ptep) == p1);
+    assert((*ptep & PTE_U) == 0);
+
+    page_remove(boot_pgdir, 0x0);
+    assert(page_ref(p1) == 1);
+    assert(page_ref(p2) == 0);
+
+    page_remove(boot_pgdir, PGSIZE);
+    assert(page_ref(p1) == 0);
+    assert(page_ref(p2) == 0);
+
+    assert(page_ref(pa2page(boot_pgdir[0])) == 1);
+    free_page(pa2page(boot_pgdir[0]));
+    boot_pgdir[0] = 0;
+
+    cprintf("check_pgdir() succeeded!\n");
+}
+
+static void
+check_boot_pgdir(void) {
+    pte_t *ptep;
+    int i;
+    for (i = 0; i < npage; i += PGSIZE) {
+        assert((ptep = get_pte(boot_pgdir, (uintptr_t)KADDR(i), 0)) != NULL);
+        assert(PTE_ADDR(*ptep) == i);
+    }
+
+    assert(PDE_ADDR(boot_pgdir[PDX(VPT)]) == PADDR(boot_pgdir));
+
+    assert(boot_pgdir[0] == 0);
+
+    struct Page *p;
+    p = alloc_page();
+    assert(page_insert(boot_pgdir, p, 0x100, PTE_W) == 0);
+    assert(page_ref(p) == 1);
+    assert(page_insert(boot_pgdir, p, 0x100 + PGSIZE, PTE_W) == 0);
+    assert(page_ref(p) == 2);
+
+    const char *str = "ucore: Hello world!!";
+    strcpy((void *)0x100, str);
+    assert(strcmp((void *)0x100, (void *)(0x100 + PGSIZE)) == 0);
+
+    *(char *)(page2kva(p) + 0x100) = '\0';
+    assert(strlen((const char *)0x100) == 0);
+
+    free_page(p);
+    free_page(pa2page(PDE_ADDR(boot_pgdir[0])));
+    boot_pgdir[0] = 0;
+
+    cprintf("check_boot_pgdir() succeeded!\n");
+}
+
+//perm2str - use string 'u,r,w,-' to present the permission
+static const char *
+perm2str(int perm) {
+    static char str[4];
+    str[0] = (perm & PTE_U) ? 'u' : '-';
+    str[1] = 'r';
+    str[2] = (perm & PTE_W) ? 'w' : '-';
+    str[3] = '\0';
+    return str;
+}
+
+//get_pgtable_items - In [left, right] range of PDT or PT, find a continuous linear addr space
+//                  - (left_store*X_SIZE~right_store*X_SIZE) for PDT or PT
+//                  - X_SIZE=PTSIZE=4M, if PDT; X_SIZE=PGSIZE=4K, if PT
+// paramemters:
+//  left:        no use ???
+//  right:       the high side of table's range
+//  start:       the low side of table's range
+//  table:       the beginning addr of table
+//  left_store:  the pointer of the high side of table's next range
+//  right_store: the pointer of the low side of table's next range
+// return value: 0 - not a invalid item range, perm - a valid item range with perm permission 
+static int
+get_pgtable_items(size_t left, size_t right, size_t start, uintptr_t *table, size_t *left_store, size_t *right_store) {
+    if (start >= right) {
+        return 0;
+    }
+    while (start < right && !(table[start] & PTE_P)) {
+        start ++;
+    }
+    if (start < right) {
+        if (left_store != NULL) {
+            *left_store = start;
+        }
+        int perm = (table[start ++] & PTE_USER);
+        while (start < right && (table[start] & PTE_USER) == perm) {
+            start ++;
+        }
+        if (right_store != NULL) {
+            *right_store = start;
+        }
+        return perm;
+    }
+    return 0;
+}
+
+//print_pgdir - print the PDT&PT
+void
+print_pgdir(void) {
+    cprintf("-------------------- BEGIN --------------------\n");
+    size_t left, right = 0, perm;
+    while ((perm = get_pgtable_items(0, NPDEENTRY, right, vpd, &left, &right)) != 0) {
+        cprintf("PDE(%03x) %08x-%08x %08x %s\n", right - left,
+                left * PTSIZE, right * PTSIZE, (right - left) * PTSIZE, perm2str(perm));
+        size_t l, r = left * NPTEENTRY;
+        while ((perm = get_pgtable_items(left * NPTEENTRY, right * NPTEENTRY, r, vpt, &l, &r)) != 0) {
+            cprintf("  |-- PTE(%05x) %08x-%08x %08x %s\n", r - l,
+                    l * PGSIZE, r * PGSIZE, (r - l) * PGSIZE, perm2str(perm));
+        }
+    }
+    cprintf("--------------------- END ---------------------\n");
+}
diff --git a/code/lab6/kern/mm/pmm.h b/code/lab6/kern/mm/pmm.h
new file mode 100644
index 0000000..1e229a7
--- /dev/null
+++ b/code/lab6/kern/mm/pmm.h
@@ -0,0 +1,145 @@
+#ifndef __KERN_MM_PMM_H__
+#define __KERN_MM_PMM_H__
+
+#include <defs.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <atomic.h>
+#include <assert.h>
+
+// pmm_manager is a physical memory management class. A special pmm manager - XXX_pmm_manager
+// only needs to implement the methods in pmm_manager class, then XXX_pmm_manager can be used
+// by ucore to manage the total physical memory space.
+struct pmm_manager {
+    const char *name;                                 // XXX_pmm_manager's name
+    void (*init)(void);                               // initialize internal description&management data structure
+                                                      // (free block list, number of free block) of XXX_pmm_manager 
+    void (*init_memmap)(struct Page *base, size_t n); // setup description&management data structcure according to
+                                                      // the initial free physical memory space 
+    struct Page *(*alloc_pages)(size_t n);            // allocate >=n pages, depend on the allocation algorithm 
+    void (*free_pages)(struct Page *base, size_t n);  // free >=n pages with "base" addr of Page descriptor structures(memlayout.h)
+    size_t (*nr_free_pages)(void);                    // return the number of free pages 
+    void (*check)(void);                              // check the correctness of XXX_pmm_manager 
+};
+
+extern const struct pmm_manager *pmm_manager;
+extern pde_t *boot_pgdir;
+extern uintptr_t boot_cr3;
+
+void pmm_init(void);
+
+struct Page *alloc_pages(size_t n);
+void free_pages(struct Page *base, size_t n);
+size_t nr_free_pages(void);
+
+#define alloc_page() alloc_pages(1)
+#define free_page(page) free_pages(page, 1)
+
+pte_t *get_pte(pde_t *pgdir, uintptr_t la, bool create);
+struct Page *get_page(pde_t *pgdir, uintptr_t la, pte_t **ptep_store);
+void page_remove(pde_t *pgdir, uintptr_t la);
+int page_insert(pde_t *pgdir, struct Page *page, uintptr_t la, uint32_t perm);
+
+void load_esp0(uintptr_t esp0);
+void tlb_invalidate(pde_t *pgdir, uintptr_t la);
+struct Page *pgdir_alloc_page(pde_t *pgdir, uintptr_t la, uint32_t perm);
+void unmap_range(pde_t *pgdir, uintptr_t start, uintptr_t end);
+void exit_range(pde_t *pgdir, uintptr_t start, uintptr_t end);
+int copy_range(pde_t *to, pde_t *from, uintptr_t start, uintptr_t end, bool share);
+
+void print_pgdir(void);
+
+/* *
+ * PADDR - takes a kernel virtual address (an address that points above KERNBASE),
+ * where the machine's maximum 256MB of physical memory is mapped and returns the
+ * corresponding physical address.  It panics if you pass it a non-kernel virtual address.
+ * */
+#define PADDR(kva) ({                                                   \
+            uintptr_t __m_kva = (uintptr_t)(kva);                       \
+            if (__m_kva < KERNBASE) {                                   \
+                panic("PADDR called with invalid kva %08lx", __m_kva);  \
+            }                                                           \
+            __m_kva - KERNBASE;                                         \
+        })
+
+/* *
+ * KADDR - takes a physical address and returns the corresponding kernel virtual
+ * address. It panics if you pass an invalid physical address.
+ * */
+#define KADDR(pa) ({                                                    \
+            uintptr_t __m_pa = (pa);                                    \
+            size_t __m_ppn = PPN(__m_pa);                               \
+            if (__m_ppn >= npage) {                                     \
+                panic("KADDR called with invalid pa %08lx", __m_pa);    \
+            }                                                           \
+            (void *) (__m_pa + KERNBASE);                               \
+        })
+
+extern struct Page *pages;
+extern size_t npage;
+
+static inline ppn_t
+page2ppn(struct Page *page) {
+    return page - pages;
+}
+
+static inline uintptr_t
+page2pa(struct Page *page) {
+    return page2ppn(page) << PGSHIFT;
+}
+
+static inline struct Page *
+pa2page(uintptr_t pa) {
+    if (PPN(pa) >= npage) {
+        panic("pa2page called with invalid pa");
+    }
+    return &pages[PPN(pa)];
+}
+
+static inline void *
+page2kva(struct Page *page) {
+    return KADDR(page2pa(page));
+}
+
+static inline struct Page *
+kva2page(void *kva) {
+    return pa2page(PADDR(kva));
+}
+
+static inline struct Page *
+pte2page(pte_t pte) {
+    if (!(pte & PTE_P)) {
+        panic("pte2page called with invalid pte");
+    }
+    return pa2page(PTE_ADDR(pte));
+}
+
+static inline struct Page *
+pde2page(pde_t pde) {
+    return pa2page(PDE_ADDR(pde));
+}
+
+static inline int
+page_ref(struct Page *page) {
+    return atomic_read(&(page->ref));
+}
+
+static inline void
+set_page_ref(struct Page *page, int val) {
+    atomic_set(&(page->ref), val);
+}
+
+static inline int
+page_ref_inc(struct Page *page) {
+    return atomic_add_return(&(page->ref), 1);
+}
+
+static inline int
+page_ref_dec(struct Page *page) {
+    return atomic_sub_return(&(page->ref), 1);
+}
+
+extern char bootstack[], bootstacktop[];
+
+#endif /* !__KERN_MM_PMM_H__ */
+
diff --git a/code/lab6/kern/mm/swap.c b/code/lab6/kern/mm/swap.c
new file mode 100644
index 0000000..281889d
--- /dev/null
+++ b/code/lab6/kern/mm/swap.c
@@ -0,0 +1,284 @@
+#include <swap.h>
+#include <swapfs.h>
+#include <swap_fifo.h>
+#include <stdio.h>
+#include <string.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <mmu.h>
+#include <default_pmm.h>
+#include <kdebug.h>
+
+// the valid vaddr for check is between 0~CHECK_VALID_VADDR-1
+#define CHECK_VALID_VIR_PAGE_NUM 5
+#define BEING_CHECK_VALID_VADDR 0X1000
+#define CHECK_VALID_VADDR (CHECK_VALID_VIR_PAGE_NUM+1)*0x1000
+// the max number of valid physical page for check
+#define CHECK_VALID_PHY_PAGE_NUM 4
+// the max access seq number
+#define MAX_SEQ_NO 10
+
+static struct swap_manager *sm;
+size_t max_swap_offset;
+
+volatile int swap_init_ok = 0;
+
+unsigned int swap_page[CHECK_VALID_VIR_PAGE_NUM];
+
+unsigned int swap_in_seq_no[MAX_SEQ_NO],swap_out_seq_no[MAX_SEQ_NO];
+
+static void check_swap(void);
+
+int
+swap_init(void)
+{
+     swapfs_init();
+
+     if (!(1024 <= max_swap_offset && max_swap_offset < MAX_SWAP_OFFSET_LIMIT))
+     {
+          panic("bad max_swap_offset %08x.\n", max_swap_offset);
+     }
+     
+
+     sm = &swap_manager_fifo;
+     int r = sm->init();
+     
+     if (r == 0)
+     {
+          swap_init_ok = 1;
+          cprintf("SWAP: manager = %s\n", sm->name);
+          check_swap();
+     }
+
+     return r;
+}
+
+int
+swap_init_mm(struct mm_struct *mm)
+{
+     return sm->init_mm(mm);
+}
+
+int
+swap_tick_event(struct mm_struct *mm)
+{
+     return sm->tick_event(mm);
+}
+
+int
+swap_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in)
+{
+     return sm->map_swappable(mm, addr, page, swap_in);
+}
+
+int
+swap_set_unswappable(struct mm_struct *mm, uintptr_t addr)
+{
+     return sm->set_unswappable(mm, addr);
+}
+
+volatile unsigned int swap_out_num=0;
+
+int
+swap_out(struct mm_struct *mm, int n, int in_tick)
+{
+     int i;
+     for (i = 0; i != n; ++ i)
+     {
+          uintptr_t v;
+          //struct Page **ptr_page=NULL;
+          struct Page *page;
+          // cprintf("i %d, SWAP: call swap_out_victim\n",i);
+          int r = sm->swap_out_victim(mm, &page, in_tick);
+          if (r != 0) {
+                    cprintf("i %d, swap_out: call swap_out_victim failed\n",i);
+                  break;
+          }          
+          //assert(!PageReserved(page));
+
+          //cprintf("SWAP: choose victim page 0x%08x\n", page);
+          
+          v=page->pra_vaddr; 
+          pte_t *ptep = get_pte(mm->pgdir, v, 0);
+          assert((*ptep & PTE_P) != 0);
+
+          if (swapfs_write( (page->pra_vaddr/PGSIZE+1)<<8, page) != 0) {
+                    cprintf("SWAP: failed to save\n");
+                    sm->map_swappable(mm, v, page, 0);
+                    continue;
+          }
+          else {
+                    cprintf("swap_out: i %d, store page in vaddr 0x%x to disk swap entry %d\n", i, v, page->pra_vaddr/PGSIZE+1);
+                    *ptep = (page->pra_vaddr/PGSIZE+1)<<8;
+                    free_page(page);
+          }
+          
+          tlb_invalidate(mm->pgdir, v);
+     }
+     return i;
+}
+
+int
+swap_in(struct mm_struct *mm, uintptr_t addr, struct Page **ptr_result)
+{
+     struct Page *result = alloc_page();
+     assert(result!=NULL);
+
+     pte_t *ptep = get_pte(mm->pgdir, addr, 0);
+     // cprintf("SWAP: load ptep %x swap entry %d to vaddr 0x%08x, page %x, No %d\n", ptep, (*ptep)>>8, addr, result, (result-pages));
+    
+     int r;
+     if ((r = swapfs_read((*ptep), result)) != 0)
+     {
+        assert(r!=0);
+     }
+     cprintf("swap_in: load disk swap entry %d with swap_page in vadr 0x%x\n", (*ptep)>>8, addr);
+     *ptr_result=result;
+     return 0;
+}
+
+
+
+static inline void
+check_content_set(void)
+{
+     *(unsigned char *)0x1000 = 0x0a;
+     assert(pgfault_num==1);
+     *(unsigned char *)0x1010 = 0x0a;
+     assert(pgfault_num==1);
+     *(unsigned char *)0x2000 = 0x0b;
+     assert(pgfault_num==2);
+     *(unsigned char *)0x2010 = 0x0b;
+     assert(pgfault_num==2);
+     *(unsigned char *)0x3000 = 0x0c;
+     assert(pgfault_num==3);
+     *(unsigned char *)0x3010 = 0x0c;
+     assert(pgfault_num==3);
+     *(unsigned char *)0x4000 = 0x0d;
+     assert(pgfault_num==4);
+     *(unsigned char *)0x4010 = 0x0d;
+     assert(pgfault_num==4);
+}
+
+static inline int
+check_content_access(void)
+{
+    int ret = sm->check_swap();
+    return ret;
+}
+
+struct Page * check_rp[CHECK_VALID_PHY_PAGE_NUM];
+pte_t * check_ptep[CHECK_VALID_PHY_PAGE_NUM];
+unsigned int check_swap_addr[CHECK_VALID_VIR_PAGE_NUM];
+
+extern free_area_t free_area;
+
+#define free_list (free_area.free_list)
+#define nr_free (free_area.nr_free)
+
+static void
+check_swap(void)
+{
+    //backup mem env
+     int ret, count = 0, total = 0, i;
+     list_entry_t *le = &free_list;
+     while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        //assert(PageProperty(p));
+        count ++, total += p->property;
+     }
+     assert(total == nr_free_pages());
+     cprintf("BEGIN check_swap: count %d, total %d\n",count,total);
+     
+     //now we set the phy pages env     
+     struct mm_struct *mm = mm_create();
+     assert(mm != NULL);
+
+     extern struct mm_struct *check_mm_struct;
+     assert(check_mm_struct == NULL);
+
+     check_mm_struct = mm;
+
+     pde_t *pgdir = mm->pgdir = boot_pgdir;
+     assert(pgdir[0] == 0);
+
+     struct vma_struct *vma = vma_create(BEING_CHECK_VALID_VADDR, CHECK_VALID_VADDR, VM_WRITE | VM_READ);
+     assert(vma != NULL);
+
+     insert_vma_struct(mm, vma);
+
+     //setup the temp Page Table vaddr 0~4MB
+     cprintf("setup Page Table for vaddr 0X1000, so alloc a page\n");
+     pte_t *temp_ptep=NULL;
+     temp_ptep = get_pte(mm->pgdir, BEING_CHECK_VALID_VADDR, 1);
+     assert(temp_ptep!= NULL);
+     cprintf("setup Page Table vaddr 0~4MB OVER!\n");
+     
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+          check_rp[i] = alloc_page();
+          assert(check_rp[i] != NULL );
+          assert(!PageProperty(check_rp[i]));
+     }
+     list_entry_t free_list_store = free_list;
+     list_init(&free_list);
+     assert(list_empty(&free_list));
+     
+     //assert(alloc_page() == NULL);
+     
+     unsigned int nr_free_store = nr_free;
+     nr_free = 0;
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+        free_pages(check_rp[i],1);
+     }
+     assert(nr_free==CHECK_VALID_PHY_PAGE_NUM);
+     
+     cprintf("set up init env for check_swap begin!\n");
+     //setup initial vir_page<->phy_page environment for page relpacement algorithm 
+
+     
+     pgfault_num=0;
+     
+     check_content_set();
+     assert( nr_free == 0);         
+     for(i = 0; i<MAX_SEQ_NO ; i++) 
+         swap_out_seq_no[i]=swap_in_seq_no[i]=-1;
+     
+     for (i= 0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+         check_ptep[i]=0;
+         check_ptep[i] = get_pte(pgdir, (i+1)*0x1000, 0);
+         //cprintf("i %d, check_ptep addr %x, value %x\n", i, check_ptep[i], *check_ptep[i]);
+         assert(check_ptep[i] != NULL);
+         assert(pte2page(*check_ptep[i]) == check_rp[i]);
+         assert((*check_ptep[i] & PTE_P));          
+     }
+     cprintf("set up init env for check_swap over!\n");
+     // now access the virt pages to test  page relpacement algorithm 
+     ret=check_content_access();
+     assert(ret==0);
+     
+     //restore kernel mem env
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+         free_pages(check_rp[i],1);
+     } 
+
+     //free_page(pte2page(*temp_ptep));
+    free_page(pa2page(pgdir[0]));
+     pgdir[0] = 0;
+     mm->pgdir = NULL;
+     mm_destroy(mm);
+     check_mm_struct = NULL;
+     
+     nr_free = nr_free_store;
+     free_list = free_list_store;
+
+     
+     le = &free_list;
+     while ((le = list_next(le)) != &free_list) {
+         struct Page *p = le2page(le, page_link);
+         count --, total -= p->property;
+     }
+         cprintf("count is %d, total is %d\n",count,total);
+     //assert(count == 0);
+     
+     cprintf("check_swap() succeeded!\n");
+}
diff --git a/code/lab6/kern/mm/swap.h b/code/lab6/kern/mm/swap.h
new file mode 100644
index 0000000..5d4aea8
--- /dev/null
+++ b/code/lab6/kern/mm/swap.h
@@ -0,0 +1,65 @@
+#ifndef __KERN_MM_SWAP_H__
+#define __KERN_MM_SWAP_H__
+
+#include <defs.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <vmm.h>
+
+/* *
+ * swap_entry_t
+ * --------------------------------------------
+ * |         offset        |   reserved   | 0 |
+ * --------------------------------------------
+ *           24 bits            7 bits    1 bit
+ * */
+
+#define MAX_SWAP_OFFSET_LIMIT                   (1 << 24)
+
+extern size_t max_swap_offset;
+
+/* *
+ * swap_offset - takes a swap_entry (saved in pte), and returns
+ * the corresponding offset in swap mem_map.
+ * */
+#define swap_offset(entry) ({                                       \
+               size_t __offset = (entry >> 8);                        \
+               if (!(__offset > 0 && __offset < max_swap_offset)) {    \
+                    panic("invalid swap_entry_t = %08x.\n", entry);    \
+               }                                                    \
+               __offset;                                            \
+          })
+
+struct swap_manager
+{
+     const char *name;
+     /* Global initialization for the swap manager */
+     int (*init)            (void);
+     /* Initialize the priv data inside mm_struct */
+     int (*init_mm)         (struct mm_struct *mm);
+     /* Called when tick interrupt occured */
+     int (*tick_event)      (struct mm_struct *mm);
+     /* Called when map a swappable page into the mm_struct */
+     int (*map_swappable)   (struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in);
+     /* When a page is marked as shared, this routine is called to
+      * delete the addr entry from the swap manager */
+     int (*set_unswappable) (struct mm_struct *mm, uintptr_t addr);
+     /* Try to swap out a page, return then victim */
+     int (*swap_out_victim) (struct mm_struct *mm, struct Page **ptr_page, int in_tick);
+     /* check the page relpacement algorithm */
+     int (*check_swap)(void);     
+};
+
+extern volatile int swap_init_ok;
+int swap_init(void);
+int swap_init_mm(struct mm_struct *mm);
+int swap_tick_event(struct mm_struct *mm);
+int swap_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in);
+int swap_set_unswappable(struct mm_struct *mm, uintptr_t addr);
+int swap_out(struct mm_struct *mm, int n, int in_tick);
+int swap_in(struct mm_struct *mm, uintptr_t addr, struct Page **ptr_result);
+
+//#define MEMBER_OFFSET(m,t) ((int)(&((t *)0)->m))
+//#define FROM_MEMBER(m,t,a) ((t *)((char *)(a) - MEMBER_OFFSET(m,t)))
+
+#endif
diff --git a/code/lab6/kern/mm/swap_fifo.c b/code/lab6/kern/mm/swap_fifo.c
new file mode 100644
index 0000000..4cb00c1
--- /dev/null
+++ b/code/lab6/kern/mm/swap_fifo.c
@@ -0,0 +1,136 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <swap.h>
+#include <swap_fifo.h>
+#include <list.h>
+
+/* [wikipedia]The simplest Page Replacement Algorithm(PRA) is a FIFO algorithm. The first-in, first-out
+ * page replacement algorithm is a low-overhead algorithm that requires little book-keeping on
+ * the part of the operating system. The idea is obvious from the name - the operating system
+ * keeps track of all the pages in memory in a queue, with the most recent arrival at the back,
+ * and the earliest arrival in front. When a page needs to be replaced, the page at the front
+ * of the queue (the oldest page) is selected. While FIFO is cheap and intuitive, it performs
+ * poorly in practical application. Thus, it is rarely used in its unmodified form. This
+ * algorithm experiences Belady's anomaly.
+ *
+ * Details of FIFO PRA
+ * (1) Prepare: In order to implement FIFO PRA, we should manage all swappable pages, so we can
+ *              link these pages into pra_list_head according the time order. At first you should
+ *              be familiar to the struct list in list.h. struct list is a simple doubly linked list
+ *              implementation. You should know howto USE: list_init, list_add(list_add_after),
+ *              list_add_before, list_del, list_next, list_prev. Another tricky method is to transform
+ *              a general list struct to a special struct (such as struct page). You can find some MACRO:
+ *              le2page (in memlayout.h), (in future labs: le2vma (in vmm.h), le2proc (in proc.h),etc.
+ */
+
+list_entry_t pra_list_head;
+/*
+ * (2) _fifo_init_mm: init pra_list_head and let  mm->sm_priv point to the addr of pra_list_head.
+ *              Now, From the memory control struct mm_struct, we can access FIFO PRA
+ */
+static int
+_fifo_init_mm(struct mm_struct *mm)
+{     
+     list_init(&pra_list_head);
+     mm->sm_priv = &pra_list_head;
+     //cprintf(" mm->sm_priv %x in fifo_init_mm\n",mm->sm_priv);
+     return 0;
+}
+/*
+ * (3)_fifo_map_swappable: According FIFO PRA, we should link the most recent arrival page at the back of pra_list_head qeueue
+ */
+static int
+_fifo_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in)
+{
+    list_entry_t *head=(list_entry_t*) mm->sm_priv;
+    list_entry_t *entry=&(page->pra_page_link);
+ 
+    assert(entry != NULL && head != NULL);
+    //record the page access situlation
+    /*LAB3 EXERCISE 2: YOUR CODE*/ 
+    //(1)link the most recent arrival page at the back of the pra_list_head qeueue.
+    return 0;
+}
+/*
+ *  (4)_fifo_swap_out_victim: According FIFO PRA, we should unlink the  earliest arrival page in front of pra_list_head qeueue,
+ *                            then set the addr of addr of this page to ptr_page.
+ */
+static int
+_fifo_swap_out_victim(struct mm_struct *mm, struct Page ** ptr_page, int in_tick)
+{
+     list_entry_t *head=(list_entry_t*) mm->sm_priv;
+         assert(head != NULL);
+     assert(in_tick==0);
+     /* Select the victim */
+     /*LAB3 EXERCISE 2: YOUR CODE*/ 
+     //(1)  unlink the  earliest arrival page in front of pra_list_head qeueue
+     //(2)  set the addr of addr of this page to ptr_page
+     return 0;
+}
+
+static int
+_fifo_check_swap(void) {
+    cprintf("write Virt Page c in fifo_check_swap\n");
+    *(unsigned char *)0x3000 = 0x0c;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page a in fifo_check_swap\n");
+    *(unsigned char *)0x1000 = 0x0a;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page d in fifo_check_swap\n");
+    *(unsigned char *)0x4000 = 0x0d;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page e in fifo_check_swap\n");
+    *(unsigned char *)0x5000 = 0x0e;
+    assert(pgfault_num==5);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==5);
+    cprintf("write Virt Page a in fifo_check_swap\n");
+    *(unsigned char *)0x1000 = 0x0a;
+    assert(pgfault_num==6);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==7);
+    cprintf("write Virt Page c in fifo_check_swap\n");
+    *(unsigned char *)0x3000 = 0x0c;
+    assert(pgfault_num==8);
+    cprintf("write Virt Page d in fifo_check_swap\n");
+    *(unsigned char *)0x4000 = 0x0d;
+    assert(pgfault_num==9);
+    return 0;
+}
+
+
+static int
+_fifo_init(void)
+{
+    return 0;
+}
+
+static int
+_fifo_set_unswappable(struct mm_struct *mm, uintptr_t addr)
+{
+    return 0;
+}
+
+static int
+_fifo_tick_event(struct mm_struct *mm)
+{ return 0; }
+
+
+struct swap_manager swap_manager_fifo =
+{
+     .name            = "fifo swap manager",
+     .init            = &_fifo_init,
+     .init_mm         = &_fifo_init_mm,
+     .tick_event      = &_fifo_tick_event,
+     .map_swappable   = &_fifo_map_swappable,
+     .set_unswappable = &_fifo_set_unswappable,
+     .swap_out_victim = &_fifo_swap_out_victim,
+     .check_swap      = &_fifo_check_swap,
+};
diff --git a/code/lab6/kern/mm/swap_fifo.h b/code/lab6/kern/mm/swap_fifo.h
new file mode 100644
index 0000000..1d74269
--- /dev/null
+++ b/code/lab6/kern/mm/swap_fifo.h
@@ -0,0 +1,7 @@
+#ifndef __KERN_MM_SWAP_FIFO_H__
+#define __KERN_MM_SWAP_FIFO_H__
+
+#include <swap.h>
+extern struct swap_manager swap_manager_fifo;
+
+#endif
diff --git a/code/lab6/kern/mm/vmm.c b/code/lab6/kern/mm/vmm.c
new file mode 100644
index 0000000..8051479
--- /dev/null
+++ b/code/lab6/kern/mm/vmm.c
@@ -0,0 +1,508 @@
+#include <vmm.h>
+#include <sync.h>
+#include <string.h>
+#include <assert.h>
+#include <stdio.h>
+#include <error.h>
+#include <pmm.h>
+#include <x86.h>
+#include <swap.h>
+#include <kmalloc.h>
+
+/* 
+  vmm design include two parts: mm_struct (mm) & vma_struct (vma)
+  mm is the memory manager for the set of continuous virtual memory  
+  area which have the same PDT. vma is a continuous virtual memory area.
+  There a linear link list for vma & a redblack link list for vma in mm.
+---------------
+  mm related functions:
+   golbal functions
+     struct mm_struct * mm_create(void)
+     void mm_destroy(struct mm_struct *mm)
+     int do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr)
+--------------
+  vma related functions:
+   global functions
+     struct vma_struct * vma_create (uintptr_t vm_start, uintptr_t vm_end,...)
+     void insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma)
+     struct vma_struct * find_vma(struct mm_struct *mm, uintptr_t addr)
+   local functions
+     inline void check_vma_overlap(struct vma_struct *prev, struct vma_struct *next)
+---------------
+   check correctness functions
+     void check_vmm(void);
+     void check_vma_struct(void);
+     void check_pgfault(void);
+*/
+
+static void check_vmm(void);
+static void check_vma_struct(void);
+static void check_pgfault(void);
+
+// mm_create -  alloc a mm_struct & initialize it.
+struct mm_struct *
+mm_create(void) {
+    struct mm_struct *mm = kmalloc(sizeof(struct mm_struct));
+
+    if (mm != NULL) {
+        list_init(&(mm->mmap_list));
+        mm->mmap_cache = NULL;
+        mm->pgdir = NULL;
+        mm->map_count = 0;
+
+        if (swap_init_ok) swap_init_mm(mm);
+        else mm->sm_priv = NULL;
+        
+        set_mm_count(mm, 0);
+        lock_init(&(mm->mm_lock));
+    }    
+    return mm;
+}
+
+// vma_create - alloc a vma_struct & initialize it. (addr range: vm_start~vm_end)
+struct vma_struct *
+vma_create(uintptr_t vm_start, uintptr_t vm_end, uint32_t vm_flags) {
+    struct vma_struct *vma = kmalloc(sizeof(struct vma_struct));
+
+    if (vma != NULL) {
+        vma->vm_start = vm_start;
+        vma->vm_end = vm_end;
+        vma->vm_flags = vm_flags;
+    }
+    return vma;
+}
+
+
+// find_vma - find a vma  (vma->vm_start <= addr <= vma_vm_end)
+struct vma_struct *
+find_vma(struct mm_struct *mm, uintptr_t addr) {
+    struct vma_struct *vma = NULL;
+    if (mm != NULL) {
+        vma = mm->mmap_cache;
+        if (!(vma != NULL && vma->vm_start <= addr && vma->vm_end > addr)) {
+                bool found = 0;
+                list_entry_t *list = &(mm->mmap_list), *le = list;
+                while ((le = list_next(le)) != list) {
+                    vma = le2vma(le, list_link);
+                    if (addr < vma->vm_end) {
+                        found = 1;
+                        break;
+                    }
+                }
+                if (!found) {
+                    vma = NULL;
+                }
+        }
+        if (vma != NULL) {
+            mm->mmap_cache = vma;
+        }
+    }
+    return vma;
+}
+
+
+// check_vma_overlap - check if vma1 overlaps vma2 ?
+static inline void
+check_vma_overlap(struct vma_struct *prev, struct vma_struct *next) {
+    assert(prev->vm_start < prev->vm_end);
+    assert(prev->vm_end <= next->vm_start);
+    assert(next->vm_start < next->vm_end);
+}
+
+
+// insert_vma_struct -insert vma in mm's list link
+void
+insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma) {
+    assert(vma->vm_start < vma->vm_end);
+    list_entry_t *list = &(mm->mmap_list);
+    list_entry_t *le_prev = list, *le_next;
+
+        list_entry_t *le = list;
+        while ((le = list_next(le)) != list) {
+            struct vma_struct *mmap_prev = le2vma(le, list_link);
+            if (mmap_prev->vm_start > vma->vm_start) {
+                break;
+            }
+            le_prev = le;
+        }
+
+    le_next = list_next(le_prev);
+
+    /* check overlap */
+    if (le_prev != list) {
+        check_vma_overlap(le2vma(le_prev, list_link), vma);
+    }
+    if (le_next != list) {
+        check_vma_overlap(vma, le2vma(le_next, list_link));
+    }
+
+    vma->vm_mm = mm;
+    list_add_after(le_prev, &(vma->list_link));
+
+    mm->map_count ++;
+}
+
+// mm_destroy - free mm and mm internal fields
+void
+mm_destroy(struct mm_struct *mm) {
+    assert(mm_count(mm) == 0);
+
+    list_entry_t *list = &(mm->mmap_list), *le;
+    while ((le = list_next(list)) != list) {
+        list_del(le);
+        kfree(le2vma(le, list_link));  //kfree vma        
+    }
+    kfree(mm); //kfree mm
+    mm=NULL;
+}
+
+int
+mm_map(struct mm_struct *mm, uintptr_t addr, size_t len, uint32_t vm_flags,
+       struct vma_struct **vma_store) {
+    uintptr_t start = ROUNDDOWN(addr, PGSIZE), end = ROUNDUP(addr + len, PGSIZE);
+    if (!USER_ACCESS(start, end)) {
+        return -E_INVAL;
+    }
+
+    assert(mm != NULL);
+
+    int ret = -E_INVAL;
+
+    struct vma_struct *vma;
+    if ((vma = find_vma(mm, start)) != NULL && end > vma->vm_start) {
+        goto out;
+    }
+    ret = -E_NO_MEM;
+
+    if ((vma = vma_create(start, end, vm_flags)) == NULL) {
+        goto out;
+    }
+    insert_vma_struct(mm, vma);
+    if (vma_store != NULL) {
+        *vma_store = vma;
+    }
+    ret = 0;
+
+out:
+    return ret;
+}
+
+int
+dup_mmap(struct mm_struct *to, struct mm_struct *from) {
+    assert(to != NULL && from != NULL);
+    list_entry_t *list = &(from->mmap_list), *le = list;
+    while ((le = list_prev(le)) != list) {
+        struct vma_struct *vma, *nvma;
+        vma = le2vma(le, list_link);
+        nvma = vma_create(vma->vm_start, vma->vm_end, vma->vm_flags);
+        if (nvma == NULL) {
+            return -E_NO_MEM;
+        }
+
+        insert_vma_struct(to, nvma);
+
+        bool share = 0;
+        if (copy_range(to->pgdir, from->pgdir, vma->vm_start, vma->vm_end, share) != 0) {
+            return -E_NO_MEM;
+        }
+    }
+    return 0;
+}
+
+void
+exit_mmap(struct mm_struct *mm) {
+    assert(mm != NULL && mm_count(mm) == 0);
+    pde_t *pgdir = mm->pgdir;
+    list_entry_t *list = &(mm->mmap_list), *le = list;
+    while ((le = list_next(le)) != list) {
+        struct vma_struct *vma = le2vma(le, list_link);
+        unmap_range(pgdir, vma->vm_start, vma->vm_end);
+    }
+    while ((le = list_next(le)) != list) {
+        struct vma_struct *vma = le2vma(le, list_link);
+        exit_range(pgdir, vma->vm_start, vma->vm_end);
+    }
+}
+
+bool
+copy_from_user(struct mm_struct *mm, void *dst, const void *src, size_t len, bool writable) {
+    if (!user_mem_check(mm, (uintptr_t)src, len, writable)) {
+        return 0;
+    }
+    memcpy(dst, src, len);
+    return 1;
+}
+
+bool
+copy_to_user(struct mm_struct *mm, void *dst, const void *src, size_t len) {
+    if (!user_mem_check(mm, (uintptr_t)dst, len, 1)) {
+        return 0;
+    }
+    memcpy(dst, src, len);
+    return 1;
+}
+
+// vmm_init - initialize virtual memory management
+//          - now just call check_vmm to check correctness of vmm
+void
+vmm_init(void) {
+    check_vmm();
+}
+
+// check_vmm - check correctness of vmm
+static void
+check_vmm(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+    
+    check_vma_struct();
+    check_pgfault();
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_vmm() succeeded.\n");
+}
+
+static void
+check_vma_struct(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+
+    struct mm_struct *mm = mm_create();
+    assert(mm != NULL);
+
+    int step1 = 10, step2 = step1 * 10;
+
+    int i;
+    for (i = step1; i >= 0; i --) {
+        struct vma_struct *vma = vma_create(i * 5, i * 5 + 2, 0);
+        assert(vma != NULL);
+        insert_vma_struct(mm, vma);
+    }
+
+    for (i = step1 + 1; i <= step2; i ++) {
+        struct vma_struct *vma = vma_create(i * 5, i * 5 + 2, 0);
+        assert(vma != NULL);
+        insert_vma_struct(mm, vma);
+    }
+
+    list_entry_t *le = list_next(&(mm->mmap_list));
+
+    for (i = 0; i <= step2; i ++) {
+        assert(le != &(mm->mmap_list));
+        struct vma_struct *mmap = le2vma(le, list_link);
+        assert(mmap->vm_start == i * 5 && mmap->vm_end == i * 5 + 2);
+        le = list_next(le);
+    }
+
+    for (i = 0; i < 5 * step2 + 2; i ++) {
+        struct vma_struct *vma = find_vma(mm, i);
+        assert(vma != NULL);
+        int j = i / 5;
+        if (i >= 5 * j + 2) {
+            j ++;
+        }
+        assert(vma->vm_start == j * 5 && vma->vm_end == j * 5 + 2);
+    }
+
+    mm_destroy(mm);
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_vma_struct() succeeded!\n");
+}
+
+struct mm_struct *check_mm_struct;
+
+// check_pgfault - check correctness of pgfault handler
+static void
+check_pgfault(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+
+    check_mm_struct = mm_create();
+    assert(check_mm_struct != NULL);
+
+    struct mm_struct *mm = check_mm_struct;
+    pde_t *pgdir = mm->pgdir = boot_pgdir;
+    assert(pgdir[0] == 0);
+
+    struct vma_struct *vma = vma_create(0, PTSIZE, VM_WRITE);
+    assert(vma != NULL);
+
+    insert_vma_struct(mm, vma);
+
+    uintptr_t addr = 0x100;
+    assert(find_vma(mm, addr) == vma);
+
+    int i, sum = 0;
+    for (i = 0; i < 100; i ++) {
+        *(char *)(addr + i) = i;
+        sum += i;
+    }
+    for (i = 0; i < 100; i ++) {
+        sum -= *(char *)(addr + i);
+    }
+    assert(sum == 0);
+
+    page_remove(pgdir, ROUNDDOWN(addr, PGSIZE));
+    free_page(pa2page(pgdir[0]));
+    pgdir[0] = 0;
+
+    mm->pgdir = NULL;
+    mm_destroy(mm);
+    check_mm_struct = NULL;
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_pgfault() succeeded!\n");
+}
+//page fault number
+volatile unsigned int pgfault_num=0;
+
+/* do_pgfault - interrupt handler to process the page fault execption
+ * @mm         : the control struct for a set of vma using the same PDT
+ * @error_code : the error code recorded in trapframe->tf_err which is setted by x86 hardware
+ * @addr       : the addr which causes a memory access exception, (the contents of the CR2 register)
+ *
+ * CALL GRAPH: trap--> trap_dispatch-->pgfault_handler-->do_pgfault
+ * The processor provides ucore's do_pgfault function with two items of information to aid in diagnosing
+ * the exception and recovering from it.
+ *   (1) The contents of the CR2 register. The processor loads the CR2 register with the
+ *       32-bit linear address that generated the exception. The do_pgfault fun can
+ *       use this address to locate the corresponding page directory and page-table
+ *       entries.
+ *   (2) An error code on the kernel stack. The error code for a page fault has a format different from
+ *       that for other exceptions. The error code tells the exception handler three things:
+ *         -- The P flag   (bit 0) indicates whether the exception was due to a not-present page (0)
+ *            or to either an access rights violation or the use of a reserved bit (1).
+ *         -- The W/R flag (bit 1) indicates whether the memory access that caused the exception
+ *            was a read (0) or write (1).
+ *         -- The U/S flag (bit 2) indicates whether the processor was executing at user mode (1)
+ *            or supervisor mode (0) at the time of the exception.
+ */
+int
+do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr) {
+    int ret = -E_INVAL;
+    //try to find a vma which include addr
+    struct vma_struct *vma = find_vma(mm, addr);
+
+    pgfault_num++;
+    //If the addr is in the range of a mm's vma?
+    if (vma == NULL || vma->vm_start > addr) {
+        cprintf("not valid addr %x, and  can not find it in vma\n", addr);
+        goto failed;
+    }
+    //check the error_code
+    switch (error_code & 3) {
+    default:
+            /* error code flag : default is 3 ( W/R=1, P=1): write, present */
+    case 2: /* error code flag : (W/R=1, P=0): write, not present */
+        if (!(vma->vm_flags & VM_WRITE)) {
+            cprintf("do_pgfault failed: error code flag = write AND not present, but the addr's vma cannot write\n");
+            goto failed;
+        }
+        break;
+    case 1: /* error code flag : (W/R=0, P=1): read, present */
+        cprintf("do_pgfault failed: error code flag = read AND present\n");
+        goto failed;
+    case 0: /* error code flag : (W/R=0, P=0): read, not present */
+        if (!(vma->vm_flags & (VM_READ | VM_EXEC))) {
+            cprintf("do_pgfault failed: error code flag = read AND not present, but the addr's vma cannot read or exec\n");
+            goto failed;
+        }
+    }
+    /* IF (write an existed addr ) OR
+     *    (write an non_existed addr && addr is writable) OR
+     *    (read  an non_existed addr && addr is readable)
+     * THEN
+     *    continue process
+     */
+    uint32_t perm = PTE_U;
+    if (vma->vm_flags & VM_WRITE) {
+        perm |= PTE_W;
+    }
+    addr = ROUNDDOWN(addr, PGSIZE);
+
+    ret = -E_NO_MEM;
+
+    pte_t *ptep=NULL;
+    /*LAB3 EXERCISE 1: YOUR CODE
+    * Maybe you want help comment, BELOW comments can help you finish the code
+    *
+    * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+    * MACROs or Functions:
+    *   get_pte : get an pte and return the kernel virtual address of this pte for la
+    *             if the PT contians this pte didn't exist, alloc a page for PT (notice the 3th parameter '1')
+    *   pgdir_alloc_page : call alloc_page & page_insert functions to allocate a page size memory & setup
+    *             an addr map pa<--->la with linear address la and the PDT pgdir
+    * DEFINES:
+    *   VM_WRITE  : If vma->vm_flags & VM_WRITE == 1/0, then the vma is writable/non writable
+    *   PTE_W           0x002                   // page table/directory entry flags bit : Writeable
+    *   PTE_U           0x004                   // page table/directory entry flags bit : User can access
+    * VARIABLES:
+    *   mm->pgdir : the PDT of these vma
+    *
+    */
+#if 0
+    /*LAB3 EXERCISE 1: YOUR CODE*/
+    ptep = ???              //(1) try to find a pte, if pte's PT(Page Table) isn't existed, then create a PT.
+    if (*ptep == 0) {
+                            //(2) if the phy addr isn't exist, then alloc a page & map the phy addr with logical addr
+
+    }
+    else {
+    /*LAB3 EXERCISE 2: YOUR CODE
+    * Now we think this pte is a  swap entry, we should load data from disk to a page with phy addr,
+    * and map the phy addr with logical addr, trigger swap manager to record the access situation of this page.
+    *
+    *  Some Useful MACROs and DEFINEs, you can use them in below implementation.
+    *  MACROs or Functions:
+    *    swap_in(mm, addr, &page) : alloc a memory page, then according to the swap entry in PTE for addr,
+    *                               find the addr of disk page, read the content of disk page into this memroy page
+    *    page_insert : build the map of phy addr of an Page with the linear addr la
+    *    swap_map_swappable : set the page swappable
+    */
+        if(swap_init_ok) {
+            struct Page *page=NULL;
+                                    //(1)According to the mm AND addr, try to load the content of right disk page
+                                    //    into the memory which page managed.
+                                    //(2) According to the mm, addr AND page, setup the map of phy addr <---> logical addr
+                                    //(3) make the page swappable.
+                                    //(4) [NOTICE]: you myabe need to update your lab3's implementation for LAB5's normal execution.
+        }
+        else {
+            cprintf("no swap_init_ok but ptep is %x, failed\n",*ptep);
+            goto failed;
+        }
+   }
+#endif
+   ret = 0;
+failed:
+    return ret;
+}
+
+bool
+user_mem_check(struct mm_struct *mm, uintptr_t addr, size_t len, bool write) {
+    if (mm != NULL) {
+        if (!USER_ACCESS(addr, addr + len)) {
+            return 0;
+        }
+        struct vma_struct *vma;
+        uintptr_t start = addr, end = addr + len;
+        while (start < end) {
+            if ((vma = find_vma(mm, start)) == NULL || start < vma->vm_start) {
+                return 0;
+            }
+            if (!(vma->vm_flags & ((write) ? VM_WRITE : VM_READ))) {
+                return 0;
+            }
+            if (write && (vma->vm_flags & VM_STACK)) {
+                if (start < vma->vm_start + PGSIZE) { //check stack start & size
+                    return 0;
+                }
+            }
+            start = vma->vm_end;
+        }
+        return 1;
+    }
+    return KERN_ACCESS(addr, addr + len);
+}
+
diff --git a/code/lab6/kern/mm/vmm.h b/code/lab6/kern/mm/vmm.h
new file mode 100644
index 0000000..b2abfdd
--- /dev/null
+++ b/code/lab6/kern/mm/vmm.h
@@ -0,0 +1,100 @@
+#ifndef __KERN_MM_VMM_H__
+#define __KERN_MM_VMM_H__
+
+#include <defs.h>
+#include <list.h>
+#include <memlayout.h>
+#include <sync.h>
+
+//pre define
+struct mm_struct;
+
+// the virtual continuous memory area(vma)
+struct vma_struct {
+    struct mm_struct *vm_mm; // the set of vma using the same PDT 
+    uintptr_t vm_start;      //    start addr of vma    
+    uintptr_t vm_end;        // end addr of vma
+    uint32_t vm_flags;       // flags of vma
+    list_entry_t list_link;  // linear list link which sorted by start addr of vma
+};
+
+#define le2vma(le, member)                  \
+    to_struct((le), struct vma_struct, member)
+
+#define VM_READ                 0x00000001
+#define VM_WRITE                0x00000002
+#define VM_EXEC                 0x00000004
+#define VM_STACK                0x00000008
+
+// the control struct for a set of vma using the same PDT
+struct mm_struct {
+    list_entry_t mmap_list;        // linear list link which sorted by start addr of vma
+    struct vma_struct *mmap_cache; // current accessed vma, used for speed purpose
+    pde_t *pgdir;                  // the PDT of these vma
+    int map_count;                 // the count of these vma
+    void *sm_priv;                 // the private data for swap manager
+    atomic_t mm_count;             // the number ofprocess which shared the mm
+    lock_t mm_lock;                // mutex for using dup_mmap fun to duplicat the mm
+};
+
+struct vma_struct *find_vma(struct mm_struct *mm, uintptr_t addr);
+struct vma_struct *vma_create(uintptr_t vm_start, uintptr_t vm_end, uint32_t vm_flags);
+void insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma);
+
+struct mm_struct *mm_create(void);
+void mm_destroy(struct mm_struct *mm);
+
+void vmm_init(void);
+int mm_map(struct mm_struct *mm, uintptr_t addr, size_t len, uint32_t vm_flags,
+           struct vma_struct **vma_store);
+int do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr);
+
+int mm_unmap(struct mm_struct *mm, uintptr_t addr, size_t len);
+int dup_mmap(struct mm_struct *to, struct mm_struct *from);
+void exit_mmap(struct mm_struct *mm);
+uintptr_t get_unmapped_area(struct mm_struct *mm, size_t len);
+int mm_brk(struct mm_struct *mm, uintptr_t addr, size_t len);
+
+extern volatile unsigned int pgfault_num;
+extern struct mm_struct *check_mm_struct;
+
+bool user_mem_check(struct mm_struct *mm, uintptr_t start, size_t len, bool write);
+bool copy_from_user(struct mm_struct *mm, void *dst, const void *src, size_t len, bool writable);
+bool copy_to_user(struct mm_struct *mm, void *dst, const void *src, size_t len);
+
+static inline int
+mm_count(struct mm_struct *mm) {
+    return atomic_read(&(mm->mm_count));
+}
+
+static inline void
+set_mm_count(struct mm_struct *mm, int val) {
+    atomic_set(&(mm->mm_count), val);
+}
+
+static inline int
+mm_count_inc(struct mm_struct *mm) {
+    return atomic_add_return(&(mm->mm_count), 1);
+}
+
+static inline int
+mm_count_dec(struct mm_struct *mm) {
+    return atomic_sub_return(&(mm->mm_count), 1);
+}
+
+static inline void
+lock_mm(struct mm_struct *mm) {
+    if (mm != NULL) {
+        lock(&(mm->mm_lock));
+    }
+}
+
+static inline void
+unlock_mm(struct mm_struct *mm) {
+    if (mm != NULL) {
+        unlock(&(mm->mm_lock));
+    }
+}
+
+#endif /* !__KERN_MM_VMM_H__ */
+
diff --git a/code/lab6/kern/process/entry.S b/code/lab6/kern/process/entry.S
new file mode 100644
index 0000000..7482e23
--- /dev/null
+++ b/code/lab6/kern/process/entry.S
@@ -0,0 +1,10 @@
+.text
+.globl kernel_thread_entry
+kernel_thread_entry:        # void kernel_thread(void)
+
+    pushl %edx              # push arg
+    call *%ebx              # call fn
+
+    pushl %eax              # save the return value of fn(arg)
+    call do_exit            # call do_exit to terminate current thread
+
diff --git a/code/lab6/kern/process/proc.c b/code/lab6/kern/process/proc.c
new file mode 100644
index 0000000..b878aff
--- /dev/null
+++ b/code/lab6/kern/process/proc.c
@@ -0,0 +1,849 @@
+#include <proc.h>
+#include <kmalloc.h>
+#include <string.h>
+#include <sync.h>
+#include <pmm.h>
+#include <error.h>
+#include <sched.h>
+#include <elf.h>
+#include <vmm.h>
+#include <trap.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <unistd.h>
+
+/* ------------- process/thread mechanism design&implementation -------------
+(an simplified Linux process/thread mechanism )
+introduction:
+  ucore implements a simple process/thread mechanism. process contains the independent memory sapce, at least one threads
+for execution, the kernel data(for management), processor state (for context switch), files(in lab6), etc. ucore needs to
+manage all these details efficiently. In ucore, a thread is just a special kind of process(share process's memory).
+------------------------------
+process state       :     meaning               -- reason
+    PROC_UNINIT     :   uninitialized           -- alloc_proc
+    PROC_SLEEPING   :   sleeping                -- try_free_pages, do_wait, do_sleep
+    PROC_RUNNABLE   :   runnable(maybe running) -- proc_init, wakeup_proc, 
+    PROC_ZOMBIE     :   almost dead             -- do_exit
+
+-----------------------------
+process state changing:
+                                            
+  alloc_proc                                 RUNNING
+      +                                   +--<----<--+
+      +                                   + proc_run +
+      V                                   +-->---->--+ 
+PROC_UNINIT -- proc_init/wakeup_proc --> PROC_RUNNABLE -- try_free_pages/do_wait/do_sleep --> PROC_SLEEPING --
+                                           A      +                                                           +
+                                           |      +--- do_exit --> PROC_ZOMBIE                                +
+                                           +                                                                  + 
+                                           -----------------------wakeup_proc----------------------------------
+-----------------------------
+process relations
+parent:           proc->parent  (proc is children)
+children:         proc->cptr    (proc is parent)
+older sibling:    proc->optr    (proc is younger sibling)
+younger sibling:  proc->yptr    (proc is older sibling)
+-----------------------------
+related syscall for process:
+SYS_exit        : process exit,                           -->do_exit
+SYS_fork        : create child process, dup mm            -->do_fork-->wakeup_proc
+SYS_wait        : wait process                            -->do_wait
+SYS_exec        : after fork, process execute a program   -->load a program and refresh the mm
+SYS_clone       : create child thread                     -->do_fork-->wakeup_proc
+SYS_yield       : process flag itself need resecheduling, -- proc->need_sched=1, then scheduler will rescheule this process
+SYS_sleep       : process sleep                           -->do_sleep 
+SYS_kill        : kill process                            -->do_kill-->proc->flags |= PF_EXITING
+                                                                 -->wakeup_proc-->do_wait-->do_exit   
+SYS_getpid      : get the process's pid
+
+*/
+
+// the process set's list
+list_entry_t proc_list;
+
+#define HASH_SHIFT          10
+#define HASH_LIST_SIZE      (1 << HASH_SHIFT)
+#define pid_hashfn(x)       (hash32(x, HASH_SHIFT))
+
+// has list for process set based on pid
+static list_entry_t hash_list[HASH_LIST_SIZE];
+
+// idle proc
+struct proc_struct *idleproc = NULL;
+// init proc
+struct proc_struct *initproc = NULL;
+// current proc
+struct proc_struct *current = NULL;
+
+static int nr_process = 0;
+
+void kernel_thread_entry(void);
+void forkrets(struct trapframe *tf);
+void switch_to(struct context *from, struct context *to);
+
+// alloc_proc - alloc a proc_struct and init all fields of proc_struct
+static struct proc_struct *
+alloc_proc(void) {
+    struct proc_struct *proc = kmalloc(sizeof(struct proc_struct));
+    if (proc != NULL) {
+    //LAB4:EXERCISE1 YOUR CODE
+    /*
+     * below fields in proc_struct need to be initialized
+     *       enum proc_state state;                      // Process state
+     *       int pid;                                    // Process ID
+     *       int runs;                                   // the running times of Proces
+     *       uintptr_t kstack;                           // Process kernel stack
+     *       volatile bool need_resched;                 // bool value: need to be rescheduled to release CPU?
+     *       struct proc_struct *parent;                 // the parent process
+     *       struct mm_struct *mm;                       // Process's memory management field
+     *       struct context context;                     // Switch here to run process
+     *       struct trapframe *tf;                       // Trap frame for current interrupt
+     *       uintptr_t cr3;                              // CR3 register: the base addr of Page Directroy Table(PDT)
+     *       uint32_t flags;                             // Process flag
+     *       char name[PROC_NAME_LEN + 1];               // Process name
+     */
+    }
+    return proc;
+}
+
+// set_proc_name - set the name of proc
+char *
+set_proc_name(struct proc_struct *proc, const char *name) {
+    memset(proc->name, 0, sizeof(proc->name));
+    return memcpy(proc->name, name, PROC_NAME_LEN);
+}
+
+// get_proc_name - get the name of proc
+char *
+get_proc_name(struct proc_struct *proc) {
+    static char name[PROC_NAME_LEN + 1];
+    memset(name, 0, sizeof(name));
+    return memcpy(name, proc->name, PROC_NAME_LEN);
+}
+
+// set_links - set the relation links of process
+static void
+set_links(struct proc_struct *proc) {
+    list_add(&proc_list, &(proc->list_link));
+    proc->yptr = NULL;
+    if ((proc->optr = proc->parent->cptr) != NULL) {
+        proc->optr->yptr = proc;
+    }
+    proc->parent->cptr = proc;
+    nr_process ++;
+}
+
+// remove_links - clean the relation links of process
+static void
+remove_links(struct proc_struct *proc) {
+    list_del(&(proc->list_link));
+    if (proc->optr != NULL) {
+        proc->optr->yptr = proc->yptr;
+    }
+    if (proc->yptr != NULL) {
+        proc->yptr->optr = proc->optr;
+    }
+    else {
+       proc->parent->cptr = proc->optr;
+    }
+    nr_process --;
+}
+
+// get_pid - alloc a unique pid for process
+static int
+get_pid(void) {
+    static_assert(MAX_PID > MAX_PROCESS);
+    struct proc_struct *proc;
+    list_entry_t *list = &proc_list, *le;
+    static int next_safe = MAX_PID, last_pid = MAX_PID;
+    if (++ last_pid >= MAX_PID) {
+        last_pid = 1;
+        goto inside;
+    }
+    if (last_pid >= next_safe) {
+    inside:
+        next_safe = MAX_PID;
+    repeat:
+        le = list;
+        while ((le = list_next(le)) != list) {
+            proc = le2proc(le, list_link);
+            if (proc->pid == last_pid) {
+                if (++ last_pid >= next_safe) {
+                    if (last_pid >= MAX_PID) {
+                        last_pid = 1;
+                    }
+                    next_safe = MAX_PID;
+                    goto repeat;
+                }
+            }
+            else if (proc->pid > last_pid && next_safe > proc->pid) {
+                next_safe = proc->pid;
+            }
+        }
+    }
+    return last_pid;
+}
+
+// proc_run - make process "proc" running on cpu
+// NOTE: before call switch_to, should load  base addr of "proc"'s new PDT
+void
+proc_run(struct proc_struct *proc) {
+    if (proc != current) {
+        bool intr_flag;
+        struct proc_struct *prev = current, *next = proc;
+        local_intr_save(intr_flag);
+        {
+            current = proc;
+            load_esp0(next->kstack + KSTACKSIZE);
+            lcr3(next->cr3);
+            switch_to(&(prev->context), &(next->context));
+        }
+        local_intr_restore(intr_flag);
+    }
+}
+
+// forkret -- the first kernel entry point of a new thread/process
+// NOTE: the addr of forkret is setted in copy_thread function
+//       after switch_to, the current proc will execute here.
+static void
+forkret(void) {
+    forkrets(current->tf);
+}
+
+// hash_proc - add proc into proc hash_list
+static void
+hash_proc(struct proc_struct *proc) {
+    list_add(hash_list + pid_hashfn(proc->pid), &(proc->hash_link));
+}
+
+// unhash_proc - delete proc from proc hash_list
+static void
+unhash_proc(struct proc_struct *proc) {
+    list_del(&(proc->hash_link));
+}
+
+// find_proc - find proc frome proc hash_list according to pid
+struct proc_struct *
+find_proc(int pid) {
+    if (0 < pid && pid < MAX_PID) {
+        list_entry_t *list = hash_list + pid_hashfn(pid), *le = list;
+        while ((le = list_next(le)) != list) {
+            struct proc_struct *proc = le2proc(le, hash_link);
+            if (proc->pid == pid) {
+                return proc;
+            }
+        }
+    }
+    return NULL;
+}
+
+// kernel_thread - create a kernel thread using "fn" function
+// NOTE: the contents of temp trapframe tf will be copied to 
+//       proc->tf in do_fork-->copy_thread function
+int
+kernel_thread(int (*fn)(void *), void *arg, uint32_t clone_flags) {
+    struct trapframe tf;
+    memset(&tf, 0, sizeof(struct trapframe));
+    tf.tf_cs = KERNEL_CS;
+    tf.tf_ds = tf.tf_es = tf.tf_ss = KERNEL_DS;
+    tf.tf_regs.reg_ebx = (uint32_t)fn;
+    tf.tf_regs.reg_edx = (uint32_t)arg;
+    tf.tf_eip = (uint32_t)kernel_thread_entry;
+    return do_fork(clone_flags | CLONE_VM, 0, &tf);
+}
+
+// setup_kstack - alloc pages with size KSTACKPAGE as process kernel stack
+static int
+setup_kstack(struct proc_struct *proc) {
+    struct Page *page = alloc_pages(KSTACKPAGE);
+    if (page != NULL) {
+        proc->kstack = (uintptr_t)page2kva(page);
+        return 0;
+    }
+    return -E_NO_MEM;
+}
+
+// put_kstack - free the memory space of process kernel stack
+static void
+put_kstack(struct proc_struct *proc) {
+    free_pages(kva2page((void *)(proc->kstack)), KSTACKPAGE);
+}
+
+// setup_pgdir - alloc one page as PDT
+static int
+setup_pgdir(struct mm_struct *mm) {
+    struct Page *page;
+    if ((page = alloc_page()) == NULL) {
+        return -E_NO_MEM;
+    }
+    pde_t *pgdir = page2kva(page);
+    memcpy(pgdir, boot_pgdir, PGSIZE);
+    pgdir[PDX(VPT)] = PADDR(pgdir) | PTE_P | PTE_W;
+    mm->pgdir = pgdir;
+    return 0;
+}
+
+// put_pgdir - free the memory space of PDT
+static void
+put_pgdir(struct mm_struct *mm) {
+    free_page(kva2page(mm->pgdir));
+}
+
+// copy_mm - process "proc" duplicate OR share process "current"'s mm according clone_flags
+//         - if clone_flags & CLONE_VM, then "share" ; else "duplicate"
+static int
+copy_mm(uint32_t clone_flags, struct proc_struct *proc) {
+    struct mm_struct *mm, *oldmm = current->mm;
+
+    /* current is a kernel thread */
+    if (oldmm == NULL) {
+        return 0;
+    }
+    if (clone_flags & CLONE_VM) {
+        mm = oldmm;
+        goto good_mm;
+    }
+
+    int ret = -E_NO_MEM;
+    if ((mm = mm_create()) == NULL) {
+        goto bad_mm;
+    }
+    if (setup_pgdir(mm) != 0) {
+        goto bad_pgdir_cleanup_mm;
+    }
+
+    lock_mm(oldmm);
+    {
+        ret = dup_mmap(mm, oldmm);
+    }
+    unlock_mm(oldmm);
+
+    if (ret != 0) {
+        goto bad_dup_cleanup_mmap;
+    }
+
+good_mm:
+    mm_count_inc(mm);
+    proc->mm = mm;
+    proc->cr3 = PADDR(mm->pgdir);
+    return 0;
+bad_dup_cleanup_mmap:
+    exit_mmap(mm);
+    put_pgdir(mm);
+bad_pgdir_cleanup_mm:
+    mm_destroy(mm);
+bad_mm:
+    return ret;
+}
+
+// copy_thread - setup the trapframe on the  process's kernel stack top and
+//             - setup the kernel entry point and stack of process
+static void
+copy_thread(struct proc_struct *proc, uintptr_t esp, struct trapframe *tf) {
+    proc->tf = (struct trapframe *)(proc->kstack + KSTACKSIZE) - 1;
+    *(proc->tf) = *tf;
+    proc->tf->tf_regs.reg_eax = 0;
+    proc->tf->tf_esp = esp;
+    proc->tf->tf_eflags |= FL_IF;
+
+    proc->context.eip = (uintptr_t)forkret;
+    proc->context.esp = (uintptr_t)(proc->tf);
+}
+
+/* do_fork -     parent process for a new child process
+ * @clone_flags: used to guide how to clone the child process
+ * @stack:       the parent's user stack pointer. if stack==0, It means to fork a kernel thread.
+ * @tf:          the trapframe info, which will be copied to child process's proc->tf
+ */
+int
+do_fork(uint32_t clone_flags, uintptr_t stack, struct trapframe *tf) {
+    int ret = -E_NO_FREE_PROC;
+    struct proc_struct *proc;
+    if (nr_process >= MAX_PROCESS) {
+        goto fork_out;
+    }
+    ret = -E_NO_MEM;
+    //LAB4:EXERCISE2 YOUR CODE
+    /*
+     * Some Useful MACROs, Functions and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   alloc_proc:   create a proc struct and init fields (lab4:exercise1)
+     *   setup_kstack: alloc pages with size KSTACKPAGE as process kernel stack
+     *   copy_mm:      process "proc" duplicate OR share process "current"'s mm according clone_flags
+     *                 if clone_flags & CLONE_VM, then "share" ; else "duplicate"
+     *   copy_thread:  setup the trapframe on the  process's kernel stack top and
+     *                 setup the kernel entry point and stack of process
+     *   hash_proc:    add proc into proc hash_list
+     *   get_pid:      alloc a unique pid for process
+     *   wakup_proc:   set proc->state = PROC_RUNNABLE
+     * VARIABLES:
+     *   proc_list:    the process set's list
+     *   nr_process:   the number of process set
+     */
+
+    //    1. call alloc_proc to allocate a proc_struct
+    //    2. call setup_kstack to allocate a kernel stack for child process
+    //    3. call copy_mm to dup OR share mm according clone_flag
+    //    4. call copy_thread to setup tf & context in proc_struct
+    //    5. insert proc_struct into hash_list && proc_list
+    //    6. call wakup_proc to make the new child process RUNNABLE
+    //    7. set ret vaule using child proc's pid
+fork_out:
+    return ret;
+
+bad_fork_cleanup_kstack:
+    put_kstack(proc);
+bad_fork_cleanup_proc:
+    kfree(proc);
+    goto fork_out;
+}
+
+// do_exit - called by sys_exit
+//   1. call exit_mmap & put_pgdir & mm_destroy to free the almost all memory space of process
+//   2. set process' state as PROC_ZOMBIE, then call wakeup_proc(parent) to ask parent reclaim itself.
+//   3. call scheduler to switch to other process
+int
+do_exit(int error_code) {
+    if (current == idleproc) {
+        panic("idleproc exit.\n");
+    }
+    if (current == initproc) {
+        panic("initproc exit.\n");
+    }
+    
+    struct mm_struct *mm = current->mm;
+    if (mm != NULL) {
+        lcr3(boot_cr3);
+        if (mm_count_dec(mm) == 0) {
+            exit_mmap(mm);
+            put_pgdir(mm);
+            mm_destroy(mm);
+        }
+        current->mm = NULL;
+    }
+    current->state = PROC_ZOMBIE;
+    current->exit_code = error_code;
+    
+    bool intr_flag;
+    struct proc_struct *proc;
+    local_intr_save(intr_flag);
+    {
+        proc = current->parent;
+        if (proc->wait_state == WT_CHILD) {
+            wakeup_proc(proc);
+        }
+        while (current->cptr != NULL) {
+            proc = current->cptr;
+            current->cptr = proc->optr;
+    
+            proc->yptr = NULL;
+            if ((proc->optr = initproc->cptr) != NULL) {
+                initproc->cptr->yptr = proc;
+            }
+            proc->parent = initproc;
+            initproc->cptr = proc;
+            if (proc->state == PROC_ZOMBIE) {
+                if (initproc->wait_state == WT_CHILD) {
+                    wakeup_proc(initproc);
+                }
+            }
+        }
+    }
+    local_intr_restore(intr_flag);
+    
+    schedule();
+    panic("do_exit will not return!! %d.\n", current->pid);
+}
+
+/* load_icode - load the content of binary program(ELF format) as the new content of current process
+ * @binary:  the memory addr of the content of binary program
+ * @size:  the size of the content of binary program
+ */
+static int
+load_icode(unsigned char *binary, size_t size) {
+    if (current->mm != NULL) {
+        panic("load_icode: current->mm must be empty.\n");
+    }
+
+    int ret = -E_NO_MEM;
+    struct mm_struct *mm;
+    //(1) create a new mm for current process
+    if ((mm = mm_create()) == NULL) {
+        goto bad_mm;
+    }
+    //(2) create a new PDT, and mm->pgdir= kernel virtual addr of PDT
+    if (setup_pgdir(mm) != 0) {
+        goto bad_pgdir_cleanup_mm;
+    }
+    //(3) copy TEXT/DATA section, build BSS parts in binary to memory space of process
+    struct Page *page;
+    //(3.1) get the file header of the bianry program (ELF format)
+    struct elfhdr *elf = (struct elfhdr *)binary;
+    //(3.2) get the entry of the program section headers of the bianry program (ELF format)
+    struct proghdr *ph = (struct proghdr *)(binary + elf->e_phoff);
+    //(3.3) This program is valid?
+    if (elf->e_magic != ELF_MAGIC) {
+        ret = -E_INVAL_ELF;
+        goto bad_elf_cleanup_pgdir;
+    }
+
+    uint32_t vm_flags, perm;
+    struct proghdr *ph_end = ph + elf->e_phnum;
+    for (; ph < ph_end; ph ++) {
+    //(3.4) find every program section headers
+        if (ph->p_type != ELF_PT_LOAD) {
+            continue ;
+        }
+        if (ph->p_filesz > ph->p_memsz) {
+            ret = -E_INVAL_ELF;
+            goto bad_cleanup_mmap;
+        }
+        if (ph->p_filesz == 0) {
+            continue ;
+        }
+    //(3.5) call mm_map fun to setup the new vma ( ph->p_va, ph->p_memsz)
+        vm_flags = 0, perm = PTE_U;
+        if (ph->p_flags & ELF_PF_X) vm_flags |= VM_EXEC;
+        if (ph->p_flags & ELF_PF_W) vm_flags |= VM_WRITE;
+        if (ph->p_flags & ELF_PF_R) vm_flags |= VM_READ;
+        if (vm_flags & VM_WRITE) perm |= PTE_W;
+        if ((ret = mm_map(mm, ph->p_va, ph->p_memsz, vm_flags, NULL)) != 0) {
+            goto bad_cleanup_mmap;
+        }
+        unsigned char *from = binary + ph->p_offset;
+        size_t off, size;
+        uintptr_t start = ph->p_va, end, la = ROUNDDOWN(start, PGSIZE);
+
+        ret = -E_NO_MEM;
+
+     //(3.6) alloc memory, and  copy the contents of every program section (from, from+end) to process's memory (la, la+end)
+        end = ph->p_va + ph->p_filesz;
+     //(3.6.1) copy TEXT/DATA section of bianry program
+        while (start < end) {
+            if ((page = pgdir_alloc_page(mm->pgdir, la, perm)) == NULL) {
+                goto bad_cleanup_mmap;
+            }
+            off = start - la, size = PGSIZE - off, la += PGSIZE;
+            if (end < la) {
+                size -= la - end;
+            }
+            memcpy(page2kva(page) + off, from, size);
+            start += size, from += size;
+        }
+
+      //(3.6.2) build BSS section of binary program
+        end = ph->p_va + ph->p_memsz;
+        if (start < la) {
+            /* ph->p_memsz == ph->p_filesz */
+            if (start == end) {
+                continue ;
+            }
+            off = start + PGSIZE - la, size = PGSIZE - off;
+            if (end < la) {
+                size -= la - end;
+            }
+            memset(page2kva(page) + off, 0, size);
+            start += size;
+            assert((end < la && start == end) || (end >= la && start == la));
+        }
+        while (start < end) {
+            if ((page = pgdir_alloc_page(mm->pgdir, la, perm)) == NULL) {
+                goto bad_cleanup_mmap;
+            }
+            off = start - la, size = PGSIZE - off, la += PGSIZE;
+            if (end < la) {
+                size -= la - end;
+            }
+            memset(page2kva(page) + off, 0, size);
+            start += size;
+        }
+    }
+    //(4) build user stack memory
+    vm_flags = VM_READ | VM_WRITE | VM_STACK;
+    if ((ret = mm_map(mm, USTACKTOP - USTACKSIZE, USTACKSIZE, vm_flags, NULL)) != 0) {
+        goto bad_cleanup_mmap;
+    }
+    assert(pgdir_alloc_page(mm->pgdir, USTACKTOP-PGSIZE , PTE_USER) != NULL);
+    assert(pgdir_alloc_page(mm->pgdir, USTACKTOP-2*PGSIZE , PTE_USER) != NULL);
+    assert(pgdir_alloc_page(mm->pgdir, USTACKTOP-3*PGSIZE , PTE_USER) != NULL);
+    assert(pgdir_alloc_page(mm->pgdir, USTACKTOP-4*PGSIZE , PTE_USER) != NULL);
+    
+    //(5) set current process's mm, sr3, and set CR3 reg = physical addr of Page Directory
+    mm_count_inc(mm);
+    current->mm = mm;
+    current->cr3 = PADDR(mm->pgdir);
+    lcr3(PADDR(mm->pgdir));
+
+    //(6) setup trapframe for user environment
+    struct trapframe *tf = current->tf;
+    memset(tf, 0, sizeof(struct trapframe));
+    /* LAB5:EXERCISE1 YOUR CODE
+     * should set tf_cs,tf_ds,tf_es,tf_ss,tf_esp,tf_eip,tf_eflags
+     * NOTICE: If we set trapframe correctly, then the user level process can return to USER MODE from kernel. So
+     *          tf_cs should be USER_CS segment (see memlayout.h)
+     *          tf_ds=tf_es=tf_ss should be USER_DS segment
+     *          tf_esp should be the top addr of user stack (USTACKTOP)
+     *          tf_eip should be the entry point of this binary program (elf->e_entry)
+     *          tf_eflags should be set to enable computer to produce Interrupt
+     */
+    ret = 0;
+out:
+    return ret;
+bad_cleanup_mmap:
+    exit_mmap(mm);
+bad_elf_cleanup_pgdir:
+    put_pgdir(mm);
+bad_pgdir_cleanup_mm:
+    mm_destroy(mm);
+bad_mm:
+    goto out;
+}
+
+// do_execve - call exit_mmap(mm)&pug_pgdir(mm) to reclaim memory space of current process
+//           - call load_icode to setup new memory space accroding binary prog.
+int
+do_execve(const char *name, size_t len, unsigned char *binary, size_t size) {
+    struct mm_struct *mm = current->mm;
+    if (!user_mem_check(mm, (uintptr_t)name, len, 0)) {
+        return -E_INVAL;
+    }
+    if (len > PROC_NAME_LEN) {
+        len = PROC_NAME_LEN;
+    }
+
+    char local_name[PROC_NAME_LEN + 1];
+    memset(local_name, 0, sizeof(local_name));
+    memcpy(local_name, name, len);
+
+    if (mm != NULL) {
+        lcr3(boot_cr3);
+        if (mm_count_dec(mm) == 0) {
+            exit_mmap(mm);
+            put_pgdir(mm);
+            mm_destroy(mm);
+        }
+        current->mm = NULL;
+    }
+    int ret;
+    if ((ret = load_icode(binary, size)) != 0) {
+        goto execve_exit;
+    }
+    set_proc_name(current, local_name);
+    return 0;
+
+execve_exit:
+    do_exit(ret);
+    panic("already exit: %e.\n", ret);
+}
+
+// do_yield - ask the scheduler to reschedule
+int
+do_yield(void) {
+    current->need_resched = 1;
+    return 0;
+}
+
+// do_wait - wait one OR any children with PROC_ZOMBIE state, and free memory space of kernel stack
+//         - proc struct of this child.
+// NOTE: only after do_wait function, all resources of the child proces are free.
+int
+do_wait(int pid, int *code_store) {
+    struct mm_struct *mm = current->mm;
+    if (code_store != NULL) {
+        if (!user_mem_check(mm, (uintptr_t)code_store, sizeof(int), 1)) {
+            return -E_INVAL;
+        }
+    }
+
+    struct proc_struct *proc;
+    bool intr_flag, haskid;
+repeat:
+    haskid = 0;
+    if (pid != 0) {
+        proc = find_proc(pid);
+        if (proc != NULL && proc->parent == current) {
+            haskid = 1;
+            if (proc->state == PROC_ZOMBIE) {
+                goto found;
+            }
+        }
+    }
+    else {
+        proc = current->cptr;
+        for (; proc != NULL; proc = proc->optr) {
+            haskid = 1;
+            if (proc->state == PROC_ZOMBIE) {
+                goto found;
+            }
+        }
+    }
+    if (haskid) {
+        current->state = PROC_SLEEPING;
+        current->wait_state = WT_CHILD;
+        schedule();
+        if (current->flags & PF_EXITING) {
+            do_exit(-E_KILLED);
+        }
+        goto repeat;
+    }
+    return -E_BAD_PROC;
+
+found:
+    if (proc == idleproc || proc == initproc) {
+        panic("wait idleproc or initproc.\n");
+    }
+    if (code_store != NULL) {
+        *code_store = proc->exit_code;
+    }
+    local_intr_save(intr_flag);
+    {
+        unhash_proc(proc);
+        remove_links(proc);
+    }
+    local_intr_restore(intr_flag);
+    put_kstack(proc);
+    kfree(proc);
+    return 0;
+}
+
+// do_kill - kill process with pid by set this process's flags with PF_EXITING
+int
+do_kill(int pid) {
+    struct proc_struct *proc;
+    if ((proc = find_proc(pid)) != NULL) {
+        if (!(proc->flags & PF_EXITING)) {
+            proc->flags |= PF_EXITING;
+            if (proc->wait_state & WT_INTERRUPTED) {
+                wakeup_proc(proc);
+            }
+            return 0;
+        }
+        return -E_KILLED;
+    }
+    return -E_INVAL;
+}
+
+// kernel_execve - do SYS_exec syscall to exec a user program called by user_main kernel_thread
+static int
+kernel_execve(const char *name, unsigned char *binary, size_t size) {
+    int ret, len = strlen(name);
+    asm volatile (
+        "int %1;"
+        : "=a" (ret)
+        : "i" (T_SYSCALL), "0" (SYS_exec), "d" (name), "c" (len), "b" (binary), "D" (size)
+        : "memory");
+    return ret;
+}
+
+#define __KERNEL_EXECVE(name, binary, size) ({                          \
+            cprintf("kernel_execve: pid = %d, name = \"%s\".\n",        \
+                    current->pid, name);                                \
+            kernel_execve(name, binary, (size_t)(size));                \
+        })
+
+#define KERNEL_EXECVE(x) ({                                             \
+            extern unsigned char _binary_obj___user_##x##_out_start[],  \
+                _binary_obj___user_##x##_out_size[];                    \
+            __KERNEL_EXECVE(#x, _binary_obj___user_##x##_out_start,     \
+                            _binary_obj___user_##x##_out_size);         \
+        })
+
+#define __KERNEL_EXECVE2(x, xstart, xsize) ({                           \
+            extern unsigned char xstart[], xsize[];                     \
+            __KERNEL_EXECVE(#x, xstart, (size_t)xsize);                 \
+        })
+
+#define KERNEL_EXECVE2(x, xstart, xsize)        __KERNEL_EXECVE2(x, xstart, xsize)
+
+// user_main - kernel thread used to exec a user program
+static int
+user_main(void *arg) {
+#ifdef TEST
+    KERNEL_EXECVE2(TEST, TESTSTART, TESTSIZE);
+#else
+    KERNEL_EXECVE(exit);
+#endif
+    panic("user_main execve failed.\n");
+}
+
+// init_main - the second kernel thread used to create user_main kernel threads
+static int
+init_main(void *arg) {
+    size_t nr_free_pages_store = nr_free_pages();
+    size_t slab_allocated_store = kallocated();
+
+    int pid = kernel_thread(user_main, NULL, 0);
+    if (pid <= 0) {
+        panic("create user_main failed.\n");
+    }
+
+    while (do_wait(0, NULL) == 0) {
+        schedule();
+    }
+
+    cprintf("all user-mode processes have quit.\n");
+    assert(initproc->cptr == NULL && initproc->yptr == NULL && initproc->optr == NULL);
+    assert(nr_process == 2);
+    assert(list_next(&proc_list) == &(initproc->list_link));
+    assert(list_prev(&proc_list) == &(initproc->list_link));
+    assert(nr_free_pages_store == nr_free_pages());
+    assert(slab_allocated_store == kallocated());
+    cprintf("init check memory pass.\n");
+    return 0;
+}
+
+// proc_init - set up the first kernel thread idleproc "idle" by itself and 
+//           - create the second kernel thread init_main
+void
+proc_init(void) {
+    int i;
+
+    list_init(&proc_list);
+    for (i = 0; i < HASH_LIST_SIZE; i ++) {
+        list_init(hash_list + i);
+    }
+
+    if ((idleproc = alloc_proc()) == NULL) {
+        panic("cannot alloc idleproc.\n");
+    }
+
+    idleproc->pid = 0;
+    idleproc->state = PROC_RUNNABLE;
+    idleproc->kstack = (uintptr_t)bootstack;
+    idleproc->need_resched = 1;
+    set_proc_name(idleproc, "idle");
+    nr_process ++;
+
+    current = idleproc;
+
+    int pid = kernel_thread(init_main, NULL, 0);
+    if (pid <= 0) {
+        panic("create init_main failed.\n");
+    }
+
+    initproc = find_proc(pid);
+    set_proc_name(initproc, "init");
+
+    assert(idleproc != NULL && idleproc->pid == 0);
+    assert(initproc != NULL && initproc->pid == 1);
+}
+
+// cpu_idle - at the end of kern_init, the first kernel thread idleproc will do below works
+void
+cpu_idle(void) {
+    while (1) {
+        if (current->need_resched) {
+            schedule();
+        }
+    }
+}
+
+//FOR LAB6, set the process's priority (bigger value will get more CPU time) 
+void
+lab6_set_priority(uint32_t priority)
+{
+    if (priority == 0)
+        current->lab6_priority = 1;
+    else current->lab6_priority = priority;
+}
diff --git a/code/lab6/kern/process/proc.h b/code/lab6/kern/process/proc.h
new file mode 100644
index 0000000..26abc49
--- /dev/null
+++ b/code/lab6/kern/process/proc.h
@@ -0,0 +1,99 @@
+#ifndef __KERN_PROCESS_PROC_H__
+#define __KERN_PROCESS_PROC_H__
+
+#include <defs.h>
+#include <list.h>
+#include <trap.h>
+#include <memlayout.h>
+#include <skew_heap.h>
+
+
+// process's state in his life cycle
+enum proc_state {
+    PROC_UNINIT = 0,  // uninitialized
+    PROC_SLEEPING,    // sleeping
+    PROC_RUNNABLE,    // runnable(maybe running)
+    PROC_ZOMBIE,      // almost dead, and wait parent proc to reclaim his resource
+};
+
+// Saved registers for kernel context switches.
+// Don't need to save all the %fs etc. segment registers,
+// because they are constant across kernel contexts.
+// Save all the regular registers so we don't need to care
+// which are caller save, but not the return register %eax.
+// (Not saving %eax just simplifies the switching code.)
+// The layout of context must match code in switch.S.
+struct context {
+    uint32_t eip;
+    uint32_t esp;
+    uint32_t ebx;
+    uint32_t ecx;
+    uint32_t edx;
+    uint32_t esi;
+    uint32_t edi;
+    uint32_t ebp;
+};
+
+#define PROC_NAME_LEN               15
+#define MAX_PROCESS                 4096
+#define MAX_PID                     (MAX_PROCESS * 2)
+
+extern list_entry_t proc_list;
+
+struct proc_struct {
+    enum proc_state state;                      // Process state
+    int pid;                                    // Process ID
+    int runs;                                   // the running times of Proces
+    uintptr_t kstack;                           // Process kernel stack
+    volatile bool need_resched;                 // bool value: need to be rescheduled to release CPU?
+    struct proc_struct *parent;                 // the parent process
+    struct mm_struct *mm;                       // Process's memory management field
+    struct context context;                     // Switch here to run process
+    struct trapframe *tf;                       // Trap frame for current interrupt
+    uintptr_t cr3;                              // CR3 register: the base addr of Page Directroy Table(PDT)
+    uint32_t flags;                             // Process flag
+    char name[PROC_NAME_LEN + 1];               // Process name
+    list_entry_t list_link;                     // Process link list 
+    list_entry_t hash_link;                     // Process hash list
+    int exit_code;                              // exit code (be sent to parent proc)
+    uint32_t wait_state;                        // waiting state
+    struct proc_struct *cptr, *yptr, *optr;     // relations between processes
+    struct run_queue *rq;                       // running queue contains Process
+    list_entry_t run_link;                      // the entry linked in run queue
+    int time_slice;                             // time slice for occupying the CPU
+    skew_heap_entry_t lab6_run_pool;            // FOR LAB6 ONLY: the entry in the run pool
+    uint32_t lab6_stride;                       // FOR LAB6 ONLY: the current stride of the process 
+    uint32_t lab6_priority;                     // FOR LAB6 ONLY: the priority of process, set by lab6_set_priority(uint32_t)
+};
+
+#define PF_EXITING                  0x00000001      // getting shutdown
+
+#define WT_CHILD                    (0x00000001 | WT_INTERRUPTED)
+#define WT_INTERRUPTED               0x80000000                    // the wait state could be interrupted
+
+
+#define le2proc(le, member)         \
+    to_struct((le), struct proc_struct, member)
+
+extern struct proc_struct *idleproc, *initproc, *current;
+
+void proc_init(void);
+void proc_run(struct proc_struct *proc);
+int kernel_thread(int (*fn)(void *), void *arg, uint32_t clone_flags);
+
+char *set_proc_name(struct proc_struct *proc, const char *name);
+char *get_proc_name(struct proc_struct *proc);
+void cpu_idle(void) __attribute__((noreturn));
+
+struct proc_struct *find_proc(int pid);
+int do_fork(uint32_t clone_flags, uintptr_t stack, struct trapframe *tf);
+int do_exit(int error_code);
+int do_yield(void);
+int do_execve(const char *name, size_t len, unsigned char *binary, size_t size);
+int do_wait(int pid, int *code_store);
+int do_kill(int pid);
+//FOR LAB6, set the process's priority (bigger value will get more CPU time) 
+void lab6_set_priority(uint32_t priority);
+
+#endif /* !__KERN_PROCESS_PROC_H__ */
+
diff --git a/code/lab6/kern/process/switch.S b/code/lab6/kern/process/switch.S
new file mode 100644
index 0000000..27b4c8c
--- /dev/null
+++ b/code/lab6/kern/process/switch.S
@@ -0,0 +1,30 @@
+.text
+.globl switch_to
+switch_to:                      # switch_to(from, to)
+
+    # save from's registers
+    movl 4(%esp), %eax          # eax points to from
+    popl 0(%eax)                # save eip !popl
+    movl %esp, 4(%eax)
+    movl %ebx, 8(%eax)
+    movl %ecx, 12(%eax)
+    movl %edx, 16(%eax)
+    movl %esi, 20(%eax)
+    movl %edi, 24(%eax)
+    movl %ebp, 28(%eax)
+
+    # restore to's registers
+    movl 4(%esp), %eax          # not 8(%esp): popped return address already
+                                # eax now points to to
+    movl 28(%eax), %ebp
+    movl 24(%eax), %edi
+    movl 20(%eax), %esi
+    movl 16(%eax), %edx
+    movl 12(%eax), %ecx
+    movl 8(%eax), %ebx
+    movl 4(%eax), %esp
+
+    pushl 0(%eax)               # push eip
+
+    ret
+
diff --git a/code/lab6/kern/schedule/default_sched.c b/code/lab6/kern/schedule/default_sched.c
new file mode 100644
index 0000000..2316990
--- /dev/null
+++ b/code/lab6/kern/schedule/default_sched.c
@@ -0,0 +1,58 @@
+#include <defs.h>
+#include <list.h>
+#include <proc.h>
+#include <assert.h>
+#include <default_sched.h>
+
+static void
+RR_init(struct run_queue *rq) {
+    list_init(&(rq->run_list));
+    rq->proc_num = 0;
+}
+
+static void
+RR_enqueue(struct run_queue *rq, struct proc_struct *proc) {
+    assert(list_empty(&(proc->run_link)));
+    list_add_before(&(rq->run_list), &(proc->run_link));
+    if (proc->time_slice == 0 || proc->time_slice > rq->max_time_slice) {
+        proc->time_slice = rq->max_time_slice;
+    }
+    proc->rq = rq;
+    rq->proc_num ++;
+}
+
+static void
+RR_dequeue(struct run_queue *rq, struct proc_struct *proc) {
+    assert(!list_empty(&(proc->run_link)) && proc->rq == rq);
+    list_del_init(&(proc->run_link));
+    rq->proc_num --;
+}
+
+static struct proc_struct *
+RR_pick_next(struct run_queue *rq) {
+    list_entry_t *le = list_next(&(rq->run_list));
+    if (le != &(rq->run_list)) {
+        return le2proc(le, run_link);
+    }
+    return NULL;
+}
+
+static void
+RR_proc_tick(struct run_queue *rq, struct proc_struct *proc) {
+    if (proc->time_slice > 0) {
+        proc->time_slice --;
+    }
+    if (proc->time_slice == 0) {
+        proc->need_resched = 1;
+    }
+}
+
+struct sched_class default_sched_class = {
+    .name = "RR_scheduler",
+    .init = RR_init,
+    .enqueue = RR_enqueue,
+    .dequeue = RR_dequeue,
+    .pick_next = RR_pick_next,
+    .proc_tick = RR_proc_tick,
+};
+
diff --git a/code/lab6/kern/schedule/default_sched.h b/code/lab6/kern/schedule/default_sched.h
new file mode 100644
index 0000000..2f21fbd
--- /dev/null
+++ b/code/lab6/kern/schedule/default_sched.h
@@ -0,0 +1,9 @@
+#ifndef __KERN_SCHEDULE_SCHED_RR_H__
+#define __KERN_SCHEDULE_SCHED_RR_H__
+
+#include <sched.h>
+
+extern struct sched_class default_sched_class;
+
+#endif /* !__KERN_SCHEDULE_SCHED_RR_H__ */
+
diff --git a/code/lab6/kern/schedule/default_sched_stride_c b/code/lab6/kern/schedule/default_sched_stride_c
new file mode 100644
index 0000000..7075653
--- /dev/null
+++ b/code/lab6/kern/schedule/default_sched_stride_c
@@ -0,0 +1,133 @@
+#include <defs.h>
+#include <list.h>
+#include <proc.h>
+#include <assert.h>
+#include <default_sched.h>
+
+#define USE_SKEW_HEAP 1
+
+/* You should define the BigStride constant here*/
+/* LAB6: YOUR CODE */
+#define BIG_STRIDE    /* you should give a value, and is ??? */
+
+/* The compare function for two skew_heap_node_t's and the
+ * corresponding procs*/
+static int
+proc_stride_comp_f(void *a, void *b)
+{
+     struct proc_struct *p = le2proc(a, lab6_run_pool);
+     struct proc_struct *q = le2proc(b, lab6_run_pool);
+     int32_t c = p->lab6_stride - q->lab6_stride;
+     if (c > 0) return 1;
+     else if (c == 0) return 0;
+     else return -1;
+}
+
+/*
+ * stride_init initializes the run-queue rq with correct assignment for
+ * member variables, including:
+ *
+ *   - run_list: should be a empty list after initialization.
+ *   - lab6_run_pool: NULL
+ *   - proc_num: 0
+ *   - max_time_slice: no need here, the variable would be assigned by the caller.
+ *
+ * hint: see libs/list.h for routines of the list structures.
+ */
+static void
+stride_init(struct run_queue *rq) {
+     /* LAB6: YOUR CODE 
+      * (1) init the ready process list: rq->run_list
+      * (2) init the run pool: rq->lab6_run_pool
+      * (3) set number of process: rq->proc_num to 0       
+      */
+}
+
+/*
+ * stride_enqueue inserts the process ``proc'' into the run-queue
+ * ``rq''. The procedure should verify/initialize the relevant members
+ * of ``proc'', and then put the ``lab6_run_pool'' node into the
+ * queue(since we use priority queue here). The procedure should also
+ * update the meta date in ``rq'' structure.
+ *
+ * proc->time_slice denotes the time slices allocation for the
+ * process, which should set to rq->max_time_slice.
+ * 
+ * hint: see libs/skew_heap.h for routines of the priority
+ * queue structures.
+ */
+static void
+stride_enqueue(struct run_queue *rq, struct proc_struct *proc) {
+     /* LAB6: YOUR CODE 
+      * (1) insert the proc into rq correctly
+      * NOTICE: you can use skew_heap or list. Important functions
+      *         skew_heap_insert: insert a entry into skew_heap
+      *         list_add_before: insert  a entry into the last of list   
+      * (2) recalculate proc->time_slice
+      * (3) set proc->rq pointer to rq
+      * (4) increase rq->proc_num
+      */
+}
+
+/*
+ * stride_dequeue removes the process ``proc'' from the run-queue
+ * ``rq'', the operation would be finished by the skew_heap_remove
+ * operations. Remember to update the ``rq'' structure.
+ *
+ * hint: see libs/skew_heap.h for routines of the priority
+ * queue structures.
+ */
+static void
+stride_dequeue(struct run_queue *rq, struct proc_struct *proc) {
+     /* LAB6: YOUR CODE 
+      * (1) remove the proc from rq correctly
+      * NOTICE: you can use skew_heap or list. Important functions
+      *         skew_heap_remove: remove a entry from skew_heap
+      *         list_del_init: remove a entry from the  list
+      */
+}
+/*
+ * stride_pick_next pick the element from the ``run-queue'', with the
+ * minimum value of stride, and returns the corresponding process
+ * pointer. The process pointer would be calculated by macro le2proc,
+ * see kern/process/proc.h for definition. Return NULL if
+ * there is no process in the queue.
+ *
+ * When one proc structure is selected, remember to update the stride
+ * property of the proc. (stride += BIG_STRIDE / priority)
+ *
+ * hint: see libs/skew_heap.h for routines of the priority
+ * queue structures.
+ */
+static struct proc_struct *
+stride_pick_next(struct run_queue *rq) {
+     /* LAB6: YOUR CODE 
+      * (1) get a  proc_struct pointer p  with the minimum value of stride
+             (1.1) If using skew_heap, we can use le2proc get the p from rq->lab6_run_poll
+             (1.2) If using list, we have to search list to find the p with minimum stride value
+      * (2) update p;s stride value: p->lab6_stride
+      * (3) return p
+      */
+}
+
+/*
+ * stride_proc_tick works with the tick event of current process. You
+ * should check whether the time slices for current process is
+ * exhausted and update the proc struct ``proc''. proc->time_slice
+ * denotes the time slices left for current
+ * process. proc->need_resched is the flag variable for process
+ * switching.
+ */
+static void
+stride_proc_tick(struct run_queue *rq, struct proc_struct *proc) {
+     /* LAB6: YOUR CODE */
+}
+
+struct sched_class default_sched_class = {
+     .name = "stride_scheduler",
+     .init = stride_init,
+     .enqueue = stride_enqueue,
+     .dequeue = stride_dequeue,
+     .pick_next = stride_pick_next,
+     .proc_tick = stride_proc_tick,
+};
diff --git a/code/lab6/kern/schedule/sched.c b/code/lab6/kern/schedule/sched.c
new file mode 100644
index 0000000..e272635
--- /dev/null
+++ b/code/lab6/kern/schedule/sched.c
@@ -0,0 +1,172 @@
+#include <list.h>
+#include <sync.h>
+#include <proc.h>
+#include <sched.h>
+#include <stdio.h>
+#include <assert.h>
+#include <default_sched.h>
+
+static list_entry_t timer_list;
+
+static struct sched_class *sched_class;
+
+static struct run_queue *rq;
+
+static inline void
+sched_class_enqueue(struct proc_struct *proc) {
+    if (proc != idleproc) {
+        sched_class->enqueue(rq, proc);
+    }
+}
+
+static inline void
+sched_class_dequeue(struct proc_struct *proc) {
+    sched_class->dequeue(rq, proc);
+}
+
+static inline struct proc_struct *
+sched_class_pick_next(void) {
+    return sched_class->pick_next(rq);
+}
+
+static void
+sched_class_proc_tick(struct proc_struct *proc) {
+    if (proc != idleproc) {
+        sched_class->proc_tick(rq, proc);
+    }
+    else {
+        proc->need_resched = 1;
+    }
+}
+
+static struct run_queue __rq;
+
+void
+sched_init(void) {
+    list_init(&timer_list);
+
+    sched_class = &default_sched_class;
+
+    rq = &__rq;
+    rq->max_time_slice = 20;
+    sched_class->init(rq);
+
+    cprintf("sched class: %s\n", sched_class->name);
+}
+
+void
+wakeup_proc(struct proc_struct *proc) {
+    assert(proc->state != PROC_ZOMBIE);
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        if (proc->state != PROC_RUNNABLE) {
+            proc->state = PROC_RUNNABLE;
+            proc->wait_state = 0;
+            if (proc != current) {
+                sched_class_enqueue(proc);
+            }
+        }
+        else {
+            warn("wakeup runnable process.\n");
+        }
+    }
+    local_intr_restore(intr_flag);
+}
+
+void
+schedule(void) {
+    bool intr_flag;
+    struct proc_struct *next;
+    local_intr_save(intr_flag);
+    {
+        current->need_resched = 0;
+        if (current->state == PROC_RUNNABLE) {
+            sched_class_enqueue(current);
+        }
+        if ((next = sched_class_pick_next()) != NULL) {
+            sched_class_dequeue(next);
+        }
+        if (next == NULL) {
+            next = idleproc;
+        }
+        next->runs ++;
+        if (next != current) {
+            proc_run(next);
+        }
+    }
+    local_intr_restore(intr_flag);
+}
+
+void
+add_timer(timer_t *timer) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        assert(timer->expires > 0 && timer->proc != NULL);
+        assert(list_empty(&(timer->timer_link)));
+        list_entry_t *le = list_next(&timer_list);
+        while (le != &timer_list) {
+            timer_t *next = le2timer(le, timer_link);
+            if (timer->expires < next->expires) {
+                next->expires -= timer->expires;
+                break;
+            }
+            timer->expires -= next->expires;
+            le = list_next(le);
+        }
+        list_add_before(le, &(timer->timer_link));
+    }
+    local_intr_restore(intr_flag);
+}
+
+void
+del_timer(timer_t *timer) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        if (!list_empty(&(timer->timer_link))) {
+            if (timer->expires != 0) {
+                list_entry_t *le = list_next(&(timer->timer_link));
+                if (le != &timer_list) {
+                    timer_t *next = le2timer(le, timer_link);
+                    next->expires += timer->expires;
+                }
+            }
+            list_del_init(&(timer->timer_link));
+        }
+    }
+    local_intr_restore(intr_flag);
+}
+
+void
+run_timer_list(void) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        list_entry_t *le = list_next(&timer_list);
+        if (le != &timer_list) {
+            timer_t *timer = le2timer(le, timer_link);
+            assert(timer->expires != 0);
+            timer->expires --;
+            while (timer->expires == 0) {
+                le = list_next(le);
+                struct proc_struct *proc = timer->proc;
+                if (proc->wait_state != 0) {
+                    assert(proc->wait_state & WT_INTERRUPTED);
+                }
+                else {
+                    warn("process %d's wait_state == 0.\n", proc->pid);
+                }
+                wakeup_proc(proc);
+                del_timer(timer);
+                if (le == &timer_list) {
+                    break;
+                }
+                timer = le2timer(le, timer_link);
+            }
+        }
+        sched_class_proc_tick(current);
+    }
+    local_intr_restore(intr_flag);
+}
diff --git a/code/lab6/kern/schedule/sched.h b/code/lab6/kern/schedule/sched.h
new file mode 100644
index 0000000..c83a776
--- /dev/null
+++ b/code/lab6/kern/schedule/sched.h
@@ -0,0 +1,70 @@
+#ifndef __KERN_SCHEDULE_SCHED_H__
+#define __KERN_SCHEDULE_SCHED_H__
+
+#include <defs.h>
+#include <list.h>
+#include <skew_heap.h>
+
+struct proc_struct;
+
+typedef struct {
+    unsigned int expires;
+    struct proc_struct *proc;
+    list_entry_t timer_link;
+} timer_t;
+
+#define le2timer(le, member)            \
+to_struct((le), timer_t, member)
+
+static inline timer_t *
+timer_init(timer_t *timer, struct proc_struct *proc, int expires) {
+    timer->expires = expires;
+    timer->proc = proc;
+    list_init(&(timer->timer_link));
+    return timer;
+}
+
+struct run_queue;
+
+// The introduction of scheduling classes is borrrowed from Linux, and makes the 
+// core scheduler quite extensible. These classes (the scheduler modules) encapsulate 
+// the scheduling policies. 
+struct sched_class {
+    // the name of sched_class
+    const char *name;
+    // Init the run queue
+    void (*init)(struct run_queue *rq);
+    // put the proc into runqueue, and this function must be called with rq_lock
+    void (*enqueue)(struct run_queue *rq, struct proc_struct *proc);
+    // get the proc out runqueue, and this function must be called with rq_lock
+    void (*dequeue)(struct run_queue *rq, struct proc_struct *proc);
+    // choose the next runnable task
+    struct proc_struct *(*pick_next)(struct run_queue *rq);
+    // dealer of the time-tick
+    void (*proc_tick)(struct run_queue *rq, struct proc_struct *proc);
+    /* for SMP support in the future
+     *  load_balance
+     *     void (*load_balance)(struct rq* rq);
+     *  get some proc from this rq, used in load_balance,
+     *  return value is the num of gotten proc
+     *  int (*get_proc)(struct rq* rq, struct proc* procs_moved[]);
+     */
+};
+
+struct run_queue {
+    list_entry_t run_list;
+    unsigned int proc_num;
+    int max_time_slice;
+    // For LAB6 ONLY
+    skew_heap_entry_t *lab6_run_pool;
+};
+
+void sched_init(void);
+void wakeup_proc(struct proc_struct *proc);
+void schedule(void);
+void add_timer(timer_t *timer);
+void del_timer(timer_t *timer);
+void run_timer_list(void);
+
+#endif /* !__KERN_SCHEDULE_SCHED_H__ */
+
diff --git a/code/lab6/kern/sync/sync.h b/code/lab6/kern/sync/sync.h
new file mode 100644
index 0000000..3e75192
--- /dev/null
+++ b/code/lab6/kern/sync/sync.h
@@ -0,0 +1,57 @@
+#ifndef __KERN_SYNC_SYNC_H__
+#define __KERN_SYNC_SYNC_H__
+
+#include <x86.h>
+#include <intr.h>
+#include <mmu.h>
+#include <assert.h>
+#include <atomic.h>
+#include <sched.h>
+
+static inline bool
+__intr_save(void) {
+    if (read_eflags() & FL_IF) {
+        intr_disable();
+        return 1;
+    }
+    return 0;
+}
+
+static inline void
+__intr_restore(bool flag) {
+    if (flag) {
+        intr_enable();
+    }
+}
+
+#define local_intr_save(x)      do { x = __intr_save(); } while (0)
+#define local_intr_restore(x)   __intr_restore(x);
+
+typedef volatile bool lock_t;
+
+static inline void
+lock_init(lock_t *lock) {
+    *lock = 0;
+}
+
+static inline bool
+try_lock(lock_t *lock) {
+    return !test_and_set_bit(0, lock);
+}
+
+static inline void
+lock(lock_t *lock) {
+    while (!try_lock(lock)) {
+        schedule();
+    }
+}
+
+static inline void
+unlock(lock_t *lock) {
+    if (!test_and_clear_bit(0, lock)) {
+        panic("Unlock failed.\n");
+    }
+}
+
+#endif /* !__KERN_SYNC_SYNC_H__ */
+
diff --git a/code/lab6/kern/syscall/syscall.c b/code/lab6/kern/syscall/syscall.c
new file mode 100644
index 0000000..3d6d3ca
--- /dev/null
+++ b/code/lab6/kern/syscall/syscall.c
@@ -0,0 +1,116 @@
+#include <unistd.h>
+#include <proc.h>
+#include <syscall.h>
+#include <trap.h>
+#include <stdio.h>
+#include <pmm.h>
+#include <assert.h>
+#include <clock.h>
+
+static int
+sys_exit(uint32_t arg[]) {
+    int error_code = (int)arg[0];
+    return do_exit(error_code);
+}
+
+static int
+sys_fork(uint32_t arg[]) {
+    struct trapframe *tf = current->tf;
+    uintptr_t stack = tf->tf_esp;
+    return do_fork(0, stack, tf);
+}
+
+static int
+sys_wait(uint32_t arg[]) {
+    int pid = (int)arg[0];
+    int *store = (int *)arg[1];
+    return do_wait(pid, store);
+}
+
+static int
+sys_exec(uint32_t arg[]) {
+    const char *name = (const char *)arg[0];
+    size_t len = (size_t)arg[1];
+    unsigned char *binary = (unsigned char *)arg[2];
+    size_t size = (size_t)arg[3];
+    return do_execve(name, len, binary, size);
+}
+
+static int
+sys_yield(uint32_t arg[]) {
+    return do_yield();
+}
+
+static int
+sys_kill(uint32_t arg[]) {
+    int pid = (int)arg[0];
+    return do_kill(pid);
+}
+
+static int
+sys_getpid(uint32_t arg[]) {
+    return current->pid;
+}
+
+static int
+sys_putc(uint32_t arg[]) {
+    int c = (int)arg[0];
+    cputchar(c);
+    return 0;
+}
+
+static int
+sys_pgdir(uint32_t arg[]) {
+    print_pgdir();
+    return 0;
+}
+
+static uint32_t
+sys_gettime(uint32_t arg[]) {
+    return (int)ticks;
+}
+static uint32_t
+sys_lab6_set_priority(uint32_t arg[])
+{
+    uint32_t priority = (uint32_t)arg[0];
+    lab6_set_priority(priority);
+    return 0;
+}
+
+static int (*syscalls[])(uint32_t arg[]) = {
+    [SYS_exit]              sys_exit,
+    [SYS_fork]              sys_fork,
+    [SYS_wait]              sys_wait,
+    [SYS_exec]              sys_exec,
+    [SYS_yield]             sys_yield,
+    [SYS_kill]              sys_kill,
+    [SYS_getpid]            sys_getpid,
+    [SYS_putc]              sys_putc,
+    [SYS_pgdir]             sys_pgdir,
+    [SYS_gettime]           sys_gettime,
+    [SYS_lab6_set_priority] sys_lab6_set_priority,
+};
+
+#define NUM_SYSCALLS        ((sizeof(syscalls)) / (sizeof(syscalls[0])))
+
+void
+syscall(void) {
+    struct trapframe *tf = current->tf;
+    uint32_t arg[5];
+    int num = tf->tf_regs.reg_eax;
+    if (num >= 0 && num < NUM_SYSCALLS) {
+        if (syscalls[num] != NULL) {
+            arg[0] = tf->tf_regs.reg_edx;
+            arg[1] = tf->tf_regs.reg_ecx;
+            arg[2] = tf->tf_regs.reg_ebx;
+            arg[3] = tf->tf_regs.reg_edi;
+            arg[4] = tf->tf_regs.reg_esi;
+            tf->tf_regs.reg_eax = syscalls[num](arg);
+            return ;
+        }
+    }
+    print_trapframe(tf);
+    panic("undefined syscall %d, pid = %d, name = %s.\n",
+            num, current->pid, current->name);
+}
+
diff --git a/code/lab6/kern/syscall/syscall.h b/code/lab6/kern/syscall/syscall.h
new file mode 100644
index 0000000..a8fe843
--- /dev/null
+++ b/code/lab6/kern/syscall/syscall.h
@@ -0,0 +1,7 @@
+#ifndef __KERN_SYSCALL_SYSCALL_H__
+#define __KERN_SYSCALL_SYSCALL_H__
+
+void syscall(void);
+
+#endif /* !__KERN_SYSCALL_SYSCALL_H__ */
+
diff --git a/code/lab6/kern/trap/trap.c b/code/lab6/kern/trap/trap.c
new file mode 100644
index 0000000..e8eb143
--- /dev/null
+++ b/code/lab6/kern/trap/trap.c
@@ -0,0 +1,290 @@
+#include <defs.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <clock.h>
+#include <trap.h>
+#include <x86.h>
+#include <stdio.h>
+#include <assert.h>
+#include <console.h>
+#include <vmm.h>
+#include <swap.h>
+#include <kdebug.h>
+#include <unistd.h>
+#include <syscall.h>
+#include <error.h>
+#include <sched.h>
+#include <sync.h>
+#include <proc.h>
+
+#define TICK_NUM 100
+
+static void print_ticks() {
+    cprintf("%d ticks\n",TICK_NUM);
+#ifdef DEBUG_GRADE
+    cprintf("End of Test.\n");
+    panic("EOT: kernel seems ok.");
+#endif
+}
+
+/* *
+ * Interrupt descriptor table:
+ *
+ * Must be built at run time because shifted function addresses can't
+ * be represented in relocation records.
+ * */
+static struct gatedesc idt[256] = {{0}};
+
+static struct pseudodesc idt_pd = {
+    sizeof(idt) - 1, (uintptr_t)idt
+};
+
+/* idt_init - initialize IDT to each of the entry points in kern/trap/vectors.S */
+void
+idt_init(void) {
+     /* LAB1 YOUR CODE : STEP 2 */
+     /* (1) Where are the entry addrs of each Interrupt Service Routine (ISR)?
+      *     All ISR's entry addrs are stored in __vectors. where is uintptr_t __vectors[] ?
+      *     __vectors[] is in kern/trap/vector.S which is produced by tools/vector.c
+      *     (try "make" command in lab1, then you will find vector.S in kern/trap DIR)
+      *     You can use  "extern uintptr_t __vectors[];" to define this extern variable which will be used later.
+      * (2) Now you should setup the entries of ISR in Interrupt Description Table (IDT).
+      *     Can you see idt[256] in this file? Yes, it's IDT! you can use SETGATE macro to setup each item of IDT
+      * (3) After setup the contents of IDT, you will let CPU know where is the IDT by using 'lidt' instruction.
+      *     You don't know the meaning of this instruction? just google it! and check the libs/x86.h to know more.
+      *     Notice: the argument of lidt is idt_pd. try to find it!
+      */
+     /* LAB5 YOUR CODE */ 
+     //you should update your lab1 code (just add ONE or TWO lines of code), let user app to use syscall to get the service of ucore
+     //so you should setup the syscall interrupt gate in here
+}
+
+static const char *
+trapname(int trapno) {
+    static const char * const excnames[] = {
+        "Divide error",
+        "Debug",
+        "Non-Maskable Interrupt",
+        "Breakpoint",
+        "Overflow",
+        "BOUND Range Exceeded",
+        "Invalid Opcode",
+        "Device Not Available",
+        "Double Fault",
+        "Coprocessor Segment Overrun",
+        "Invalid TSS",
+        "Segment Not Present",
+        "Stack Fault",
+        "General Protection",
+        "Page Fault",
+        "(unknown trap)",
+        "x87 FPU Floating-Point Error",
+        "Alignment Check",
+        "Machine-Check",
+        "SIMD Floating-Point Exception"
+    };
+
+    if (trapno < sizeof(excnames)/sizeof(const char * const)) {
+        return excnames[trapno];
+    }
+    if (trapno >= IRQ_OFFSET && trapno < IRQ_OFFSET + 16) {
+        return "Hardware Interrupt";
+    }
+    return "(unknown trap)";
+}
+
+/* trap_in_kernel - test if trap happened in kernel */
+bool
+trap_in_kernel(struct trapframe *tf) {
+    return (tf->tf_cs == (uint16_t)KERNEL_CS);
+}
+
+static const char *IA32flags[] = {
+    "CF", NULL, "PF", NULL, "AF", NULL, "ZF", "SF",
+    "TF", "IF", "DF", "OF", NULL, NULL, "NT", NULL,
+    "RF", "VM", "AC", "VIF", "VIP", "ID", NULL, NULL,
+};
+
+void
+print_trapframe(struct trapframe *tf) {
+    cprintf("trapframe at %p\n", tf);
+    print_regs(&tf->tf_regs);
+    cprintf("  ds   0x----%04x\n", tf->tf_ds);
+    cprintf("  es   0x----%04x\n", tf->tf_es);
+    cprintf("  fs   0x----%04x\n", tf->tf_fs);
+    cprintf("  gs   0x----%04x\n", tf->tf_gs);
+    cprintf("  trap 0x%08x %s\n", tf->tf_trapno, trapname(tf->tf_trapno));
+    cprintf("  err  0x%08x\n", tf->tf_err);
+    cprintf("  eip  0x%08x\n", tf->tf_eip);
+    cprintf("  cs   0x----%04x\n", tf->tf_cs);
+    cprintf("  flag 0x%08x ", tf->tf_eflags);
+
+    int i, j;
+    for (i = 0, j = 1; i < sizeof(IA32flags) / sizeof(IA32flags[0]); i ++, j <<= 1) {
+        if ((tf->tf_eflags & j) && IA32flags[i] != NULL) {
+            cprintf("%s,", IA32flags[i]);
+        }
+    }
+    cprintf("IOPL=%d\n", (tf->tf_eflags & FL_IOPL_MASK) >> 12);
+
+    if (!trap_in_kernel(tf)) {
+        cprintf("  esp  0x%08x\n", tf->tf_esp);
+        cprintf("  ss   0x----%04x\n", tf->tf_ss);
+    }
+}
+
+void
+print_regs(struct pushregs *regs) {
+    cprintf("  edi  0x%08x\n", regs->reg_edi);
+    cprintf("  esi  0x%08x\n", regs->reg_esi);
+    cprintf("  ebp  0x%08x\n", regs->reg_ebp);
+    cprintf("  oesp 0x%08x\n", regs->reg_oesp);
+    cprintf("  ebx  0x%08x\n", regs->reg_ebx);
+    cprintf("  edx  0x%08x\n", regs->reg_edx);
+    cprintf("  ecx  0x%08x\n", regs->reg_ecx);
+    cprintf("  eax  0x%08x\n", regs->reg_eax);
+}
+
+static inline void
+print_pgfault(struct trapframe *tf) {
+    /* error_code:
+     * bit 0 == 0 means no page found, 1 means protection fault
+     * bit 1 == 0 means read, 1 means write
+     * bit 2 == 0 means kernel, 1 means user
+     * */
+    cprintf("page fault at 0x%08x: %c/%c [%s].\n", rcr2(),
+            (tf->tf_err & 4) ? 'U' : 'K',
+            (tf->tf_err & 2) ? 'W' : 'R',
+            (tf->tf_err & 1) ? "protection fault" : "no page found");
+}
+
+static int
+pgfault_handler(struct trapframe *tf) {
+    extern struct mm_struct *check_mm_struct;
+    if(check_mm_struct !=NULL) { //used for test check_swap
+            print_pgfault(tf);
+        }
+    struct mm_struct *mm;
+    if (check_mm_struct != NULL) {
+        assert(current == idleproc);
+        mm = check_mm_struct;
+    }
+    else {
+        if (current == NULL) {
+            print_trapframe(tf);
+            print_pgfault(tf);
+            panic("unhandled page fault.\n");
+        }
+        mm = current->mm;
+    }
+    return do_pgfault(mm, tf->tf_err, rcr2());
+}
+
+static volatile int in_swap_tick_event = 0;
+extern struct mm_struct *check_mm_struct;
+
+static void
+trap_dispatch(struct trapframe *tf) {
+    char c;
+
+    int ret=0;
+
+    switch (tf->tf_trapno) {
+    case T_PGFLT:  //page fault
+        if ((ret = pgfault_handler(tf)) != 0) {
+            print_trapframe(tf);
+            if (current == NULL) {
+                panic("handle pgfault failed. ret=%d\n", ret);
+            }
+            else {
+                if (trap_in_kernel(tf)) {
+                    panic("handle pgfault failed in kernel mode. ret=%d\n", ret);
+                }
+                cprintf("killed by kernel.\n");
+                panic("handle user mode pgfault failed. ret=%d\n", ret); 
+                do_exit(-E_KILLED);
+            }
+        }
+        break;
+    case T_SYSCALL:
+        syscall();
+        break;
+    case IRQ_OFFSET + IRQ_TIMER:
+#if 0
+    LAB3 : If some page replacement algorithm need tick to change the priority of pages, 
+    then you can add code here. 
+#endif
+        /* LAB1 YOUR CODE : STEP 3 */
+        /* handle the timer interrupt */
+        /* (1) After a timer interrupt, you should record this event using a global variable (increase it), such as ticks in kern/driver/clock.c
+         * (2) Every TICK_NUM cycle, you can print some info using a funciton, such as print_ticks().
+         * (3) Too Simple? Yes, I think so!
+         */
+        /* LAB5 YOUR CODE */
+        /* you should upate you lab1 code (just add ONE or TWO lines of code):
+         *    Every TICK_NUM cycle, you should set current process's current->need_resched = 1
+         */
+  
+        break;
+    case IRQ_OFFSET + IRQ_COM1:
+        c = cons_getc();
+        cprintf("serial [%03d] %c\n", c, c);
+        break;
+    case IRQ_OFFSET + IRQ_KBD:
+        c = cons_getc();
+        cprintf("kbd [%03d] %c\n", c, c);
+        break;
+    //LAB1 CHALLENGE 1 : YOUR CODE you should modify below codes.
+    case T_SWITCH_TOU:
+    case T_SWITCH_TOK:
+        panic("T_SWITCH_** ??\n");
+        break;
+    case IRQ_OFFSET + IRQ_IDE1:
+    case IRQ_OFFSET + IRQ_IDE2:
+        /* do nothing */
+        break;
+    default:
+        print_trapframe(tf);
+        if (current != NULL) {
+            cprintf("unhandled trap.\n");
+            do_exit(-E_KILLED);
+        }
+        // in kernel, it must be a mistake
+        panic("unexpected trap in kernel.\n");
+
+    }
+}
+
+/* *
+ * trap - handles or dispatches an exception/interrupt. if and when trap() returns,
+ * the code in kern/trap/trapentry.S restores the old CPU state saved in the
+ * trapframe and then uses the iret instruction to return from the exception.
+ * */
+void
+trap(struct trapframe *tf) {
+    // dispatch based on what type of trap occurred
+    // used for previous projects
+    if (current == NULL) {
+        trap_dispatch(tf);
+    }
+    else {
+        // keep a trapframe chain in stack
+        struct trapframe *otf = current->tf;
+        current->tf = tf;
+    
+        bool in_kernel = trap_in_kernel(tf);
+    
+        trap_dispatch(tf);
+    
+        current->tf = otf;
+        if (!in_kernel) {
+            if (current->flags & PF_EXITING) {
+                do_exit(-E_KILLED);
+            }
+            if (current->need_resched) {
+                schedule();
+            }
+        }
+    }
+}
+
diff --git a/code/lab6/kern/trap/trap.h b/code/lab6/kern/trap/trap.h
new file mode 100644
index 0000000..e870a6f
--- /dev/null
+++ b/code/lab6/kern/trap/trap.h
@@ -0,0 +1,89 @@
+#ifndef __KERN_TRAP_TRAP_H__
+#define __KERN_TRAP_TRAP_H__
+
+#include <defs.h>
+
+/* Trap Numbers */
+
+/* Processor-defined: */
+#define T_DIVIDE                0   // divide error
+#define T_DEBUG                 1   // debug exception
+#define T_NMI                   2   // non-maskable interrupt
+#define T_BRKPT                 3   // breakpoint
+#define T_OFLOW                 4   // overflow
+#define T_BOUND                 5   // bounds check
+#define T_ILLOP                 6   // illegal opcode
+#define T_DEVICE                7   // device not available
+#define T_DBLFLT                8   // double fault
+// #define T_COPROC             9   // reserved (not used since 486)
+#define T_TSS                   10  // invalid task switch segment
+#define T_SEGNP                 11  // segment not present
+#define T_STACK                 12  // stack exception
+#define T_GPFLT                 13  // general protection fault
+#define T_PGFLT                 14  // page fault
+// #define T_RES                15  // reserved
+#define T_FPERR                 16  // floating point error
+#define T_ALIGN                 17  // aligment check
+#define T_MCHK                  18  // machine check
+#define T_SIMDERR               19  // SIMD floating point error
+
+/* Hardware IRQ numbers. We receive these as (IRQ_OFFSET + IRQ_xx) */
+#define IRQ_OFFSET              32  // IRQ 0 corresponds to int IRQ_OFFSET
+
+#define IRQ_TIMER               0
+#define IRQ_KBD                 1
+#define IRQ_COM1                4
+#define IRQ_IDE1                14
+#define IRQ_IDE2                15
+#define IRQ_ERROR               19
+#define IRQ_SPURIOUS            31
+
+/* *
+ * These are arbitrarily chosen, but with care not to overlap
+ * processor defined exceptions or interrupt vectors.
+ * */
+#define T_SWITCH_TOU                120    // user/kernel switch
+#define T_SWITCH_TOK                121    // user/kernel switch
+
+/* registers as pushed by pushal */
+struct pushregs {
+    uint32_t reg_edi;
+    uint32_t reg_esi;
+    uint32_t reg_ebp;
+    uint32_t reg_oesp;          /* Useless */
+    uint32_t reg_ebx;
+    uint32_t reg_edx;
+    uint32_t reg_ecx;
+    uint32_t reg_eax;
+};
+
+struct trapframe {
+    struct pushregs tf_regs;
+    uint16_t tf_gs;
+    uint16_t tf_padding0;
+    uint16_t tf_fs;
+    uint16_t tf_padding1;
+    uint16_t tf_es;
+    uint16_t tf_padding2;
+    uint16_t tf_ds;
+    uint16_t tf_padding3;
+    uint32_t tf_trapno;
+    /* below here defined by x86 hardware */
+    uint32_t tf_err;
+    uintptr_t tf_eip;
+    uint16_t tf_cs;
+    uint16_t tf_padding4;
+    uint32_t tf_eflags;
+    /* below here only when crossing rings, such as from user to kernel */
+    uintptr_t tf_esp;
+    uint16_t tf_ss;
+    uint16_t tf_padding5;
+} __attribute__((packed));
+
+void idt_init(void);
+void print_trapframe(struct trapframe *tf);
+void print_regs(struct pushregs *regs);
+bool trap_in_kernel(struct trapframe *tf);
+
+#endif /* !__KERN_TRAP_TRAP_H__ */
+
diff --git a/code/lab6/kern/trap/trapentry.S b/code/lab6/kern/trap/trapentry.S
new file mode 100644
index 0000000..3565ec8
--- /dev/null
+++ b/code/lab6/kern/trap/trapentry.S
@@ -0,0 +1,49 @@
+#include <memlayout.h>
+
+# vectors.S sends all traps here.
+.text
+.globl __alltraps
+__alltraps:
+    # push registers to build a trap frame
+    # therefore make the stack look like a struct trapframe
+    pushl %ds
+    pushl %es
+    pushl %fs
+    pushl %gs
+    pushal
+
+    # load GD_KDATA into %ds and %es to set up data segments for kernel
+    movl $GD_KDATA, %eax
+    movw %ax, %ds
+    movw %ax, %es
+
+    # push %esp to pass a pointer to the trapframe as an argument to trap()
+    pushl %esp
+
+    # call trap(tf), where tf=%esp
+    call trap
+
+    # pop the pushed stack pointer
+    popl %esp
+
+    # return falls through to trapret...
+.globl __trapret
+__trapret:
+    # restore registers from stack
+    popal
+
+    # restore %ds, %es, %fs and %gs
+    popl %gs
+    popl %fs
+    popl %es
+    popl %ds
+
+    # get rid of the trap number and error code
+    addl $0x8, %esp
+    iret
+
+.globl forkrets
+forkrets:
+    # set stack to this new process's trapframe
+    movl 4(%esp), %esp
+    jmp __trapret
diff --git a/code/lab6/kern/trap/vectors.S b/code/lab6/kern/trap/vectors.S
new file mode 100644
index 0000000..1d05b4a
--- /dev/null
+++ b/code/lab6/kern/trap/vectors.S
@@ -0,0 +1,1536 @@
+# handler
+.text
+.globl __alltraps
+.globl vector0
+vector0:
+  pushl $0
+  pushl $0
+  jmp __alltraps
+.globl vector1
+vector1:
+  pushl $0
+  pushl $1
+  jmp __alltraps
+.globl vector2
+vector2:
+  pushl $0
+  pushl $2
+  jmp __alltraps
+.globl vector3
+vector3:
+  pushl $0
+  pushl $3
+  jmp __alltraps
+.globl vector4
+vector4:
+  pushl $0
+  pushl $4
+  jmp __alltraps
+.globl vector5
+vector5:
+  pushl $0
+  pushl $5
+  jmp __alltraps
+.globl vector6
+vector6:
+  pushl $0
+  pushl $6
+  jmp __alltraps
+.globl vector7
+vector7:
+  pushl $0
+  pushl $7
+  jmp __alltraps
+.globl vector8
+vector8:
+  pushl $8
+  jmp __alltraps
+.globl vector9
+vector9:
+  pushl $9
+  jmp __alltraps
+.globl vector10
+vector10:
+  pushl $10
+  jmp __alltraps
+.globl vector11
+vector11:
+  pushl $11
+  jmp __alltraps
+.globl vector12
+vector12:
+  pushl $12
+  jmp __alltraps
+.globl vector13
+vector13:
+  pushl $13
+  jmp __alltraps
+.globl vector14
+vector14:
+  pushl $14
+  jmp __alltraps
+.globl vector15
+vector15:
+  pushl $0
+  pushl $15
+  jmp __alltraps
+.globl vector16
+vector16:
+  pushl $0
+  pushl $16
+  jmp __alltraps
+.globl vector17
+vector17:
+  pushl $17
+  jmp __alltraps
+.globl vector18
+vector18:
+  pushl $0
+  pushl $18
+  jmp __alltraps
+.globl vector19
+vector19:
+  pushl $0
+  pushl $19
+  jmp __alltraps
+.globl vector20
+vector20:
+  pushl $0
+  pushl $20
+  jmp __alltraps
+.globl vector21
+vector21:
+  pushl $0
+  pushl $21
+  jmp __alltraps
+.globl vector22
+vector22:
+  pushl $0
+  pushl $22
+  jmp __alltraps
+.globl vector23
+vector23:
+  pushl $0
+  pushl $23
+  jmp __alltraps
+.globl vector24
+vector24:
+  pushl $0
+  pushl $24
+  jmp __alltraps
+.globl vector25
+vector25:
+  pushl $0
+  pushl $25
+  jmp __alltraps
+.globl vector26
+vector26:
+  pushl $0
+  pushl $26
+  jmp __alltraps
+.globl vector27
+vector27:
+  pushl $0
+  pushl $27
+  jmp __alltraps
+.globl vector28
+vector28:
+  pushl $0
+  pushl $28
+  jmp __alltraps
+.globl vector29
+vector29:
+  pushl $0
+  pushl $29
+  jmp __alltraps
+.globl vector30
+vector30:
+  pushl $0
+  pushl $30
+  jmp __alltraps
+.globl vector31
+vector31:
+  pushl $0
+  pushl $31
+  jmp __alltraps
+.globl vector32
+vector32:
+  pushl $0
+  pushl $32
+  jmp __alltraps
+.globl vector33
+vector33:
+  pushl $0
+  pushl $33
+  jmp __alltraps
+.globl vector34
+vector34:
+  pushl $0
+  pushl $34
+  jmp __alltraps
+.globl vector35
+vector35:
+  pushl $0
+  pushl $35
+  jmp __alltraps
+.globl vector36
+vector36:
+  pushl $0
+  pushl $36
+  jmp __alltraps
+.globl vector37
+vector37:
+  pushl $0
+  pushl $37
+  jmp __alltraps
+.globl vector38
+vector38:
+  pushl $0
+  pushl $38
+  jmp __alltraps
+.globl vector39
+vector39:
+  pushl $0
+  pushl $39
+  jmp __alltraps
+.globl vector40
+vector40:
+  pushl $0
+  pushl $40
+  jmp __alltraps
+.globl vector41
+vector41:
+  pushl $0
+  pushl $41
+  jmp __alltraps
+.globl vector42
+vector42:
+  pushl $0
+  pushl $42
+  jmp __alltraps
+.globl vector43
+vector43:
+  pushl $0
+  pushl $43
+  jmp __alltraps
+.globl vector44
+vector44:
+  pushl $0
+  pushl $44
+  jmp __alltraps
+.globl vector45
+vector45:
+  pushl $0
+  pushl $45
+  jmp __alltraps
+.globl vector46
+vector46:
+  pushl $0
+  pushl $46
+  jmp __alltraps
+.globl vector47
+vector47:
+  pushl $0
+  pushl $47
+  jmp __alltraps
+.globl vector48
+vector48:
+  pushl $0
+  pushl $48
+  jmp __alltraps
+.globl vector49
+vector49:
+  pushl $0
+  pushl $49
+  jmp __alltraps
+.globl vector50
+vector50:
+  pushl $0
+  pushl $50
+  jmp __alltraps
+.globl vector51
+vector51:
+  pushl $0
+  pushl $51
+  jmp __alltraps
+.globl vector52
+vector52:
+  pushl $0
+  pushl $52
+  jmp __alltraps
+.globl vector53
+vector53:
+  pushl $0
+  pushl $53
+  jmp __alltraps
+.globl vector54
+vector54:
+  pushl $0
+  pushl $54
+  jmp __alltraps
+.globl vector55
+vector55:
+  pushl $0
+  pushl $55
+  jmp __alltraps
+.globl vector56
+vector56:
+  pushl $0
+  pushl $56
+  jmp __alltraps
+.globl vector57
+vector57:
+  pushl $0
+  pushl $57
+  jmp __alltraps
+.globl vector58
+vector58:
+  pushl $0
+  pushl $58
+  jmp __alltraps
+.globl vector59
+vector59:
+  pushl $0
+  pushl $59
+  jmp __alltraps
+.globl vector60
+vector60:
+  pushl $0
+  pushl $60
+  jmp __alltraps
+.globl vector61
+vector61:
+  pushl $0
+  pushl $61
+  jmp __alltraps
+.globl vector62
+vector62:
+  pushl $0
+  pushl $62
+  jmp __alltraps
+.globl vector63
+vector63:
+  pushl $0
+  pushl $63
+  jmp __alltraps
+.globl vector64
+vector64:
+  pushl $0
+  pushl $64
+  jmp __alltraps
+.globl vector65
+vector65:
+  pushl $0
+  pushl $65
+  jmp __alltraps
+.globl vector66
+vector66:
+  pushl $0
+  pushl $66
+  jmp __alltraps
+.globl vector67
+vector67:
+  pushl $0
+  pushl $67
+  jmp __alltraps
+.globl vector68
+vector68:
+  pushl $0
+  pushl $68
+  jmp __alltraps
+.globl vector69
+vector69:
+  pushl $0
+  pushl $69
+  jmp __alltraps
+.globl vector70
+vector70:
+  pushl $0
+  pushl $70
+  jmp __alltraps
+.globl vector71
+vector71:
+  pushl $0
+  pushl $71
+  jmp __alltraps
+.globl vector72
+vector72:
+  pushl $0
+  pushl $72
+  jmp __alltraps
+.globl vector73
+vector73:
+  pushl $0
+  pushl $73
+  jmp __alltraps
+.globl vector74
+vector74:
+  pushl $0
+  pushl $74
+  jmp __alltraps
+.globl vector75
+vector75:
+  pushl $0
+  pushl $75
+  jmp __alltraps
+.globl vector76
+vector76:
+  pushl $0
+  pushl $76
+  jmp __alltraps
+.globl vector77
+vector77:
+  pushl $0
+  pushl $77
+  jmp __alltraps
+.globl vector78
+vector78:
+  pushl $0
+  pushl $78
+  jmp __alltraps
+.globl vector79
+vector79:
+  pushl $0
+  pushl $79
+  jmp __alltraps
+.globl vector80
+vector80:
+  pushl $0
+  pushl $80
+  jmp __alltraps
+.globl vector81
+vector81:
+  pushl $0
+  pushl $81
+  jmp __alltraps
+.globl vector82
+vector82:
+  pushl $0
+  pushl $82
+  jmp __alltraps
+.globl vector83
+vector83:
+  pushl $0
+  pushl $83
+  jmp __alltraps
+.globl vector84
+vector84:
+  pushl $0
+  pushl $84
+  jmp __alltraps
+.globl vector85
+vector85:
+  pushl $0
+  pushl $85
+  jmp __alltraps
+.globl vector86
+vector86:
+  pushl $0
+  pushl $86
+  jmp __alltraps
+.globl vector87
+vector87:
+  pushl $0
+  pushl $87
+  jmp __alltraps
+.globl vector88
+vector88:
+  pushl $0
+  pushl $88
+  jmp __alltraps
+.globl vector89
+vector89:
+  pushl $0
+  pushl $89
+  jmp __alltraps
+.globl vector90
+vector90:
+  pushl $0
+  pushl $90
+  jmp __alltraps
+.globl vector91
+vector91:
+  pushl $0
+  pushl $91
+  jmp __alltraps
+.globl vector92
+vector92:
+  pushl $0
+  pushl $92
+  jmp __alltraps
+.globl vector93
+vector93:
+  pushl $0
+  pushl $93
+  jmp __alltraps
+.globl vector94
+vector94:
+  pushl $0
+  pushl $94
+  jmp __alltraps
+.globl vector95
+vector95:
+  pushl $0
+  pushl $95
+  jmp __alltraps
+.globl vector96
+vector96:
+  pushl $0
+  pushl $96
+  jmp __alltraps
+.globl vector97
+vector97:
+  pushl $0
+  pushl $97
+  jmp __alltraps
+.globl vector98
+vector98:
+  pushl $0
+  pushl $98
+  jmp __alltraps
+.globl vector99
+vector99:
+  pushl $0
+  pushl $99
+  jmp __alltraps
+.globl vector100
+vector100:
+  pushl $0
+  pushl $100
+  jmp __alltraps
+.globl vector101
+vector101:
+  pushl $0
+  pushl $101
+  jmp __alltraps
+.globl vector102
+vector102:
+  pushl $0
+  pushl $102
+  jmp __alltraps
+.globl vector103
+vector103:
+  pushl $0
+  pushl $103
+  jmp __alltraps
+.globl vector104
+vector104:
+  pushl $0
+  pushl $104
+  jmp __alltraps
+.globl vector105
+vector105:
+  pushl $0
+  pushl $105
+  jmp __alltraps
+.globl vector106
+vector106:
+  pushl $0
+  pushl $106
+  jmp __alltraps
+.globl vector107
+vector107:
+  pushl $0
+  pushl $107
+  jmp __alltraps
+.globl vector108
+vector108:
+  pushl $0
+  pushl $108
+  jmp __alltraps
+.globl vector109
+vector109:
+  pushl $0
+  pushl $109
+  jmp __alltraps
+.globl vector110
+vector110:
+  pushl $0
+  pushl $110
+  jmp __alltraps
+.globl vector111
+vector111:
+  pushl $0
+  pushl $111
+  jmp __alltraps
+.globl vector112
+vector112:
+  pushl $0
+  pushl $112
+  jmp __alltraps
+.globl vector113
+vector113:
+  pushl $0
+  pushl $113
+  jmp __alltraps
+.globl vector114
+vector114:
+  pushl $0
+  pushl $114
+  jmp __alltraps
+.globl vector115
+vector115:
+  pushl $0
+  pushl $115
+  jmp __alltraps
+.globl vector116
+vector116:
+  pushl $0
+  pushl $116
+  jmp __alltraps
+.globl vector117
+vector117:
+  pushl $0
+  pushl $117
+  jmp __alltraps
+.globl vector118
+vector118:
+  pushl $0
+  pushl $118
+  jmp __alltraps
+.globl vector119
+vector119:
+  pushl $0
+  pushl $119
+  jmp __alltraps
+.globl vector120
+vector120:
+  pushl $0
+  pushl $120
+  jmp __alltraps
+.globl vector121
+vector121:
+  pushl $0
+  pushl $121
+  jmp __alltraps
+.globl vector122
+vector122:
+  pushl $0
+  pushl $122
+  jmp __alltraps
+.globl vector123
+vector123:
+  pushl $0
+  pushl $123
+  jmp __alltraps
+.globl vector124
+vector124:
+  pushl $0
+  pushl $124
+  jmp __alltraps
+.globl vector125
+vector125:
+  pushl $0
+  pushl $125
+  jmp __alltraps
+.globl vector126
+vector126:
+  pushl $0
+  pushl $126
+  jmp __alltraps
+.globl vector127
+vector127:
+  pushl $0
+  pushl $127
+  jmp __alltraps
+.globl vector128
+vector128:
+  pushl $0
+  pushl $128
+  jmp __alltraps
+.globl vector129
+vector129:
+  pushl $0
+  pushl $129
+  jmp __alltraps
+.globl vector130
+vector130:
+  pushl $0
+  pushl $130
+  jmp __alltraps
+.globl vector131
+vector131:
+  pushl $0
+  pushl $131
+  jmp __alltraps
+.globl vector132
+vector132:
+  pushl $0
+  pushl $132
+  jmp __alltraps
+.globl vector133
+vector133:
+  pushl $0
+  pushl $133
+  jmp __alltraps
+.globl vector134
+vector134:
+  pushl $0
+  pushl $134
+  jmp __alltraps
+.globl vector135
+vector135:
+  pushl $0
+  pushl $135
+  jmp __alltraps
+.globl vector136
+vector136:
+  pushl $0
+  pushl $136
+  jmp __alltraps
+.globl vector137
+vector137:
+  pushl $0
+  pushl $137
+  jmp __alltraps
+.globl vector138
+vector138:
+  pushl $0
+  pushl $138
+  jmp __alltraps
+.globl vector139
+vector139:
+  pushl $0
+  pushl $139
+  jmp __alltraps
+.globl vector140
+vector140:
+  pushl $0
+  pushl $140
+  jmp __alltraps
+.globl vector141
+vector141:
+  pushl $0
+  pushl $141
+  jmp __alltraps
+.globl vector142
+vector142:
+  pushl $0
+  pushl $142
+  jmp __alltraps
+.globl vector143
+vector143:
+  pushl $0
+  pushl $143
+  jmp __alltraps
+.globl vector144
+vector144:
+  pushl $0
+  pushl $144
+  jmp __alltraps
+.globl vector145
+vector145:
+  pushl $0
+  pushl $145
+  jmp __alltraps
+.globl vector146
+vector146:
+  pushl $0
+  pushl $146
+  jmp __alltraps
+.globl vector147
+vector147:
+  pushl $0
+  pushl $147
+  jmp __alltraps
+.globl vector148
+vector148:
+  pushl $0
+  pushl $148
+  jmp __alltraps
+.globl vector149
+vector149:
+  pushl $0
+  pushl $149
+  jmp __alltraps
+.globl vector150
+vector150:
+  pushl $0
+  pushl $150
+  jmp __alltraps
+.globl vector151
+vector151:
+  pushl $0
+  pushl $151
+  jmp __alltraps
+.globl vector152
+vector152:
+  pushl $0
+  pushl $152
+  jmp __alltraps
+.globl vector153
+vector153:
+  pushl $0
+  pushl $153
+  jmp __alltraps
+.globl vector154
+vector154:
+  pushl $0
+  pushl $154
+  jmp __alltraps
+.globl vector155
+vector155:
+  pushl $0
+  pushl $155
+  jmp __alltraps
+.globl vector156
+vector156:
+  pushl $0
+  pushl $156
+  jmp __alltraps
+.globl vector157
+vector157:
+  pushl $0
+  pushl $157
+  jmp __alltraps
+.globl vector158
+vector158:
+  pushl $0
+  pushl $158
+  jmp __alltraps
+.globl vector159
+vector159:
+  pushl $0
+  pushl $159
+  jmp __alltraps
+.globl vector160
+vector160:
+  pushl $0
+  pushl $160
+  jmp __alltraps
+.globl vector161
+vector161:
+  pushl $0
+  pushl $161
+  jmp __alltraps
+.globl vector162
+vector162:
+  pushl $0
+  pushl $162
+  jmp __alltraps
+.globl vector163
+vector163:
+  pushl $0
+  pushl $163
+  jmp __alltraps
+.globl vector164
+vector164:
+  pushl $0
+  pushl $164
+  jmp __alltraps
+.globl vector165
+vector165:
+  pushl $0
+  pushl $165
+  jmp __alltraps
+.globl vector166
+vector166:
+  pushl $0
+  pushl $166
+  jmp __alltraps
+.globl vector167
+vector167:
+  pushl $0
+  pushl $167
+  jmp __alltraps
+.globl vector168
+vector168:
+  pushl $0
+  pushl $168
+  jmp __alltraps
+.globl vector169
+vector169:
+  pushl $0
+  pushl $169
+  jmp __alltraps
+.globl vector170
+vector170:
+  pushl $0
+  pushl $170
+  jmp __alltraps
+.globl vector171
+vector171:
+  pushl $0
+  pushl $171
+  jmp __alltraps
+.globl vector172
+vector172:
+  pushl $0
+  pushl $172
+  jmp __alltraps
+.globl vector173
+vector173:
+  pushl $0
+  pushl $173
+  jmp __alltraps
+.globl vector174
+vector174:
+  pushl $0
+  pushl $174
+  jmp __alltraps
+.globl vector175
+vector175:
+  pushl $0
+  pushl $175
+  jmp __alltraps
+.globl vector176
+vector176:
+  pushl $0
+  pushl $176
+  jmp __alltraps
+.globl vector177
+vector177:
+  pushl $0
+  pushl $177
+  jmp __alltraps
+.globl vector178
+vector178:
+  pushl $0
+  pushl $178
+  jmp __alltraps
+.globl vector179
+vector179:
+  pushl $0
+  pushl $179
+  jmp __alltraps
+.globl vector180
+vector180:
+  pushl $0
+  pushl $180
+  jmp __alltraps
+.globl vector181
+vector181:
+  pushl $0
+  pushl $181
+  jmp __alltraps
+.globl vector182
+vector182:
+  pushl $0
+  pushl $182
+  jmp __alltraps
+.globl vector183
+vector183:
+  pushl $0
+  pushl $183
+  jmp __alltraps
+.globl vector184
+vector184:
+  pushl $0
+  pushl $184
+  jmp __alltraps
+.globl vector185
+vector185:
+  pushl $0
+  pushl $185
+  jmp __alltraps
+.globl vector186
+vector186:
+  pushl $0
+  pushl $186
+  jmp __alltraps
+.globl vector187
+vector187:
+  pushl $0
+  pushl $187
+  jmp __alltraps
+.globl vector188
+vector188:
+  pushl $0
+  pushl $188
+  jmp __alltraps
+.globl vector189
+vector189:
+  pushl $0
+  pushl $189
+  jmp __alltraps
+.globl vector190
+vector190:
+  pushl $0
+  pushl $190
+  jmp __alltraps
+.globl vector191
+vector191:
+  pushl $0
+  pushl $191
+  jmp __alltraps
+.globl vector192
+vector192:
+  pushl $0
+  pushl $192
+  jmp __alltraps
+.globl vector193
+vector193:
+  pushl $0
+  pushl $193
+  jmp __alltraps
+.globl vector194
+vector194:
+  pushl $0
+  pushl $194
+  jmp __alltraps
+.globl vector195
+vector195:
+  pushl $0
+  pushl $195
+  jmp __alltraps
+.globl vector196
+vector196:
+  pushl $0
+  pushl $196
+  jmp __alltraps
+.globl vector197
+vector197:
+  pushl $0
+  pushl $197
+  jmp __alltraps
+.globl vector198
+vector198:
+  pushl $0
+  pushl $198
+  jmp __alltraps
+.globl vector199
+vector199:
+  pushl $0
+  pushl $199
+  jmp __alltraps
+.globl vector200
+vector200:
+  pushl $0
+  pushl $200
+  jmp __alltraps
+.globl vector201
+vector201:
+  pushl $0
+  pushl $201
+  jmp __alltraps
+.globl vector202
+vector202:
+  pushl $0
+  pushl $202
+  jmp __alltraps
+.globl vector203
+vector203:
+  pushl $0
+  pushl $203
+  jmp __alltraps
+.globl vector204
+vector204:
+  pushl $0
+  pushl $204
+  jmp __alltraps
+.globl vector205
+vector205:
+  pushl $0
+  pushl $205
+  jmp __alltraps
+.globl vector206
+vector206:
+  pushl $0
+  pushl $206
+  jmp __alltraps
+.globl vector207
+vector207:
+  pushl $0
+  pushl $207
+  jmp __alltraps
+.globl vector208
+vector208:
+  pushl $0
+  pushl $208
+  jmp __alltraps
+.globl vector209
+vector209:
+  pushl $0
+  pushl $209
+  jmp __alltraps
+.globl vector210
+vector210:
+  pushl $0
+  pushl $210
+  jmp __alltraps
+.globl vector211
+vector211:
+  pushl $0
+  pushl $211
+  jmp __alltraps
+.globl vector212
+vector212:
+  pushl $0
+  pushl $212
+  jmp __alltraps
+.globl vector213
+vector213:
+  pushl $0
+  pushl $213
+  jmp __alltraps
+.globl vector214
+vector214:
+  pushl $0
+  pushl $214
+  jmp __alltraps
+.globl vector215
+vector215:
+  pushl $0
+  pushl $215
+  jmp __alltraps
+.globl vector216
+vector216:
+  pushl $0
+  pushl $216
+  jmp __alltraps
+.globl vector217
+vector217:
+  pushl $0
+  pushl $217
+  jmp __alltraps
+.globl vector218
+vector218:
+  pushl $0
+  pushl $218
+  jmp __alltraps
+.globl vector219
+vector219:
+  pushl $0
+  pushl $219
+  jmp __alltraps
+.globl vector220
+vector220:
+  pushl $0
+  pushl $220
+  jmp __alltraps
+.globl vector221
+vector221:
+  pushl $0
+  pushl $221
+  jmp __alltraps
+.globl vector222
+vector222:
+  pushl $0
+  pushl $222
+  jmp __alltraps
+.globl vector223
+vector223:
+  pushl $0
+  pushl $223
+  jmp __alltraps
+.globl vector224
+vector224:
+  pushl $0
+  pushl $224
+  jmp __alltraps
+.globl vector225
+vector225:
+  pushl $0
+  pushl $225
+  jmp __alltraps
+.globl vector226
+vector226:
+  pushl $0
+  pushl $226
+  jmp __alltraps
+.globl vector227
+vector227:
+  pushl $0
+  pushl $227
+  jmp __alltraps
+.globl vector228
+vector228:
+  pushl $0
+  pushl $228
+  jmp __alltraps
+.globl vector229
+vector229:
+  pushl $0
+  pushl $229
+  jmp __alltraps
+.globl vector230
+vector230:
+  pushl $0
+  pushl $230
+  jmp __alltraps
+.globl vector231
+vector231:
+  pushl $0
+  pushl $231
+  jmp __alltraps
+.globl vector232
+vector232:
+  pushl $0
+  pushl $232
+  jmp __alltraps
+.globl vector233
+vector233:
+  pushl $0
+  pushl $233
+  jmp __alltraps
+.globl vector234
+vector234:
+  pushl $0
+  pushl $234
+  jmp __alltraps
+.globl vector235
+vector235:
+  pushl $0
+  pushl $235
+  jmp __alltraps
+.globl vector236
+vector236:
+  pushl $0
+  pushl $236
+  jmp __alltraps
+.globl vector237
+vector237:
+  pushl $0
+  pushl $237
+  jmp __alltraps
+.globl vector238
+vector238:
+  pushl $0
+  pushl $238
+  jmp __alltraps
+.globl vector239
+vector239:
+  pushl $0
+  pushl $239
+  jmp __alltraps
+.globl vector240
+vector240:
+  pushl $0
+  pushl $240
+  jmp __alltraps
+.globl vector241
+vector241:
+  pushl $0
+  pushl $241
+  jmp __alltraps
+.globl vector242
+vector242:
+  pushl $0
+  pushl $242
+  jmp __alltraps
+.globl vector243
+vector243:
+  pushl $0
+  pushl $243
+  jmp __alltraps
+.globl vector244
+vector244:
+  pushl $0
+  pushl $244
+  jmp __alltraps
+.globl vector245
+vector245:
+  pushl $0
+  pushl $245
+  jmp __alltraps
+.globl vector246
+vector246:
+  pushl $0
+  pushl $246
+  jmp __alltraps
+.globl vector247
+vector247:
+  pushl $0
+  pushl $247
+  jmp __alltraps
+.globl vector248
+vector248:
+  pushl $0
+  pushl $248
+  jmp __alltraps
+.globl vector249
+vector249:
+  pushl $0
+  pushl $249
+  jmp __alltraps
+.globl vector250
+vector250:
+  pushl $0
+  pushl $250
+  jmp __alltraps
+.globl vector251
+vector251:
+  pushl $0
+  pushl $251
+  jmp __alltraps
+.globl vector252
+vector252:
+  pushl $0
+  pushl $252
+  jmp __alltraps
+.globl vector253
+vector253:
+  pushl $0
+  pushl $253
+  jmp __alltraps
+.globl vector254
+vector254:
+  pushl $0
+  pushl $254
+  jmp __alltraps
+.globl vector255
+vector255:
+  pushl $0
+  pushl $255
+  jmp __alltraps
+
+# vector table
+.data
+.globl __vectors
+__vectors:
+  .long vector0
+  .long vector1
+  .long vector2
+  .long vector3
+  .long vector4
+  .long vector5
+  .long vector6
+  .long vector7
+  .long vector8
+  .long vector9
+  .long vector10
+  .long vector11
+  .long vector12
+  .long vector13
+  .long vector14
+  .long vector15
+  .long vector16
+  .long vector17
+  .long vector18
+  .long vector19
+  .long vector20
+  .long vector21
+  .long vector22
+  .long vector23
+  .long vector24
+  .long vector25
+  .long vector26
+  .long vector27
+  .long vector28
+  .long vector29
+  .long vector30
+  .long vector31
+  .long vector32
+  .long vector33
+  .long vector34
+  .long vector35
+  .long vector36
+  .long vector37
+  .long vector38
+  .long vector39
+  .long vector40
+  .long vector41
+  .long vector42
+  .long vector43
+  .long vector44
+  .long vector45
+  .long vector46
+  .long vector47
+  .long vector48
+  .long vector49
+  .long vector50
+  .long vector51
+  .long vector52
+  .long vector53
+  .long vector54
+  .long vector55
+  .long vector56
+  .long vector57
+  .long vector58
+  .long vector59
+  .long vector60
+  .long vector61
+  .long vector62
+  .long vector63
+  .long vector64
+  .long vector65
+  .long vector66
+  .long vector67
+  .long vector68
+  .long vector69
+  .long vector70
+  .long vector71
+  .long vector72
+  .long vector73
+  .long vector74
+  .long vector75
+  .long vector76
+  .long vector77
+  .long vector78
+  .long vector79
+  .long vector80
+  .long vector81
+  .long vector82
+  .long vector83
+  .long vector84
+  .long vector85
+  .long vector86
+  .long vector87
+  .long vector88
+  .long vector89
+  .long vector90
+  .long vector91
+  .long vector92
+  .long vector93
+  .long vector94
+  .long vector95
+  .long vector96
+  .long vector97
+  .long vector98
+  .long vector99
+  .long vector100
+  .long vector101
+  .long vector102
+  .long vector103
+  .long vector104
+  .long vector105
+  .long vector106
+  .long vector107
+  .long vector108
+  .long vector109
+  .long vector110
+  .long vector111
+  .long vector112
+  .long vector113
+  .long vector114
+  .long vector115
+  .long vector116
+  .long vector117
+  .long vector118
+  .long vector119
+  .long vector120
+  .long vector121
+  .long vector122
+  .long vector123
+  .long vector124
+  .long vector125
+  .long vector126
+  .long vector127
+  .long vector128
+  .long vector129
+  .long vector130
+  .long vector131
+  .long vector132
+  .long vector133
+  .long vector134
+  .long vector135
+  .long vector136
+  .long vector137
+  .long vector138
+  .long vector139
+  .long vector140
+  .long vector141
+  .long vector142
+  .long vector143
+  .long vector144
+  .long vector145
+  .long vector146
+  .long vector147
+  .long vector148
+  .long vector149
+  .long vector150
+  .long vector151
+  .long vector152
+  .long vector153
+  .long vector154
+  .long vector155
+  .long vector156
+  .long vector157
+  .long vector158
+  .long vector159
+  .long vector160
+  .long vector161
+  .long vector162
+  .long vector163
+  .long vector164
+  .long vector165
+  .long vector166
+  .long vector167
+  .long vector168
+  .long vector169
+  .long vector170
+  .long vector171
+  .long vector172
+  .long vector173
+  .long vector174
+  .long vector175
+  .long vector176
+  .long vector177
+  .long vector178
+  .long vector179
+  .long vector180
+  .long vector181
+  .long vector182
+  .long vector183
+  .long vector184
+  .long vector185
+  .long vector186
+  .long vector187
+  .long vector188
+  .long vector189
+  .long vector190
+  .long vector191
+  .long vector192
+  .long vector193
+  .long vector194
+  .long vector195
+  .long vector196
+  .long vector197
+  .long vector198
+  .long vector199
+  .long vector200
+  .long vector201
+  .long vector202
+  .long vector203
+  .long vector204
+  .long vector205
+  .long vector206
+  .long vector207
+  .long vector208
+  .long vector209
+  .long vector210
+  .long vector211
+  .long vector212
+  .long vector213
+  .long vector214
+  .long vector215
+  .long vector216
+  .long vector217
+  .long vector218
+  .long vector219
+  .long vector220
+  .long vector221
+  .long vector222
+  .long vector223
+  .long vector224
+  .long vector225
+  .long vector226
+  .long vector227
+  .long vector228
+  .long vector229
+  .long vector230
+  .long vector231
+  .long vector232
+  .long vector233
+  .long vector234
+  .long vector235
+  .long vector236
+  .long vector237
+  .long vector238
+  .long vector239
+  .long vector240
+  .long vector241
+  .long vector242
+  .long vector243
+  .long vector244
+  .long vector245
+  .long vector246
+  .long vector247
+  .long vector248
+  .long vector249
+  .long vector250
+  .long vector251
+  .long vector252
+  .long vector253
+  .long vector254
+  .long vector255
diff --git a/code/lab6/libs/atomic.h b/code/lab6/libs/atomic.h
new file mode 100644
index 0000000..a3a9525
--- /dev/null
+++ b/code/lab6/libs/atomic.h
@@ -0,0 +1,251 @@
+#ifndef __LIBS_ATOMIC_H__
+#define __LIBS_ATOMIC_H__
+
+/* Atomic operations that C can't guarantee us. Useful for resource counting etc.. */
+
+typedef struct {
+    volatile int counter;
+} atomic_t;
+
+static inline int atomic_read(const atomic_t *v) __attribute__((always_inline));
+static inline void atomic_set(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_add(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_sub(atomic_t *v, int i) __attribute__((always_inline));
+static inline bool atomic_sub_test_zero(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_inc(atomic_t *v) __attribute__((always_inline));
+static inline void atomic_dec(atomic_t *v) __attribute__((always_inline));
+static inline bool atomic_inc_test_zero(atomic_t *v) __attribute__((always_inline));
+static inline bool atomic_dec_test_zero(atomic_t *v) __attribute__((always_inline));
+static inline int atomic_add_return(atomic_t *v, int i) __attribute__((always_inline));
+static inline int atomic_sub_return(atomic_t *v, int i) __attribute__((always_inline));
+
+/* *
+ * atomic_read - read atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically reads the value of @v.
+ * */
+static inline int
+atomic_read(const atomic_t *v) {
+    return v->counter;
+}
+
+/* *
+ * atomic_set - set atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  required value
+ *
+ * Atomically sets the value of @v to @i.
+ * */
+static inline void
+atomic_set(atomic_t *v, int i) {
+    v->counter = i;
+}
+
+/* *
+ * atomic_add - add integer to atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to add
+ *
+ * Atomically adds @i to @v.
+ * */
+static inline void
+atomic_add(atomic_t *v, int i) {
+    asm volatile ("addl %1, %0" : "+m" (v->counter) : "ir" (i));
+}
+
+/* *
+ * atomic_sub - subtract integer from atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v.
+ * */
+static inline void
+atomic_sub(atomic_t *v, int i) {
+    asm volatile("subl %1, %0" : "+m" (v->counter) : "ir" (i));
+}
+
+/* *
+ * atomic_sub_test_zero - subtract value from variable and test result
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v and
+ * returns true if the result is zero, or false for all other cases.
+ * */
+static inline bool
+atomic_sub_test_zero(atomic_t *v, int i) {
+    unsigned char c;
+    asm volatile("subl %2, %0; sete %1" : "+m" (v->counter), "=qm" (c) : "ir" (i) : "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_inc - increment atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically increments @v by 1.
+ * */
+static inline void
+atomic_inc(atomic_t *v) {
+    asm volatile("incl %0" : "+m" (v->counter));
+}
+
+/* *
+ * atomic_dec - decrement atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically decrements @v by 1.
+ * */
+static inline void
+atomic_dec(atomic_t *v) {
+    asm volatile("decl %0" : "+m" (v->counter));
+}
+
+/* *
+ * atomic_inc_test_zero - increment and test
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically increments @v by 1 and
+ * returns true if the result is zero, or false for all other cases.
+ * */
+static inline bool
+atomic_inc_test_zero(atomic_t *v) {
+    unsigned char c;
+    asm volatile("incl %0; sete %1" : "+m" (v->counter), "=qm" (c) :: "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_dec_test_zero - decrement and test
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically decrements @v by 1 and
+ * returns true if the result is 0, or false for all other cases.
+ * */
+static inline bool
+atomic_dec_test_zero(atomic_t *v) {
+    unsigned char c;
+    asm volatile("decl %0; sete %1" : "+m" (v->counter), "=qm" (c) :: "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_add_return - add integer and return
+ * @i:  integer value to add
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically adds @i to @v and returns @i + @v
+ * Requires Modern 486+ processor
+ * */
+static inline int
+atomic_add_return(atomic_t *v, int i) {
+    int __i = i;
+    asm volatile("xaddl %0, %1" : "+r" (i), "+m" (v->counter) :: "memory");
+    return i + __i;
+}
+
+/* *
+ * atomic_sub_return - subtract integer and return
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v and returns @v - @i
+ * */
+static inline int
+atomic_sub_return(atomic_t *v, int i) {
+    return atomic_add_return(v, -i);
+}
+
+static inline void set_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline void clear_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline void change_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_set_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_clear_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_change_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_bit(int nr, volatile void *addr) __attribute__((always_inline));
+
+/* *
+ * set_bit - Atomically set a bit in memory
+ * @nr:     the bit to set
+ * @addr:   the address to start counting from
+ *
+ * Note that @nr may be almost arbitrarily large; this function is not
+ * restricted to acting on a single-word quantity.
+ * */
+static inline void
+set_bit(int nr, volatile void *addr) {
+    asm volatile ("btsl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * clear_bit - Atomically clears a bit in memory
+ * @nr:     the bit to clear
+ * @addr:   the address to start counting from
+ * */
+static inline void
+clear_bit(int nr, volatile void *addr) {
+    asm volatile ("btrl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * change_bit - Atomically toggle a bit in memory
+ * @nr:     the bit to change
+ * @addr:   the address to start counting from
+ * */
+static inline void
+change_bit(int nr, volatile void *addr) {
+    asm volatile ("btcl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * test_and_set_bit - Atomically set a bit and return its old value
+ * @nr:     the bit to set
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_set_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btsl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_and_clear_bit - Atomically clear a bit and return its old value
+ * @nr:     the bit to clear
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_clear_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btrl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_and_change_bit - Atomically change a bit and return its old value
+ * @nr:     the bit to change
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_change_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btcl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_bit - Determine whether a bit is set
+ * @nr:     the bit to test
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btl %2, %1; sbbl %0,%0" : "=r" (oldbit) : "m" (*(volatile long *)addr), "Ir" (nr));
+    return oldbit != 0;
+}
+
+#endif /* !__LIBS_ATOMIC_H__ */
+
diff --git a/code/lab6/libs/defs.h b/code/lab6/libs/defs.h
new file mode 100644
index 0000000..88f280e
--- /dev/null
+++ b/code/lab6/libs/defs.h
@@ -0,0 +1,68 @@
+#ifndef __LIBS_DEFS_H__
+#define __LIBS_DEFS_H__
+
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+#define __always_inline inline __attribute__((always_inline))
+#define __noinline __attribute__((noinline))
+#define __noreturn __attribute__((noreturn))
+
+/* Represents true-or-false values */
+typedef int bool;
+
+/* Explicitly-sized versions of integer types */
+typedef char int8_t;
+typedef unsigned char uint8_t;
+typedef short int16_t;
+typedef unsigned short uint16_t;
+typedef int int32_t;
+typedef unsigned int uint32_t;
+typedef long long int64_t;
+typedef unsigned long long uint64_t;
+
+/* *
+ * Pointers and addresses are 32 bits long.
+ * We use pointer types to represent addresses,
+ * uintptr_t to represent the numerical values of addresses.
+ * */
+typedef int32_t intptr_t;
+typedef uint32_t uintptr_t;
+
+/* size_t is used for memory object sizes */
+typedef uintptr_t size_t;
+
+/* used for page numbers */
+typedef size_t ppn_t;
+
+/* *
+ * Rounding operations (efficient when n is a power of 2)
+ * Round down to the nearest multiple of n
+ * */
+#define ROUNDDOWN(a, n) ({                                          \
+            size_t __a = (size_t)(a);                               \
+            (typeof(a))(__a - __a % (n));                           \
+        })
+
+/* Round up to the nearest multiple of n */
+#define ROUNDUP(a, n) ({                                            \
+            size_t __n = (size_t)(n);                               \
+            (typeof(a))(ROUNDDOWN((size_t)(a) + __n - 1, __n));     \
+        })
+
+/* Return the offset of 'member' relative to the beginning of a struct type */
+#define offsetof(type, member)                                      \
+    ((size_t)(&((type *)0)->member))
+
+/* *
+ * to_struct - get the struct from a ptr
+ * @ptr:    a struct pointer of member
+ * @type:   the type of the struct this is embedded in
+ * @member: the name of the member within the struct
+ * */
+#define to_struct(ptr, type, member)                               \
+    ((type *)((char *)(ptr) - offsetof(type, member)))
+
+#endif /* !__LIBS_DEFS_H__ */
+
diff --git a/code/lab6/libs/elf.h b/code/lab6/libs/elf.h
new file mode 100644
index 0000000..8678f10
--- /dev/null
+++ b/code/lab6/libs/elf.h
@@ -0,0 +1,48 @@
+#ifndef __LIBS_ELF_H__
+#define __LIBS_ELF_H__
+
+#include <defs.h>
+
+#define ELF_MAGIC   0x464C457FU         // "\x7FELF" in little endian
+
+/* file header */
+struct elfhdr {
+    uint32_t e_magic;     // must equal ELF_MAGIC
+    uint8_t e_elf[12];
+    uint16_t e_type;      // 1=relocatable, 2=executable, 3=shared object, 4=core image
+    uint16_t e_machine;   // 3=x86, 4=68K, etc.
+    uint32_t e_version;   // file version, always 1
+    uint32_t e_entry;     // entry point if executable
+    uint32_t e_phoff;     // file position of program header or 0
+    uint32_t e_shoff;     // file position of section header or 0
+    uint32_t e_flags;     // architecture-specific flags, usually 0
+    uint16_t e_ehsize;    // size of this elf header
+    uint16_t e_phentsize; // size of an entry in program header
+    uint16_t e_phnum;     // number of entries in program header or 0
+    uint16_t e_shentsize; // size of an entry in section header
+    uint16_t e_shnum;     // number of entries in section header or 0
+    uint16_t e_shstrndx;  // section number that contains section name strings
+};
+
+/* program section header */
+struct proghdr {
+    uint32_t p_type;   // loadable code or data, dynamic linking info,etc.
+    uint32_t p_offset; // file offset of segment
+    uint32_t p_va;     // virtual address to map segment
+    uint32_t p_pa;     // physical address, not used
+    uint32_t p_filesz; // size of segment in file
+    uint32_t p_memsz;  // size of segment in memory (bigger if contains bss)
+    uint32_t p_flags;  // read/write/execute bits
+    uint32_t p_align;  // required alignment, invariably hardware page size
+};
+
+/* values for Proghdr::p_type */
+#define ELF_PT_LOAD                     1
+
+/* flag bits for Proghdr::p_flags */
+#define ELF_PF_X                        1
+#define ELF_PF_W                        2
+#define ELF_PF_R                        4
+
+#endif /* !__LIBS_ELF_H__ */
+
diff --git a/code/lab6/libs/error.h b/code/lab6/libs/error.h
new file mode 100644
index 0000000..ddad593
--- /dev/null
+++ b/code/lab6/libs/error.h
@@ -0,0 +1,33 @@
+#ifndef __LIBS_ERROR_H__
+#define __LIBS_ERROR_H__
+
+/* kernel error codes -- keep in sync with list in lib/printfmt.c */
+#define E_UNSPECIFIED       1   // Unspecified or unknown problem
+#define E_BAD_PROC          2   // Process doesn't exist or otherwise
+#define E_INVAL             3   // Invalid parameter
+#define E_NO_MEM            4   // Request failed due to memory shortage
+#define E_NO_FREE_PROC      5   // Attempt to create a new process beyond
+#define E_FAULT             6   // Memory fault
+#define E_SWAP_FAULT        7   // SWAP READ/WRITE fault
+#define E_INVAL_ELF         8   // Invalid elf file
+#define E_KILLED            9   // Process is killed
+#define E_PANIC             10  // Panic Failure
+#define E_TIMEOUT           11  // Timeout
+#define E_TOO_BIG           12  // Argument is Too Big
+#define E_NO_DEV            13  // No such Device
+#define E_NA_DEV            14  // Device Not Available
+#define E_BUSY              15  // Device/File is Busy
+#define E_NOENT             16  // No Such File or Directory
+#define E_ISDIR             17  // Is a Directory
+#define E_NOTDIR            18  // Not a Directory
+#define E_XDEV              19  // Cross Device-Link
+#define E_UNIMP             20  // Unimplemented Feature
+#define E_SEEK              21  // Illegal Seek
+#define E_MAX_OPEN          22  // Too Many Files are Open
+#define E_EXISTS            23  // File/Directory Already Exists
+#define E_NOTEMPTY          24  // Directory is Not Empty
+/* the maximum allowed */
+#define MAXERROR            24
+
+#endif /* !__LIBS_ERROR_H__ */
+
diff --git a/code/lab6/libs/hash.c b/code/lab6/libs/hash.c
new file mode 100644
index 0000000..61bcd88
--- /dev/null
+++ b/code/lab6/libs/hash.c
@@ -0,0 +1,18 @@
+#include <stdlib.h>
+
+/* 2^31 + 2^29 - 2^25 + 2^22 - 2^19 - 2^16 + 1 */
+#define GOLDEN_RATIO_PRIME_32       0x9e370001UL
+
+/* *
+ * hash32 - generate a hash value in the range [0, 2^@bits - 1]
+ * @val:    the input value
+ * @bits:   the number of bits in a return value
+ *
+ * High bits are more random, so we use them.
+ * */
+uint32_t
+hash32(uint32_t val, unsigned int bits) {
+    uint32_t hash = val * GOLDEN_RATIO_PRIME_32;
+    return (hash >> (32 - bits));
+}
+
diff --git a/code/lab6/libs/list.h b/code/lab6/libs/list.h
new file mode 100644
index 0000000..3dbf772
--- /dev/null
+++ b/code/lab6/libs/list.h
@@ -0,0 +1,163 @@
+#ifndef __LIBS_LIST_H__
+#define __LIBS_LIST_H__
+
+#ifndef __ASSEMBLER__
+
+#include <defs.h>
+
+/* *
+ * Simple doubly linked list implementation.
+ *
+ * Some of the internal functions ("__xxx") are useful when manipulating
+ * whole lists rather than single entries, as sometimes we already know
+ * the next/prev entries and we can generate better code by using them
+ * directly rather than using the generic single-entry routines.
+ * */
+
+struct list_entry {
+    struct list_entry *prev, *next;
+};
+
+typedef struct list_entry list_entry_t;
+
+static inline void list_init(list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add_before(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add_after(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_del(list_entry_t *listelm) __attribute__((always_inline));
+static inline void list_del_init(list_entry_t *listelm) __attribute__((always_inline));
+static inline bool list_empty(list_entry_t *list) __attribute__((always_inline));
+static inline list_entry_t *list_next(list_entry_t *listelm) __attribute__((always_inline));
+static inline list_entry_t *list_prev(list_entry_t *listelm) __attribute__((always_inline));
+
+static inline void __list_add(list_entry_t *elm, list_entry_t *prev, list_entry_t *next) __attribute__((always_inline));
+static inline void __list_del(list_entry_t *prev, list_entry_t *next) __attribute__((always_inline));
+
+/* *
+ * list_init - initialize a new entry
+ * @elm:        new entry to be initialized
+ * */
+static inline void
+list_init(list_entry_t *elm) {
+    elm->prev = elm->next = elm;
+}
+
+/* *
+ * list_add - add a new entry
+ * @listelm:    list head to add after
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *after* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add(list_entry_t *listelm, list_entry_t *elm) {
+    list_add_after(listelm, elm);
+}
+
+/* *
+ * list_add_before - add a new entry
+ * @listelm:    list head to add before
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *before* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add_before(list_entry_t *listelm, list_entry_t *elm) {
+    __list_add(elm, listelm->prev, listelm);
+}
+
+/* *
+ * list_add_after - add a new entry
+ * @listelm:    list head to add after
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *after* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add_after(list_entry_t *listelm, list_entry_t *elm) {
+    __list_add(elm, listelm, listelm->next);
+}
+
+/* *
+ * list_del - deletes entry from list
+ * @listelm:    the element to delete from the list
+ *
+ * Note: list_empty() on @listelm does not return true after this, the entry is
+ * in an undefined state.
+ * */
+static inline void
+list_del(list_entry_t *listelm) {
+    __list_del(listelm->prev, listelm->next);
+}
+
+/* *
+ * list_del_init - deletes entry from list and reinitialize it.
+ * @listelm:    the element to delete from the list.
+ *
+ * Note: list_empty() on @listelm returns true after this.
+ * */
+static inline void
+list_del_init(list_entry_t *listelm) {
+    list_del(listelm);
+    list_init(listelm);
+}
+
+/* *
+ * list_empty - tests whether a list is empty
+ * @list:       the list to test.
+ * */
+static inline bool
+list_empty(list_entry_t *list) {
+    return list->next == list;
+}
+
+/* *
+ * list_next - get the next entry
+ * @listelm:    the list head
+ **/
+static inline list_entry_t *
+list_next(list_entry_t *listelm) {
+    return listelm->next;
+}
+
+/* *
+ * list_prev - get the previous entry
+ * @listelm:    the list head
+ **/
+static inline list_entry_t *
+list_prev(list_entry_t *listelm) {
+    return listelm->prev;
+}
+
+/* *
+ * Insert a new entry between two known consecutive entries.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ * */
+static inline void
+__list_add(list_entry_t *elm, list_entry_t *prev, list_entry_t *next) {
+    prev->next = next->prev = elm;
+    elm->next = next;
+    elm->prev = prev;
+}
+
+/* *
+ * Delete a list entry by making the prev/next entries point to each other.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ * */
+static inline void
+__list_del(list_entry_t *prev, list_entry_t *next) {
+    prev->next = next;
+    next->prev = prev;
+}
+
+#endif /* !__ASSEMBLER__ */
+
+#endif /* !__LIBS_LIST_H__ */
+
diff --git a/code/lab6/libs/printfmt.c b/code/lab6/libs/printfmt.c
new file mode 100644
index 0000000..a666a52
--- /dev/null
+++ b/code/lab6/libs/printfmt.c
@@ -0,0 +1,343 @@
+#include <defs.h>
+#include <x86.h>
+#include <error.h>
+#include <stdio.h>
+#include <string.h>
+
+/* *
+ * Space or zero padding and a field width are supported for the numeric
+ * formats only.
+ *
+ * The special format %e takes an integer error code
+ * and prints a string describing the error.
+ * The integer may be positive or negative,
+ * so that -E_NO_MEM and E_NO_MEM are equivalent.
+ * */
+
+static const char * const error_string[MAXERROR + 1] = {
+    [0]                     NULL,
+    [E_UNSPECIFIED]         "unspecified error",
+    [E_BAD_PROC]            "bad process",
+    [E_INVAL]               "invalid parameter",
+    [E_NO_MEM]              "out of memory",
+    [E_NO_FREE_PROC]        "out of processes",
+    [E_FAULT]               "segmentation fault",
+    [E_INVAL_ELF]           "invalid elf file",
+    [E_KILLED]              "process is killed",
+    [E_PANIC]               "panic failure",
+};
+
+/* *
+ * printnum - print a number (base <= 16) in reverse order
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @num:        the number will be printed
+ * @base:       base for print, must be in [1, 16]
+ * @width:      maximum number of digits, if the actual width is less than @width, use @padc instead
+ * @padc:       character that padded on the left if the actual width is less than @width
+ * */
+static void
+printnum(void (*putch)(int, void*), void *putdat,
+        unsigned long long num, unsigned base, int width, int padc) {
+    unsigned long long result = num;
+    unsigned mod = do_div(result, base);
+
+    // first recursively print all preceding (more significant) digits
+    if (num >= base) {
+        printnum(putch, putdat, result, base, width - 1, padc);
+    } else {
+        // print any needed pad characters before first digit
+        while (-- width > 0)
+            putch(padc, putdat);
+    }
+    // then print this (the least significant) digit
+    putch("0123456789abcdef"[mod], putdat);
+}
+
+/* *
+ * getuint - get an unsigned int of various possible sizes from a varargs list
+ * @ap:         a varargs list pointer
+ * @lflag:      determines the size of the vararg that @ap points to
+ * */
+static unsigned long long
+getuint(va_list *ap, int lflag) {
+    if (lflag >= 2) {
+        return va_arg(*ap, unsigned long long);
+    }
+    else if (lflag) {
+        return va_arg(*ap, unsigned long);
+    }
+    else {
+        return va_arg(*ap, unsigned int);
+    }
+}
+
+/* *
+ * getint - same as getuint but signed, we can't use getuint because of sign extension
+ * @ap:         a varargs list pointer
+ * @lflag:      determines the size of the vararg that @ap points to
+ * */
+static long long
+getint(va_list *ap, int lflag) {
+    if (lflag >= 2) {
+        return va_arg(*ap, long long);
+    }
+    else if (lflag) {
+        return va_arg(*ap, long);
+    }
+    else {
+        return va_arg(*ap, int);
+    }
+}
+
+/* *
+ * printfmt - format a string and print it by using putch
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @fmt:        the format string to use
+ * */
+void
+printfmt(void (*putch)(int, void*), void *putdat, const char *fmt, ...) {
+    va_list ap;
+
+    va_start(ap, fmt);
+    vprintfmt(putch, putdat, fmt, ap);
+    va_end(ap);
+}
+
+/* *
+ * vprintfmt - format a string and print it by using putch, it's called with a va_list
+ * instead of a variable number of arguments
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @fmt:        the format string to use
+ * @ap:         arguments for the format string
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want printfmt() instead.
+ * */
+void
+vprintfmt(void (*putch)(int, void*), void *putdat, const char *fmt, va_list ap) {
+    register const char *p;
+    register int ch, err;
+    unsigned long long num;
+    int base, width, precision, lflag, altflag;
+
+    while (1) {
+        while ((ch = *(unsigned char *)fmt ++) != '%') {
+            if (ch == '\0') {
+                return;
+            }
+            putch(ch, putdat);
+        }
+
+        // Process a %-escape sequence
+        char padc = ' ';
+        width = precision = -1;
+        lflag = altflag = 0;
+
+    reswitch:
+        switch (ch = *(unsigned char *)fmt ++) {
+
+        // flag to pad on the right
+        case '-':
+            padc = '-';
+            goto reswitch;
+
+        // flag to pad with 0's instead of spaces
+        case '0':
+            padc = '0';
+            goto reswitch;
+
+        // width field
+        case '1' ... '9':
+            for (precision = 0; ; ++ fmt) {
+                precision = precision * 10 + ch - '0';
+                ch = *fmt;
+                if (ch < '0' || ch > '9') {
+                    break;
+                }
+            }
+            goto process_precision;
+
+        case '*':
+            precision = va_arg(ap, int);
+            goto process_precision;
+
+        case '.':
+            if (width < 0)
+                width = 0;
+            goto reswitch;
+
+        case '#':
+            altflag = 1;
+            goto reswitch;
+
+        process_precision:
+            if (width < 0)
+                width = precision, precision = -1;
+            goto reswitch;
+
+        // long flag (doubled for long long)
+        case 'l':
+            lflag ++;
+            goto reswitch;
+
+        // character
+        case 'c':
+            putch(va_arg(ap, int), putdat);
+            break;
+
+        // error message
+        case 'e':
+            err = va_arg(ap, int);
+            if (err < 0) {
+                err = -err;
+            }
+            if (err > MAXERROR || (p = error_string[err]) == NULL) {
+                printfmt(putch, putdat, "error %d", err);
+            }
+            else {
+                printfmt(putch, putdat, "%s", p);
+            }
+            break;
+
+        // string
+        case 's':
+            if ((p = va_arg(ap, char *)) == NULL) {
+                p = "(null)";
+            }
+            if (width > 0 && padc != '-') {
+                for (width -= strnlen(p, precision); width > 0; width --) {
+                    putch(padc, putdat);
+                }
+            }
+            for (; (ch = *p ++) != '\0' && (precision < 0 || -- precision >= 0); width --) {
+                if (altflag && (ch < ' ' || ch > '~')) {
+                    putch('?', putdat);
+                }
+                else {
+                    putch(ch, putdat);
+                }
+            }
+            for (; width > 0; width --) {
+                putch(' ', putdat);
+            }
+            break;
+
+        // (signed) decimal
+        case 'd':
+            num = getint(&ap, lflag);
+            if ((long long)num < 0) {
+                putch('-', putdat);
+                num = -(long long)num;
+            }
+            base = 10;
+            goto number;
+
+        // unsigned decimal
+        case 'u':
+            num = getuint(&ap, lflag);
+            base = 10;
+            goto number;
+
+        // (unsigned) octal
+        case 'o':
+            num = getuint(&ap, lflag);
+            base = 8;
+            goto number;
+
+        // pointer
+        case 'p':
+            putch('0', putdat);
+            putch('x', putdat);
+            num = (unsigned long long)(uintptr_t)va_arg(ap, void *);
+            base = 16;
+            goto number;
+
+        // (unsigned) hexadecimal
+        case 'x':
+            num = getuint(&ap, lflag);
+            base = 16;
+        number:
+            printnum(putch, putdat, num, base, width, padc);
+            break;
+
+        // escaped '%' character
+        case '%':
+            putch(ch, putdat);
+            break;
+
+        // unrecognized escape sequence - just print it literally
+        default:
+            putch('%', putdat);
+            for (fmt --; fmt[-1] != '%'; fmt --)
+                /* do nothing */;
+            break;
+        }
+    }
+}
+
+/* sprintbuf is used to save enough information of a buffer */
+struct sprintbuf {
+    char *buf;          // address pointer points to the first unused memory
+    char *ebuf;         // points the end of the buffer
+    int cnt;            // the number of characters that have been placed in this buffer
+};
+
+/* *
+ * sprintputch - 'print' a single character in a buffer
+ * @ch:         the character will be printed
+ * @b:          the buffer to place the character @ch
+ * */
+static void
+sprintputch(int ch, struct sprintbuf *b) {
+    b->cnt ++;
+    if (b->buf < b->ebuf) {
+        *b->buf ++ = ch;
+    }
+}
+
+/* *
+ * snprintf - format a string and place it in a buffer
+ * @str:        the buffer to place the result into
+ * @size:       the size of buffer, including the trailing null space
+ * @fmt:        the format string to use
+ * */
+int
+snprintf(char *str, size_t size, const char *fmt, ...) {
+    va_list ap;
+    int cnt;
+    va_start(ap, fmt);
+    cnt = vsnprintf(str, size, fmt, ap);
+    va_end(ap);
+    return cnt;
+}
+
+/* *
+ * vsnprintf - format a string and place it in a buffer, it's called with a va_list
+ * instead of a variable number of arguments
+ * @str:        the buffer to place the result into
+ * @size:       the size of buffer, including the trailing null space
+ * @fmt:        the format string to use
+ * @ap:         arguments for the format string
+ *
+ * The return value is the number of characters which would be generated for the
+ * given input, excluding the trailing '\0'.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want snprintf() instead.
+ * */
+int
+vsnprintf(char *str, size_t size, const char *fmt, va_list ap) {
+    struct sprintbuf b = {str, str + size - 1, 0};
+    if (str == NULL || b.buf > b.ebuf) {
+        return -E_INVAL;
+    }
+    // print the string to the buffer
+    vprintfmt((void*)sprintputch, &b, fmt, ap);
+    // null terminate the buffer
+    *b.buf = '\0';
+    return b.cnt;
+}
+
diff --git a/code/lab6/libs/rand.c b/code/lab6/libs/rand.c
new file mode 100644
index 0000000..2a2c4e7
--- /dev/null
+++ b/code/lab6/libs/rand.c
@@ -0,0 +1,26 @@
+#include <x86.h>
+#include <stdlib.h>
+
+static unsigned long long next = 1;
+
+/* *
+ * rand - returns a pseudo-random integer
+ *
+ * The rand() function return a value in the range [0, RAND_MAX].
+ * */
+int
+rand(void) {
+    next = (next * 0x5DEECE66DLL + 0xBLL) & ((1LL << 48) - 1);
+    unsigned long long result = (next >> 12);
+    return (int)do_div(result, RAND_MAX + 1);
+}
+
+/* *
+ * srand - seed the random number generator with the given number
+ * @seed:   the required seed number
+ * */
+void
+srand(unsigned int seed) {
+    next = seed;
+}
+
diff --git a/code/lab6/libs/skew_heap.h b/code/lab6/libs/skew_heap.h
new file mode 100644
index 0000000..0c216b8
--- /dev/null
+++ b/code/lab6/libs/skew_heap.h
@@ -0,0 +1,87 @@
+#ifndef __LIBS_SKEW_HEAP_H__
+#define __LIBS_SKEW_HEAP_H__
+
+struct skew_heap_entry {
+     struct skew_heap_entry *parent, *left, *right;
+};
+
+typedef struct skew_heap_entry skew_heap_entry_t;
+
+typedef int(*compare_f)(void *a, void *b);
+
+static inline void skew_heap_init(skew_heap_entry_t *a) __attribute__((always_inline));
+static inline skew_heap_entry_t *skew_heap_merge(
+     skew_heap_entry_t *a, skew_heap_entry_t *b,
+     compare_f comp);
+static inline skew_heap_entry_t *skew_heap_insert(
+     skew_heap_entry_t *a, skew_heap_entry_t *b,
+     compare_f comp) __attribute__((always_inline));
+static inline skew_heap_entry_t *skew_heap_remove(
+     skew_heap_entry_t *a, skew_heap_entry_t *b,
+     compare_f comp) __attribute__((always_inline));
+
+static inline void
+skew_heap_init(skew_heap_entry_t *a)
+{
+     a->left = a->right = a->parent = NULL;
+}
+
+static inline skew_heap_entry_t *
+skew_heap_merge(skew_heap_entry_t *a, skew_heap_entry_t *b,
+                compare_f comp)
+{
+     if (a == NULL) return b;
+     else if (b == NULL) return a;
+     
+     skew_heap_entry_t *l, *r;
+     if (comp(a, b) == -1)
+     {
+          r = a->left;
+          l = skew_heap_merge(a->right, b, comp);
+          
+          a->left = l;
+          a->right = r;
+          if (l) l->parent = a;
+
+          return a;
+     }
+     else
+     {
+          r = b->left;
+          l = skew_heap_merge(a, b->right, comp);
+          
+          b->left = l;
+          b->right = r;
+          if (l) l->parent = b;
+
+          return b;
+     }
+}
+
+static inline skew_heap_entry_t *
+skew_heap_insert(skew_heap_entry_t *a, skew_heap_entry_t *b,
+                 compare_f comp)
+{
+     skew_heap_init(b);
+     return skew_heap_merge(a, b, comp);
+}
+
+static inline skew_heap_entry_t *
+skew_heap_remove(skew_heap_entry_t *a, skew_heap_entry_t *b,
+                 compare_f comp)
+{
+     skew_heap_entry_t *p   = b->parent;
+     skew_heap_entry_t *rep = skew_heap_merge(b->left, b->right, comp);
+     if (rep) rep->parent = p;
+     
+     if (p)
+     {
+          if (p->left == b)
+               p->left = rep;
+          else p->right = rep;
+          return a;
+     }
+     else return rep;
+}
+
+#endif    /* !__LIBS_SKEW_HEAP_H__ */
diff --git a/code/lab6/libs/stdarg.h b/code/lab6/libs/stdarg.h
new file mode 100644
index 0000000..f6e0758
--- /dev/null
+++ b/code/lab6/libs/stdarg.h
@@ -0,0 +1,12 @@
+#ifndef __LIBS_STDARG_H__
+#define __LIBS_STDARG_H__
+
+/* compiler provides size of save area */
+typedef __builtin_va_list va_list;
+
+#define va_start(ap, last)              (__builtin_va_start(ap, last))
+#define va_arg(ap, type)                (__builtin_va_arg(ap, type))
+#define va_end(ap)                      /*nothing*/
+
+#endif /* !__LIBS_STDARG_H__ */
+
diff --git a/code/lab6/libs/stdio.h b/code/lab6/libs/stdio.h
new file mode 100644
index 0000000..41e8b41
--- /dev/null
+++ b/code/lab6/libs/stdio.h
@@ -0,0 +1,24 @@
+#ifndef __LIBS_STDIO_H__
+#define __LIBS_STDIO_H__
+
+#include <defs.h>
+#include <stdarg.h>
+
+/* kern/libs/stdio.c */
+int cprintf(const char *fmt, ...);
+int vcprintf(const char *fmt, va_list ap);
+void cputchar(int c);
+int cputs(const char *str);
+int getchar(void);
+
+/* kern/libs/readline.c */
+char *readline(const char *prompt);
+
+/* libs/printfmt.c */
+void printfmt(void (*putch)(int, void *), void *putdat, const char *fmt, ...);
+void vprintfmt(void (*putch)(int, void *), void *putdat, const char *fmt, va_list ap);
+int snprintf(char *str, size_t size, const char *fmt, ...);
+int vsnprintf(char *str, size_t size, const char *fmt, va_list ap);
+
+#endif /* !__LIBS_STDIO_H__ */
+
diff --git a/code/lab6/libs/stdlib.h b/code/lab6/libs/stdlib.h
new file mode 100644
index 0000000..51878ef
--- /dev/null
+++ b/code/lab6/libs/stdlib.h
@@ -0,0 +1,17 @@
+#ifndef __LIBS_STDLIB_H__
+#define __LIBS_STDLIB_H__
+
+#include <defs.h>
+
+/* the largest number rand will return */
+#define RAND_MAX    2147483647UL
+
+/* libs/rand.c */
+int rand(void);
+void srand(unsigned int seed);
+
+/* libs/hash.c */
+uint32_t hash32(uint32_t val, unsigned int bits);
+
+#endif /* !__LIBS_RAND_H__ */
+
diff --git a/code/lab6/libs/string.c b/code/lab6/libs/string.c
new file mode 100644
index 0000000..bcf1b1c
--- /dev/null
+++ b/code/lab6/libs/string.c
@@ -0,0 +1,367 @@
+#include <string.h>
+#include <x86.h>
+
+/* *
+ * strlen - calculate the length of the string @s, not including
+ * the terminating '\0' character.
+ * @s:      the input string
+ *
+ * The strlen() function returns the length of string @s.
+ * */
+size_t
+strlen(const char *s) {
+    size_t cnt = 0;
+    while (*s ++ != '\0') {
+        cnt ++;
+    }
+    return cnt;
+}
+
+/* *
+ * strnlen - calculate the length of the string @s, not including
+ * the terminating '\0' char acter, but at most @len.
+ * @s:      the input string
+ * @len:    the max-length that function will scan
+ *
+ * Note that, this function looks only at the first @len characters
+ * at @s, and never beyond @s + @len.
+ *
+ * The return value is strlen(s), if that is less than @len, or
+ * @len if there is no '\0' character among the first @len characters
+ * pointed by @s.
+ * */
+size_t
+strnlen(const char *s, size_t len) {
+    size_t cnt = 0;
+    while (cnt < len && *s ++ != '\0') {
+        cnt ++;
+    }
+    return cnt;
+}
+
+/* *
+ * strcpy - copies the string pointed by @src into the array pointed by @dst,
+ * including the terminating null character.
+ * @dst:    pointer to the destination array where the content is to be copied
+ * @src:    string to be copied
+ *
+ * The return value is @dst.
+ *
+ * To avoid overflows, the size of array pointed by @dst should be long enough to
+ * contain the same string as @src (including the terminating null character), and
+ * should not overlap in memory with @src.
+ * */
+char *
+strcpy(char *dst, const char *src) {
+#ifdef __HAVE_ARCH_STRCPY
+    return __strcpy(dst, src);
+#else
+    char *p = dst;
+    while ((*p ++ = *src ++) != '\0')
+        /* nothing */;
+    return dst;
+#endif /* __HAVE_ARCH_STRCPY */
+}
+
+/* *
+ * strncpy - copies the first @len characters of @src to @dst. If the end of string @src
+ * if found before @len characters have been copied, @dst is padded with '\0' until a
+ * total of @len characters have been written to it.
+ * @dst:    pointer to the destination array where the content is to be copied
+ * @src:    string to be copied
+ * @len:    maximum number of characters to be copied from @src
+ *
+ * The return value is @dst
+ * */
+char *
+strncpy(char *dst, const char *src, size_t len) {
+    char *p = dst;
+    while (len > 0) {
+        if ((*p = *src) != '\0') {
+            src ++;
+        }
+        p ++, len --;
+    }
+    return dst;
+}
+
+/* *
+ * strcmp - compares the string @s1 and @s2
+ * @s1:     string to be compared
+ * @s2:     string to be compared
+ *
+ * This function starts comparing the first character of each string. If
+ * they are equal to each other, it continues with the following pairs until
+ * the characters differ or until a terminanting null-character is reached.
+ *
+ * Returns an integral value indicating the relationship between the strings:
+ * - A zero value indicates that both strings are equal;
+ * - A value greater than zero indicates that the first character that does
+ *   not match has a greater value in @s1 than in @s2;
+ * - And a value less than zero indicates the opposite.
+ * */
+int
+strcmp(const char *s1, const char *s2) {
+#ifdef __HAVE_ARCH_STRCMP
+    return __strcmp(s1, s2);
+#else
+    while (*s1 != '\0' && *s1 == *s2) {
+        s1 ++, s2 ++;
+    }
+    return (int)((unsigned char)*s1 - (unsigned char)*s2);
+#endif /* __HAVE_ARCH_STRCMP */
+}
+
+/* *
+ * strncmp - compares up to @n characters of the string @s1 to those of the string @s2
+ * @s1:     string to be compared
+ * @s2:     string to be compared
+ * @n:      maximum number of characters to compare
+ *
+ * This function starts comparing the first character of each string. If
+ * they are equal to each other, it continues with the following pairs until
+ * the characters differ, until a terminating null-character is reached, or
+ * until @n characters match in both strings, whichever happens first.
+ * */
+int
+strncmp(const char *s1, const char *s2, size_t n) {
+    while (n > 0 && *s1 != '\0' && *s1 == *s2) {
+        n --, s1 ++, s2 ++;
+    }
+    return (n == 0) ? 0 : (int)((unsigned char)*s1 - (unsigned char)*s2);
+}
+
+/* *
+ * strchr - locates first occurrence of character in string
+ * @s:      the input string
+ * @c:      character to be located
+ *
+ * The strchr() function returns a pointer to the first occurrence of
+ * character in @s. If the value is not found, the function returns 'NULL'.
+ * */
+char *
+strchr(const char *s, char c) {
+    while (*s != '\0') {
+        if (*s == c) {
+            return (char *)s;
+        }
+        s ++;
+    }
+    return NULL;
+}
+
+/* *
+ * strfind - locates first occurrence of character in string
+ * @s:      the input string
+ * @c:      character to be located
+ *
+ * The strfind() function is like strchr() except that if @c is
+ * not found in @s, then it returns a pointer to the null byte at the
+ * end of @s, rather than 'NULL'.
+ * */
+char *
+strfind(const char *s, char c) {
+    while (*s != '\0') {
+        if (*s == c) {
+            break;
+        }
+        s ++;
+    }
+    return (char *)s;
+}
+
+/* *
+ * strtol - converts string to long integer
+ * @s:      the input string that contains the representation of an integer number
+ * @endptr: reference to an object of type char *, whose value is set by the
+ *          function to the next character in @s after the numerical value. This
+ *          parameter can also be a null pointer, in which case it is not used.
+ * @base:   x
+ *
+ * The function first discards as many whitespace characters as necessary until
+ * the first non-whitespace character is found. Then, starting from this character,
+ * takes as many characters as possible that are valid following a syntax that
+ * depends on the base parameter, and interprets them as a numerical value. Finally,
+ * a pointer to the first character following the integer representation in @s
+ * is stored in the object pointed by @endptr.
+ *
+ * If the value of base is zero, the syntax expected is similar to that of
+ * integer constants, which is formed by a succession of:
+ * - An optional plus or minus sign;
+ * - An optional prefix indicating octal or hexadecimal base ("0" or "0x" respectively)
+ * - A sequence of decimal digits (if no base prefix was specified) or either octal
+ *   or hexadecimal digits if a specific prefix is present
+ *
+ * If the base value is between 2 and 36, the format expected for the integral number
+ * is a succession of the valid digits and/or letters needed to represent integers of
+ * the specified radix (starting from '0' and up to 'z'/'Z' for radix 36). The
+ * sequence may optionally be preceded by a plus or minus sign and, if base is 16,
+ * an optional "0x" or "0X" prefix.
+ *
+ * The strtol() function returns the converted integral number as a long int value.
+ * */
+long
+strtol(const char *s, char **endptr, int base) {
+    int neg = 0;
+    long val = 0;
+
+    // gobble initial whitespace
+    while (*s == ' ' || *s == '\t') {
+        s ++;
+    }
+
+    // plus/minus sign
+    if (*s == '+') {
+        s ++;
+    }
+    else if (*s == '-') {
+        s ++, neg = 1;
+    }
+
+    // hex or octal base prefix
+    if ((base == 0 || base == 16) && (s[0] == '0' && s[1] == 'x')) {
+        s += 2, base = 16;
+    }
+    else if (base == 0 && s[0] == '0') {
+        s ++, base = 8;
+    }
+    else if (base == 0) {
+        base = 10;
+    }
+
+    // digits
+    while (1) {
+        int dig;
+
+        if (*s >= '0' && *s <= '9') {
+            dig = *s - '0';
+        }
+        else if (*s >= 'a' && *s <= 'z') {
+            dig = *s - 'a' + 10;
+        }
+        else if (*s >= 'A' && *s <= 'Z') {
+            dig = *s - 'A' + 10;
+        }
+        else {
+            break;
+        }
+        if (dig >= base) {
+            break;
+        }
+        s ++, val = (val * base) + dig;
+        // we don't properly detect overflow!
+    }
+
+    if (endptr) {
+        *endptr = (char *) s;
+    }
+    return (neg ? -val : val);
+}
+
+/* *
+ * memset - sets the first @n bytes of the memory area pointed by @s
+ * to the specified value @c.
+ * @s:      pointer the the memory area to fill
+ * @c:      value to set
+ * @n:      number of bytes to be set to the value
+ *
+ * The memset() function returns @s.
+ * */
+void *
+memset(void *s, char c, size_t n) {
+#ifdef __HAVE_ARCH_MEMSET
+    return __memset(s, c, n);
+#else
+    char *p = s;
+    while (n -- > 0) {
+        *p ++ = c;
+    }
+    return s;
+#endif /* __HAVE_ARCH_MEMSET */
+}
+
+/* *
+ * memmove - copies the values of @n bytes from the location pointed by @src to
+ * the memory area pointed by @dst. @src and @dst are allowed to overlap.
+ * @dst     pointer to the destination array where the content is to be copied
+ * @src     pointer to the source of data to by copied
+ * @n:      number of bytes to copy
+ *
+ * The memmove() function returns @dst.
+ * */
+void *
+memmove(void *dst, const void *src, size_t n) {
+#ifdef __HAVE_ARCH_MEMMOVE
+    return __memmove(dst, src, n);
+#else
+    const char *s = src;
+    char *d = dst;
+    if (s < d && s + n > d) {
+        s += n, d += n;
+        while (n -- > 0) {
+            *-- d = *-- s;
+        }
+    } else {
+        while (n -- > 0) {
+            *d ++ = *s ++;
+        }
+    }
+    return dst;
+#endif /* __HAVE_ARCH_MEMMOVE */
+}
+
+/* *
+ * memcpy - copies the value of @n bytes from the location pointed by @src to
+ * the memory area pointed by @dst.
+ * @dst     pointer to the destination array where the content is to be copied
+ * @src     pointer to the source of data to by copied
+ * @n:      number of bytes to copy
+ *
+ * The memcpy() returns @dst.
+ *
+ * Note that, the function does not check any terminating null character in @src,
+ * it always copies exactly @n bytes. To avoid overflows, the size of arrays pointed
+ * by both @src and @dst, should be at least @n bytes, and should not overlap
+ * (for overlapping memory area, memmove is a safer approach).
+ * */
+void *
+memcpy(void *dst, const void *src, size_t n) {
+#ifdef __HAVE_ARCH_MEMCPY
+    return __memcpy(dst, src, n);
+#else
+    const char *s = src;
+    char *d = dst;
+    while (n -- > 0) {
+        *d ++ = *s ++;
+    }
+    return dst;
+#endif /* __HAVE_ARCH_MEMCPY */
+}
+
+/* *
+ * memcmp - compares two blocks of memory
+ * @v1:     pointer to block of memory
+ * @v2:     pointer to block of memory
+ * @n:      number of bytes to compare
+ *
+ * The memcmp() functions returns an integral value indicating the
+ * relationship between the content of the memory blocks:
+ * - A zero value indicates that the contents of both memory blocks are equal;
+ * - A value greater than zero indicates that the first byte that does not
+ *   match in both memory blocks has a greater value in @v1 than in @v2
+ *   as if evaluated as unsigned char values;
+ * - And a value less than zero indicates the opposite.
+ * */
+int
+memcmp(const void *v1, const void *v2, size_t n) {
+    const char *s1 = (const char *)v1;
+    const char *s2 = (const char *)v2;
+    while (n -- > 0) {
+        if (*s1 != *s2) {
+            return (int)((unsigned char)*s1 - (unsigned char)*s2);
+        }
+        s1 ++, s2 ++;
+    }
+    return 0;
+}
+
diff --git a/code/lab6/libs/string.h b/code/lab6/libs/string.h
new file mode 100644
index 0000000..14d0aac
--- /dev/null
+++ b/code/lab6/libs/string.h
@@ -0,0 +1,25 @@
+#ifndef __LIBS_STRING_H__
+#define __LIBS_STRING_H__
+
+#include <defs.h>
+
+size_t strlen(const char *s);
+size_t strnlen(const char *s, size_t len);
+
+char *strcpy(char *dst, const char *src);
+char *strncpy(char *dst, const char *src, size_t len);
+
+int strcmp(const char *s1, const char *s2);
+int strncmp(const char *s1, const char *s2, size_t n);
+
+char *strchr(const char *s, char c);
+char *strfind(const char *s, char c);
+long strtol(const char *s, char **endptr, int base);
+
+void *memset(void *s, char c, size_t n);
+void *memmove(void *dst, const void *src, size_t n);
+void *memcpy(void *dst, const void *src, size_t n);
+int memcmp(const void *v1, const void *v2, size_t n);
+
+#endif /* !__LIBS_STRING_H__ */
+
diff --git a/code/lab6/libs/unistd.h b/code/lab6/libs/unistd.h
new file mode 100644
index 0000000..b4ceff9
--- /dev/null
+++ b/code/lab6/libs/unistd.h
@@ -0,0 +1,31 @@
+#ifndef __LIBS_UNISTD_H__
+#define __LIBS_UNISTD_H__
+
+#define T_SYSCALL           0x80
+
+/* syscall number */
+#define SYS_exit            1
+#define SYS_fork            2
+#define SYS_wait            3
+#define SYS_exec            4
+#define SYS_clone           5
+#define SYS_yield           10
+#define SYS_sleep           11
+#define SYS_kill            12
+#define SYS_gettime         17
+#define SYS_getpid          18
+#define SYS_brk             19
+#define SYS_mmap            20
+#define SYS_munmap          21
+#define SYS_shmem           22
+#define SYS_putc            30
+#define SYS_pgdir           31
+/* OLNY FOR LAB6 */
+#define SYS_lab6_set_priority 255
+
+/* SYS_fork flags */
+#define CLONE_VM            0x00000100  // set if VM shared between processes
+#define CLONE_THREAD        0x00000200  // thread group
+
+#endif /* !__LIBS_UNISTD_H__ */
+
diff --git a/code/lab6/libs/x86.h b/code/lab6/libs/x86.h
new file mode 100644
index 0000000..b29f671
--- /dev/null
+++ b/code/lab6/libs/x86.h
@@ -0,0 +1,302 @@
+#ifndef __LIBS_X86_H__
+#define __LIBS_X86_H__
+
+#include <defs.h>
+
+#define do_div(n, base) ({                                          \
+            unsigned long __upper, __low, __high, __mod, __base;    \
+            __base = (base);                                        \
+            asm ("" : "=a" (__low), "=d" (__high) : "A" (n));       \
+            __upper = __high;                                       \
+            if (__high != 0) {                                      \
+                __upper = __high % __base;                          \
+                __high = __high / __base;                           \
+            }                                                       \
+            asm ("divl %2" : "=a" (__low), "=d" (__mod)             \
+                : "rm" (__base), "0" (__low), "1" (__upper));       \
+            asm ("" : "=A" (n) : "a" (__low), "d" (__high));        \
+            __mod;                                                  \
+        })
+
+#define barrier() __asm__ __volatile__ ("" ::: "memory")
+
+static inline uint8_t inb(uint16_t port) __attribute__((always_inline));
+static inline void insl(uint32_t port, void *addr, int cnt) __attribute__((always_inline));
+static inline void outb(uint16_t port, uint8_t data) __attribute__((always_inline));
+static inline void outw(uint16_t port, uint16_t data) __attribute__((always_inline));
+static inline void outsl(uint32_t port, const void *addr, int cnt) __attribute__((always_inline));
+static inline uint32_t read_ebp(void) __attribute__((always_inline));
+static inline void breakpoint(void) __attribute__((always_inline));
+static inline uint32_t read_dr(unsigned regnum) __attribute__((always_inline));
+static inline void write_dr(unsigned regnum, uint32_t value) __attribute__((always_inline));
+
+/* Pseudo-descriptors used for LGDT, LLDT(not used) and LIDT instructions. */
+struct pseudodesc {
+    uint16_t pd_lim;        // Limit
+    uintptr_t pd_base;      // Base address
+} __attribute__ ((packed));
+
+static inline void lidt(struct pseudodesc *pd) __attribute__((always_inline));
+static inline void sti(void) __attribute__((always_inline));
+static inline void cli(void) __attribute__((always_inline));
+static inline void ltr(uint16_t sel) __attribute__((always_inline));
+static inline uint32_t read_eflags(void) __attribute__((always_inline));
+static inline void write_eflags(uint32_t eflags) __attribute__((always_inline));
+static inline void lcr0(uintptr_t cr0) __attribute__((always_inline));
+static inline void lcr3(uintptr_t cr3) __attribute__((always_inline));
+static inline uintptr_t rcr0(void) __attribute__((always_inline));
+static inline uintptr_t rcr1(void) __attribute__((always_inline));
+static inline uintptr_t rcr2(void) __attribute__((always_inline));
+static inline uintptr_t rcr3(void) __attribute__((always_inline));
+static inline void invlpg(void *addr) __attribute__((always_inline));
+
+static inline uint8_t
+inb(uint16_t port) {
+    uint8_t data;
+    asm volatile ("inb %1, %0" : "=a" (data) : "d" (port) : "memory");
+    return data;
+}
+
+static inline void
+insl(uint32_t port, void *addr, int cnt) {
+    asm volatile (
+        "cld;"
+        "repne; insl;"
+        : "=D" (addr), "=c" (cnt)
+        : "d" (port), "0" (addr), "1" (cnt)
+        : "memory", "cc");
+}
+
+static inline void
+outb(uint16_t port, uint8_t data) {
+    asm volatile ("outb %0, %1" :: "a" (data), "d" (port) : "memory");
+}
+
+static inline void
+outw(uint16_t port, uint16_t data) {
+    asm volatile ("outw %0, %1" :: "a" (data), "d" (port) : "memory");
+}
+
+static inline void
+outsl(uint32_t port, const void *addr, int cnt) {
+    asm volatile (
+        "cld;"
+        "repne; outsl;"
+        : "=S" (addr), "=c" (cnt)
+        : "d" (port), "0" (addr), "1" (cnt)
+        : "memory", "cc");
+}
+
+static inline uint32_t
+read_ebp(void) {
+    uint32_t ebp;
+    asm volatile ("movl %%ebp, %0" : "=r" (ebp));
+    return ebp;
+}
+
+static inline void
+breakpoint(void) {
+    asm volatile ("int $3");
+}
+
+static inline uint32_t
+read_dr(unsigned regnum) {
+    uint32_t value = 0;
+    switch (regnum) {
+    case 0: asm volatile ("movl %%db0, %0" : "=r" (value)); break;
+    case 1: asm volatile ("movl %%db1, %0" : "=r" (value)); break;
+    case 2: asm volatile ("movl %%db2, %0" : "=r" (value)); break;
+    case 3: asm volatile ("movl %%db3, %0" : "=r" (value)); break;
+    case 6: asm volatile ("movl %%db6, %0" : "=r" (value)); break;
+    case 7: asm volatile ("movl %%db7, %0" : "=r" (value)); break;
+    }
+    return value;
+}
+
+static void
+write_dr(unsigned regnum, uint32_t value) {
+    switch (regnum) {
+    case 0: asm volatile ("movl %0, %%db0" :: "r" (value)); break;
+    case 1: asm volatile ("movl %0, %%db1" :: "r" (value)); break;
+    case 2: asm volatile ("movl %0, %%db2" :: "r" (value)); break;
+    case 3: asm volatile ("movl %0, %%db3" :: "r" (value)); break;
+    case 6: asm volatile ("movl %0, %%db6" :: "r" (value)); break;
+    case 7: asm volatile ("movl %0, %%db7" :: "r" (value)); break;
+    }
+}
+
+static inline void
+lidt(struct pseudodesc *pd) {
+    asm volatile ("lidt (%0)" :: "r" (pd) : "memory");
+}
+
+static inline void
+sti(void) {
+    asm volatile ("sti");
+}
+
+static inline void
+cli(void) {
+    asm volatile ("cli" ::: "memory");
+}
+
+static inline void
+ltr(uint16_t sel) {
+    asm volatile ("ltr %0" :: "r" (sel) : "memory");
+}
+
+static inline uint32_t
+read_eflags(void) {
+    uint32_t eflags;
+    asm volatile ("pushfl; popl %0" : "=r" (eflags));
+    return eflags;
+}
+
+static inline void
+write_eflags(uint32_t eflags) {
+    asm volatile ("pushl %0; popfl" :: "r" (eflags));
+}
+
+static inline void
+lcr0(uintptr_t cr0) {
+    asm volatile ("mov %0, %%cr0" :: "r" (cr0) : "memory");
+}
+
+static inline void
+lcr3(uintptr_t cr3) {
+    asm volatile ("mov %0, %%cr3" :: "r" (cr3) : "memory");
+}
+
+static inline uintptr_t
+rcr0(void) {
+    uintptr_t cr0;
+    asm volatile ("mov %%cr0, %0" : "=r" (cr0) :: "memory");
+    return cr0;
+}
+
+static inline uintptr_t
+rcr1(void) {
+    uintptr_t cr1;
+    asm volatile ("mov %%cr1, %0" : "=r" (cr1) :: "memory");
+    return cr1;
+}
+
+static inline uintptr_t
+rcr2(void) {
+    uintptr_t cr2;
+    asm volatile ("mov %%cr2, %0" : "=r" (cr2) :: "memory");
+    return cr2;
+}
+
+static inline uintptr_t
+rcr3(void) {
+    uintptr_t cr3;
+    asm volatile ("mov %%cr3, %0" : "=r" (cr3) :: "memory");
+    return cr3;
+}
+
+static inline void
+invlpg(void *addr) {
+    asm volatile ("invlpg (%0)" :: "r" (addr) : "memory");
+}
+
+static inline int __strcmp(const char *s1, const char *s2) __attribute__((always_inline));
+static inline char *__strcpy(char *dst, const char *src) __attribute__((always_inline));
+static inline void *__memset(void *s, char c, size_t n) __attribute__((always_inline));
+static inline void *__memmove(void *dst, const void *src, size_t n) __attribute__((always_inline));
+static inline void *__memcpy(void *dst, const void *src, size_t n) __attribute__((always_inline));
+
+#ifndef __HAVE_ARCH_STRCMP
+#define __HAVE_ARCH_STRCMP
+static inline int
+__strcmp(const char *s1, const char *s2) {
+    int d0, d1, ret;
+    asm volatile (
+        "1: lodsb;"
+        "scasb;"
+        "jne 2f;"
+        "testb %%al, %%al;"
+        "jne 1b;"
+        "xorl %%eax, %%eax;"
+        "jmp 3f;"
+        "2: sbbl %%eax, %%eax;"
+        "orb $1, %%al;"
+        "3:"
+        : "=a" (ret), "=&S" (d0), "=&D" (d1)
+        : "1" (s1), "2" (s2)
+        : "memory");
+    return ret;
+}
+
+#endif /* __HAVE_ARCH_STRCMP */
+
+#ifndef __HAVE_ARCH_STRCPY
+#define __HAVE_ARCH_STRCPY
+static inline char *
+__strcpy(char *dst, const char *src) {
+    int d0, d1, d2;
+    asm volatile (
+        "1: lodsb;"
+        "stosb;"
+        "testb %%al, %%al;"
+        "jne 1b;"
+        : "=&S" (d0), "=&D" (d1), "=&a" (d2)
+        : "0" (src), "1" (dst) : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_STRCPY */
+
+#ifndef __HAVE_ARCH_MEMSET
+#define __HAVE_ARCH_MEMSET
+static inline void *
+__memset(void *s, char c, size_t n) {
+    int d0, d1;
+    asm volatile (
+        "rep; stosb;"
+        : "=&c" (d0), "=&D" (d1)
+        : "0" (n), "a" (c), "1" (s)
+        : "memory");
+    return s;
+}
+#endif /* __HAVE_ARCH_MEMSET */
+
+#ifndef __HAVE_ARCH_MEMMOVE
+#define __HAVE_ARCH_MEMMOVE
+static inline void *
+__memmove(void *dst, const void *src, size_t n) {
+    if (dst < src) {
+        return __memcpy(dst, src, n);
+    }
+    int d0, d1, d2;
+    asm volatile (
+        "std;"
+        "rep; movsb;"
+        "cld;"
+        : "=&c" (d0), "=&S" (d1), "=&D" (d2)
+        : "0" (n), "1" (n - 1 + src), "2" (n - 1 + dst)
+        : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_MEMMOVE */
+
+#ifndef __HAVE_ARCH_MEMCPY
+#define __HAVE_ARCH_MEMCPY
+static inline void *
+__memcpy(void *dst, const void *src, size_t n) {
+    int d0, d1, d2;
+    asm volatile (
+        "rep; movsl;"
+        "movl %4, %%ecx;"
+        "andl $3, %%ecx;"
+        "jz 1f;"
+        "rep; movsb;"
+        "1:"
+        : "=&c" (d0), "=&D" (d1), "=&S" (d2)
+        : "0" (n / 4), "g" (n), "1" (dst), "2" (src)
+        : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_MEMCPY */
+
+#endif /* !__LIBS_X86_H__ */
+
diff --git a/code/lab6/tools/boot.ld b/code/lab6/tools/boot.ld
new file mode 100644
index 0000000..dc732b0
--- /dev/null
+++ b/code/lab6/tools/boot.ld
@@ -0,0 +1,15 @@
+OUTPUT_FORMAT("elf32-i386")
+OUTPUT_ARCH(i386)
+
+SECTIONS {
+    . = 0x7C00;
+
+    .startup : {
+        *bootasm.o(.text)
+    }
+
+    .text : { *(.text) }
+    .data : { *(.data .rodata) }
+    
+    /DISCARD/ : { *(.eh_*) }
+}
diff --git a/code/lab6/tools/function.mk b/code/lab6/tools/function.mk
new file mode 100644
index 0000000..9b8be0c
--- /dev/null
+++ b/code/lab6/tools/function.mk
@@ -0,0 +1,95 @@
+OBJPREFIX	:= __objs_
+
+.SECONDEXPANSION:
+# -------------------- function begin --------------------
+
+# list all files in some directories: (#directories, #types)
+listf = $(filter $(if $(2),$(addprefix %.,$(2)),%),\
+		  $(wildcard $(addsuffix $(SLASH)*,$(1))))
+
+# get .o obj files: (#files[, packet])
+toobj = $(addprefix $(OBJDIR)$(SLASH)$(if $(2),$(2)$(SLASH)),\
+		$(addsuffix .o,$(basename $(1))))
+
+# get .d dependency files: (#files[, packet])
+todep = $(patsubst %.o,%.d,$(call toobj,$(1),$(2)))
+
+totarget = $(addprefix $(BINDIR)$(SLASH),$(1))
+
+# change $(name) to $(OBJPREFIX)$(name): (#names)
+packetname = $(if $(1),$(addprefix $(OBJPREFIX),$(1)),$(OBJPREFIX))
+
+# cc compile template, generate rule for dep, obj: (file, cc[, flags, dir])
+define cc_template
+$$(call todep,$(1),$(4)): $(1) | $$$$(dir $$$$@)
+	@$(2) -I$$(dir $(1)) $(3) -MM $$< -MT "$$(patsubst %.d,%.o,$$@) $$@"> $$@
+$$(call toobj,$(1),$(4)): $(1) | $$$$(dir $$$$@)
+	@echo + cc $$<
+	$(V)$(2) -I$$(dir $(1)) $(3) -c $$< -o $$@
+ALLOBJS += $$(call toobj,$(1),$(4))
+endef
+
+# compile file: (#files, cc[, flags, dir])
+define do_cc_compile
+$$(foreach f,$(1),$$(eval $$(call cc_template,$$(f),$(2),$(3),$(4))))
+endef
+
+# add files to packet: (#files, cc[, flags, packet, dir])
+define do_add_files_to_packet
+__temp_packet__ := $(call packetname,$(4))
+ifeq ($$(origin $$(__temp_packet__)),undefined)
+$$(__temp_packet__) :=
+endif
+__temp_objs__ := $(call toobj,$(1),$(5))
+$$(foreach f,$(1),$$(eval $$(call cc_template,$$(f),$(2),$(3),$(5))))
+$$(__temp_packet__) += $$(__temp_objs__)
+endef
+
+# add objs to packet: (#objs, packet)
+define do_add_objs_to_packet
+__temp_packet__ := $(call packetname,$(2))
+ifeq ($$(origin $$(__temp_packet__)),undefined)
+$$(__temp_packet__) :=
+endif
+$$(__temp_packet__) += $(1)
+endef
+
+# add packets and objs to target (target, #packes, #objs[, cc, flags])
+define do_create_target
+__temp_target__ = $(call totarget,$(1))
+__temp_objs__ = $$(foreach p,$(call packetname,$(2)),$$($$(p))) $(3)
+TARGETS += $$(__temp_target__)
+ifneq ($(4),)
+$$(__temp_target__): $$(__temp_objs__) | $$$$(dir $$$$@)
+	$(V)$(4) $(5) $$^ -o $$@
+else
+$$(__temp_target__): $$(__temp_objs__) | $$$$(dir $$$$@)
+endif
+endef
+
+# finish all
+define do_finish_all
+ALLDEPS = $$(ALLOBJS:.o=.d)
+$$(sort $$(dir $$(ALLOBJS)) $(BINDIR)$(SLASH) $(OBJDIR)$(SLASH)):
+	@$(MKDIR) $$@
+endef
+
+# --------------------  function end  --------------------
+# compile file: (#files, cc[, flags, dir])
+cc_compile = $(eval $(call do_cc_compile,$(1),$(2),$(3),$(4)))
+
+# add files to packet: (#files, cc[, flags, packet, dir])
+add_files = $(eval $(call do_add_files_to_packet,$(1),$(2),$(3),$(4),$(5)))
+
+# add objs to packet: (#objs, packet)
+add_objs = $(eval $(call do_add_objs_to_packet,$(1),$(2)))
+
+# add packets and objs to target (target, #packes, #objs, cc, [, flags])
+create_target = $(eval $(call do_create_target,$(1),$(2),$(3),$(4),$(5)))
+
+read_packet = $(foreach p,$(call packetname,$(1)),$($(p)))
+
+add_dependency = $(eval $(1): $(2))
+
+finish_all = $(eval $(call do_finish_all))
+
diff --git a/code/lab6/tools/gdbinit b/code/lab6/tools/gdbinit
new file mode 100644
index 0000000..df5df85
--- /dev/null
+++ b/code/lab6/tools/gdbinit
@@ -0,0 +1,3 @@
+file bin/kernel
+target remote :1234
+break kern_init
diff --git a/code/lab6/tools/grade.sh b/code/lab6/tools/grade.sh
new file mode 100644
index 0000000..e56bbe0
--- /dev/null
+++ b/code/lab6/tools/grade.sh
@@ -0,0 +1,582 @@
+#!/bin/sh
+
+verbose=false
+if [ "x$1" = "x-v" ]; then
+    verbose=true
+    out=/dev/stdout
+    err=/dev/stderr
+else
+    out=/dev/null
+    err=/dev/null
+fi
+
+## make & makeopts
+if gmake --version > /dev/null 2>&1; then
+    make=gmake;
+else
+    make=make;
+fi
+
+makeopts="--quiet --no-print-directory -j"
+
+make_print() {
+    echo `$make $makeopts print-$1`
+}
+
+## command tools
+awk='awk'
+bc='bc'
+date='date'
+grep='grep'
+rm='rm -f'
+sed='sed'
+
+## symbol table
+sym_table='obj/kernel.sym'
+
+## gdb & gdbopts
+gdb="$(make_print GDB)"
+gdbport='1234'
+
+gdb_in="$(make_print GRADE_GDB_IN)"
+
+## qemu & qemuopts
+qemu="$(make_print qemu)"
+
+qemu_out="$(make_print GRADE_QEMU_OUT)"
+
+if $qemu -nographic -help | grep -q '^-gdb'; then
+    qemugdb="-gdb tcp::$gdbport"
+else
+    qemugdb="-s -p $gdbport"
+fi
+
+## default variables
+default_timeout=30
+default_pts=5
+
+pts=5
+part=0
+part_pos=0
+total=0
+total_pos=0
+
+## default functions
+update_score() {
+    total=`expr $total + $part`
+    total_pos=`expr $total_pos + $part_pos`
+    part=0
+    part_pos=0
+}
+
+get_time() {
+    echo `$date +%s.%N 2> /dev/null`
+}
+
+show_part() {
+    echo "Part $1 Score: $part/$part_pos"
+    echo
+    update_score
+}
+
+show_final() {
+    update_score
+    echo "Total Score: $total/$total_pos"
+    if [ $total -lt $total_pos ]; then
+        exit 1
+    fi
+}
+
+show_time() {
+    t1=$(get_time)
+    time=`echo "scale=1; ($t1-$t0)/1" | $sed 's/.N/.0/g' | $bc 2> /dev/null`
+    echo "(${time}s)"
+}
+
+show_build_tag() {
+    echo "$1:" | $awk '{printf "%-24s ", $0}'
+}
+
+show_check_tag() {
+    echo "$1:" | $awk '{printf "  -%-40s  ", $0}'
+}
+
+show_msg() {
+    echo $1
+    shift
+    if [ $# -gt 0 ]; then
+        echo "$@" | awk '{printf "   %s\n", $0}'
+        echo
+    fi
+}
+
+pass() {
+    show_msg OK "$@"
+    part=`expr $part + $pts`
+    part_pos=`expr $part_pos + $pts`
+}
+
+fail() {
+    show_msg WRONG "$@"
+    part_pos=`expr $part_pos + $pts`
+}
+
+run_qemu() {
+    # Run qemu with serial output redirected to $qemu_out. If $brkfun is non-empty,
+    # wait until $brkfun is reached or $timeout expires, then kill QEMU
+    qemuextra=
+    if [ "$brkfun" ]; then
+        qemuextra="-S $qemugdb"
+    fi
+
+    if [ -z "$timeout" ] || [ $timeout -le 0 ]; then
+        timeout=$default_timeout;
+    fi
+
+    t0=$(get_time)
+    (
+        ulimit -t $timeout
+        exec $qemu -nographic $qemuopts -serial file:$qemu_out -monitor null -no-reboot $qemuextra
+    ) > $out 2> $err &
+    pid=$!
+
+    # wait for QEMU to start
+    sleep 1
+
+    if [ -n "$brkfun" ]; then
+        # find the address of the kernel $brkfun function
+        brkaddr=`$grep " $brkfun\$" $sym_table | $sed -e's/ .*$//g'`
+        (
+            echo "target remote localhost:$gdbport"
+            echo "break *0x$brkaddr"
+            echo "continue"
+        ) > $gdb_in
+
+        $gdb -batch -nx -x $gdb_in > /dev/null 2>&1
+
+        # make sure that QEMU is dead
+        # on OS X, exiting gdb doesn't always exit qemu
+        kill $pid > /dev/null 2>&1
+    fi
+}
+
+build_run() {
+    # usage: build_run <tag> <args>
+    show_build_tag "$1"
+    shift
+
+    if $verbose; then
+        echo "$make $@ ..."
+    fi
+    $make $makeopts $@ 'DEFS+=-DDEBUG_GRADE' > $out 2> $err
+
+    if [ $? -ne 0 ]; then
+        echo $make $@ failed
+        exit 1
+    fi
+
+    # now run qemu and save the output
+    run_qemu
+
+    show_time
+}
+
+check_result() {
+    # usage: check_result <tag> <check> <check args...>
+    show_check_tag "$1"
+    shift
+
+    # give qemu some time to run (for asynchronous mode)
+    if [ ! -s $qemu_out ]; then
+        sleep 4
+    fi
+
+    if [ ! -s $qemu_out ]; then
+        fail > /dev/null
+        echo 'no $qemu_out'
+    else
+        check=$1
+        shift
+        $check "$@"
+    fi
+}
+
+check_regexps() {
+    okay=yes
+    not=0
+    reg=0
+    error=
+    for i do
+        if [ "x$i" = "x!" ]; then
+            not=1
+        elif [ "x$i" = "x-" ]; then
+            reg=1
+        else
+            if [ $reg -ne 0 ]; then
+                $grep '-E' "^$i\$" $qemu_out > /dev/null
+            else
+                $grep '-F' "$i" $qemu_out > /dev/null
+            fi
+            found=$(($? == 0))
+            if [ $found -eq $not ]; then
+                if [ $found -eq 0 ]; then
+                    msg="!! error: missing '$i'"
+                else
+                    msg="!! error: got unexpected line '$i'"
+                fi
+                okay=no
+                if [ -z "$error" ]; then
+                    error="$msg"
+                else
+                    error="$error\n$msg"
+                fi
+            fi
+            not=0
+            reg=0
+        fi
+    done
+    if [ "$okay" = "yes" ]; then
+        pass
+    else
+        fail "$error"
+        if $verbose; then
+            exit 1
+        fi
+    fi
+}
+
+run_test() {
+    # usage: run_test [-tag <tag>] [-prog <prog>] [-Ddef...] [-check <check>] checkargs ...
+    tag=
+    prog=
+    check=check_regexps
+    while true; do
+        select=
+        case $1 in
+            -tag|-prog)
+                select=`expr substr $1 2 ${#1}`
+                eval $select='$2'
+                ;;
+        esac
+        if [ -z "$select" ]; then
+            break
+        fi
+        shift
+        shift
+    done
+    defs=
+    while expr "x$1" : "x-D.*" > /dev/null; do
+        defs="DEFS+='$1' $defs"
+        shift
+    done
+    if [ "x$1" = "x-check" ]; then
+        check=$2
+        shift
+        shift
+    fi
+
+    if [ -z "$prog" ]; then
+        $make $makeopts touch > /dev/null 2>&1
+        args="$defs"
+    else
+        if [ -z "$tag" ]; then
+            tag="$prog"
+        fi
+        args="build-$prog $defs"
+    fi
+
+    build_run "$tag" "$args"
+
+    check_result 'check result' "$check" "$@"
+}
+
+quick_run() {
+    # usage: quick_run <tag> [-Ddef...]
+    tag="$1"
+    shift
+    defs=
+    while expr "x$1" : "x-D.*" > /dev/null; do
+        defs="DEFS+='$1' $defs"
+        shift
+    done
+
+    $make $makeopts touch > /dev/null 2>&1
+    build_run "$tag" "$defs"
+}
+
+quick_check() {
+    # usage: quick_check <tag> checkargs ...
+    tag="$1"
+    shift
+    check_result "$tag" check_regexps "$@"
+}
+
+## kernel image
+osimg=$(make_print ucoreimg)
+
+## swap image
+swapimg=$(make_print swapimg)
+
+## set default qemu-options
+qemuopts="-hda $osimg -drive file=$swapimg,media=disk,cache=writeback"
+
+## set break-function, default is readline
+brkfun=readline
+
+default_check() {
+    pts=7
+    check_regexps "$@"
+
+    pts=3
+    quick_check 'check output'                                  \
+    'memory management: default_pmm_manager'                      \
+    'check_alloc_page() succeeded!'                             \
+    'check_pgdir() succeeded!'                                  \
+    'check_boot_pgdir() succeeded!'				\
+    'PDE(0e0) c0000000-f8000000 38000000 urw'                   \
+    '  |-- PTE(38000) c0000000-f8000000 38000000 -rw'           \
+    'PDE(001) fac00000-fb000000 00400000 -rw'                   \
+    '  |-- PTE(000e0) faf00000-fafe0000 000e0000 urw'           \
+    '  |-- PTE(00001) fafeb000-fafec000 00001000 -rw'		\
+    'check_slab() succeeded!'					\
+    'check_vma_struct() succeeded!'                             \
+    'page fault at 0x00000100: K/W [no page found].'            \
+    'check_pgfault() succeeded!'                                \
+    'check_vmm() succeeded.'					\
+    'page fault at 0x00001000: K/W [no page found].'            \
+    'page fault at 0x00002000: K/W [no page found].'            \
+    'page fault at 0x00003000: K/W [no page found].'            \
+    'page fault at 0x00004000: K/W [no page found].'            \
+    'write Virt Page e in fifo_check_swap'			\
+    'page fault at 0x00005000: K/W [no page found].'		\
+    'page fault at 0x00001000: K/W [no page found]'		\
+    'page fault at 0x00002000: K/W [no page found].'		\
+    'page fault at 0x00003000: K/W [no page found].'		\
+    'page fault at 0x00004000: K/W [no page found].'		\
+    'check_swap() succeeded!'					\
+    '++ setup timer interrupts'
+}
+
+## check now!!
+
+run_test -prog 'badsegment' -check default_check                \
+        'kernel_execve: pid = 2, name = "badsegment".'          \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000d General Protection'                    \
+        '  err  0x00000028'                                     \
+      - '  eip  0x008.....'                                     \
+      - '  esp  0xaff.....'                                     \
+        '  cs   0x----001b'                                     \
+        '  ss   0x----0023'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'divzero' -check default_check                   \
+        'kernel_execve: pid = 2, name = "divzero".'             \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x00000000 Divide error'                          \
+      - '  eip  0x008.....'                                     \
+      - '  esp  0xaff.....'                                     \
+        '  cs   0x----001b'                                     \
+        '  ss   0x----0023'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'softint' -check default_check                   \
+        'kernel_execve: pid = 2, name = "softint".'             \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000d General Protection'                    \
+        '  err  0x00000072'                                     \
+      - '  eip  0x008.....'                                     \
+      - '  esp  0xaff.....'                                     \
+        '  cs   0x----001b'                                     \
+        '  ss   0x----0023'                                     \
+    ! - 'user panic at .*'
+
+pts=10
+
+run_test -prog 'faultread'  -check default_check                                     \
+        'kernel_execve: pid = 2, name = "faultread".'           \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000e Page Fault'                            \
+        '  err  0x00000004'                                     \
+      - '  eip  0x008.....'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'faultreadkernel' -check default_check                                \
+        'kernel_execve: pid = 2, name = "faultreadkernel".'     \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000e Page Fault'                            \
+        '  err  0x00000005'                                     \
+      - '  eip  0x008.....'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'hello' -check default_check                                          \
+        'kernel_execve: pid = 2, name = "hello".'               \
+        'Hello world!!.'                                        \
+        'I am process 2.'                                       \
+        'hello pass.'
+
+run_test -prog 'testbss' -check default_check                                        \
+        'kernel_execve: pid = 2, name = "testbss".'             \
+        'Making sure bss works right...'                        \
+        'Yes, good.  Now doing a wild write off the end...'     \
+        'testbss may pass.'                                     \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000e Page Fault'                            \
+        '  err  0x00000006'                                     \
+      - '  eip  0x008.....'                                     \
+        'killed by kernel.'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'pgdir' -check default_check                                          \
+        'kernel_execve: pid = 2, name = "pgdir".'               \
+        'I am 2, print pgdir.'                                  \
+        'PDE(001) 00800000-00c00000 00400000 urw'               \
+        '  |-- PTE(00002) 00800000-00802000 00002000 ur-'       \
+        '  |-- PTE(00001) 00802000-00803000 00001000 urw'       \
+        'PDE(001) afc00000-b0000000 00400000 urw'               \
+        '  |-- PTE(00004) afffc000-b0000000 00004000 urw'       \
+        'PDE(0e0) c0000000-f8000000 38000000 urw'               \
+        '  |-- PTE(38000) c0000000-f8000000 38000000 -rw'       \
+        'pgdir pass.'
+
+run_test -prog 'yield' -check default_check                                          \
+        'kernel_execve: pid = 2, name = "yield".'               \
+        'Hello, I am process 2.'                                \
+        'Back in process 2, iteration 0.'                       \
+        'Back in process 2, iteration 1.'                       \
+        'Back in process 2, iteration 2.'                       \
+        'Back in process 2, iteration 3.'                       \
+        'Back in process 2, iteration 4.'                       \
+        'All done in process 2.'                                \
+        'yield pass.'
+
+
+run_test -prog 'badarg' -check default_check                    \
+        'kernel_execve: pid = 2, name = "badarg".'              \
+        'fork ok.'                                              \
+        'badarg pass.'                                          \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+pts=10
+
+run_test -prog 'exit'  -check default_check                                          \
+        'kernel_execve: pid = 2, name = "exit".'                \
+        'I am the parent. Forking the child...'                 \
+        'I am the parent, waiting now..'                        \
+        'I am the child.'                                       \
+      - 'waitpid [0-9]+ ok\.'                                   \
+        'exit pass.'                                            \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+run_test -prog 'spin'  -check default_check                                          \
+        'kernel_execve: pid = 2, name = "spin".'                \
+        'I am the parent. Forking the child...'                 \
+        'I am the parent. Running the child...'                 \
+        'I am the child. spinning ...'                          \
+        'I am the parent.  Killing the child...'                \
+        'kill returns 0'                                        \
+        'wait returns 0'                                        \
+        'spin may pass.'                                        \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+run_test -prog 'waitkill'  -check default_check                                      \
+        'kernel_execve: pid = 2, name = "waitkill".'            \
+        'wait child 1.'                                         \
+        'child 2.'                                              \
+        'child 1.'                                              \
+        'kill parent ok.'                                       \
+        'kill child1 ok.'                                       \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+pts=15
+
+run_test -prog 'forktest'   -check default_check                                     \
+        'kernel_execve: pid = 2, name = "forktest".'            \
+        'I am child 31'                                         \
+        'I am child 19'                                         \
+        'I am child 13'                                         \
+        'I am child 0'                                          \
+        'forktest pass.'                                        \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'fork claimed to work [0-9]+ times!'                    \
+    !   'wait stopped early'                                    \
+    !   'wait got too many'                                     \
+    ! - 'user panic at .*'
+
+pts=10
+run_test -prog 'forktree'    -check default_check               \
+        'kernel_execve: pid = 2, name = "forktree".'            \
+      - '....: I am '\'''\'                                     \
+      - '....: I am '\''0'\'                                    \
+      - '....: I am '\'''\'                                     \
+      - '....: I am '\''1'\'                                    \
+      - '....: I am '\''0'\'                                    \
+      - '....: I am '\''01'\'                                   \
+      - '....: I am '\''00'\'                                   \
+      - '....: I am '\''11'\'                                   \
+      - '....: I am '\''10'\'                                   \
+      - '....: I am '\''101'\'                                  \
+      - '....: I am '\''100'\'                                  \
+      - '....: I am '\''111'\'                                  \
+      - '....: I am '\''110'\'                                  \
+      - '....: I am '\''001'\'                                  \
+      - '....: I am '\''000'\'                                  \
+      - '....: I am '\''011'\'                                  \
+      - '....: I am '\''010'\'                                  \
+      - '....: I am '\''0101'\'                                 \
+      - '....: I am '\''0100'\'                                 \
+      - '....: I am '\''0111'\'                                 \
+      - '....: I am '\''0110'\'                                 \
+      - '....: I am '\''0001'\'                                 \
+      - '....: I am '\''0000'\'                                 \
+      - '....: I am '\''0011'\'                                 \
+      - '....: I am '\''0010'\'                                 \
+      - '....: I am '\''1101'\'                                 \
+      - '....: I am '\''1100'\'                                 \
+      - '....: I am '\''1111'\'                                 \
+      - '....: I am '\''1110'\'                                 \
+      - '....: I am '\''1001'\'                                 \
+      - '....: I am '\''1000'\'                                 \
+      - '....: I am '\''1011'\'                                 \
+      - '....: I am '\''1010'\'                                 \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'
+
+pts=20
+timeout=500
+run_test -prog 'matrix'     -check default_check                \
+        'kernel_execve: pid = 2, name = "matrix".'              \
+        'fork ok.'                                              \
+        'pid 4 done!.'                                          \
+        'pid 7 done!.'                                          \
+        'pid 13 done!.'                                         \
+        'pid 17 done!.'                                         \
+        'pid 23 done!.'                                         \
+        'matrix pass.'                                          \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+pts=20
+timeout=150
+run_test -prog 'priority'      -check default_check             \
+	'sched class: stride_scheduler'                         \
+        'kernel_execve: pid = 2, name = "priority".'            \
+        'main: fork ok,now need to wait pids.'                  \
+        'stride sched correct result: 1 2 3 4 5'                \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+## print final-score
+show_final
+
diff --git a/code/lab6/tools/kernel.ld b/code/lab6/tools/kernel.ld
new file mode 100644
index 0000000..1838500
--- /dev/null
+++ b/code/lab6/tools/kernel.ld
@@ -0,0 +1,58 @@
+/* Simple linker script for the ucore kernel.
+   See the GNU ld 'info' manual ("info ld") to learn the syntax. */
+
+OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
+OUTPUT_ARCH(i386)
+ENTRY(kern_entry)
+
+SECTIONS {
+    /* Load the kernel at this address: "." means the current address */
+    . = 0xC0100000;
+
+    .text : {
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+
+    PROVIDE(etext = .); /* Define the 'etext' symbol to this value */
+
+    .rodata : {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+
+    /* Include debugging information in kernel memory */
+    .stab : {
+        PROVIDE(__STAB_BEGIN__ = .);
+        *(.stab);
+        PROVIDE(__STAB_END__ = .);
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    .stabstr : {
+        PROVIDE(__STABSTR_BEGIN__ = .);
+        *(.stabstr);
+        PROVIDE(__STABSTR_END__ = .);
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    /* Adjust the address for the data segment to the next page */
+    . = ALIGN(0x1000);
+
+    /* The data segment */
+    .data : {
+        *(.data)
+    }
+
+    PROVIDE(edata = .);
+
+    .bss : {
+        *(.bss)
+    }
+
+    PROVIDE(end = .);
+
+    /DISCARD/ : {
+        *(.eh_frame .note.GNU-stack)
+    }
+}
diff --git a/code/lab6/tools/sign.c b/code/lab6/tools/sign.c
new file mode 100644
index 0000000..9d81bb6
--- /dev/null
+++ b/code/lab6/tools/sign.c
@@ -0,0 +1,43 @@
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+
+int
+main(int argc, char *argv[]) {
+    struct stat st;
+    if (argc != 3) {
+        fprintf(stderr, "Usage: <input filename> <output filename>\n");
+        return -1;
+    }
+    if (stat(argv[1], &st) != 0) {
+        fprintf(stderr, "Error opening file '%s': %s\n", argv[1], strerror(errno));
+        return -1;
+    }
+    printf("'%s' size: %lld bytes\n", argv[1], (long long)st.st_size);
+    if (st.st_size > 510) {
+        fprintf(stderr, "%lld >> 510!!\n", (long long)st.st_size);
+        return -1;
+    }
+    char buf[512];
+    memset(buf, 0, sizeof(buf));
+    FILE *ifp = fopen(argv[1], "rb");
+    int size = fread(buf, 1, st.st_size, ifp);
+    if (size != st.st_size) {
+        fprintf(stderr, "read '%s' error, size is %d.\n", argv[1], size);
+        return -1;
+    }
+    fclose(ifp);
+    buf[510] = 0x55;
+    buf[511] = 0xAA;
+    FILE *ofp = fopen(argv[2], "wb+");
+    size = fwrite(buf, 1, 512, ofp);
+    if (size != 512) {
+        fprintf(stderr, "write '%s' error, size is %d.\n", argv[2], size);
+        return -1;
+    }
+    fclose(ofp);
+    printf("build 512 bytes boot sector: '%s' success!\n", argv[2]);
+    return 0;
+}
+
diff --git a/code/lab6/tools/user.ld b/code/lab6/tools/user.ld
new file mode 100644
index 0000000..c73b6fa
--- /dev/null
+++ b/code/lab6/tools/user.ld
@@ -0,0 +1,71 @@
+/* Simple linker script for ucore user-level programs.
+   See the GNU ld 'info' manual ("info ld") to learn the syntax. */
+
+OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
+OUTPUT_ARCH(i386)
+ENTRY(_start)
+
+SECTIONS {
+    /* Load programs at this address: "." means the current address */
+    . = 0x800020;
+
+    .text : {
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+
+    PROVIDE(etext = .); /* Define the 'etext' symbol to this value */
+
+    .rodata : {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+
+    /* Adjust the address for the data segment to the next page */
+    . = ALIGN(0x1000);
+
+    .data : {
+        *(.data)
+    }
+
+    PROVIDE(edata = .);
+
+    .bss : {
+        *(.bss)
+    }
+
+    PROVIDE(end = .);
+
+
+    /* Place debugging symbols so that they can be found by
+     * the kernel debugger.
+     * Specifically, the four words at 0x200000 mark the beginning of
+     * the stabs, the end of the stabs, the beginning of the stabs
+     * string table, and the end of the stabs string table, respectively.
+     */
+
+    .stab_info 0x200000 : {
+        LONG(__STAB_BEGIN__);
+        LONG(__STAB_END__);
+        LONG(__STABSTR_BEGIN__);
+        LONG(__STABSTR_END__);
+    }
+
+    .stab : {
+        __STAB_BEGIN__ = DEFINED(__STAB_BEGIN__) ? __STAB_BEGIN__ : .;
+        *(.stab);
+        __STAB_END__ = DEFINED(__STAB_END__) ? __STAB_END__ : .;
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    .stabstr : {
+        __STABSTR_BEGIN__ = DEFINED(__STABSTR_BEGIN__) ? __STABSTR_BEGIN__ : .;
+        *(.stabstr);
+        __STABSTR_END__ = DEFINED(__STABSTR_END__) ? __STABSTR_END__ : .;
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    /DISCARD/ : {
+        *(.eh_frame .note.GNU-stack .comment)
+    }
+}
diff --git a/code/lab6/tools/vector.c b/code/lab6/tools/vector.c
new file mode 100644
index 0000000..e24d77e
--- /dev/null
+++ b/code/lab6/tools/vector.c
@@ -0,0 +1,29 @@
+#include <stdio.h>
+
+int
+main(void) {
+    printf("# handler\n");
+    printf(".text\n");
+    printf(".globl __alltraps\n");
+
+    int i;
+    for (i = 0; i < 256; i ++) {
+        printf(".globl vector%d\n", i);
+        printf("vector%d:\n", i);
+        if ((i < 8 || i > 14) && i != 17) {
+            printf("  pushl $0\n");
+        }
+        printf("  pushl $%d\n", i);
+        printf("  jmp __alltraps\n");
+    }
+    printf("\n");
+    printf("# vector table\n");
+    printf(".data\n");
+    printf(".globl __vectors\n");
+    printf("__vectors:\n");
+    for (i = 0; i < 256; i ++) {
+        printf("  .long vector%d\n", i);
+    }
+    return 0;
+}
+
diff --git a/code/lab6/user/badarg.c b/code/lab6/user/badarg.c
new file mode 100644
index 0000000..7b4ffad
--- /dev/null
+++ b/code/lab6/user/badarg.c
@@ -0,0 +1,22 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    int pid, exit_code;
+    if ((pid = fork()) == 0) {
+        cprintf("fork ok.\n");
+        int i;
+        for (i = 0; i < 10; i ++) {
+            yield();
+        }
+        exit(0xbeaf);
+    }
+    assert(pid > 0);
+    assert(waitpid(-1, NULL) != 0);
+    assert(waitpid(pid, (void *)0xC0000000) != 0);
+    assert(waitpid(pid, &exit_code) == 0 && exit_code == 0xbeaf);
+    cprintf("badarg pass.\n");
+    return 0;
+}
+
diff --git a/code/lab6/user/badsegment.c b/code/lab6/user/badsegment.c
new file mode 100644
index 0000000..cdd9e99
--- /dev/null
+++ b/code/lab6/user/badsegment.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <ulib.h>
+
+/* try to load the kernel's TSS selector into the DS register */
+
+int
+main(void) {
+    asm volatile("movw $0x28,%ax; movw %ax,%ds");
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab6/user/divzero.c b/code/lab6/user/divzero.c
new file mode 100644
index 0000000..16c23d5
--- /dev/null
+++ b/code/lab6/user/divzero.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int zero;
+
+int
+main(void) {
+    cprintf("value is %d.\n", 1 / zero);
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab6/user/exit.c b/code/lab6/user/exit.c
new file mode 100644
index 0000000..c3ac5f8
--- /dev/null
+++ b/code/lab6/user/exit.c
@@ -0,0 +1,34 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int magic = -0x10384;
+
+int
+main(void) {
+    int pid, code;
+    cprintf("I am the parent. Forking the child...\n");
+    if ((pid = fork()) == 0) {
+        cprintf("I am the child.\n");
+        yield();
+        yield();
+        yield();
+        yield();
+        yield();
+        yield();
+        yield();
+        exit(magic);
+    }
+    else {
+        cprintf("I am parent, fork a child pid %d\n",pid);
+    }
+    assert(pid > 0);
+    cprintf("I am the parent, waiting now..\n");
+
+    assert(waitpid(pid, &code) == 0 && code == magic);
+    assert(waitpid(pid, &code) != 0 && wait() != 0);
+    cprintf("waitpid %d ok.\n", pid);
+
+    cprintf("exit pass.\n");
+    return 0;
+}
+
diff --git a/code/lab6/user/faultread.c b/code/lab6/user/faultread.c
new file mode 100644
index 0000000..6d292e1
--- /dev/null
+++ b/code/lab6/user/faultread.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    cprintf("I read %8x from 0.\n", *(unsigned int *)0);
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab6/user/faultreadkernel.c b/code/lab6/user/faultreadkernel.c
new file mode 100644
index 0000000..53457f6
--- /dev/null
+++ b/code/lab6/user/faultreadkernel.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    cprintf("I read %08x from 0xfac00000!\n", *(unsigned *)0xfac00000);
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab6/user/forktest.c b/code/lab6/user/forktest.c
new file mode 100644
index 0000000..3eda228
--- /dev/null
+++ b/code/lab6/user/forktest.c
@@ -0,0 +1,34 @@
+#include <ulib.h>
+#include <stdio.h>
+
+const int max_child = 32;
+
+int
+main(void) {
+    int n, pid;
+    for (n = 0; n < max_child; n ++) {
+        if ((pid = fork()) == 0) {
+            cprintf("I am child %d\n", n);
+            exit(0);
+        }
+        assert(pid > 0);
+    }
+
+    if (n > max_child) {
+        panic("fork claimed to work %d times!\n", n);
+    }
+
+    for (; n > 0; n --) {
+        if (wait() != 0) {
+            panic("wait stopped early\n");
+        }
+    }
+
+    if (wait() == 0) {
+        panic("wait got too many\n");
+    }
+
+    cprintf("forktest pass.\n");
+    return 0;
+}
+
diff --git a/code/lab6/user/forktree.c b/code/lab6/user/forktree.c
new file mode 100644
index 0000000..93f28bb
--- /dev/null
+++ b/code/lab6/user/forktree.c
@@ -0,0 +1,37 @@
+#include <ulib.h>
+#include <stdio.h>
+#include <string.h>
+
+#define DEPTH 4
+
+void forktree(const char *cur);
+
+void
+forkchild(const char *cur, char branch) {
+    char nxt[DEPTH + 1];
+
+    if (strlen(cur) >= DEPTH)
+        return;
+
+    snprintf(nxt, DEPTH + 1, "%s%c", cur, branch);
+    if (fork() == 0) {
+        forktree(nxt);
+        yield();
+        exit(0);
+    }
+}
+
+void
+forktree(const char *cur) {
+    cprintf("%04x: I am '%s'\n", getpid(), cur);
+
+    forkchild(cur, '0');
+    forkchild(cur, '1');
+}
+
+int
+main(void) {
+    forktree("");
+    return 0;
+}
+
diff --git a/code/lab6/user/hello.c b/code/lab6/user/hello.c
new file mode 100644
index 0000000..0f05251
--- /dev/null
+++ b/code/lab6/user/hello.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    cprintf("Hello world!!.\n");
+    cprintf("I am process %d.\n", getpid());
+    cprintf("hello pass.\n");
+    return 0;
+}
+
diff --git a/code/lab6/user/libs/initcode.S b/code/lab6/user/libs/initcode.S
new file mode 100644
index 0000000..77a91d6
--- /dev/null
+++ b/code/lab6/user/libs/initcode.S
@@ -0,0 +1,14 @@
+.text
+.globl _start
+_start:
+    # set ebp for backtrace
+    movl $0x0, %ebp
+
+    # move down the esp register
+    # since it may cause page fault in backtrace
+    subl $0x20, %esp
+
+    # call user-program function
+    call umain
+1:  jmp 1b
+
diff --git a/code/lab6/user/libs/panic.c b/code/lab6/user/libs/panic.c
new file mode 100644
index 0000000..783be16
--- /dev/null
+++ b/code/lab6/user/libs/panic.c
@@ -0,0 +1,28 @@
+#include <defs.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <ulib.h>
+#include <error.h>
+
+void
+__panic(const char *file, int line, const char *fmt, ...) {
+    // print the 'message'
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("user panic at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+    exit(-E_PANIC);
+}
+
+void
+__warn(const char *file, int line, const char *fmt, ...) {
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("user warning at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+}
+
diff --git a/code/lab6/user/libs/stdio.c b/code/lab6/user/libs/stdio.c
new file mode 100644
index 0000000..69b7749
--- /dev/null
+++ b/code/lab6/user/libs/stdio.c
@@ -0,0 +1,62 @@
+#include <defs.h>
+#include <stdio.h>
+#include <syscall.h>
+
+/* *
+ * cputch - writes a single character @c to stdout, and it will
+ * increace the value of counter pointed by @cnt.
+ * */
+static void
+cputch(int c, int *cnt) {
+    sys_putc(c);
+    (*cnt) ++;
+}
+
+/* *
+ * vcprintf - format a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want cprintf() instead.
+ * */
+int
+vcprintf(const char *fmt, va_list ap) {
+    int cnt = 0;
+    vprintfmt((void*)cputch, &cnt, fmt, ap);
+    return cnt;
+}
+
+/* *
+ * cprintf - formats a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ * */
+int
+cprintf(const char *fmt, ...) {
+    va_list ap;
+
+    va_start(ap, fmt);
+    int cnt = vcprintf(fmt, ap);
+    va_end(ap);
+
+    return cnt;
+}
+
+/* *
+ * cputs- writes the string pointed by @str to stdout and
+ * appends a newline character.
+ * */
+int
+cputs(const char *str) {
+    int cnt = 0;
+    char c;
+    while ((c = *str ++) != '\0') {
+        cputch(c, &cnt);
+    }
+    cputch('\n', &cnt);
+    return cnt;
+}
+
diff --git a/code/lab6/user/libs/syscall.c b/code/lab6/user/libs/syscall.c
new file mode 100644
index 0000000..1571cc7
--- /dev/null
+++ b/code/lab6/user/libs/syscall.c
@@ -0,0 +1,82 @@
+#include <defs.h>
+#include <unistd.h>
+#include <stdarg.h>
+#include <syscall.h>
+
+#define MAX_ARGS            5
+
+static inline int
+syscall(int num, ...) {
+    va_list ap;
+    va_start(ap, num);
+    uint32_t a[MAX_ARGS];
+    int i, ret;
+    for (i = 0; i < MAX_ARGS; i ++) {
+        a[i] = va_arg(ap, uint32_t);
+    }
+    va_end(ap);
+
+    asm volatile (
+        "int %1;"
+        : "=a" (ret)
+        : "i" (T_SYSCALL),
+          "a" (num),
+          "d" (a[0]),
+          "c" (a[1]),
+          "b" (a[2]),
+          "D" (a[3]),
+          "S" (a[4])
+        : "cc", "memory");
+    return ret;
+}
+
+int
+sys_exit(int error_code) {
+    return syscall(SYS_exit, error_code);
+}
+
+int
+sys_fork(void) {
+    return syscall(SYS_fork);
+}
+
+int
+sys_wait(int pid, int *store) {
+    return syscall(SYS_wait, pid, store);
+}
+
+int
+sys_yield(void) {
+    return syscall(SYS_yield);
+}
+
+int
+sys_kill(int pid) {
+    return syscall(SYS_kill, pid);
+}
+
+int
+sys_getpid(void) {
+    return syscall(SYS_getpid);
+}
+
+int
+sys_putc(int c) {
+    return syscall(SYS_putc, c);
+}
+
+int
+sys_pgdir(void) {
+    return syscall(SYS_pgdir);
+}
+
+size_t
+sys_gettime(void) {
+    return syscall(SYS_gettime);
+}
+
+void
+sys_lab6_set_priority(uint32_t priority)
+{
+    syscall(SYS_lab6_set_priority, priority);
+}
diff --git a/code/lab6/user/libs/syscall.h b/code/lab6/user/libs/syscall.h
new file mode 100644
index 0000000..d167dfe
--- /dev/null
+++ b/code/lab6/user/libs/syscall.h
@@ -0,0 +1,16 @@
+#ifndef __USER_LIBS_SYSCALL_H__
+#define __USER_LIBS_SYSCALL_H__
+
+int sys_exit(int error_code);
+int sys_fork(void);
+int sys_wait(int pid, int *store);
+int sys_yield(void);
+int sys_kill(int pid);
+int sys_getpid(void);
+int sys_putc(int c);
+int sys_pgdir(void);
+/* FOR LAB6 ONLY */
+void sys_lab6_set_priority(uint32_t priority);
+
+#endif /* !__USER_LIBS_SYSCALL_H__ */
+
diff --git a/code/lab6/user/libs/ulib.c b/code/lab6/user/libs/ulib.c
new file mode 100644
index 0000000..c17e754
--- /dev/null
+++ b/code/lab6/user/libs/ulib.c
@@ -0,0 +1,58 @@
+#include <defs.h>
+#include <syscall.h>
+#include <stdio.h>
+#include <ulib.h>
+
+void
+exit(int error_code) {
+    sys_exit(error_code);
+    cprintf("BUG: exit failed.\n");
+    while (1);
+}
+
+int
+fork(void) {
+    return sys_fork();
+}
+
+int
+wait(void) {
+    return sys_wait(0, NULL);
+}
+
+int
+waitpid(int pid, int *store) {
+    return sys_wait(pid, store);
+}
+
+void
+yield(void) {
+    sys_yield();
+}
+
+int
+kill(int pid) {
+    return sys_kill(pid);
+}
+
+int
+getpid(void) {
+    return sys_getpid();
+}
+
+//print_pgdir - print the PDT&PT
+void
+print_pgdir(void) {
+    sys_pgdir();
+}
+
+unsigned int
+gettime_msec(void) {
+    return (unsigned int)sys_gettime();
+}
+
+void
+lab6_set_priority(uint32_t priority)
+{
+    sys_lab6_set_priority(priority);
+}
diff --git a/code/lab6/user/libs/ulib.h b/code/lab6/user/libs/ulib.h
new file mode 100644
index 0000000..dd57f80
--- /dev/null
+++ b/code/lab6/user/libs/ulib.h
@@ -0,0 +1,38 @@
+#ifndef __USER_LIBS_ULIB_H__
+#define __USER_LIBS_ULIB_H__
+
+#include <defs.h>
+
+void __warn(const char *file, int line, const char *fmt, ...);
+void __noreturn __panic(const char *file, int line, const char *fmt, ...);
+
+#define warn(...)                                       \
+    __warn(__FILE__, __LINE__, __VA_ARGS__)
+
+#define panic(...)                                      \
+    __panic(__FILE__, __LINE__, __VA_ARGS__)
+
+#define assert(x)                                       \
+    do {                                                \
+        if (!(x)) {                                     \
+            panic("assertion failed: %s", #x);          \
+        }                                               \
+    } while (0)
+
+// static_assert(x) will generate a compile-time error if 'x' is false.
+#define static_assert(x)                                \
+    switch (x) { case 0: case (x): ; }
+
+void __noreturn exit(int error_code);
+int fork(void);
+int wait(void);
+int waitpid(int pid, int *store);
+void yield(void);
+int kill(int pid);
+int getpid(void);
+void print_pgdir(void);
+unsigned int gettime_msec(void);
+void lab6_set_priority(uint32_t priority);
+
+#endif /* !__USER_LIBS_ULIB_H__ */
+
diff --git a/code/lab6/user/libs/umain.c b/code/lab6/user/libs/umain.c
new file mode 100644
index 0000000..c352072
--- /dev/null
+++ b/code/lab6/user/libs/umain.c
@@ -0,0 +1,10 @@
+#include <ulib.h>
+
+int main(void);
+
+void
+umain(void) {
+    int ret = main();
+    exit(ret);
+}
+
diff --git a/code/lab6/user/matrix.c b/code/lab6/user/matrix.c
new file mode 100644
index 0000000..c5ec869
--- /dev/null
+++ b/code/lab6/user/matrix.c
@@ -0,0 +1,84 @@
+#include <ulib.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#define MATSIZE     10
+
+static int mata[MATSIZE][MATSIZE];
+static int matb[MATSIZE][MATSIZE];
+static int matc[MATSIZE][MATSIZE];
+
+void
+work(unsigned int times) {
+    int i, j, k, size = MATSIZE;
+    for (i = 0; i < size; i ++) {
+        for (j = 0; j < size; j ++) {
+            mata[i][j] = matb[i][j] = 1;
+        }
+    }
+
+    yield();
+
+    cprintf("pid %d is running (%d times)!.\n", getpid(), times);
+
+    while (times -- > 0) {
+        for (i = 0; i < size; i ++) {
+            for (j = 0; j < size; j ++) {
+                matc[i][j] = 0;
+                for (k = 0; k < size; k ++) {
+                    matc[i][j] += mata[i][k] * matb[k][j];
+                }
+            }
+        }
+        for (i = 0; i < size; i ++) {
+            for (j = 0; j < size; j ++) {
+                mata[i][j] = matb[i][j] = matc[i][j];
+            }
+        }
+    }
+    cprintf("pid %d done!.\n", getpid());
+    exit(0);
+}
+
+const int total = 21;
+
+int
+main(void) {
+    int pids[total];
+    memset(pids, 0, sizeof(pids));
+
+    int i;
+    for (i = 0; i < total; i ++) {
+        if ((pids[i] = fork()) == 0) {
+            srand(i * i);
+            int times = (((unsigned int)rand()) % total);
+            times = (times * times + 10) * 100;
+            work(times);
+        }
+        if (pids[i] < 0) {
+            goto failed;
+        }
+    }
+
+    cprintf("fork ok.\n");
+
+    for (i = 0; i < total; i ++) {
+        if (wait() != 0) {
+            cprintf("wait failed.\n");
+            goto failed;
+        }
+    }
+
+    cprintf("matrix pass.\n");
+    return 0;
+
+failed:
+    for (i = 0; i < total; i ++) {
+        if (pids[i] > 0) {
+            kill(pids[i]);
+        }
+    }
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab6/user/pgdir.c b/code/lab6/user/pgdir.c
new file mode 100644
index 0000000..09fd7e3
--- /dev/null
+++ b/code/lab6/user/pgdir.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    cprintf("I am %d, print pgdir.\n", getpid());
+    print_pgdir();
+    cprintf("pgdir pass.\n");
+    return 0;
+}
+
diff --git a/code/lab6/user/priority.c b/code/lab6/user/priority.c
new file mode 100644
index 0000000..bcbc29d
--- /dev/null
+++ b/code/lab6/user/priority.c
@@ -0,0 +1,77 @@
+#include <ulib.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#define TOTAL 5
+/* to get enough accuracy, MAX_TIME (the running time of each process) should >1000 mseconds. */
+#define MAX_TIME  2000
+unsigned int acc[TOTAL];
+int status[TOTAL];
+int pids[TOTAL];
+
+static void
+spin_delay(void)
+{
+     int i;
+     volatile int j;
+     for (i = 0; i != 200; ++ i)
+     {
+          j = !j;
+     }
+}
+
+int
+main(void) {
+     int i,time;
+     memset(pids, 0, sizeof(pids));
+     lab6_set_priority(TOTAL + 1);
+
+     for (i = 0; i < TOTAL; i ++) {
+          acc[i]=0;
+          if ((pids[i] = fork()) == 0) {
+               lab6_set_priority(i + 1);
+               acc[i] = 0;
+               while (1) {
+                    spin_delay();
+                    ++ acc[i];
+                    if(acc[i]%4000==0) {
+                        if((time=gettime_msec())>MAX_TIME) {
+                            cprintf("child pid %d, acc %d, time %d\n",getpid(),acc[i],time);
+                            exit(acc[i]);
+                        }
+                    }
+               }
+               
+          }
+          if (pids[i] < 0) {
+               goto failed;
+          }
+     }
+
+     cprintf("main: fork ok,now need to wait pids.\n");
+
+     for (i = 0; i < TOTAL; i ++) {
+         status[i]=0;
+         waitpid(pids[i],&status[i]);
+         cprintf("main: pid %d, acc %d, time %d\n",pids[i],status[i],gettime_msec()); 
+     }
+     cprintf("main: wait pids over\n");
+     cprintf("stride sched correct result:");
+     for (i = 0; i < TOTAL; i ++)
+     {
+         cprintf(" %d", (status[i] * 2 / status[0] + 1) / 2);
+     }
+     cprintf("\n");
+
+     return 0;
+
+failed:
+     for (i = 0; i < TOTAL; i ++) {
+          if (pids[i] > 0) {
+               kill(pids[i]);
+          }
+     }
+     panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab6/user/softint.c b/code/lab6/user/softint.c
new file mode 100644
index 0000000..2f14d15
--- /dev/null
+++ b/code/lab6/user/softint.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    asm volatile("int $14");
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab6/user/spin.c b/code/lab6/user/spin.c
new file mode 100644
index 0000000..91581e5
--- /dev/null
+++ b/code/lab6/user/spin.c
@@ -0,0 +1,29 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    int pid, ret;
+    cprintf("I am the parent. Forking the child...\n");
+    if ((pid = fork()) == 0) {
+        cprintf("I am the child. spinning ...\n");
+        while (1);
+    }
+    cprintf("I am the parent. Running the child...\n");
+
+    yield();
+    yield();
+    yield();
+
+    cprintf("I am the parent.  Killing the child...\n");
+
+    assert((ret = kill(pid)) == 0);
+    cprintf("kill returns %d\n", ret);
+
+    assert((ret = waitpid(pid, NULL)) == 0);
+    cprintf("wait returns %d\n", ret);
+
+    cprintf("spin may pass.\n");
+    return 0;
+}
+
diff --git a/code/lab6/user/testbss.c b/code/lab6/user/testbss.c
new file mode 100644
index 0000000..14dc6e1
--- /dev/null
+++ b/code/lab6/user/testbss.c
@@ -0,0 +1,33 @@
+#include <stdio.h>
+#include <ulib.h>
+
+#define ARRAYSIZE (1024*1024)
+
+uint32_t bigarray[ARRAYSIZE];
+
+int
+main(void) {
+    cprintf("Making sure bss works right...\n");
+    int i;
+    for (i = 0; i < ARRAYSIZE; i ++) {
+        if (bigarray[i] != 0) {
+            panic("bigarray[%d] isn't cleared!\n", i);
+        }
+    }
+    for (i = 0; i < ARRAYSIZE; i ++) {
+        bigarray[i] = i;
+    }
+    for (i = 0; i < ARRAYSIZE; i ++) {
+        if (bigarray[i] != i) {
+            panic("bigarray[%d] didn't hold its value!\n", i);
+        }
+    }
+
+    cprintf("Yes, good.  Now doing a wild write off the end...\n");
+    cprintf("testbss may pass.\n");
+
+    bigarray[ARRAYSIZE + 1024] = 0;
+    asm volatile ("int $0x14");
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab6/user/waitkill.c b/code/lab6/user/waitkill.c
new file mode 100644
index 0000000..9bb3f80
--- /dev/null
+++ b/code/lab6/user/waitkill.c
@@ -0,0 +1,59 @@
+#include <ulib.h>
+#include <stdio.h>
+
+void
+do_yield(void) {
+    yield();
+    yield();
+    yield();
+    yield();
+    yield();
+    yield();
+}
+
+int parent, pid1, pid2;
+
+void
+loop(void) {
+    cprintf("child 1.\n");
+    while (1);
+}
+
+void
+work(void) {
+    cprintf("child 2.\n");
+    do_yield();
+    if (kill(parent) == 0) {
+        cprintf("kill parent ok.\n");
+        do_yield();
+        if (kill(pid1) == 0) {
+            cprintf("kill child1 ok.\n");
+            exit(0);
+        }
+    }
+    exit(-1);
+}
+
+int
+main(void) {
+    parent = getpid();
+    if ((pid1 = fork()) == 0) {
+        loop();
+    }
+
+    assert(pid1 > 0);
+
+    if ((pid2 = fork()) == 0) {
+        work();
+    }
+    if (pid2 > 0) {
+        cprintf("wait child 1.\n");
+        waitpid(pid1, NULL);
+        panic("waitpid %d returns\n", pid1);
+    }
+    else {
+        kill(pid1);
+    }
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab6/user/yield.c b/code/lab6/user/yield.c
new file mode 100644
index 0000000..a19890d
--- /dev/null
+++ b/code/lab6/user/yield.c
@@ -0,0 +1,16 @@
+#include <ulib.h>
+#include <stdio.h>
+
+int
+main(void) {
+    int i;
+    cprintf("Hello, I am process %d.\n", getpid());
+    for (i = 0; i < 5; i ++) {
+        yield();
+        cprintf("Back in process %d, iteration %d.\n", getpid(), i);
+    }
+    cprintf("All done in process %d.\n", getpid());
+    cprintf("yield pass.\n");
+    return 0;
+}
+
diff --git a/code/lab7/Makefile b/code/lab7/Makefile
new file mode 100644
index 0000000..823f109
--- /dev/null
+++ b/code/lab7/Makefile
@@ -0,0 +1,323 @@
+PROJ	:= 7
+EMPTY	:=
+SPACE	:= $(EMPTY) $(EMPTY)
+SLASH	:= /
+
+V       := @
+
+# try to infer the correct GCCPREFX
+ifndef GCCPREFIX
+GCCPREFIX := $(shell if i386-ucore-elf-objdump -i 2>&1 | grep '^elf32-i386$$' >/dev/null 2>&1; \
+	then echo 'i386-ucore-elf-'; \
+	elif objdump -i 2>&1 | grep 'elf32-i386' >/dev/null 2>&1; \
+	then echo ''; \
+	else echo "***" 1>&2; \
+	echo "*** Error: Couldn't find an i386-ucore-elf version of GCC/binutils." 1>&2; \
+	echo "*** Is the directory with i386-ucore-elf-gcc in your PATH?" 1>&2; \
+	echo "*** If your i386-ucore-elf toolchain is installed with a command" 1>&2; \
+	echo "*** prefix other than 'i386-ucore-elf-', set your GCCPREFIX" 1>&2; \
+	echo "*** environment variable to that prefix and run 'make' again." 1>&2; \
+	echo "*** To turn off this error, run 'gmake GCCPREFIX= ...'." 1>&2; \
+	echo "***" 1>&2; exit 1; fi)
+endif
+
+# try to infer the correct QEMU
+ifndef QEMU
+QEMU := $(shell if which qemu > /dev/null; \
+	then echo 'qemu'; exit; \
+	elif which i386-ucore-elf-qemu > /dev/null; \
+	then echo 'i386-ucore-elf-qemu'; exit; \
+	else \
+	echo "***" 1>&2; \
+	echo "*** Error: Couldn't find a working QEMU executable." 1>&2; \
+	echo "*** Is the directory containing the qemu binary in your PATH" 1>&2; \
+	echo "***" 1>&2; exit 1; fi)
+endif
+
+# eliminate default suffix rules
+.SUFFIXES: .c .S .h
+
+# delete target files if there is an error (or make is interrupted)
+.DELETE_ON_ERROR:
+
+# define compiler and flags
+
+HOSTCC		:= gcc
+HOSTCFLAGS	:= -g -Wall -O2
+
+GDB		:= $(GCCPREFIX)gdb
+
+CC		?= $(GCCPREFIX)gcc
+CFLAGS	:= -fno-builtin -Wall -ggdb -m32 -gstabs -nostdinc $(DEFS)
+CFLAGS	+= $(shell $(CC) -fno-stack-protector -E -x c /dev/null >/dev/null 2>&1 && echo -fno-stack-protector)
+CTYPE	:= c S
+
+LD      := $(GCCPREFIX)ld
+LDFLAGS	:= -m $(shell $(LD) -V | grep elf_i386 2>/dev/null)
+LDFLAGS	+= -nostdlib
+
+OBJCOPY := $(GCCPREFIX)objcopy
+OBJDUMP := $(GCCPREFIX)objdump
+
+COPY	:= cp
+MKDIR   := mkdir -p
+MV		:= mv
+RM		:= rm -f
+AWK		:= awk
+SED		:= sed
+SH		:= sh
+TR		:= tr
+TOUCH	:= touch -c
+
+OBJDIR	:= obj
+BINDIR	:= bin
+
+ALLOBJS	:=
+ALLDEPS	:=
+TARGETS	:=
+
+include tools/function.mk
+
+listf_cc = $(call listf,$(1),$(CTYPE))
+
+USER_PREFIX	:= __user_
+
+# for cc
+add_files_cc = $(call add_files,$(1),$(CC),$(CFLAGS) $(3),$(2),$(4))
+create_target_cc = $(call create_target,$(1),$(2),$(3),$(CC),$(CFLAGS))
+
+# for hostcc
+add_files_host = $(call add_files,$(1),$(HOSTCC),$(HOSTCFLAGS),$(2),$(3))
+create_target_host = $(call create_target,$(1),$(2),$(3),$(HOSTCC),$(HOSTCFLAGS))
+
+cgtype = $(patsubst %.$(2),%.$(3),$(1))
+objfile = $(call toobj,$(1))
+asmfile = $(call cgtype,$(call toobj,$(1)),o,asm)
+outfile = $(call cgtype,$(call toobj,$(1)),o,out)
+symfile = $(call cgtype,$(call toobj,$(1)),o,sym)
+filename = $(basename $(notdir $(1)))
+ubinfile = $(call outfile,$(addprefix $(USER_PREFIX),$(call filename,$(1))))
+
+# for match pattern
+match = $(shell echo $(2) | $(AWK) '{for(i=1;i<=NF;i++){if(match("$(1)","^"$$(i)"$$")){exit 1;}}}'; echo $$?)
+
+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+# include kernel/user
+
+INCLUDE	+= libs/
+
+CFLAGS	+= $(addprefix -I,$(INCLUDE))
+
+LIBDIR	+= libs
+
+$(call add_files_cc,$(call listf_cc,$(LIBDIR)),libs,)
+
+# -------------------------------------------------------------------
+# user programs
+
+UINCLUDE	+= user/include/ \
+			   user/libs/
+
+USRCDIR		+= user
+
+ULIBDIR		+= user/libs
+
+UCFLAGS		+= $(addprefix -I,$(UINCLUDE))
+USER_BINS	:=
+
+$(call add_files_cc,$(call listf_cc,$(ULIBDIR)),ulibs,$(UCFLAGS))
+$(call add_files_cc,$(call listf_cc,$(USRCDIR)),uprog,$(UCFLAGS))
+
+UOBJS	:= $(call read_packet,ulibs libs)
+
+define uprog_ld
+__user_bin__ := $$(call ubinfile,$(1))
+USER_BINS += $$(__user_bin__)
+$$(__user_bin__): tools/user.ld
+$$(__user_bin__): $$(UOBJS)
+$$(__user_bin__): $(1) | $$$$(dir $$$$@)
+	$(V)$(LD) $(LDFLAGS) -T tools/user.ld -o $$@ $$(UOBJS) $(1)
+	@$(OBJDUMP) -S $$@ > $$(call cgtype,$$<,o,asm)
+	@$(OBJDUMP) -t $$@ | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$$$$/d' > $$(call cgtype,$$<,o,sym)
+endef
+
+$(foreach p,$(call read_packet,uprog),$(eval $(call uprog_ld,$(p))))
+
+# -------------------------------------------------------------------
+# kernel
+
+KINCLUDE	+= kern/debug/ \
+			   kern/driver/ \
+			   kern/trap/ \
+			   kern/mm/ \
+			   kern/libs/ \
+			   kern/sync/ \
+			   kern/fs/    \
+			   kern/process \
+			   kern/schedule \
+			   kern/syscall
+
+KSRCDIR		+= kern/init \
+			   kern/libs \
+			   kern/debug \
+			   kern/driver \
+			   kern/trap \
+			   kern/mm \
+			   kern/sync \
+			   kern/fs    \
+			   kern/process \
+			   kern/schedule \
+			   kern/syscall
+
+KCFLAGS		+= $(addprefix -I,$(KINCLUDE))
+
+$(call add_files_cc,$(call listf_cc,$(KSRCDIR)),kernel,$(KCFLAGS))
+
+KOBJS	= $(call read_packet,kernel libs)
+
+# create kernel target
+kernel = $(call totarget,kernel)
+
+$(kernel): tools/kernel.ld
+
+$(kernel): $(KOBJS) $(USER_BINS)
+	@echo + ld $@
+	$(V)$(LD) $(LDFLAGS) -T tools/kernel.ld -o $@ $(KOBJS) -b binary $(USER_BINS)
+	@$(OBJDUMP) -S $@ > $(call asmfile,kernel)
+	@$(OBJDUMP) -t $@ | $(SED) '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > $(call symfile,kernel)
+
+$(call create_target,kernel)
+
+# -------------------------------------------------------------------
+
+# create bootblock
+bootfiles = $(call listf_cc,boot)
+$(foreach f,$(bootfiles),$(call cc_compile,$(f),$(CC),$(CFLAGS) -Os -nostdinc))
+
+bootblock = $(call totarget,bootblock)
+
+$(bootblock): $(call toobj,boot/bootasm.S) $(call toobj,$(bootfiles)) | $(call totarget,sign)
+	@echo + ld $@
+	$(V)$(LD) $(LDFLAGS) -N -T tools/boot.ld $^ -o $(call toobj,bootblock)
+	@$(OBJDUMP) -S $(call objfile,bootblock) > $(call asmfile,bootblock)
+	@$(OBJCOPY) -S -O binary $(call objfile,bootblock) $(call outfile,bootblock)
+	@$(call totarget,sign) $(call outfile,bootblock) $(bootblock)
+
+$(call create_target,bootblock)
+
+# -------------------------------------------------------------------
+
+# create 'sign' tools
+$(call add_files_host,tools/sign.c,sign,sign)
+$(call create_target_host,sign,sign)
+
+# -------------------------------------------------------------------
+
+# create ucore.img
+UCOREIMG	:= $(call totarget,ucore.img)
+
+$(UCOREIMG): $(kernel) $(bootblock)
+	$(V)dd if=/dev/zero of=$@ count=10000
+	$(V)dd if=$(bootblock) of=$@ conv=notrunc
+	$(V)dd if=$(kernel) of=$@ seek=1 conv=notrunc
+
+$(call create_target,ucore.img)
+
+# -------------------------------------------------------------------
+
+# create swap.img
+SWAPIMG		:= $(call totarget,swap.img)
+
+$(SWAPIMG):
+	$(V)dd if=/dev/zero of=$@ bs=1M count=128
+
+$(call create_target,swap.img)
+
+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+$(call finish_all)
+
+IGNORE_ALLDEPS	= clean \
+				  dist-clean \
+				  grade \
+				  touch \
+				  print-.+ \
+				  run-.+ \
+				  build-.+ \
+				  handin
+
+ifeq ($(call match,$(MAKECMDGOALS),$(IGNORE_ALLDEPS)),0)
+-include $(ALLDEPS)
+endif
+
+# files for grade script
+
+TARGETS: $(TARGETS)
+
+.DEFAULT_GOAL := TARGETS
+
+QEMUOPTS = -hda $(UCOREIMG) -drive file=$(SWAPIMG),media=disk,cache=writeback
+
+.PHONY: qemu qemu-nox debug debug-nox
+qemu: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -parallel stdio $(QEMUOPTS) -serial null
+
+qemu-nox: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -serial mon:stdio $(QEMUOPTS) -nographic
+
+TERMINAL := gnome-terminal
+
+debug: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -S -s -parallel stdio $(QEMUOPTS) -serial null &
+	$(V)sleep 2
+	$(V)$(TERMINAL) -e "$(GDB) -q -x tools/gdbinit"
+
+debug-nox: $(UCOREIMG) $(SWAPIMG)
+	$(V)$(QEMU) -S -s -serial mon:stdio $(QEMUOPTS) -nographic &
+	$(V)sleep 2
+	$(V)$(TERMINAL) -e "$(GDB) -q -x tools/gdbinit"
+
+RUN_PREFIX	:= _binary_$(OBJDIR)_$(USER_PREFIX)
+MAKEOPTS	:= --quiet --no-print-directory
+
+run-%: build-%
+	$(V)$(QEMU) -parallel stdio $(QEMUOPTS) -serial null
+
+build-%: touch
+	$(V)$(MAKE) $(MAKEOPTS) "DEFS+=-DTEST=$* -DTESTSTART=$(RUN_PREFIX)$*_out_start -DTESTSIZE=$(RUN_PREFIX)$*_out_size"
+
+.PHONY: grade touch
+
+GRADE_GDB_IN	:= .gdb.in
+GRADE_QEMU_OUT	:= .qemu.out
+HANDIN			:= lab$(PROJ)-handin.tar.gz
+
+TOUCH_FILES		:= kern/process/proc.c
+
+MAKEOPTS		:= --quiet --no-print-directory
+
+grade:
+	$(V)$(MAKE) $(MAKEOPTS) clean
+	$(V)$(SH) tools/grade.sh
+
+touch:
+	$(V)$(foreach f,$(TOUCH_FILES),$(TOUCH) $(f))
+
+print-%:
+	@echo $($(shell echo $(patsubst print-%,%,$@) | $(TR) [a-z] [A-Z]))
+
+.PHONY: clean dist-clean handin packall
+clean:
+	$(V)$(RM) $(GRADE_GDB_IN) $(GRADE_QEMU_OUT)
+	-$(RM) -r $(OBJDIR) $(BINDIR)
+
+dist-clean: clean
+	-$(RM) $(HANDIN)
+
+handin: packall
+	@echo Please visit http://learn.tsinghua.edu.cn and upload $(HANDIN). Thanks!
+
+packall: clean
+	@$(RM) -f $(HANDIN)
+	@tar -czf $(HANDIN) `find . -type f -o -type d | grep -v '^\.*$$' | grep -vF '$(HANDIN)'`
+
diff --git a/code/lab7/boot/asm.h b/code/lab7/boot/asm.h
new file mode 100644
index 0000000..8e0405a
--- /dev/null
+++ b/code/lab7/boot/asm.h
@@ -0,0 +1,26 @@
+#ifndef __BOOT_ASM_H__
+#define __BOOT_ASM_H__
+
+/* Assembler macros to create x86 segments */
+
+/* Normal segment */
+#define SEG_NULLASM                                             \
+    .word 0, 0;                                                 \
+    .byte 0, 0, 0, 0
+
+#define SEG_ASM(type,base,lim)                                  \
+    .word (((lim) >> 12) & 0xffff), ((base) & 0xffff);          \
+    .byte (((base) >> 16) & 0xff), (0x90 | (type)),             \
+        (0xC0 | (((lim) >> 28) & 0xf)), (((base) >> 24) & 0xff)
+
+
+/* Application segment type bits */
+#define STA_X       0x8     // Executable segment
+#define STA_E       0x4     // Expand down (non-executable segments)
+#define STA_C       0x4     // Conforming code segment (executable only)
+#define STA_W       0x2     // Writeable (non-executable segments)
+#define STA_R       0x2     // Readable (executable segments)
+#define STA_A       0x1     // Accessed
+
+#endif /* !__BOOT_ASM_H__ */
+
diff --git a/code/lab7/boot/bootasm.S b/code/lab7/boot/bootasm.S
new file mode 100644
index 0000000..f1852c3
--- /dev/null
+++ b/code/lab7/boot/bootasm.S
@@ -0,0 +1,107 @@
+#include <asm.h>
+
+# Start the CPU: switch to 32-bit protected mode, jump into C.
+# The BIOS loads this code from the first sector of the hard disk into
+# memory at physical address 0x7c00 and starts executing in real mode
+# with %cs=0 %ip=7c00.
+
+.set PROT_MODE_CSEG,        0x8                     # kernel code segment selector
+.set PROT_MODE_DSEG,        0x10                    # kernel data segment selector
+.set CR0_PE_ON,             0x1                     # protected mode enable flag
+.set SMAP,                  0x534d4150
+
+# start address should be 0:7c00, in real mode, the beginning address of the running bootloader
+.globl start
+start:
+.code16                                             # Assemble for 16-bit mode
+    cli                                             # Disable interrupts
+    cld                                             # String operations increment
+
+    # Set up the important data segment registers (DS, ES, SS).
+    xorw %ax, %ax                                   # Segment number zero
+    movw %ax, %ds                                   # -> Data Segment
+    movw %ax, %es                                   # -> Extra Segment
+    movw %ax, %ss                                   # -> Stack Segment
+
+    # Enable A20:
+    #  For backwards compatibility with the earliest PCs, physical
+    #  address line 20 is tied low, so that addresses higher than
+    #  1MB wrap around to zero by default. This code undoes this.
+seta20.1:
+    inb $0x64, %al                                  # Wait for not busy
+    testb $0x2, %al
+    jnz seta20.1
+
+    movb $0xd1, %al                                 # 0xd1 -> port 0x64
+    outb %al, $0x64
+
+seta20.2:
+    inb $0x64, %al                                  # Wait for not busy
+    testb $0x2, %al
+    jnz seta20.2
+
+    movb $0xdf, %al                                 # 0xdf -> port 0x60
+    outb %al, $0x60
+
+probe_memory:
+    movl $0, 0x8000
+    xorl %ebx, %ebx
+    movw $0x8004, %di
+start_probe:
+    movl $0xE820, %eax
+    movl $20, %ecx
+    movl $SMAP, %edx
+    int $0x15
+    jnc cont
+    movw $12345, 0x8000
+    jmp finish_probe
+cont:
+    addw $20, %di
+    incl 0x8000
+    cmpl $0, %ebx
+    jnz start_probe
+finish_probe:
+
+    # Switch from real to protected mode, using a bootstrap GDT
+    # and segment translation that makes virtual addresses
+    # identical to physical addresses, so that the
+    # effective memory map does not change during the switch.
+    lgdt gdtdesc
+    movl %cr0, %eax
+    orl $CR0_PE_ON, %eax
+    movl %eax, %cr0
+
+    # Jump to next instruction, but in 32-bit code segment.
+    # Switches processor into 32-bit mode.
+    ljmp $PROT_MODE_CSEG, $protcseg
+
+.code32                                             # Assemble for 32-bit mode
+protcseg:
+    # Set up the protected-mode data segment registers
+    movw $PROT_MODE_DSEG, %ax                       # Our data segment selector
+    movw %ax, %ds                                   # -> DS: Data Segment
+    movw %ax, %es                                   # -> ES: Extra Segment
+    movw %ax, %fs                                   # -> FS
+    movw %ax, %gs                                   # -> GS
+    movw %ax, %ss                                   # -> SS: Stack Segment
+
+    # Set up the stack pointer and call into C. The stack region is from 0--start(0x7c00)
+    movl $0x0, %ebp
+    movl $start, %esp
+    call bootmain
+
+    # If bootmain returns (it shouldn't), loop.
+spin:
+    jmp spin
+
+.data
+# Bootstrap GDT
+.p2align 2                                          # force 4 byte alignment
+gdt:
+    SEG_NULLASM                                     # null seg
+    SEG_ASM(STA_X|STA_R, 0x0, 0xffffffff)           # code seg for bootloader and kernel
+    SEG_ASM(STA_W, 0x0, 0xffffffff)                 # data seg for bootloader and kernel
+
+gdtdesc:
+    .word 0x17                                      # sizeof(gdt) - 1
+    .long gdt                                       # address gdt
diff --git a/code/lab7/boot/bootmain.c b/code/lab7/boot/bootmain.c
new file mode 100644
index 0000000..4b55eb7
--- /dev/null
+++ b/code/lab7/boot/bootmain.c
@@ -0,0 +1,116 @@
+#include <defs.h>
+#include <x86.h>
+#include <elf.h>
+
+/* *********************************************************************
+ * This a dirt simple boot loader, whose sole job is to boot
+ * an ELF kernel image from the first IDE hard disk.
+ *
+ * DISK LAYOUT
+ *  * This program(bootasm.S and bootmain.c) is the bootloader.
+ *    It should be stored in the first sector of the disk.
+ *
+ *  * The 2nd sector onward holds the kernel image.
+ *
+ *  * The kernel image must be in ELF format.
+ *
+ * BOOT UP STEPS
+ *  * when the CPU boots it loads the BIOS into memory and executes it
+ *
+ *  * the BIOS intializes devices, sets of the interrupt routines, and
+ *    reads the first sector of the boot device(e.g., hard-drive)
+ *    into memory and jumps to it.
+ *
+ *  * Assuming this boot loader is stored in the first sector of the
+ *    hard-drive, this code takes over...
+ *
+ *  * control starts in bootasm.S -- which sets up protected mode,
+ *    and a stack so C code then run, then calls bootmain()
+ *
+ *  * bootmain() in this file takes over, reads in the kernel and jumps to it.
+ * */
+
+#define SECTSIZE        512
+#define ELFHDR          ((struct elfhdr *)0x10000)      // scratch space
+
+/* waitdisk - wait for disk ready */
+static void
+waitdisk(void) {
+    while ((inb(0x1F7) & 0xC0) != 0x40)
+        /* do nothing */;
+}
+
+/* readsect - read a single sector at @secno into @dst */
+static void
+readsect(void *dst, uint32_t secno) {
+    // wait for disk to be ready
+    waitdisk();
+
+    outb(0x1F2, 1);                         // count = 1
+    outb(0x1F3, secno & 0xFF);
+    outb(0x1F4, (secno >> 8) & 0xFF);
+    outb(0x1F5, (secno >> 16) & 0xFF);
+    outb(0x1F6, ((secno >> 24) & 0xF) | 0xE0);
+    outb(0x1F7, 0x20);                      // cmd 0x20 - read sectors
+
+    // wait for disk to be ready
+    waitdisk();
+
+    // read a sector
+    insl(0x1F0, dst, SECTSIZE / 4);
+}
+
+/* *
+ * readseg - read @count bytes at @offset from kernel into virtual address @va,
+ * might copy more than asked.
+ * */
+static void
+readseg(uintptr_t va, uint32_t count, uint32_t offset) {
+    uintptr_t end_va = va + count;
+
+    // round down to sector boundary
+    va -= offset % SECTSIZE;
+
+    // translate from bytes to sectors; kernel starts at sector 1
+    uint32_t secno = (offset / SECTSIZE) + 1;
+
+    // If this is too slow, we could read lots of sectors at a time.
+    // We'd write more to memory than asked, but it doesn't matter --
+    // we load in increasing order.
+    for (; va < end_va; va += SECTSIZE, secno ++) {
+        readsect((void *)va, secno);
+    }
+}
+
+/* bootmain - the entry of bootloader */
+void
+bootmain(void) {
+    // read the 1st page off disk
+    readseg((uintptr_t)ELFHDR, SECTSIZE * 8, 0);
+
+    // is this a valid ELF?
+    if (ELFHDR->e_magic != ELF_MAGIC) {
+        goto bad;
+    }
+
+    struct proghdr *ph, *eph;
+
+    // load each program segment (ignores ph flags)
+    ph = (struct proghdr *)((uintptr_t)ELFHDR + ELFHDR->e_phoff);
+    eph = ph + ELFHDR->e_phnum;
+    for (; ph < eph; ph ++) {
+        readseg(ph->p_va & 0xFFFFFF, ph->p_memsz, ph->p_offset);
+    }
+
+    // call the entry point from the ELF header
+    // note: does not return
+    ((void (*)(void))(ELFHDR->e_entry & 0xFFFFFF))();
+
+bad:
+    outw(0x8A00, 0x8A00);
+    outw(0x8A00, 0x8E00);
+
+    /* do nothing */
+    while (1);
+}
+
diff --git a/code/lab7/kern/debug/assert.h b/code/lab7/kern/debug/assert.h
new file mode 100644
index 0000000..ac1a966
--- /dev/null
+++ b/code/lab7/kern/debug/assert.h
@@ -0,0 +1,27 @@
+#ifndef __KERN_DEBUG_ASSERT_H__
+#define __KERN_DEBUG_ASSERT_H__
+
+#include <defs.h>
+
+void __warn(const char *file, int line, const char *fmt, ...);
+void __noreturn __panic(const char *file, int line, const char *fmt, ...);
+
+#define warn(...)                                       \
+    __warn(__FILE__, __LINE__, __VA_ARGS__)
+
+#define panic(...)                                      \
+    __panic(__FILE__, __LINE__, __VA_ARGS__)
+
+#define assert(x)                                       \
+    do {                                                \
+        if (!(x)) {                                     \
+            panic("assertion failed: %s", #x);          \
+        }                                               \
+    } while (0)
+
+// static_assert(x) will generate a compile-time error if 'x' is false.
+#define static_assert(x)                                \
+    switch (x) { case 0: case (x): ; }
+
+#endif /* !__KERN_DEBUG_ASSERT_H__ */
+
diff --git a/code/lab7/kern/debug/kdebug.c b/code/lab7/kern/debug/kdebug.c
new file mode 100644
index 0000000..fedbf5b
--- /dev/null
+++ b/code/lab7/kern/debug/kdebug.c
@@ -0,0 +1,351 @@
+#include <defs.h>
+#include <x86.h>
+#include <stab.h>
+#include <stdio.h>
+#include <string.h>
+#include <memlayout.h>
+#include <sync.h>
+#include <vmm.h>
+#include <proc.h>
+#include <kdebug.h>
+#include <monitor.h>
+#include <assert.h>
+
+#define STACKFRAME_DEPTH 20
+
+extern const struct stab __STAB_BEGIN__[];  // beginning of stabs table
+extern const struct stab __STAB_END__[];    // end of stabs table
+extern const char __STABSTR_BEGIN__[];      // beginning of string table
+extern const char __STABSTR_END__[];        // end of string table
+
+/* debug information about a particular instruction pointer */
+struct eipdebuginfo {
+    const char *eip_file;                   // source code filename for eip
+    int eip_line;                           // source code line number for eip
+    const char *eip_fn_name;                // name of function containing eip
+    int eip_fn_namelen;                     // length of function's name
+    uintptr_t eip_fn_addr;                  // start address of function
+    int eip_fn_narg;                        // number of function arguments
+};
+
+/* user STABS data structure  */
+struct userstabdata {
+    const struct stab *stabs;
+    const struct stab *stab_end;
+    const char *stabstr;
+    const char *stabstr_end;
+};
+
+/* *
+ * stab_binsearch - according to the input, the initial value of
+ * range [*@region_left, *@region_right], find a single stab entry
+ * that includes the address @addr and matches the type @type,
+ * and then save its boundary to the locations that pointed
+ * by @region_left and @region_right.
+ *
+ * Some stab types are arranged in increasing order by instruction address.
+ * For example, N_FUN stabs (stab entries with n_type == N_FUN), which
+ * mark functions, and N_SO stabs, which mark source files.
+ *
+ * Given an instruction address, this function finds the single stab entry
+ * of type @type that contains that address.
+ *
+ * The search takes place within the range [*@region_left, *@region_right].
+ * Thus, to search an entire set of N stabs, you might do:
+ *
+ *      left = 0;
+ *      right = N - 1;    (rightmost stab)
+ *      stab_binsearch(stabs, &left, &right, type, addr);
+ *
+ * The search modifies *region_left and *region_right to bracket the @addr.
+ * *@region_left points to the matching stab that contains @addr,
+ * and *@region_right points just before the next stab.
+ * If *@region_left > *region_right, then @addr is not contained in any
+ * matching stab.
+ *
+ * For example, given these N_SO stabs:
+ *      Index  Type   Address
+ *      0      SO     f0100000
+ *      13     SO     f0100040
+ *      117    SO     f0100176
+ *      118    SO     f0100178
+ *      555    SO     f0100652
+ *      556    SO     f0100654
+ *      657    SO     f0100849
+ * this code:
+ *      left = 0, right = 657;
+ *      stab_binsearch(stabs, &left, &right, N_SO, 0xf0100184);
+ * will exit setting left = 118, right = 554.
+ * */
+static void
+stab_binsearch(const struct stab *stabs, int *region_left, int *region_right,
+           int type, uintptr_t addr) {
+    int l = *region_left, r = *region_right, any_matches = 0;
+
+    while (l <= r) {
+        int true_m = (l + r) / 2, m = true_m;
+
+        // search for earliest stab with right type
+        while (m >= l && stabs[m].n_type != type) {
+            m --;
+        }
+        if (m < l) {    // no match in [l, m]
+            l = true_m + 1;
+            continue;
+        }
+
+        // actual binary search
+        any_matches = 1;
+        if (stabs[m].n_value < addr) {
+            *region_left = m;
+            l = true_m + 1;
+        } else if (stabs[m].n_value > addr) {
+            *region_right = m - 1;
+            r = m - 1;
+        } else {
+            // exact match for 'addr', but continue loop to find
+            // *region_right
+            *region_left = m;
+            l = m;
+            addr ++;
+        }
+    }
+
+    if (!any_matches) {
+        *region_right = *region_left - 1;
+    }
+    else {
+        // find rightmost region containing 'addr'
+        l = *region_right;
+        for (; l > *region_left && stabs[l].n_type != type; l --)
+            /* do nothing */;
+        *region_left = l;
+    }
+}
+
+/* *
+ * debuginfo_eip - Fill in the @info structure with information about
+ * the specified instruction address, @addr.  Returns 0 if information
+ * was found, and negative if not.  But even if it returns negative it
+ * has stored some information into '*info'.
+ * */
+int
+debuginfo_eip(uintptr_t addr, struct eipdebuginfo *info) {
+    const struct stab *stabs, *stab_end;
+    const char *stabstr, *stabstr_end;
+
+    info->eip_file = "<unknown>";
+    info->eip_line = 0;
+    info->eip_fn_name = "<unknown>";
+    info->eip_fn_namelen = 9;
+    info->eip_fn_addr = addr;
+    info->eip_fn_narg = 0;
+
+    // find the relevant set of stabs
+    if (addr >= KERNBASE) {
+        stabs = __STAB_BEGIN__;
+        stab_end = __STAB_END__;
+        stabstr = __STABSTR_BEGIN__;
+        stabstr_end = __STABSTR_END__;
+    }
+    else {
+        // user-program linker script, tools/user.ld puts the information about the
+        // program's stabs (included __STAB_BEGIN__, __STAB_END__, __STABSTR_BEGIN__,
+        // and __STABSTR_END__) in a structure located at virtual address USTAB.
+        const struct userstabdata *usd = (struct userstabdata *)USTAB;
+
+        // make sure that debugger (current process) can access this memory
+        struct mm_struct *mm;
+        if (current == NULL || (mm = current->mm) == NULL) {
+            return -1;
+        }
+        if (!user_mem_check(mm, (uintptr_t)usd, sizeof(struct userstabdata), 0)) {
+            return -1;
+        }
+
+        stabs = usd->stabs;
+        stab_end = usd->stab_end;
+        stabstr = usd->stabstr;
+        stabstr_end = usd->stabstr_end;
+
+        // make sure the STABS and string table memory is valid
+        if (!user_mem_check(mm, (uintptr_t)stabs, (uintptr_t)stab_end - (uintptr_t)stabs, 0)) {
+            return -1;
+        }
+        if (!user_mem_check(mm, (uintptr_t)stabstr, stabstr_end - stabstr, 0)) {
+            return -1;
+        }
+    }
+
+    // String table validity checks
+    if (stabstr_end <= stabstr || stabstr_end[-1] != 0) {
+        return -1;
+    }
+
+    // Now we find the right stabs that define the function containing
+    // 'eip'.  First, we find the basic source file containing 'eip'.
+    // Then, we look in that source file for the function.  Then we look
+    // for the line number.
+
+    // Search the entire set of stabs for the source file (type N_SO).
+    int lfile = 0, rfile = (stab_end - stabs) - 1;
+    stab_binsearch(stabs, &lfile, &rfile, N_SO, addr);
+    if (lfile == 0)
+        return -1;
+
+    // Search within that file's stabs for the function definition
+    // (N_FUN).
+    int lfun = lfile, rfun = rfile;
+    int lline, rline;
+    stab_binsearch(stabs, &lfun, &rfun, N_FUN, addr);
+
+    if (lfun <= rfun) {
+        // stabs[lfun] points to the function name
+        // in the string table, but check bounds just in case.
+        if (stabs[lfun].n_strx < stabstr_end - stabstr) {
+            info->eip_fn_name = stabstr + stabs[lfun].n_strx;
+        }
+        info->eip_fn_addr = stabs[lfun].n_value;
+        addr -= info->eip_fn_addr;
+        // Search within the function definition for the line number.
+        lline = lfun;
+        rline = rfun;
+    } else {
+        // Couldn't find function stab!  Maybe we're in an assembly
+        // file.  Search the whole file for the line number.
+        info->eip_fn_addr = addr;
+        lline = lfile;
+        rline = rfile;
+    }
+    info->eip_fn_namelen = strfind(info->eip_fn_name, ':') - info->eip_fn_name;
+
+    // Search within [lline, rline] for the line number stab.
+    // If found, set info->eip_line to the right line number.
+    // If not found, return -1.
+    stab_binsearch(stabs, &lline, &rline, N_SLINE, addr);
+    if (lline <= rline) {
+        info->eip_line = stabs[rline].n_desc;
+    } else {
+        return -1;
+    }
+
+    // Search backwards from the line number for the relevant filename stab.
+    // We can't just use the "lfile" stab because inlined functions
+    // can interpolate code from a different file!
+    // Such included source files use the N_SOL stab type.
+    while (lline >= lfile
+           && stabs[lline].n_type != N_SOL
+           && (stabs[lline].n_type != N_SO || !stabs[lline].n_value)) {
+        lline --;
+    }
+    if (lline >= lfile && stabs[lline].n_strx < stabstr_end - stabstr) {
+        info->eip_file = stabstr + stabs[lline].n_strx;
+    }
+
+    // Set eip_fn_narg to the number of arguments taken by the function,
+    // or 0 if there was no containing function.
+    if (lfun < rfun) {
+        for (lline = lfun + 1;
+             lline < rfun && stabs[lline].n_type == N_PSYM;
+             lline ++) {
+            info->eip_fn_narg ++;
+        }
+    }
+    return 0;
+}
+
+/* *
+ * print_kerninfo - print the information about kernel, including the location
+ * of kernel entry, the start addresses of data and text segements, the start
+ * address of free memory and how many memory that kernel has used.
+ * */
+void
+print_kerninfo(void) {
+    extern char etext[], edata[], end[], kern_init[];
+    cprintf("Special kernel symbols:\n");
+    cprintf("  entry  0x%08x (phys)\n", kern_init);
+    cprintf("  etext  0x%08x (phys)\n", etext);
+    cprintf("  edata  0x%08x (phys)\n", edata);
+    cprintf("  end    0x%08x (phys)\n", end);
+    cprintf("Kernel executable memory footprint: %dKB\n", (end - kern_init + 1023)/1024);
+}
+
+/* *
+ * print_debuginfo - read and print the stat information for the address @eip,
+ * and info.eip_fn_addr should be the first address of the related function.
+ * */
+void
+print_debuginfo(uintptr_t eip) {
+    struct eipdebuginfo info;
+    if (debuginfo_eip(eip, &info) != 0) {
+        cprintf("    <unknow>: -- 0x%08x --\n", eip);
+    }
+    else {
+        char fnname[256];
+        int j;
+        for (j = 0; j < info.eip_fn_namelen; j ++) {
+            fnname[j] = info.eip_fn_name[j];
+        }
+        fnname[j] = '\0';
+        cprintf("    %s:%d: %s+%d\n", info.eip_file, info.eip_line,
+                fnname, eip - info.eip_fn_addr);
+    }
+}
+
+static __noinline uint32_t
+read_eip(void) {
+    uint32_t eip;
+    asm volatile("movl 4(%%ebp), %0" : "=r" (eip));
+    return eip;
+}
+
+/* *
+ * print_stackframe - print a list of the saved eip values from the nested 'call'
+ * instructions that led to the current point of execution
+ *
+ * The x86 stack pointer, namely esp, points to the lowest location on the stack
+ * that is currently in use. Everything below that location in stack is free. Pushing
+ * a value onto the stack will invole decreasing the stack pointer and then writing
+ * the value to the place that stack pointer pointes to. And popping a value do the
+ * opposite.
+ *
+ * The ebp (base pointer) register, in contrast, is associated with the stack
+ * primarily by software convention. On entry to a C function, the function's
+ * prologue code normally saves the previous function's base pointer by pushing
+ * it onto the stack, and then copies the current esp value into ebp for the duration
+ * of the function. If all the functions in a program obey this convention,
+ * then at any given point during the program's execution, it is possible to trace
+ * back through the stack by following the chain of saved ebp pointers and determining
+ * exactly what nested sequence of function calls caused this particular point in the
+ * program to be reached. This capability can be particularly useful, for example,
+ * when a particular function causes an assert failure or panic because bad arguments
+ * were passed to it, but you aren't sure who passed the bad arguments. A stack
+ * backtrace lets you find the offending function.
+ *
+ * The inline function read_ebp() can tell us the value of current ebp. And the
+ * non-inline function read_eip() is useful, it can read the value of current eip,
+ * since while calling this function, read_eip() can read the caller's eip from
+ * stack easily.
+ *
+ * In print_debuginfo(), the function debuginfo_eip() can get enough information about
+ * calling-chain. Finally print_stackframe() will trace and print them for debugging.
+ *
+ * Note that, the length of ebp-chain is limited. In boot/bootasm.S, before jumping
+ * to the kernel entry, the value of ebp has been set to zero, that's the boundary.
+ * */
+void
+print_stackframe(void) {
+     /* LAB1 YOUR CODE : STEP 1 */
+     /* (1) call read_ebp() to get the value of ebp. the type is (uint32_t);
+      * (2) call read_eip() to get the value of eip. the type is (uint32_t);
+      * (3) from 0 .. STACKFRAME_DEPTH
+      *    (3.1) printf value of ebp, eip
+      *    (3.2) (uint32_t)calling arguments [0..4] = the contents in address (unit32_t)ebp +2 [0..4]
+      *    (3.3) cprintf("\n");
+      *    (3.4) call print_debuginfo(eip-1) to print the C calling function name and line number, etc.
+      *    (3.5) popup a calling stackframe
+      *           NOTICE: the calling funciton's return addr eip  = ss:[ebp+4]
+      *                   the calling funciton's ebp = ss:[ebp]
+      */
+}
+
diff --git a/code/lab7/kern/debug/kdebug.h b/code/lab7/kern/debug/kdebug.h
new file mode 100644
index 0000000..c2a7b74
--- /dev/null
+++ b/code/lab7/kern/debug/kdebug.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_DEBUG_KDEBUG_H__
+#define __KERN_DEBUG_KDEBUG_H__
+
+#include <defs.h>
+#include <trap.h>
+
+void print_kerninfo(void);
+void print_stackframe(void);
+void print_debuginfo(uintptr_t eip);
+
+#endif /* !__KERN_DEBUG_KDEBUG_H__ */
+
diff --git a/code/lab7/kern/debug/monitor.c b/code/lab7/kern/debug/monitor.c
new file mode 100644
index 0000000..85ac06c
--- /dev/null
+++ b/code/lab7/kern/debug/monitor.c
@@ -0,0 +1,132 @@
+#include <stdio.h>
+#include <string.h>
+#include <mmu.h>
+#include <trap.h>
+#include <monitor.h>
+#include <kdebug.h>
+
+/* *
+ * Simple command-line kernel monitor useful for controlling the
+ * kernel and exploring the system interactively.
+ * */
+
+struct command {
+    const char *name;
+    const char *desc;
+    // return -1 to force monitor to exit
+    int(*func)(int argc, char **argv, struct trapframe *tf);
+};
+
+static struct command commands[] = {
+    {"help", "Display this list of commands.", mon_help},
+    {"kerninfo", "Display information about the kernel.", mon_kerninfo},
+    {"backtrace", "Print backtrace of stack frame.", mon_backtrace},
+};
+
+/* return if kernel is panic, in kern/debug/panic.c */
+bool is_kernel_panic(void);
+
+#define NCOMMANDS (sizeof(commands)/sizeof(struct command))
+
+/***** Kernel monitor command interpreter *****/
+
+#define MAXARGS         16
+#define WHITESPACE      " \t\n\r"
+
+/* parse - parse the command buffer into whitespace-separated arguments */
+static int
+parse(char *buf, char **argv) {
+    int argc = 0;
+    while (1) {
+        // find global whitespace
+        while (*buf != '\0' && strchr(WHITESPACE, *buf) != NULL) {
+            *buf ++ = '\0';
+        }
+        if (*buf == '\0') {
+            break;
+        }
+
+        // save and scan past next arg
+        if (argc == MAXARGS - 1) {
+            cprintf("Too many arguments (max %d).\n", MAXARGS);
+        }
+        argv[argc ++] = buf;
+        while (*buf != '\0' && strchr(WHITESPACE, *buf) == NULL) {
+            buf ++;
+        }
+    }
+    return argc;
+}
+
+/* *
+ * runcmd - parse the input string, split it into separated arguments
+ * and then lookup and invoke some related commands/
+ * */
+static int
+runcmd(char *buf, struct trapframe *tf) {
+    char *argv[MAXARGS];
+    int argc = parse(buf, argv);
+    if (argc == 0) {
+        return 0;
+    }
+    int i;
+    for (i = 0; i < NCOMMANDS; i ++) {
+        if (strcmp(commands[i].name, argv[0]) == 0) {
+            return commands[i].func(argc - 1, argv + 1, tf);
+        }
+    }
+    cprintf("Unknown command '%s'\n", argv[0]);
+    return 0;
+}
+
+/***** Implementations of basic kernel monitor commands *****/
+
+void
+monitor(struct trapframe *tf) {
+    cprintf("Welcome to the kernel debug monitor!!\n");
+    cprintf("Type 'help' for a list of commands.\n");
+
+    if (tf != NULL) {
+        print_trapframe(tf);
+    }
+
+    char *buf;
+    while (1) {
+        if ((buf = readline("K> ")) != NULL) {
+            if (runcmd(buf, tf) < 0) {
+                break;
+            }
+        }
+    }
+}
+
+/* mon_help - print the information about mon_* functions */
+int
+mon_help(int argc, char **argv, struct trapframe *tf) {
+    int i;
+    for (i = 0; i < NCOMMANDS; i ++) {
+        cprintf("%s - %s\n", commands[i].name, commands[i].desc);
+    }
+    return 0;
+}
+
+/* *
+ * mon_kerninfo - call print_kerninfo in kern/debug/kdebug.c to
+ * print the memory occupancy in kernel.
+ * */
+int
+mon_kerninfo(int argc, char **argv, struct trapframe *tf) {
+    print_kerninfo();
+    return 0;
+}
+
+/* *
+ * mon_backtrace - call print_stackframe in kern/debug/kdebug.c to
+ * print a backtrace of the stack.
+ * */
+int
+mon_backtrace(int argc, char **argv, struct trapframe *tf) {
+    print_stackframe();
+    return 0;
+}
+
diff --git a/code/lab7/kern/debug/monitor.h b/code/lab7/kern/debug/monitor.h
new file mode 100644
index 0000000..2bc0854
--- /dev/null
+++ b/code/lab7/kern/debug/monitor.h
@@ -0,0 +1,19 @@
+#ifndef __KERN_DEBUG_MONITOR_H__
+#define __KERN_DEBUG_MONITOR_H__
+
+#include <trap.h>
+
+void monitor(struct trapframe *tf);
+
+int mon_help(int argc, char **argv, struct trapframe *tf);
+int mon_kerninfo(int argc, char **argv, struct trapframe *tf);
+int mon_backtrace(int argc, char **argv, struct trapframe *tf);
+int mon_continue(int argc, char **argv, struct trapframe *tf);
+int mon_step(int argc, char **argv, struct trapframe *tf);
+int mon_breakpoint(int argc, char **argv, struct trapframe *tf);
+int mon_watchpoint(int argc, char **argv, struct trapframe *tf);
+int mon_delete_dr(int argc, char **argv, struct trapframe *tf);
+int mon_list_dr(int argc, char **argv, struct trapframe *tf);
+
+#endif /* !__KERN_DEBUG_MONITOR_H__ */
+
diff --git a/code/lab7/kern/debug/panic.c b/code/lab7/kern/debug/panic.c
new file mode 100644
index 0000000..9be6c0b
--- /dev/null
+++ b/code/lab7/kern/debug/panic.c
@@ -0,0 +1,49 @@
+#include <defs.h>
+#include <stdio.h>
+#include <intr.h>
+#include <monitor.h>
+
+static bool is_panic = 0;
+
+/* *
+ * __panic - __panic is called on unresolvable fatal errors. it prints
+ * "panic: 'message'", and then enters the kernel monitor.
+ * */
+void
+__panic(const char *file, int line, const char *fmt, ...) {
+    if (is_panic) {
+        goto panic_dead;
+    }
+    is_panic = 1;
+
+    // print the 'message'
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("kernel panic at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+
+panic_dead:
+    intr_disable();
+    while (1) {
+        monitor(NULL);
+    }
+}
+
+/* __warn - like panic, but don't */
+void
+__warn(const char *file, int line, const char *fmt, ...) {
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("kernel warning at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+}
+
+bool
+is_kernel_panic(void) {
+    return is_panic;
+}
+
diff --git a/code/lab7/kern/debug/stab.h b/code/lab7/kern/debug/stab.h
new file mode 100644
index 0000000..8d5cea3
--- /dev/null
+++ b/code/lab7/kern/debug/stab.h
@@ -0,0 +1,54 @@
+#ifndef __KERN_DEBUG_STAB_H__
+#define __KERN_DEBUG_STAB_H__
+
+#include <defs.h>
+
+/* *
+ * STABS debugging info
+ *
+ * The kernel debugger can understand some debugging information in
+ * the STABS format.  For more information on this format, see
+ * http://sources.redhat.com/gdb/onlinedocs/stabs_toc.html
+ *
+ * The constants below define some symbol types used by various debuggers
+ * and compilers.  Kernel uses the N_SO, N_SOL, N_FUN, and N_SLINE types.
+ * */
+
+#define N_GSYM      0x20    // global symbol
+#define N_FNAME     0x22    // F77 function name
+#define N_FUN       0x24    // procedure name
+#define N_STSYM     0x26    // data segment variable
+#define N_LCSYM     0x28    // bss segment variable
+#define N_MAIN      0x2a    // main function name
+#define N_PC        0x30    // global Pascal symbol
+#define N_RSYM      0x40    // register variable
+#define N_SLINE     0x44    // text segment line number
+#define N_DSLINE    0x46    // data segment line number
+#define N_BSLINE    0x48    // bss segment line number
+#define N_SSYM      0x60    // structure/union element
+#define N_SO        0x64    // main source file name
+#define N_LSYM      0x80    // stack variable
+#define N_BINCL     0x82    // include file beginning
+#define N_SOL       0x84    // included source file name
+#define N_PSYM      0xa0    // parameter variable
+#define N_EINCL     0xa2    // include file end
+#define N_ENTRY     0xa4    // alternate entry point
+#define N_LBRAC     0xc0    // left bracket
+#define N_EXCL      0xc2    // deleted include file
+#define N_RBRAC     0xe0    // right bracket
+#define N_BCOMM     0xe2    // begin common
+#define N_ECOMM     0xe4    // end common
+#define N_ECOML     0xe8    // end common (local name)
+#define N_LENG      0xfe    // length of preceding entry
+
+/* Entries in the STABS table are formatted as follows. */
+struct stab {
+    uint32_t n_strx;        // index into string table of name
+    uint8_t n_type;         // type of symbol
+    uint8_t n_other;        // misc info (usually empty)
+    uint16_t n_desc;        // description field
+    uintptr_t n_value;      // value of symbol
+};
+
+#endif /* !__KERN_DEBUG_STAB_H__ */
+
diff --git a/code/lab7/kern/driver/clock.c b/code/lab7/kern/driver/clock.c
new file mode 100644
index 0000000..4e67c3b
--- /dev/null
+++ b/code/lab7/kern/driver/clock.c
@@ -0,0 +1,45 @@
+#include <x86.h>
+#include <trap.h>
+#include <stdio.h>
+#include <picirq.h>
+
+/* *
+ * Support for time-related hardware gadgets - the 8253 timer,
+ * which generates interruptes on IRQ-0.
+ * */
+
+#define IO_TIMER1           0x040               // 8253 Timer #1
+
+/* *
+ * Frequency of all three count-down timers; (TIMER_FREQ/freq)
+ * is the appropriate count to generate a frequency of freq Hz.
+ * */
+
+#define TIMER_FREQ      1193182
+#define TIMER_DIV(x)    ((TIMER_FREQ + (x) / 2) / (x))
+
+#define TIMER_MODE      (IO_TIMER1 + 3)         // timer mode port
+#define TIMER_SEL0      0x00                    // select counter 0
+#define TIMER_RATEGEN   0x04                    // mode 2, rate generator
+#define TIMER_16BIT     0x30                    // r/w counter 16 bits, LSB first
+
+volatile size_t ticks;
+
+/* *
+ * clock_init - initialize 8253 clock to interrupt 100 times per second,
+ * and then enable IRQ_TIMER.
+ * */
+void
+clock_init(void) {
+    // set 8253 timer-chip
+    outb(TIMER_MODE, TIMER_SEL0 | TIMER_RATEGEN | TIMER_16BIT);
+    outb(IO_TIMER1, TIMER_DIV(100) % 256);
+    outb(IO_TIMER1, TIMER_DIV(100) / 256);
+
+    // initialize time counter 'ticks' to zero
+    ticks = 0;
+
+    cprintf("++ setup timer interrupts\n");
+    pic_enable(IRQ_TIMER);
+}
+
diff --git a/code/lab7/kern/driver/clock.h b/code/lab7/kern/driver/clock.h
new file mode 100644
index 0000000..e22f393
--- /dev/null
+++ b/code/lab7/kern/driver/clock.h
@@ -0,0 +1,11 @@
+#ifndef __KERN_DRIVER_CLOCK_H__
+#define __KERN_DRIVER_CLOCK_H__
+
+#include <defs.h>
+
+extern volatile size_t ticks;
+
+void clock_init(void);
+
+#endif /* !__KERN_DRIVER_CLOCK_H__ */
+
diff --git a/code/lab7/kern/driver/console.c b/code/lab7/kern/driver/console.c
new file mode 100644
index 0000000..d4cf56b
--- /dev/null
+++ b/code/lab7/kern/driver/console.c
@@ -0,0 +1,465 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <kbdreg.h>
+#include <picirq.h>
+#include <trap.h>
+#include <memlayout.h>
+#include <sync.h>
+
+/* stupid I/O delay routine necessitated by historical PC design flaws */
+static void
+delay(void) {
+    inb(0x84);
+    inb(0x84);
+    inb(0x84);
+    inb(0x84);
+}
+
+/***** Serial I/O code *****/
+#define COM1            0x3F8
+
+#define COM_RX          0       // In:  Receive buffer (DLAB=0)
+#define COM_TX          0       // Out: Transmit buffer (DLAB=0)
+#define COM_DLL         0       // Out: Divisor Latch Low (DLAB=1)
+#define COM_DLM         1       // Out: Divisor Latch High (DLAB=1)
+#define COM_IER         1       // Out: Interrupt Enable Register
+#define COM_IER_RDI     0x01    // Enable receiver data interrupt
+#define COM_IIR         2       // In:  Interrupt ID Register
+#define COM_FCR         2       // Out: FIFO Control Register
+#define COM_LCR         3       // Out: Line Control Register
+#define COM_LCR_DLAB    0x80    // Divisor latch access bit
+#define COM_LCR_WLEN8   0x03    // Wordlength: 8 bits
+#define COM_MCR         4       // Out: Modem Control Register
+#define COM_MCR_RTS     0x02    // RTS complement
+#define COM_MCR_DTR     0x01    // DTR complement
+#define COM_MCR_OUT2    0x08    // Out2 complement
+#define COM_LSR         5       // In:  Line Status Register
+#define COM_LSR_DATA    0x01    // Data available
+#define COM_LSR_TXRDY   0x20    // Transmit buffer avail
+#define COM_LSR_TSRE    0x40    // Transmitter off
+
+#define MONO_BASE       0x3B4
+#define MONO_BUF        0xB0000
+#define CGA_BASE        0x3D4
+#define CGA_BUF         0xB8000
+#define CRT_ROWS        25
+#define CRT_COLS        80
+#define CRT_SIZE        (CRT_ROWS * CRT_COLS)
+
+#define LPTPORT         0x378
+
+static uint16_t *crt_buf;
+static uint16_t crt_pos;
+static uint16_t addr_6845;
+
+/* TEXT-mode CGA/VGA display output */
+
+static void
+cga_init(void) {
+    volatile uint16_t *cp = (uint16_t *)(CGA_BUF + KERNBASE);
+    uint16_t was = *cp;
+    *cp = (uint16_t) 0xA55A;
+    if (*cp != 0xA55A) {
+        cp = (uint16_t*)(MONO_BUF + KERNBASE);
+        addr_6845 = MONO_BASE;
+    } else {
+        *cp = was;
+        addr_6845 = CGA_BASE;
+    }
+
+    // Extract cursor location
+    uint32_t pos;
+    outb(addr_6845, 14);
+    pos = inb(addr_6845 + 1) << 8;
+    outb(addr_6845, 15);
+    pos |= inb(addr_6845 + 1);
+
+    crt_buf = (uint16_t*) cp;
+    crt_pos = pos;
+}
+
+static bool serial_exists = 0;
+
+static void
+serial_init(void) {
+    // Turn off the FIFO
+    outb(COM1 + COM_FCR, 0);
+
+    // Set speed; requires DLAB latch
+    outb(COM1 + COM_LCR, COM_LCR_DLAB);
+    outb(COM1 + COM_DLL, (uint8_t) (115200 / 9600));
+    outb(COM1 + COM_DLM, 0);
+
+    // 8 data bits, 1 stop bit, parity off; turn off DLAB latch
+    outb(COM1 + COM_LCR, COM_LCR_WLEN8 & ~COM_LCR_DLAB);
+
+    // No modem controls
+    outb(COM1 + COM_MCR, 0);
+    // Enable rcv interrupts
+    outb(COM1 + COM_IER, COM_IER_RDI);
+
+    // Clear any preexisting overrun indications and interrupts
+    // Serial port doesn't exist if COM_LSR returns 0xFF
+    serial_exists = (inb(COM1 + COM_LSR) != 0xFF);
+    (void) inb(COM1+COM_IIR);
+    (void) inb(COM1+COM_RX);
+
+    if (serial_exists) {
+        pic_enable(IRQ_COM1);
+    }
+}
+
+static void
+lpt_putc_sub(int c) {
+    int i;
+    for (i = 0; !(inb(LPTPORT + 1) & 0x80) && i < 12800; i ++) {
+        delay();
+    }
+    outb(LPTPORT + 0, c);
+    outb(LPTPORT + 2, 0x08 | 0x04 | 0x01);
+    outb(LPTPORT + 2, 0x08);
+}
+
+/* lpt_putc - copy console output to parallel port */
+static void
+lpt_putc(int c) {
+    if (c != '\b') {
+        lpt_putc_sub(c);
+    }
+    else {
+        lpt_putc_sub('\b');
+        lpt_putc_sub(' ');
+        lpt_putc_sub('\b');
+    }
+}
+
+/* cga_putc - print character to console */
+static void
+cga_putc(int c) {
+    // set black on white
+    if (!(c & ~0xFF)) {
+        c |= 0x0700;
+    }
+
+    switch (c & 0xff) {
+    case '\b':
+        if (crt_pos > 0) {
+            crt_pos --;
+            crt_buf[crt_pos] = (c & ~0xff) | ' ';
+        }
+        break;
+    case '\n':
+        crt_pos += CRT_COLS;
+    case '\r':
+        crt_pos -= (crt_pos % CRT_COLS);
+        break;
+    default:
+        crt_buf[crt_pos ++] = c;     // write the character
+        break;
+    }
+
+    // What is the purpose of this?
+    if (crt_pos >= CRT_SIZE) {
+        int i;
+        memmove(crt_buf, crt_buf + CRT_COLS, (CRT_SIZE - CRT_COLS) * sizeof(uint16_t));
+        for (i = CRT_SIZE - CRT_COLS; i < CRT_SIZE; i ++) {
+            crt_buf[i] = 0x0700 | ' ';
+        }
+        crt_pos -= CRT_COLS;
+    }
+
+    // move that little blinky thing
+    outb(addr_6845, 14);
+    outb(addr_6845 + 1, crt_pos >> 8);
+    outb(addr_6845, 15);
+    outb(addr_6845 + 1, crt_pos);
+}
+
+static void
+serial_putc_sub(int c) {
+    int i;
+    for (i = 0; !(inb(COM1 + COM_LSR) & COM_LSR_TXRDY) && i < 12800; i ++) {
+        delay();
+    }
+    outb(COM1 + COM_TX, c);
+}
+
+/* serial_putc - print character to serial port */
+static void
+serial_putc(int c) {
+    if (c != '\b') {
+        serial_putc_sub(c);
+    }
+    else {
+        serial_putc_sub('\b');
+        serial_putc_sub(' ');
+        serial_putc_sub('\b');
+    }
+}
+
+/* *
+ * Here we manage the console input buffer, where we stash characters
+ * received from the keyboard or serial port whenever the corresponding
+ * interrupt occurs.
+ * */
+
+#define CONSBUFSIZE 512
+
+static struct {
+    uint8_t buf[CONSBUFSIZE];
+    uint32_t rpos;
+    uint32_t wpos;
+} cons;
+
+/* *
+ * cons_intr - called by device interrupt routines to feed input
+ * characters into the circular console input buffer.
+ * */
+static void
+cons_intr(int (*proc)(void)) {
+    int c;
+    while ((c = (*proc)()) != -1) {
+        if (c != 0) {
+            cons.buf[cons.wpos ++] = c;
+            if (cons.wpos == CONSBUFSIZE) {
+                cons.wpos = 0;
+            }
+        }
+    }
+}
+
+/* serial_proc_data - get data from serial port */
+static int
+serial_proc_data(void) {
+    if (!(inb(COM1 + COM_LSR) & COM_LSR_DATA)) {
+        return -1;
+    }
+    int c = inb(COM1 + COM_RX);
+    if (c == 127) {
+        c = '\b';
+    }
+    return c;
+}
+
+/* serial_intr - try to feed input characters from serial port */
+void
+serial_intr(void) {
+    if (serial_exists) {
+        cons_intr(serial_proc_data);
+    }
+}
+
+/***** Keyboard input code *****/
+
+#define NO              0
+
+#define SHIFT           (1<<0)
+#define CTL             (1<<1)
+#define ALT             (1<<2)
+
+#define CAPSLOCK        (1<<3)
+#define NUMLOCK         (1<<4)
+#define SCROLLLOCK      (1<<5)
+
+#define E0ESC           (1<<6)
+
+static uint8_t shiftcode[256] = {
+    [0x1D] CTL,
+    [0x2A] SHIFT,
+    [0x36] SHIFT,
+    [0x38] ALT,
+    [0x9D] CTL,
+    [0xB8] ALT
+};
+
+static uint8_t togglecode[256] = {
+    [0x3A] CAPSLOCK,
+    [0x45] NUMLOCK,
+    [0x46] SCROLLLOCK
+};
+
+static uint8_t normalmap[256] = {
+    NO,   0x1B, '1',  '2',  '3',  '4',  '5',  '6',  // 0x00
+    '7',  '8',  '9',  '0',  '-',  '=',  '\b', '\t',
+    'q',  'w',  'e',  'r',  't',  'y',  'u',  'i',  // 0x10
+    'o',  'p',  '[',  ']',  '\n', NO,   'a',  's',
+    'd',  'f',  'g',  'h',  'j',  'k',  'l',  ';',  // 0x20
+    '\'', '`',  NO,   '\\', 'z',  'x',  'c',  'v',
+    'b',  'n',  'm',  ',',  '.',  '/',  NO,   '*',  // 0x30
+    NO,   ' ',  NO,   NO,   NO,   NO,   NO,   NO,
+    NO,   NO,   NO,   NO,   NO,   NO,   NO,   '7',  // 0x40
+    '8',  '9',  '-',  '4',  '5',  '6',  '+',  '1',
+    '2',  '3',  '0',  '.',  NO,   NO,   NO,   NO,   // 0x50
+    [0xC7] KEY_HOME,    [0x9C] '\n' /*KP_Enter*/,
+    [0xB5] '/' /*KP_Div*/,  [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+static uint8_t shiftmap[256] = {
+    NO,   033,  '!',  '@',  '#',  '$',  '%',  '^',  // 0x00
+    '&',  '*',  '(',  ')',  '_',  '+',  '\b', '\t',
+    'Q',  'W',  'E',  'R',  'T',  'Y',  'U',  'I',  // 0x10
+    'O',  'P',  '{',  '}',  '\n', NO,   'A',  'S',
+    'D',  'F',  'G',  'H',  'J',  'K',  'L',  ':',  // 0x20
+    '"',  '~',  NO,   '|',  'Z',  'X',  'C',  'V',
+    'B',  'N',  'M',  '<',  '>',  '?',  NO,   '*',  // 0x30
+    NO,   ' ',  NO,   NO,   NO,   NO,   NO,   NO,
+    NO,   NO,   NO,   NO,   NO,   NO,   NO,   '7',  // 0x40
+    '8',  '9',  '-',  '4',  '5',  '6',  '+',  '1',
+    '2',  '3',  '0',  '.',  NO,   NO,   NO,   NO,   // 0x50
+    [0xC7] KEY_HOME,    [0x9C] '\n' /*KP_Enter*/,
+    [0xB5] '/' /*KP_Div*/,  [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+#define C(x) (x - '@')
+
+static uint8_t ctlmap[256] = {
+    NO,      NO,      NO,      NO,      NO,      NO,      NO,      NO,
+    NO,      NO,      NO,      NO,      NO,      NO,      NO,      NO,
+    C('Q'),  C('W'),  C('E'),  C('R'),  C('T'),  C('Y'),  C('U'),  C('I'),
+    C('O'),  C('P'),  NO,      NO,      '\r',    NO,      C('A'),  C('S'),
+    C('D'),  C('F'),  C('G'),  C('H'),  C('J'),  C('K'),  C('L'),  NO,
+    NO,      NO,      NO,      C('\\'), C('Z'),  C('X'),  C('C'),  C('V'),
+    C('B'),  C('N'),  C('M'),  NO,      NO,      C('/'),  NO,      NO,
+    [0x97] KEY_HOME,
+    [0xB5] C('/'),      [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+static uint8_t *charcode[4] = {
+    normalmap,
+    shiftmap,
+    ctlmap,
+    ctlmap
+};
+
+/* *
+ * kbd_proc_data - get data from keyboard
+ *
+ * The kbd_proc_data() function gets data from the keyboard.
+ * If we finish a character, return it, else 0. And return -1 if no data.
+ * */
+static int
+kbd_proc_data(void) {
+    int c;
+    uint8_t data;
+    static uint32_t shift;
+
+    if ((inb(KBSTATP) & KBS_DIB) == 0) {
+        return -1;
+    }
+
+    data = inb(KBDATAP);
+
+    if (data == 0xE0) {
+        // E0 escape character
+        shift |= E0ESC;
+        return 0;
+    } else if (data & 0x80) {
+        // Key released
+        data = (shift & E0ESC ? data : data & 0x7F);
+        shift &= ~(shiftcode[data] | E0ESC);
+        return 0;
+    } else if (shift & E0ESC) {
+        // Last character was an E0 escape; or with 0x80
+        data |= 0x80;
+        shift &= ~E0ESC;
+    }
+
+    shift |= shiftcode[data];
+    shift ^= togglecode[data];
+
+    c = charcode[shift & (CTL | SHIFT)][data];
+    if (shift & CAPSLOCK) {
+        if ('a' <= c && c <= 'z')
+            c += 'A' - 'a';
+        else if ('A' <= c && c <= 'Z')
+            c += 'a' - 'A';
+    }
+
+    // Process special keys
+    // Ctrl-Alt-Del: reboot
+    if (!(~shift & (CTL | ALT)) && c == KEY_DEL) {
+        cprintf("Rebooting!\n");
+        outb(0x92, 0x3); // courtesy of Chris Frost
+    }
+    return c;
+}
+
+/* kbd_intr - try to feed input characters from keyboard */
+static void
+kbd_intr(void) {
+    cons_intr(kbd_proc_data);
+}
+
+static void
+kbd_init(void) {
+    // drain the kbd buffer
+    kbd_intr();
+    pic_enable(IRQ_KBD);
+}
+
+/* cons_init - initializes the console devices */
+void
+cons_init(void) {
+    cga_init();
+    serial_init();
+    kbd_init();
+    if (!serial_exists) {
+        cprintf("serial port does not exist!!\n");
+    }
+}
+
+/* cons_putc - print a single character @c to console devices */
+void
+cons_putc(int c) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        lpt_putc(c);
+        cga_putc(c);
+        serial_putc(c);
+    }
+    local_intr_restore(intr_flag);
+}
+
+/* *
+ * cons_getc - return the next input character from console,
+ * or 0 if none waiting.
+ * */
+int
+cons_getc(void) {
+    int c = 0;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        // poll for any pending input characters,
+        // so that this function works even when interrupts are disabled
+        // (e.g., when called from the kernel monitor).
+        serial_intr();
+        kbd_intr();
+
+        // grab the next character from the input buffer.
+        if (cons.rpos != cons.wpos) {
+            c = cons.buf[cons.rpos ++];
+            if (cons.rpos == CONSBUFSIZE) {
+                cons.rpos = 0;
+            }
+        }
+    }
+    local_intr_restore(intr_flag);
+    return c;
+}
+
diff --git a/code/lab7/kern/driver/console.h b/code/lab7/kern/driver/console.h
new file mode 100644
index 0000000..72e6167
--- /dev/null
+++ b/code/lab7/kern/driver/console.h
@@ -0,0 +1,11 @@
+#ifndef __KERN_DRIVER_CONSOLE_H__
+#define __KERN_DRIVER_CONSOLE_H__
+
+void cons_init(void);
+void cons_putc(int c);
+int cons_getc(void);
+void serial_intr(void);
+void kbd_intr(void);
+
+#endif /* !__KERN_DRIVER_CONSOLE_H__ */
+
diff --git a/code/lab7/kern/driver/ide.c b/code/lab7/kern/driver/ide.c
new file mode 100644
index 0000000..271cfa8
--- /dev/null
+++ b/code/lab7/kern/driver/ide.c
@@ -0,0 +1,214 @@
+#include <defs.h>
+#include <stdio.h>
+#include <trap.h>
+#include <picirq.h>
+#include <fs.h>
+#include <ide.h>
+#include <x86.h>
+#include <assert.h>
+
+#define ISA_DATA                0x00
+#define ISA_ERROR               0x01
+#define ISA_PRECOMP             0x01
+#define ISA_CTRL                0x02
+#define ISA_SECCNT              0x02
+#define ISA_SECTOR              0x03
+#define ISA_CYL_LO              0x04
+#define ISA_CYL_HI              0x05
+#define ISA_SDH                 0x06
+#define ISA_COMMAND             0x07
+#define ISA_STATUS              0x07
+
+#define IDE_BSY                 0x80
+#define IDE_DRDY                0x40
+#define IDE_DF                  0x20
+#define IDE_DRQ                 0x08
+#define IDE_ERR                 0x01
+
+#define IDE_CMD_READ            0x20
+#define IDE_CMD_WRITE           0x30
+#define IDE_CMD_IDENTIFY        0xEC
+
+#define IDE_IDENT_SECTORS       20
+#define IDE_IDENT_MODEL         54
+#define IDE_IDENT_CAPABILITIES  98
+#define IDE_IDENT_CMDSETS       164
+#define IDE_IDENT_MAX_LBA       120
+#define IDE_IDENT_MAX_LBA_EXT   200
+
+#define IO_BASE0                0x1F0
+#define IO_BASE1                0x170
+#define IO_CTRL0                0x3F4
+#define IO_CTRL1                0x374
+
+#define MAX_IDE                 4
+#define MAX_NSECS               128
+#define MAX_DISK_NSECS          0x10000000U
+#define VALID_IDE(ideno)        (((ideno) >= 0) && ((ideno) < MAX_IDE) && (ide_devices[ideno].valid))
+
+static const struct {
+    unsigned short base;        // I/O Base
+    unsigned short ctrl;        // Control Base
+} channels[2] = {
+    {IO_BASE0, IO_CTRL0},
+    {IO_BASE1, IO_CTRL1},
+};
+
+#define IO_BASE(ideno)          (channels[(ideno) >> 1].base)
+#define IO_CTRL(ideno)          (channels[(ideno) >> 1].ctrl)
+
+static struct ide_device {
+    unsigned char valid;        // 0 or 1 (If Device Really Exists)
+    unsigned int sets;          // Commend Sets Supported
+    unsigned int size;          // Size in Sectors
+    unsigned char model[41];    // Model in String
+} ide_devices[MAX_IDE];
+
+static int
+ide_wait_ready(unsigned short iobase, bool check_error) {
+    int r;
+    while ((r = inb(iobase + ISA_STATUS)) & IDE_BSY)
+        /* nothing */;
+    if (check_error && (r & (IDE_DF | IDE_ERR)) != 0) {
+        return -1;
+    }
+    return 0;
+}
+
+void
+ide_init(void) {
+    static_assert((SECTSIZE % 4) == 0);
+    unsigned short ideno, iobase;
+    for (ideno = 0; ideno < MAX_IDE; ideno ++) {
+        /* assume that no device here */
+        ide_devices[ideno].valid = 0;
+
+        iobase = IO_BASE(ideno);
+
+        /* wait device ready */
+        ide_wait_ready(iobase, 0);
+
+        /* step1: select drive */
+        outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4));
+        ide_wait_ready(iobase, 0);
+
+        /* step2: send ATA identify command */
+        outb(iobase + ISA_COMMAND, IDE_CMD_IDENTIFY);
+        ide_wait_ready(iobase, 0);
+
+        /* step3: polling */
+        if (inb(iobase + ISA_STATUS) == 0 || ide_wait_ready(iobase, 1) != 0) {
+            continue ;
+        }
+
+        /* device is ok */
+        ide_devices[ideno].valid = 1;
+
+        /* read identification space of the device */
+        unsigned int buffer[128];
+        insl(iobase + ISA_DATA, buffer, sizeof(buffer) / sizeof(unsigned int));
+
+        unsigned char *ident = (unsigned char *)buffer;
+        unsigned int sectors;
+        unsigned int cmdsets = *(unsigned int *)(ident + IDE_IDENT_CMDSETS);
+        /* device use 48-bits or 28-bits addressing */
+        if (cmdsets & (1 << 26)) {
+            sectors = *(unsigned int *)(ident + IDE_IDENT_MAX_LBA_EXT);
+        }
+        else {
+            sectors = *(unsigned int *)(ident + IDE_IDENT_MAX_LBA);
+        }
+        ide_devices[ideno].sets = cmdsets;
+        ide_devices[ideno].size = sectors;
+
+        /* check if supports LBA */
+        assert((*(unsigned short *)(ident + IDE_IDENT_CAPABILITIES) & 0x200) != 0);
+
+        unsigned char *model = ide_devices[ideno].model, *data = ident + IDE_IDENT_MODEL;
+        unsigned int i, length = 40;
+        for (i = 0; i < length; i += 2) {
+            model[i] = data[i + 1], model[i + 1] = data[i];
+        }
+        do {
+            model[i] = '\0';
+        } while (i -- > 0 && model[i] == ' ');
+
+        cprintf("ide %d: %10u(sectors), '%s'.\n", ideno, ide_devices[ideno].size, ide_devices[ideno].model);
+    }
+
+    // enable ide interrupt
+    pic_enable(IRQ_IDE1);
+    pic_enable(IRQ_IDE2);
+}
+
+bool
+ide_device_valid(unsigned short ideno) {
+    return VALID_IDE(ideno);
+}
+
+size_t
+ide_device_size(unsigned short ideno) {
+    if (ide_device_valid(ideno)) {
+        return ide_devices[ideno].size;
+    }
+    return 0;
+}
+
+int
+ide_read_secs(unsigned short ideno, uint32_t secno, void *dst, size_t nsecs) {
+    assert(nsecs <= MAX_NSECS && VALID_IDE(ideno));
+    assert(secno < MAX_DISK_NSECS && secno + nsecs <= MAX_DISK_NSECS);
+    unsigned short iobase = IO_BASE(ideno), ioctrl = IO_CTRL(ideno);
+
+    ide_wait_ready(iobase, 0);
+
+    // generate interrupt
+    outb(ioctrl + ISA_CTRL, 0);
+    outb(iobase + ISA_SECCNT, nsecs);
+    outb(iobase + ISA_SECTOR, secno & 0xFF);
+    outb(iobase + ISA_CYL_LO, (secno >> 8) & 0xFF);
+    outb(iobase + ISA_CYL_HI, (secno >> 16) & 0xFF);
+    outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4) | ((secno >> 24) & 0xF));
+    outb(iobase + ISA_COMMAND, IDE_CMD_READ);
+
+    int ret = 0;
+    for (; nsecs > 0; nsecs --, dst += SECTSIZE) {
+        if ((ret = ide_wait_ready(iobase, 1)) != 0) {
+            goto out;
+        }
+        insl(iobase, dst, SECTSIZE / sizeof(uint32_t));
+    }
+
+out:
+    return ret;
+}
+
+int
+ide_write_secs(unsigned short ideno, uint32_t secno, const void *src, size_t nsecs) {
+    assert(nsecs <= MAX_NSECS && VALID_IDE(ideno));
+    assert(secno < MAX_DISK_NSECS && secno + nsecs <= MAX_DISK_NSECS);
+    unsigned short iobase = IO_BASE(ideno), ioctrl = IO_CTRL(ideno);
+
+    ide_wait_ready(iobase, 0);
+
+    // generate interrupt
+    outb(ioctrl + ISA_CTRL, 0);
+    outb(iobase + ISA_SECCNT, nsecs);
+    outb(iobase + ISA_SECTOR, secno & 0xFF);
+    outb(iobase + ISA_CYL_LO, (secno >> 8) & 0xFF);
+    outb(iobase + ISA_CYL_HI, (secno >> 16) & 0xFF);
+    outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4) | ((secno >> 24) & 0xF));
+    outb(iobase + ISA_COMMAND, IDE_CMD_WRITE);
+
+    int ret = 0;
+    for (; nsecs > 0; nsecs --, src += SECTSIZE) {
+        if ((ret = ide_wait_ready(iobase, 1)) != 0) {
+            goto out;
+        }
+        outsl(iobase, src, SECTSIZE / sizeof(uint32_t));
+    }
+
+out:
+    return ret;
+}
+
diff --git a/code/lab7/kern/driver/ide.h b/code/lab7/kern/driver/ide.h
new file mode 100644
index 0000000..3e3fd21
--- /dev/null
+++ b/code/lab7/kern/driver/ide.h
@@ -0,0 +1,14 @@
+#ifndef __KERN_DRIVER_IDE_H__
+#define __KERN_DRIVER_IDE_H__
+
+#include <defs.h>
+
+void ide_init(void);
+bool ide_device_valid(unsigned short ideno);
+size_t ide_device_size(unsigned short ideno);
+
+int ide_read_secs(unsigned short ideno, uint32_t secno, void *dst, size_t nsecs);
+int ide_write_secs(unsigned short ideno, uint32_t secno, const void *src, size_t nsecs);
+
+#endif /* !__KERN_DRIVER_IDE_H__ */
+
diff --git a/code/lab7/kern/driver/intr.c b/code/lab7/kern/driver/intr.c
new file mode 100644
index 0000000..e64da62
--- /dev/null
+++ b/code/lab7/kern/driver/intr.c
@@ -0,0 +1,15 @@
+#include <x86.h>
+#include <intr.h>
+
+/* intr_enable - enable irq interrupt */
+void
+intr_enable(void) {
+    sti();
+}
+
+/* intr_disable - disable irq interrupt */
+void
+intr_disable(void) {
+    cli();
+}
+
diff --git a/code/lab7/kern/driver/intr.h b/code/lab7/kern/driver/intr.h
new file mode 100644
index 0000000..5fdf7a5
--- /dev/null
+++ b/code/lab7/kern/driver/intr.h
@@ -0,0 +1,8 @@
+#ifndef __KERN_DRIVER_INTR_H__
+#define __KERN_DRIVER_INTR_H__
+
+void intr_enable(void);
+void intr_disable(void);
+
+#endif /* !__KERN_DRIVER_INTR_H__ */
+
diff --git a/code/lab7/kern/driver/kbdreg.h b/code/lab7/kern/driver/kbdreg.h
new file mode 100644
index 0000000..00dc49a
--- /dev/null
+++ b/code/lab7/kern/driver/kbdreg.h
@@ -0,0 +1,84 @@
+#ifndef __KERN_DRIVER_KBDREG_H__
+#define __KERN_DRIVER_KBDREG_H__
+
+// Special keycodes
+#define KEY_HOME            0xE0
+#define KEY_END             0xE1
+#define KEY_UP              0xE2
+#define KEY_DN              0xE3
+#define KEY_LF              0xE4
+#define KEY_RT              0xE5
+#define KEY_PGUP            0xE6
+#define KEY_PGDN            0xE7
+#define KEY_INS             0xE8
+#define KEY_DEL             0xE9
+
+
+/* This is i8042reg.h + kbdreg.h from NetBSD. */
+
+#define KBSTATP             0x64    // kbd controller status port(I)
+#define KBS_DIB             0x01    // kbd data in buffer
+#define KBS_IBF             0x02    // kbd input buffer low
+#define KBS_WARM            0x04    // kbd input buffer low
+#define BS_OCMD             0x08    // kbd output buffer has command
+#define KBS_NOSEC           0x10    // kbd security lock not engaged
+#define KBS_TERR            0x20    // kbd transmission error
+#define KBS_RERR            0x40    // kbd receive error
+#define KBS_PERR            0x80    // kbd parity error
+
+#define KBCMDP              0x64    // kbd controller port(O)
+#define KBC_RAMREAD         0x20    // read from RAM
+#define KBC_RAMWRITE        0x60    // write to RAM
+#define KBC_AUXDISABLE      0xa7    // disable auxiliary port
+#define KBC_AUXENABLE       0xa8    // enable auxiliary port
+#define KBC_AUXTEST         0xa9    // test auxiliary port
+#define KBC_KBDECHO         0xd2    // echo to keyboard port
+#define KBC_AUXECHO         0xd3    // echo to auxiliary port
+#define KBC_AUXWRITE        0xd4    // write to auxiliary port
+#define KBC_SELFTEST        0xaa    // start self-test
+#define KBC_KBDTEST         0xab    // test keyboard port
+#define KBC_KBDDISABLE      0xad    // disable keyboard port
+#define KBC_KBDENABLE       0xae    // enable keyboard port
+#define KBC_PULSE0          0xfe    // pulse output bit 0
+#define KBC_PULSE1          0xfd    // pulse output bit 1
+#define KBC_PULSE2          0xfb    // pulse output bit 2
+#define KBC_PULSE3          0xf7    // pulse output bit 3
+
+#define KBDATAP             0x60    // kbd data port(I)
+#define KBOUTP              0x60    // kbd data port(O)
+
+#define K_RDCMDBYTE         0x20
+#define K_LDCMDBYTE         0x60
+
+#define KC8_TRANS           0x40    // convert to old scan codes
+#define KC8_MDISABLE        0x20    // disable mouse
+#define KC8_KDISABLE        0x10    // disable keyboard
+#define KC8_IGNSEC          0x08    // ignore security lock
+#define KC8_CPU             0x04    // exit from protected mode reset
+#define KC8_MENABLE         0x02    // enable mouse interrupt
+#define KC8_KENABLE         0x01    // enable keyboard interrupt
+#define CMDBYTE             (KC8_TRANS|KC8_CPU|KC8_MENABLE|KC8_KENABLE)
+
+/* keyboard commands */
+#define KBC_RESET           0xFF    // reset the keyboard
+#define KBC_RESEND          0xFE    // request the keyboard resend the last byte
+#define KBC_SETDEFAULT      0xF6    // resets keyboard to its power-on defaults
+#define KBC_DISABLE         0xF5    // as per KBC_SETDEFAULT, but also disable key scanning
+#define KBC_ENABLE          0xF4    // enable key scanning
+#define KBC_TYPEMATIC       0xF3    // set typematic rate and delay
+#define KBC_SETTABLE        0xF0    // set scancode translation table
+#define KBC_MODEIND         0xED    // set mode indicators(i.e. LEDs)
+#define KBC_ECHO            0xEE    // request an echo from the keyboard
+
+/* keyboard responses */
+#define KBR_EXTENDED        0xE0    // extended key sequence
+#define KBR_RESEND          0xFE    // needs resend of command
+#define KBR_ACK             0xFA    // received a valid command
+#define KBR_OVERRUN         0x00    // flooded
+#define KBR_FAILURE         0xFD    // diagnosic failure
+#define KBR_BREAK           0xF0    // break code prefix - sent on key release
+#define KBR_RSTDONE         0xAA    // reset complete
+#define KBR_ECHO            0xEE    // echo response
+
+#endif /* !__KERN_DRIVER_KBDREG_H__ */
+
diff --git a/code/lab7/kern/driver/picirq.c b/code/lab7/kern/driver/picirq.c
new file mode 100644
index 0000000..e7f7063
--- /dev/null
+++ b/code/lab7/kern/driver/picirq.c
@@ -0,0 +1,86 @@
+#include <defs.h>
+#include <x86.h>
+#include <picirq.h>
+
+// I/O Addresses of the two programmable interrupt controllers
+#define IO_PIC1             0x20    // Master (IRQs 0-7)
+#define IO_PIC2             0xA0    // Slave (IRQs 8-15)
+
+#define IRQ_SLAVE           2       // IRQ at which slave connects to master
+
+// Current IRQ mask.
+// Initial IRQ mask has interrupt 2 enabled (for slave 8259A).
+static uint16_t irq_mask = 0xFFFF & ~(1 << IRQ_SLAVE);
+static bool did_init = 0;
+
+static void
+pic_setmask(uint16_t mask) {
+    irq_mask = mask;
+    if (did_init) {
+        outb(IO_PIC1 + 1, mask);
+        outb(IO_PIC2 + 1, mask >> 8);
+    }
+}
+
+void
+pic_enable(unsigned int irq) {
+    pic_setmask(irq_mask & ~(1 << irq));
+}
+
+/* pic_init - initialize the 8259A interrupt controllers */
+void
+pic_init(void) {
+    did_init = 1;
+
+    // mask all interrupts
+    outb(IO_PIC1 + 1, 0xFF);
+    outb(IO_PIC2 + 1, 0xFF);
+
+    // Set up master (8259A-1)
+
+    // ICW1:  0001g0hi
+    //    g:  0 = edge triggering, 1 = level triggering
+    //    h:  0 = cascaded PICs, 1 = master only
+    //    i:  0 = no ICW4, 1 = ICW4 required
+    outb(IO_PIC1, 0x11);
+
+    // ICW2:  Vector offset
+    outb(IO_PIC1 + 1, IRQ_OFFSET);
+
+    // ICW3:  (master PIC) bit mask of IR lines connected to slaves
+    //        (slave PIC) 3-bit # of slave's connection to master
+    outb(IO_PIC1 + 1, 1 << IRQ_SLAVE);
+
+    // ICW4:  000nbmap
+    //    n:  1 = special fully nested mode
+    //    b:  1 = buffered mode
+    //    m:  0 = slave PIC, 1 = master PIC
+    //        (ignored when b is 0, as the master/slave role
+    //         can be hardwired).
+    //    a:  1 = Automatic EOI mode
+    //    p:  0 = MCS-80/85 mode, 1 = intel x86 mode
+    outb(IO_PIC1 + 1, 0x3);
+
+    // Set up slave (8259A-2)
+    outb(IO_PIC2, 0x11);    // ICW1
+    outb(IO_PIC2 + 1, IRQ_OFFSET + 8);  // ICW2
+    outb(IO_PIC2 + 1, IRQ_SLAVE);       // ICW3
+    // NB Automatic EOI mode doesn't tend to work on the slave.
+    // Linux source code says it's "to be investigated".
+    outb(IO_PIC2 + 1, 0x3);             // ICW4
+
+    // OCW3:  0ef01prs
+    //   ef:  0x = NOP, 10 = clear specific mask, 11 = set specific mask
+    //    p:  0 = no polling, 1 = polling mode
+    //   rs:  0x = NOP, 10 = read IRR, 11 = read ISR
+    outb(IO_PIC1, 0x68);    // clear specific mask
+    outb(IO_PIC1, 0x0a);    // read IRR by default
+
+    outb(IO_PIC2, 0x68);    // OCW3
+    outb(IO_PIC2, 0x0a);    // OCW3
+
+    if (irq_mask != 0xFFFF) {
+        pic_setmask(irq_mask);
+    }
+}
+
diff --git a/code/lab7/kern/driver/picirq.h b/code/lab7/kern/driver/picirq.h
new file mode 100644
index 0000000..b61e72e
--- /dev/null
+++ b/code/lab7/kern/driver/picirq.h
@@ -0,0 +1,10 @@
+#ifndef __KERN_DRIVER_PICIRQ_H__
+#define __KERN_DRIVER_PICIRQ_H__
+
+void pic_init(void);
+void pic_enable(unsigned int irq);
+
+#define IRQ_OFFSET      32
+
+#endif /* !__KERN_DRIVER_PICIRQ_H__ */
+
diff --git a/code/lab7/kern/fs/fs.h b/code/lab7/kern/fs/fs.h
new file mode 100644
index 0000000..92c05e7
--- /dev/null
+++ b/code/lab7/kern/fs/fs.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_FS_FS_H__
+#define __KERN_FS_FS_H__
+
+#include <mmu.h>
+
+#define SECTSIZE            512
+#define PAGE_NSECT          (PGSIZE / SECTSIZE)
+
+#define SWAP_DEV_NO         1
+
+#endif /* !__KERN_FS_FS_H__ */
+
diff --git a/code/lab7/kern/fs/swapfs.c b/code/lab7/kern/fs/swapfs.c
new file mode 100644
index 0000000..d9f6090
--- /dev/null
+++ b/code/lab7/kern/fs/swapfs.c
@@ -0,0 +1,27 @@
+#include <swap.h>
+#include <swapfs.h>
+#include <mmu.h>
+#include <fs.h>
+#include <ide.h>
+#include <pmm.h>
+#include <assert.h>
+
+void
+swapfs_init(void) {
+    static_assert((PGSIZE % SECTSIZE) == 0);
+    if (!ide_device_valid(SWAP_DEV_NO)) {
+        panic("swap fs isn't available.\n");
+    }
+    max_swap_offset = ide_device_size(SWAP_DEV_NO) / (PGSIZE / SECTSIZE);
+}
+
+int
+swapfs_read(swap_entry_t entry, struct Page *page) {
+    return ide_read_secs(SWAP_DEV_NO, swap_offset(entry) * PAGE_NSECT, page2kva(page), PAGE_NSECT);
+}
+
+int
+swapfs_write(swap_entry_t entry, struct Page *page) {
+    return ide_write_secs(SWAP_DEV_NO, swap_offset(entry) * PAGE_NSECT, page2kva(page), PAGE_NSECT);
+}
+
diff --git a/code/lab7/kern/fs/swapfs.h b/code/lab7/kern/fs/swapfs.h
new file mode 100644
index 0000000..d433926
--- /dev/null
+++ b/code/lab7/kern/fs/swapfs.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_FS_SWAPFS_H__
+#define __KERN_FS_SWAPFS_H__
+
+#include <memlayout.h>
+#include <swap.h>
+
+void swapfs_init(void);
+int swapfs_read(swap_entry_t entry, struct Page *page);
+int swapfs_write(swap_entry_t entry, struct Page *page);
+
+#endif /* !__KERN_FS_SWAPFS_H__ */
+
diff --git a/code/lab7/kern/init/entry.S b/code/lab7/kern/init/entry.S
new file mode 100644
index 0000000..8e37f2a
--- /dev/null
+++ b/code/lab7/kern/init/entry.S
@@ -0,0 +1,49 @@
+#include <mmu.h>
+#include <memlayout.h>
+
+#define REALLOC(x) (x - KERNBASE)
+
+.text
+.globl kern_entry
+kern_entry:
+    # reload temperate gdt (second time) to remap all physical memory
+    # virtual_addr 0~4G=linear_addr&physical_addr -KERNBASE~4G-KERNBASE 
+    lgdt REALLOC(__gdtdesc)
+    movl $KERNEL_DS, %eax
+    movw %ax, %ds
+    movw %ax, %es
+    movw %ax, %ss
+
+    ljmp $KERNEL_CS, $relocated
+
+relocated:
+
+    # set ebp, esp
+    movl $0x0, %ebp
+    # the kernel stack region is from bootstack -- bootstacktop,
+    # the kernel stack size is KSTACKSIZE (8KB)defined in memlayout.h
+    movl $bootstacktop, %esp
+    # now kernel stack is ready , call the first C function
+    call kern_init
+
+# should never get here
+spin:
+    jmp spin
+
+.data
+.align PGSIZE
+    .globl bootstack
+bootstack:
+    .space KSTACKSIZE
+    .globl bootstacktop
+bootstacktop:
+
+.align 4
+__gdt:
+    SEG_NULL
+    SEG_ASM(STA_X | STA_R, - KERNBASE, 0xFFFFFFFF)      # code segment
+    SEG_ASM(STA_W, - KERNBASE, 0xFFFFFFFF)              # data segment
+__gdtdesc:
+    .word 0x17                                          # sizeof(__gdt) - 1
+    .long REALLOC(__gdt)
+
diff --git a/code/lab7/kern/init/init.c b/code/lab7/kern/init/init.c
new file mode 100644
index 0000000..3341078
--- /dev/null
+++ b/code/lab7/kern/init/init.c
@@ -0,0 +1,114 @@
+#include <defs.h>
+#include <stdio.h>
+#include <string.h>
+#include <console.h>
+#include <kdebug.h>
+#include <picirq.h>
+#include <trap.h>
+#include <clock.h>
+#include <intr.h>
+#include <pmm.h>
+#include <vmm.h>
+#include <ide.h>
+#include <swap.h>
+#include <proc.h>
+
+int kern_init(void) __attribute__((noreturn));
+
+static void lab1_switch_test(void);
+
+int
+kern_init(void) {
+    extern char edata[], end[];
+    memset(edata, 0, end - edata);
+
+    cons_init();                // init the console
+
+    const char *message = "(THU.CST) os is loading ...";
+    cprintf("%s\n\n", message);
+
+    print_kerninfo();
+
+    grade_backtrace();
+
+    pmm_init();                 // init physical memory management
+
+    pic_init();                 // init interrupt controller
+    idt_init();                 // init interrupt descriptor table
+
+    vmm_init();                 // init virtual memory management
+    sched_init();               // init scheduler
+    proc_init();                // init process table
+    
+    ide_init();                 // init ide devices
+    swap_init();                // init swap
+
+    clock_init();               // init clock interrupt
+    intr_enable();              // enable irq interrupt
+
+    //LAB1: CAHLLENGE 1 If you try to do it, uncomment lab1_switch_test()
+    // user/kernel mode switch test
+    //lab1_switch_test();
+    
+    cpu_idle();                 // run idle process
+}
+
+void __attribute__((noinline))
+grade_backtrace2(int arg0, int arg1, int arg2, int arg3) {
+    mon_backtrace(0, NULL, NULL);
+}
+
+void __attribute__((noinline))
+grade_backtrace1(int arg0, int arg1) {
+    grade_backtrace2(arg0, (int)&arg0, arg1, (int)&arg1);
+}
+
+void __attribute__((noinline))
+grade_backtrace0(int arg0, int arg1, int arg2) {
+    grade_backtrace1(arg0, arg2);
+}
+
+void
+grade_backtrace(void) {
+    grade_backtrace0(0, (int)kern_init, 0xffff0000);
+}
+
+static void
+lab1_print_cur_status(void) {
+    static int round = 0;
+    uint16_t reg1, reg2, reg3, reg4;
+    asm volatile (
+            "mov %%cs, %0;"
+            "mov %%ds, %1;"
+            "mov %%es, %2;"
+            "mov %%ss, %3;"
+            : "=m"(reg1), "=m"(reg2), "=m"(reg3), "=m"(reg4));
+    cprintf("%d: @ring %d\n", round, reg1 & 3);
+    cprintf("%d:  cs = %x\n", round, reg1);
+    cprintf("%d:  ds = %x\n", round, reg2);
+    cprintf("%d:  es = %x\n", round, reg3);
+    cprintf("%d:  ss = %x\n", round, reg4);
+    round ++;
+}
+
+static void
+lab1_switch_to_user(void) {
+    //LAB1 CHALLENGE 1 : TODO
+}
+
+static void
+lab1_switch_to_kernel(void) {
+    //LAB1 CHALLENGE 1 :  TODO
+}
+
+static void
+lab1_switch_test(void) {
+    lab1_print_cur_status();
+    cprintf("+++ switch to  user  mode +++\n");
+    lab1_switch_to_user();
+    lab1_print_cur_status();
+    cprintf("+++ switch to kernel mode +++\n");
+    lab1_switch_to_kernel();
+    lab1_print_cur_status();
+}
+
diff --git a/code/lab7/kern/libs/rb_tree.c b/code/lab7/kern/libs/rb_tree.c
new file mode 100644
index 0000000..0a5fcc8
--- /dev/null
+++ b/code/lab7/kern/libs/rb_tree.c
@@ -0,0 +1,528 @@
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <kmalloc.h>
+#include <rb_tree.h>
+#include <assert.h>
+
+/* rb_node_create - create a new rb_node */
+static inline rb_node *
+rb_node_create(void) {
+    return kmalloc(sizeof(rb_node));
+}
+
+/* rb_tree_empty - tests if tree is empty */
+static inline bool
+rb_tree_empty(rb_tree *tree) {
+    rb_node *nil = tree->nil, *root = tree->root;
+    return root->left == nil;
+}
+
+/* *
+ * rb_tree_create - creates a new red-black tree, the 'compare' function
+ * is required and returns 'NULL' if failed.
+ *
+ * Note that, root->left should always point to the node that is the root
+ * of the tree. And nil points to a 'NULL' node which should always be
+ * black and may have arbitrary children and parent node.
+ * */
+rb_tree *
+rb_tree_create(int (*compare)(rb_node *node1, rb_node *node2)) {
+    assert(compare != NULL);
+
+    rb_tree *tree;
+    rb_node *nil, *root;
+
+    if ((tree = kmalloc(sizeof(rb_tree))) == NULL) {
+        goto bad_tree;
+    }
+
+    tree->compare = compare;
+
+    if ((nil = rb_node_create()) == NULL) {
+        goto bad_node_cleanup_tree;
+    }
+
+    nil->parent = nil->left = nil->right = nil;
+    nil->red = 0;
+    tree->nil = nil;
+
+    if ((root = rb_node_create()) == NULL) {
+        goto bad_node_cleanup_nil;
+    }
+
+    root->parent = root->left = root->right = nil;
+    root->red = 0;
+    tree->root = root;
+    return tree;
+
+bad_node_cleanup_nil:
+    kfree(nil);
+bad_node_cleanup_tree:
+    kfree(tree);
+bad_tree:
+    return NULL;
+}
+
+/* *
+ * FUNC_ROTATE - rotates as described in "Introduction to Algorithm".
+ *
+ * For example, FUNC_ROTATE(rb_left_rotate, left, right) can be expaned to a
+ * left-rotate function, which requires an red-black 'tree' and a node 'x'
+ * to be rotated on. Basically, this function, named rb_left_rotate, makes the
+ * parent of 'x' be the left child of 'x', 'x' the parent of its parent before
+ * rotation and finally fixes other nodes accordingly.
+ *
+ * FUNC_ROTATE(xx, left, right) means left-rotate,
+ * and FUNC_ROTATE(xx, right, left) means right-rotate.
+ * */
+#define FUNC_ROTATE(func_name, _left, _right)                   \
+static void                                                     \
+func_name(rb_tree *tree, rb_node *x) {                          \
+    rb_node *nil = tree->nil, *y = x->_right;                   \
+    assert(x != tree->root && x != nil && y != nil);            \
+    x->_right = y->_left;                                       \
+    if (y->_left != nil) {                                      \
+        y->_left->parent = x;                                   \
+    }                                                           \
+    y->parent = x->parent;                                      \
+    if (x == x->parent->_left) {                                \
+        x->parent->_left = y;                                   \
+    }                                                           \
+    else {                                                      \
+        x->parent->_right = y;                                  \
+    }                                                           \
+    y->_left = x;                                               \
+    x->parent = y;                                              \
+    assert(!(nil->red));                                        \
+}
+
+FUNC_ROTATE(rb_left_rotate, left, right);
+FUNC_ROTATE(rb_right_rotate, right, left);
+
+#undef FUNC_ROTATE
+
+#define COMPARE(tree, node1, node2)                             \
+    ((tree))->compare((node1), (node2))
+
+/* *
+ * rb_insert_binary - insert @node to red-black @tree as if it were
+ * a regular binary tree. This function is only intended to be called
+ * by function rb_insert.
+ * */
+static inline void
+rb_insert_binary(rb_tree *tree, rb_node *node) {
+    rb_node *x, *y, *z = node, *nil = tree->nil, *root = tree->root;
+
+    z->left = z->right = nil;
+    y = root, x = y->left;
+    while (x != nil) {
+        y = x;
+        x = (COMPARE(tree, x, node) > 0) ? x->left : x->right;
+    }
+    z->parent = y;
+    if (y == root || COMPARE(tree, y, z) > 0) {
+        y->left = z;
+    }
+    else {
+        y->right = z;
+    }
+}
+
+/* rb_insert - insert a node to red-black tree */
+void
+rb_insert(rb_tree *tree, rb_node *node) {
+    rb_insert_binary(tree, node);
+    node->red = 1;
+
+    rb_node *x = node, *y;
+
+#define RB_INSERT_SUB(_left, _right)                            \
+    do {                                                        \
+        y = x->parent->parent->_right;                          \
+        if (y->red) {                                           \
+            x->parent->red = 0;                                 \
+            y->red = 0;                                         \
+            x->parent->parent->red = 1;                         \
+            x = x->parent->parent;                              \
+        }                                                       \
+        else {                                                  \
+            if (x == x->parent->_right) {                       \
+                x = x->parent;                                  \
+                rb_##_left##_rotate(tree, x);                   \
+            }                                                   \
+            x->parent->red = 0;                                 \
+            x->parent->parent->red = 1;                         \
+            rb_##_right##_rotate(tree, x->parent->parent);      \
+        }                                                       \
+    } while (0)
+
+    while (x->parent->red) {
+        if (x->parent == x->parent->parent->left) {
+            RB_INSERT_SUB(left, right);
+        }
+        else {
+            RB_INSERT_SUB(right, left);
+        }
+    }
+    tree->root->left->red = 0;
+    assert(!(tree->nil->red) && !(tree->root->red));
+
+#undef RB_INSERT_SUB
+}
+
+/* *
+ * rb_tree_successor - returns the successor of @node, or nil
+ * if no successor exists. Make sure that @node must belong to @tree,
+ * and this function should only be called by rb_node_prev.
+ * */
+static inline rb_node *
+rb_tree_successor(rb_tree *tree, rb_node *node) {
+    rb_node *x = node, *y, *nil = tree->nil;
+
+    if ((y = x->right) != nil) {
+        while (y->left != nil) {
+            y = y->left;
+        }
+        return y;
+    }
+    else {
+        y = x->parent;
+        while (x == y->right) {
+            x = y, y = y->parent;
+        }
+        if (y == tree->root) {
+            return nil;
+        }
+        return y;
+    }
+}
+
+/* *
+ * rb_tree_predecessor - returns the predecessor of @node, or nil
+ * if no predecessor exists, likes rb_tree_successor.
+ * */
+static inline rb_node *
+rb_tree_predecessor(rb_tree *tree, rb_node *node) {
+    rb_node *x = node, *y, *nil = tree->nil;
+
+    if ((y = x->left) != nil) {
+        while (y->right != nil) {
+            y = y->right;
+        }
+        return y;
+    }
+    else {
+        y = x->parent;
+        while (x == y->left) {
+            if (y == tree->root) {
+                return nil;
+            }
+            x = y, y = y->parent;
+        }
+        return y;
+    }
+}
+
+/* *
+ * rb_search - returns a node with value 'equal' to @key (according to
+ * function @compare). If there're multiple nodes with value 'equal' to @key,
+ * the functions returns the one highest in the tree.
+ * */
+rb_node *
+rb_search(rb_tree *tree, int (*compare)(rb_node *node, void *key), void *key) {
+    rb_node *nil = tree->nil, *node = tree->root->left;
+    int r;
+    while (node != nil && (r = compare(node, key)) != 0) {
+        node = (r > 0) ? node->left : node->right;
+    }
+    return (node != nil) ? node : NULL;
+}
+
+/* *
+ * rb_delete_fixup - performs rotations and changes colors to restore
+ * red-black properties after a node is deleted.
+ * */
+static void
+rb_delete_fixup(rb_tree *tree, rb_node *node) {
+    rb_node *x = node, *w, *root = tree->root->left;
+
+#define RB_DELETE_FIXUP_SUB(_left, _right)                      \
+    do {                                                        \
+        w = x->parent->_right;                                  \
+        if (w->red) {                                           \
+            w->red = 0;                                         \
+            x->parent->red = 1;                                 \
+            rb_##_left##_rotate(tree, x->parent);               \
+            w = x->parent->_right;                              \
+        }                                                       \
+        if (!w->_left->red && !w->_right->red) {                \
+            w->red = 1;                                         \
+            x = x->parent;                                      \
+        }                                                       \
+        else {                                                  \
+            if (!w->_right->red) {                              \
+                w->_left->red = 0;                              \
+                w->red = 1;                                     \
+                rb_##_right##_rotate(tree, w);                  \
+                w = x->parent->_right;                          \
+            }                                                   \
+            w->red = x->parent->red;                            \
+            x->parent->red = 0;                                 \
+            w->_right->red = 0;                                 \
+            rb_##_left##_rotate(tree, x->parent);               \
+            x = root;                                           \
+        }                                                       \
+    } while (0)
+
+    while (x != root && !x->red) {
+        if (x == x->parent->left) {
+            RB_DELETE_FIXUP_SUB(left, right);
+        }
+        else {
+            RB_DELETE_FIXUP_SUB(right, left);
+        }
+    }
+    x->red = 0;
+
+#undef RB_DELETE_FIXUP_SUB
+}
+
+/* *
+ * rb_delete - deletes @node from @tree, and calls rb_delete_fixup to
+ * restore red-black properties.
+ * */
+void
+rb_delete(rb_tree *tree, rb_node *node) {
+    rb_node *x, *y, *z = node;
+    rb_node *nil = tree->nil, *root = tree->root;
+
+    y = (z->left == nil || z->right == nil) ? z : rb_tree_successor(tree, z);
+    x = (y->left != nil) ? y->left : y->right;
+
+    assert(y != root && y != nil);
+
+    x->parent = y->parent;
+    if (y == y->parent->left) {
+        y->parent->left = x;
+    }
+    else {
+        y->parent->right = x;
+    }
+
+    bool need_fixup = !(y->red);
+
+    if (y != z) {
+        if (z == z->parent->left) {
+            z->parent->left = y;
+        }
+        else {
+            z->parent->right = y;
+        }
+        z->left->parent = z->right->parent = y;
+        *y = *z;
+    }
+    if (need_fixup) {
+        rb_delete_fixup(tree, x);
+    }
+}
+
+/* rb_tree_destroy - destroy a tree and free memory */
+void
+rb_tree_destroy(rb_tree *tree) {
+    kfree(tree->root);
+    kfree(tree->nil);
+    kfree(tree);
+}
+
+/* *
+ * rb_node_prev - returns the predecessor node of @node in @tree,
+ * or 'NULL' if no predecessor exists.
+ * */
+rb_node *
+rb_node_prev(rb_tree *tree, rb_node *node) {
+    rb_node *prev = rb_tree_predecessor(tree, node);
+    return (prev != tree->nil) ? prev : NULL;
+}
+
+/* *
+ * rb_node_next - returns the successor node of @node in @tree,
+ * or 'NULL' if no successor exists.
+ * */
+rb_node *
+rb_node_next(rb_tree *tree, rb_node *node) {
+    rb_node *next = rb_tree_successor(tree, node);
+    return (next != tree->nil) ? next : NULL;
+}
+
+/* rb_node_root - returns the root node of a @tree, or 'NULL' if tree is empty */
+rb_node *
+rb_node_root(rb_tree *tree) {
+    rb_node *node = tree->root->left;
+    return (node != tree->nil) ? node : NULL;
+}
+
+/* rb_node_left - gets the left child of @node, or 'NULL' if no such node */
+rb_node *
+rb_node_left(rb_tree *tree, rb_node *node) {
+    rb_node *left = node->left;
+    return (left != tree->nil) ? left : NULL;
+}
+
+/* rb_node_right - gets the right child of @node, or 'NULL' if no such node */
+rb_node *
+rb_node_right(rb_tree *tree, rb_node *node) {
+    rb_node *right = node->right;
+    return (right != tree->nil) ? right : NULL;
+}
+
+int
+check_tree(rb_tree *tree, rb_node *node) {
+    rb_node *nil = tree->nil;
+    if (node == nil) {
+        assert(!node->red);
+        return 1;
+    }
+    if (node->left != nil) {
+        assert(COMPARE(tree, node, node->left) >= 0);
+        assert(node->left->parent == node);
+    }
+    if (node->right != nil) {
+        assert(COMPARE(tree, node, node->right) <= 0);
+        assert(node->right->parent == node);
+    }
+    if (node->red) {
+        assert(!node->left->red && !node->right->red);
+    }
+    int hb_left = check_tree(tree, node->left);
+    int hb_right = check_tree(tree, node->right);
+    assert(hb_left == hb_right);
+    int hb = hb_left;
+    if (!node->red) {
+        hb ++;
+    }
+    return hb;
+}
+
+static void *
+check_safe_kmalloc(size_t size) {
+    void *ret = kmalloc(size);
+    assert(ret != NULL);
+    return ret;
+}
+
+struct check_data {
+    long data;
+    rb_node rb_link;
+};
+
+#define rbn2data(node)              \
+    (to_struct(node, struct check_data, rb_link))
+
+static inline int
+check_compare1(rb_node *node1, rb_node *node2) {
+    return rbn2data(node1)->data - rbn2data(node2)->data;
+}
+
+static inline int
+check_compare2(rb_node *node, void *key) {
+    return rbn2data(node)->data - (long)key;
+}
+
+void
+check_rb_tree(void) {
+    rb_tree *tree = rb_tree_create(check_compare1);
+    assert(tree != NULL);
+
+    rb_node *nil = tree->nil, *root = tree->root;
+    assert(!nil->red && root->left == nil);
+
+    int total = 1000;
+    struct check_data **all = check_safe_kmalloc(sizeof(struct check_data *) * total);
+
+    long i;
+    for (i = 0; i < total; i ++) {
+        all[i] = check_safe_kmalloc(sizeof(struct check_data));
+        all[i]->data = i;
+    }
+
+    int *mark = check_safe_kmalloc(sizeof(int) * total);
+    memset(mark, 0, sizeof(int) * total);
+
+    for (i = 0; i < total; i ++) {
+        mark[all[i]->data] = 1;
+    }
+    for (i = 0; i < total; i ++) {
+        assert(mark[i] == 1);
+    }
+
+    for (i = 0; i < total; i ++) {
+        int j = (rand() % (total - i)) + i;
+        struct check_data *z = all[i];
+        all[i] = all[j];
+        all[j] = z;
+    }
+
+    memset(mark, 0, sizeof(int) * total);
+    for (i = 0; i < total; i ++) {
+        mark[all[i]->data] = 1;
+    }
+    for (i = 0; i < total; i ++) {
+        assert(mark[i] == 1);
+    }
+
+    for (i = 0; i < total; i ++) {
+        rb_insert(tree, &(all[i]->rb_link));
+        check_tree(tree, root->left);
+    }
+
+    rb_node *node;
+    for (i = 0; i < total; i ++) {
+        node = rb_search(tree, check_compare2, (void *)(all[i]->data));
+        assert(node != NULL && node == &(all[i]->rb_link));
+    }
+
+    for (i = 0; i < total; i ++) {
+        node = rb_search(tree, check_compare2, (void *)i);
+        assert(node != NULL && rbn2data(node)->data == i);
+        rb_delete(tree, node);
+        check_tree(tree, root->left);
+    }
+
+    assert(!nil->red && root->left == nil);
+
+    long max = 32;
+    if (max > total) {
+        max = total;
+    }
+
+    for (i = 0; i < max; i ++) {
+        all[i]->data = max;
+        rb_insert(tree, &(all[i]->rb_link));
+        check_tree(tree, root->left);
+    }
+
+    for (i = 0; i < max; i ++) {
+        node = rb_search(tree, check_compare2, (void *)max);
+        assert(node != NULL && rbn2data(node)->data == max);
+        rb_delete(tree, node);
+        check_tree(tree, root->left);
+    }
+
+    assert(rb_tree_empty(tree));
+
+    for (i = 0; i < total; i ++) {
+        rb_insert(tree, &(all[i]->rb_link));
+        check_tree(tree, root->left);
+    }
+
+    rb_tree_destroy(tree);
+
+    for (i = 0; i < total; i ++) {
+        kfree(all[i]);
+    }
+
+    kfree(mark);
+    kfree(all);
+}
+
diff --git a/code/lab7/kern/libs/rb_tree.h b/code/lab7/kern/libs/rb_tree.h
new file mode 100644
index 0000000..a2aa9aa
--- /dev/null
+++ b/code/lab7/kern/libs/rb_tree.h
@@ -0,0 +1,32 @@
+#ifndef __KERN_LIBS_RB_TREE_H__
+#define __KERN_LIBS_RB_TREE_H__
+
+#include <defs.h>
+
+typedef struct rb_node {
+    bool red;                           // if red = 0, it's a black node
+    struct rb_node *parent;
+    struct rb_node *left, *right;
+} rb_node;
+
+typedef struct rb_tree {
+    // compare function should return -1 if *node1 < *node2, 1 if *node1 > *node2, and 0 otherwise
+    int (*compare)(rb_node *node1, rb_node *node2);
+    struct rb_node *nil, *root;
+} rb_tree;
+
+rb_tree *rb_tree_create(int (*compare)(rb_node *node1, rb_node *node2));
+void rb_tree_destroy(rb_tree *tree);
+void rb_insert(rb_tree *tree, rb_node *node);
+void rb_delete(rb_tree *tree, rb_node *node);
+rb_node *rb_search(rb_tree *tree, int (*compare)(rb_node *node, void *key), void *key);
+rb_node *rb_node_prev(rb_tree *tree, rb_node *node);
+rb_node *rb_node_next(rb_tree *tree, rb_node *node);
+rb_node *rb_node_root(rb_tree *tree);
+rb_node *rb_node_left(rb_tree *tree, rb_node *node);
+rb_node *rb_node_right(rb_tree *tree, rb_node *node);
+
+void check_rb_tree(void);
+
+#endif /* !__KERN_LIBS_RBTREE_H__ */
+
diff --git a/code/lab7/kern/libs/readline.c b/code/lab7/kern/libs/readline.c
new file mode 100644
index 0000000..cc1eddb
--- /dev/null
+++ b/code/lab7/kern/libs/readline.c
@@ -0,0 +1,50 @@
+#include <stdio.h>
+
+#define BUFSIZE 1024
+static char buf[BUFSIZE];
+
+/* *
+ * readline - get a line from stdin
+ * @prompt:     the string to be written to stdout
+ *
+ * The readline() function will write the input string @prompt to
+ * stdout first. If the @prompt is NULL or the empty string,
+ * no prompt is issued.
+ *
+ * This function will keep on reading characters and saving them to buffer
+ * 'buf' until '\n' or '\r' is encountered.
+ *
+ * Note that, if the length of string that will be read is longer than
+ * buffer size, the end of string will be discarded.
+ *
+ * The readline() function returns the text of the line read. If some errors
+ * are happened, NULL is returned. The return value is a global variable,
+ * thus it should be copied before it is used.
+ * */
+char *
+readline(const char *prompt) {
+    if (prompt != NULL) {
+        cprintf("%s", prompt);
+    }
+    int i = 0, c;
+    while (1) {
+        c = getchar();
+        if (c < 0) {
+            return NULL;
+        }
+        else if (c >= ' ' && i < BUFSIZE - 1) {
+            cputchar(c);
+            buf[i ++] = c;
+        }
+        else if (c == '\b' && i > 0) {
+            cputchar(c);
+            i --;
+        }
+        else if (c == '\n' || c == '\r') {
+            cputchar(c);
+            buf[i] = '\0';
+            return buf;
+        }
+    }
+}
+
diff --git a/code/lab7/kern/libs/stdio.c b/code/lab7/kern/libs/stdio.c
new file mode 100644
index 0000000..5efefcd
--- /dev/null
+++ b/code/lab7/kern/libs/stdio.c
@@ -0,0 +1,78 @@
+#include <defs.h>
+#include <stdio.h>
+#include <console.h>
+
+/* HIGH level console I/O */
+
+/* *
+ * cputch - writes a single character @c to stdout, and it will
+ * increace the value of counter pointed by @cnt.
+ * */
+static void
+cputch(int c, int *cnt) {
+    cons_putc(c);
+    (*cnt) ++;
+}
+
+/* *
+ * vcprintf - format a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want cprintf() instead.
+ * */
+int
+vcprintf(const char *fmt, va_list ap) {
+    int cnt = 0;
+    vprintfmt((void*)cputch, &cnt, fmt, ap);
+    return cnt;
+}
+
+/* *
+ * cprintf - formats a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ * */
+int
+cprintf(const char *fmt, ...) {
+    va_list ap;
+    int cnt;
+    va_start(ap, fmt);
+    cnt = vcprintf(fmt, ap);
+    va_end(ap);
+    return cnt;
+}
+
+/* cputchar - writes a single character to stdout */
+void
+cputchar(int c) {
+    cons_putc(c);
+}
+
+/* *
+ * cputs- writes the string pointed by @str to stdout and
+ * appends a newline character.
+ * */
+int
+cputs(const char *str) {
+    int cnt = 0;
+    char c;
+    while ((c = *str ++) != '\0') {
+        cputch(c, &cnt);
+    }
+    cputch('\n', &cnt);
+    return cnt;
+}
+
+/* getchar - reads a single non-zero character from stdin */
+int
+getchar(void) {
+    int c;
+    while ((c = cons_getc()) == 0)
+        /* do nothing */;
+    return c;
+}
+
diff --git a/code/lab7/kern/mm/default_pmm.c b/code/lab7/kern/mm/default_pmm.c
new file mode 100644
index 0000000..770a30f
--- /dev/null
+++ b/code/lab7/kern/mm/default_pmm.c
@@ -0,0 +1,272 @@
+#include <pmm.h>
+#include <list.h>
+#include <string.h>
+#include <default_pmm.h>
+
+/* In the first fit algorithm, the allocator keeps a list of free blocks (known as the free list) and,
+   on receiving a request for memory, scans along the list for the first block that is large enough to
+   satisfy the request. If the chosen block is significantly larger than that requested, then it is 
+   usually split, and the remainder added to the list as another free block.
+   Please see Page 196~198, Section 8.2 of Yan Wei Ming's chinese book "Data Structure -- C programming language"
+*/
+// LAB2 EXERCISE 1: YOUR CODE
+// you should rewrite functions: default_init,default_init_memmap,default_alloc_pages, default_free_pages.
+/*
+ * Details of FFMA
+ * (1) Prepare: In order to implement the First-Fit Mem Alloc (FFMA), we should manage the free mem block use some list.
+ *              The struct free_area_t is used for the management of free mem blocks. At first you should
+ *              be familiar to the struct list in list.h. struct list is a simple doubly linked list implementation.
+ *              You should know howto USE: list_init, list_add(list_add_after), list_add_before, list_del, list_next, list_prev
+ *              Another tricky method is to transform a general list struct to a special struct (such as struct page):
+ *              you can find some MACRO: le2page (in memlayout.h), (in future labs: le2vma (in vmm.h), le2proc (in proc.h),etc.)
+ * (2) default_init: you can reuse the  demo default_init fun to init the free_list and set nr_free to 0.
+ *              free_list is used to record the free mem blocks. nr_free is the total number for free mem blocks.
+ * (3) default_init_memmap:  CALL GRAPH: kern_init --> pmm_init-->page_init-->init_memmap--> pmm_manager->init_memmap
+ *              This fun is used to init a free block (with parameter: addr_base, page_number).
+ *              First you should init each page (in memlayout.h) in this free block, include:
+ *                  p->flags should be set bit PG_property (means this page is valid. In pmm_init fun (in pmm.c),
+ *                  the bit PG_reserved is setted in p->flags)
+ *                  if this page  is free and is not the first page of free block, p->property should be set to 0.
+ *                  if this page  is free and is the first page of free block, p->property should be set to total num of block.
+ *                  p->ref should be 0, because now p is free and no reference.
+ *                  We can use p->page_link to link this page to free_list, (such as: list_add_before(&free_list, &(p->page_link)); )
+ *              Finally, we should sum the number of free mem block: nr_free+=n
+ * (4) default_alloc_pages: search find a first free block (block size >=n) in free list and reszie the free block, return the addr
+ *              of malloced block.
+ *              (4.1) So you should search freelist like this:
+ *                       list_entry_t le = &free_list;
+ *                       while((le=list_next(le)) != &free_list) {
+ *                       ....
+ *                 (4.1.1) In while loop, get the struct page and check the p->property (record the num of free block) >=n?
+ *                       struct Page *p = le2page(le, page_link);
+ *                       if(p->property >= n){ ...
+ *                 (4.1.2) If we find this p, then it' means we find a free block(block size >=n), and the first n pages can be malloced.
+ *                     Some flag bits of this page should be setted: PG_reserved =1, PG_property =0
+ *                     unlink the pages from free_list
+ *                     (4.1.2.1) If (p->property >n), we should re-caluclate number of the the rest of this free block,
+ *                           (such as: le2page(le,page_link))->property = p->property - n;)
+ *                 (4.1.3)  re-caluclate nr_free (number of the the rest of all free block)
+ *                 (4.1.4)  return p
+ *               (4.2) If we can not find a free block (block size >=n), then return NULL
+ * (5) default_free_pages: relink the pages into  free list, maybe merge small free blocks into big free blocks.
+ *               (5.1) according the base addr of withdrawed blocks, search free list, find the correct position
+ *                     (from low to high addr), and insert the pages. (may use list_next, le2page, list_add_before)
+ *               (5.2) reset the fields of pages, such as p->ref, p->flags (PageProperty)
+ *               (5.3) try to merge low addr or high addr blocks. Notice: should change some pages's p->property correctly.
+ */
+free_area_t free_area;
+
+#define free_list (free_area.free_list)
+#define nr_free (free_area.nr_free)
+
+static void
+default_init(void) {
+    list_init(&free_list);
+    nr_free = 0;
+}
+
+static void
+default_init_memmap(struct Page *base, size_t n) {
+    assert(n > 0);
+    struct Page *p = base;
+    for (; p != base + n; p ++) {
+        assert(PageReserved(p));
+        p->flags = p->property = 0;
+        set_page_ref(p, 0);
+    }
+    base->property = n;
+    SetPageProperty(base);
+    nr_free += n;
+    list_add(&free_list, &(base->page_link));
+}
+
+static struct Page *
+default_alloc_pages(size_t n) {
+    assert(n > 0);
+    if (n > nr_free) {
+        return NULL;
+    }
+    struct Page *page = NULL;
+    list_entry_t *le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        if (p->property >= n) {
+            page = p;
+            break;
+        }
+    }
+    if (page != NULL) {
+        list_del(&(page->page_link));
+        if (page->property > n) {
+            struct Page *p = page + n;
+            p->property = page->property - n;
+            list_add(&free_list, &(p->page_link));
+    }
+        nr_free -= n;
+        ClearPageProperty(page);
+    }
+    return page;
+}
+
+static void
+default_free_pages(struct Page *base, size_t n) {
+    assert(n > 0);
+    struct Page *p = base;
+    for (; p != base + n; p ++) {
+        assert(!PageReserved(p) && !PageProperty(p));
+        p->flags = 0;
+        set_page_ref(p, 0);
+    }
+    base->property = n;
+    SetPageProperty(base);
+    list_entry_t *le = list_next(&free_list);
+    while (le != &free_list) {
+        p = le2page(le, page_link);
+        le = list_next(le);
+        if (base + base->property == p) {
+            base->property += p->property;
+            ClearPageProperty(p);
+            list_del(&(p->page_link));
+        }
+        else if (p + p->property == base) {
+            p->property += base->property;
+            ClearPageProperty(base);
+            base = p;
+            list_del(&(p->page_link));
+        }
+    }
+    nr_free += n;
+    list_add(&free_list, &(base->page_link));
+}
+
+static size_t
+default_nr_free_pages(void) {
+    return nr_free;
+}
+
+static void
+basic_check(void) {
+    struct Page *p0, *p1, *p2;
+    p0 = p1 = p2 = NULL;
+    assert((p0 = alloc_page()) != NULL);
+    assert((p1 = alloc_page()) != NULL);
+    assert((p2 = alloc_page()) != NULL);
+
+    assert(p0 != p1 && p0 != p2 && p1 != p2);
+    assert(page_ref(p0) == 0 && page_ref(p1) == 0 && page_ref(p2) == 0);
+
+    assert(page2pa(p0) < npage * PGSIZE);
+    assert(page2pa(p1) < npage * PGSIZE);
+    assert(page2pa(p2) < npage * PGSIZE);
+
+    list_entry_t free_list_store = free_list;
+    list_init(&free_list);
+    assert(list_empty(&free_list));
+
+    unsigned int nr_free_store = nr_free;
+    nr_free = 0;
+
+    assert(alloc_page() == NULL);
+
+    free_page(p0);
+    free_page(p1);
+    free_page(p2);
+    assert(nr_free == 3);
+
+    assert((p0 = alloc_page()) != NULL);
+    assert((p1 = alloc_page()) != NULL);
+    assert((p2 = alloc_page()) != NULL);
+
+    assert(alloc_page() == NULL);
+
+    free_page(p0);
+    assert(!list_empty(&free_list));
+
+    struct Page *p;
+    assert((p = alloc_page()) == p0);
+    assert(alloc_page() == NULL);
+
+    assert(nr_free == 0);
+    free_list = free_list_store;
+    nr_free = nr_free_store;
+
+    free_page(p);
+    free_page(p1);
+    free_page(p2);
+}
+
+// LAB2: below code is used to check the first fit allocation algorithm (your EXERCISE 1) 
+// NOTICE: You SHOULD NOT CHANGE basic_check, default_check functions!
+static void
+default_check(void) {
+    int count = 0, total = 0;
+    list_entry_t *le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        assert(PageProperty(p));
+        count ++, total += p->property;
+    }
+    assert(total == nr_free_pages());
+
+    basic_check();
+
+    struct Page *p0 = alloc_pages(5), *p1, *p2;
+    assert(p0 != NULL);
+    assert(!PageProperty(p0));
+
+    list_entry_t free_list_store = free_list;
+    list_init(&free_list);
+    assert(list_empty(&free_list));
+    assert(alloc_page() == NULL);
+
+    unsigned int nr_free_store = nr_free;
+    nr_free = 0;
+
+    free_pages(p0 + 2, 3);
+    assert(alloc_pages(4) == NULL);
+    assert(PageProperty(p0 + 2) && p0[2].property == 3);
+    assert((p1 = alloc_pages(3)) != NULL);
+    assert(alloc_page() == NULL);
+    assert(p0 + 2 == p1);
+
+    p2 = p0 + 1;
+    free_page(p0);
+    free_pages(p1, 3);
+    assert(PageProperty(p0) && p0->property == 1);
+    assert(PageProperty(p1) && p1->property == 3);
+
+    assert((p0 = alloc_page()) == p2 - 1);
+    free_page(p0);
+    assert((p0 = alloc_pages(2)) == p2 + 1);
+
+    free_pages(p0, 2);
+    free_page(p2);
+
+    assert((p0 = alloc_pages(5)) != NULL);
+    assert(alloc_page() == NULL);
+
+    assert(nr_free == 0);
+    nr_free = nr_free_store;
+
+    free_list = free_list_store;
+    free_pages(p0, 5);
+
+    le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        count --, total -= p->property;
+    }
+    assert(count == 0);
+    assert(total == 0);
+}
+
+const struct pmm_manager default_pmm_manager = {
+    .name = "default_pmm_manager",
+    .init = default_init,
+    .init_memmap = default_init_memmap,
+    .alloc_pages = default_alloc_pages,
+    .free_pages = default_free_pages,
+    .nr_free_pages = default_nr_free_pages,
+    .check = default_check,
+};
+
diff --git a/code/lab7/kern/mm/default_pmm.h b/code/lab7/kern/mm/default_pmm.h
new file mode 100644
index 0000000..5f4e6fc
--- /dev/null
+++ b/code/lab7/kern/mm/default_pmm.h
@@ -0,0 +1,9 @@
+#ifndef __KERN_MM_DEFAULT_PMM_H__
+#define  __KERN_MM_DEFAULT_PMM_H__
+
+#include <pmm.h>
+
+extern const struct pmm_manager default_pmm_manager;
+extern free_area_t free_area;
+#endif /* ! __KERN_MM_DEFAULT_PMM_H__ */
+
diff --git a/code/lab7/kern/mm/kmalloc.c b/code/lab7/kern/mm/kmalloc.c
new file mode 100644
index 0000000..aa5bb90
--- /dev/null
+++ b/code/lab7/kern/mm/kmalloc.c
@@ -0,0 +1,640 @@
+#include <defs.h>
+#include <list.h>
+#include <memlayout.h>
+#include <assert.h>
+#include <kmalloc.h>
+#include <sync.h>
+#include <pmm.h>
+#include <stdio.h>
+#include <rb_tree.h>
+
+/* The slab allocator used in ucore is based on an algorithm first introduced by 
+   Jeff Bonwick for the SunOS operating system. The paper can be download from 
+   http://citeseer.ist.psu.edu/bonwick94slab.html 
+   An implementation of the Slab Allocator as described in outline in;
+      UNIX Internals: The New Frontiers by Uresh Vahalia
+      Pub: Prentice Hall      ISBN 0-13-101908-2
+   Within a kernel, a considerable amount of memory is allocated for a finite set 
+   of objects such as file descriptors and other common structures. Jeff found that
+   the amount of time required to initialize a regular object in the kernel exceeded
+   the amount of time required to allocate and deallocate it. His conclusion was 
+   that instead of freeing the memory back to a global pool, he would have the memory
+   remain initialized for its intended purpose.
+   In our simple slab implementation, the the high-level organization of the slab 
+   structures is simplied. At the highest level is an array slab_cache[SLAB_CACHE_NUM],
+   and each array element is a slab_cache which has slab chains. Each slab_cache has 
+   two list, one list chains the full allocated slab, and another list chains the notfull 
+   allocated(maybe empty) slab.  And  each slab has fixed number(2^n) of pages. In each 
+   slab, there are a lot of objects (such as ) with same fixed size(32B ~ 128KB). 
+   
+   +----------------------------------+
+   | slab_cache[0] for 0~32B obj      |
+   +----------------------------------+
+   | slab_cache[1] for 33B~64B obj    |-->lists for slabs
+   +----------------------------------+            |  
+   | slab_cache[2] for 65B~128B obj   |            |            
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~            |                 
+   +----------------------------------+            |
+   | slab_cache[12]for 64KB~128KB obj |            |                    
+   +----------------------------------+            |
+                                                   |
+     slabs_full/slabs_not    +---------------------+
+   -<-----------<----------<-+
+   |           |         |
+  slab1       slab2     slab3...
+   |
+   |-------|-------|
+  pages1  pages2   pages3...
+   |
+   |
+   |
+   slab_t+n*bufctl_t+obj1-obj2-obj3...objn  (the size of obj is small)
+   |
+   OR
+   |
+   obj1-obj2-obj3...objn  WITH slab_t+n*bufctl_t in another slab (the size of obj is BIG)
+
+   The important functions are:
+     kmem_cache_grow(kmem_cache_t *cachep)
+     kmem_slab_destroy(kmem_cache_t *cachep, slab_t *slabp)
+     kmalloc(size_t size): used by outside functions need dynamicly get memory
+     kfree(void *objp): used by outside functions need dynamicly release memory
+*/
+  
+#define BUFCTL_END      0xFFFFFFFFL // the signature of the last bufctl
+#define SLAB_LIMIT      0xFFFFFFFEL // the max value of obj number
+
+typedef size_t kmem_bufctl_t; //the index of obj in slab
+
+typedef struct slab_s {
+    list_entry_t slab_link; // the list entry linked to kmem_cache list
+    void *s_mem;            // the kernel virtual address of the first obj in slab 
+    size_t inuse;           // the number of allocated objs
+    size_t offset;          // the first obj's offset value in slab
+    kmem_bufctl_t free;     // the first free obj's index in slab  
+} slab_t;
+
+// get the slab address according to the link element (see list.h)
+#define le2slab(le, member)                 \
+    to_struct((le), slab_t, member)
+
+typedef struct kmem_cache_s kmem_cache_t;
+
+
+struct kmem_cache_s {
+    list_entry_t slabs_full;     // list for fully allocated slabs
+    list_entry_t slabs_notfull;  // list for not-fully allocated slabs
+
+    size_t objsize;              // the fixed size of obj
+    size_t num;                  // number of objs per slab
+    size_t offset;               // this first obj's offset in slab 
+    bool off_slab;               // the control part of slab in slab or not.
+
+    /* order of pages per slab (2^n) */
+    size_t page_order;
+
+    kmem_cache_t *slab_cachep;
+};
+
+#define MIN_SIZE_ORDER          5           // 32
+#define MAX_SIZE_ORDER          17          // 128k
+#define SLAB_CACHE_NUM          (MAX_SIZE_ORDER - MIN_SIZE_ORDER + 1)
+
+static kmem_cache_t slab_cache[SLAB_CACHE_NUM];
+
+static void init_kmem_cache(kmem_cache_t *cachep, size_t objsize, size_t align);
+static void check_slab(void);
+
+
+//slab_init - call init_kmem_cache function to reset the slab_cache array
+static void
+slab_init(void) {
+    size_t i;
+    //the align bit for obj in slab. 2^n could be better for performance
+    size_t align = 16;
+    for (i = 0; i < SLAB_CACHE_NUM; i ++) {
+        init_kmem_cache(slab_cache + i, 1 << (i + MIN_SIZE_ORDER), align);
+    }
+    check_slab();
+}
+
+inline void 
+kmalloc_init(void) {
+    slab_init();
+    cprintf("kmalloc_init() succeeded!\n");
+}
+
+//slab_allocated - summary the total size of allocated objs
+static size_t
+slab_allocated(void) {
+    size_t total = 0;
+    int i;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        for (i = 0; i < SLAB_CACHE_NUM; i ++) {
+            kmem_cache_t *cachep = slab_cache + i;
+            list_entry_t *list, *le;
+            list = le = &(cachep->slabs_full);
+            while ((le = list_next(le)) != list) {
+                total += cachep->num * cachep->objsize;
+            }
+            list = le = &(cachep->slabs_notfull);
+            while ((le = list_next(le)) != list) {
+                slab_t *slabp = le2slab(le, slab_link);
+                total += slabp->inuse * cachep->objsize;
+            }
+        }
+    }
+    local_intr_restore(intr_flag);
+    return total;
+}
+
+inline size_t
+kallocated(void) {
+   return slab_allocated();
+}
+
+// slab_mgmt_size - get the size of slab control area (slab_t+num*kmem_bufctl_t)
+static size_t
+slab_mgmt_size(size_t num, size_t align) {
+    return ROUNDUP(sizeof(slab_t) + num * sizeof(kmem_bufctl_t), align);
+}
+
+// cacahe_estimate - estimate the number of objs in a slab
+static void
+cache_estimate(size_t order, size_t objsize, size_t align, bool off_slab, size_t *remainder, size_t *num) {
+    size_t nr_objs, mgmt_size;
+    size_t slab_size = (PGSIZE << order);
+
+    if (off_slab) {
+        mgmt_size = 0;
+        nr_objs = slab_size / objsize;
+        if (nr_objs > SLAB_LIMIT) {
+            nr_objs = SLAB_LIMIT;
+        }
+    }
+    else {
+        nr_objs = (slab_size - sizeof(slab_t)) / (objsize + sizeof(kmem_bufctl_t));
+        while (slab_mgmt_size(nr_objs, align) + nr_objs * objsize > slab_size) {
+            nr_objs --;
+        }
+        if (nr_objs > SLAB_LIMIT) {
+            nr_objs = SLAB_LIMIT;
+        }
+        mgmt_size = slab_mgmt_size(nr_objs, align);
+    }
+    *num = nr_objs;
+    *remainder = slab_size - nr_objs * objsize - mgmt_size;
+}
+
+// calculate_slab_order - estimate the size(4K~4M) of slab
+// paramemters:
+//   cachep:    the slab_cache
+//   objsize:   the size of obj
+//   align:     align bit for objs
+//   off_slab:  the control part of slab in slab or not
+//   left_over: the size of can not be used area in slab
+static void
+calculate_slab_order(kmem_cache_t *cachep, size_t objsize, size_t align, bool off_slab, size_t *left_over) {
+    size_t order;
+    for (order = 0; order <= KMALLOC_MAX_ORDER; order ++) {
+        size_t num, remainder;
+        cache_estimate(order, objsize, align, off_slab, &remainder, &num);
+        if (num != 0) {
+            if (off_slab) {
+                size_t off_slab_limit = objsize - sizeof(slab_t);
+                off_slab_limit /= sizeof(kmem_bufctl_t);
+                if (num > off_slab_limit) {
+                    panic("off_slab: objsize = %d, num = %d.", objsize, num);
+                }
+            }
+            if (remainder * 8 <= (PGSIZE << order)) {
+                cachep->num = num;
+                cachep->page_order = order;
+                if (left_over != NULL) {
+                    *left_over = remainder;
+                }
+                return ;
+            }
+        }
+    }
+    panic("calculate_slab_over: failed.");
+}
+
+// getorder - find order, should satisfy n <= minest 2^order
+static inline size_t
+getorder(size_t n) {
+    size_t order = MIN_SIZE_ORDER, order_size = (1 << order);
+    for (; order <= MAX_SIZE_ORDER; order ++, order_size <<= 1) {
+        if (n <= order_size) {
+            return order;
+        }
+    }
+    panic("getorder failed. %d\n", n);
+}
+
+// init_kmem_cache - initial a slab_cache cachep according to the obj with the size = objsize
+static void
+init_kmem_cache(kmem_cache_t *cachep, size_t objsize, size_t align) {
+    list_init(&(cachep->slabs_full));
+    list_init(&(cachep->slabs_notfull));
+
+    objsize = ROUNDUP(objsize, align);
+    cachep->objsize = objsize;
+    cachep->off_slab = (objsize >= (PGSIZE >> 3));
+
+    size_t left_over;
+    calculate_slab_order(cachep, objsize, align, cachep->off_slab, &left_over);
+
+    assert(cachep->num > 0);
+
+    size_t mgmt_size = slab_mgmt_size(cachep->num, align);
+
+    if (cachep->off_slab && left_over >= mgmt_size) {
+        cachep->off_slab = 0;
+    }
+
+    if (cachep->off_slab) {
+        cachep->offset = 0;
+        cachep->slab_cachep = slab_cache + (getorder(mgmt_size) - MIN_SIZE_ORDER);
+    }
+    else {
+        cachep->offset = mgmt_size;
+    }
+}
+
+static void *kmem_cache_alloc(kmem_cache_t *cachep);
+
+#define slab_bufctl(slabp)              \
+    ((kmem_bufctl_t*)(((slab_t *)(slabp)) + 1))
+
+// kmem_cache_slabmgmt - get the address of a slab according to page
+//                     - and initialize the slab according to cachep
+static slab_t *
+kmem_cache_slabmgmt(kmem_cache_t *cachep, struct Page *page) {
+    void *objp = page2kva(page);
+    slab_t *slabp;
+    if (cachep->off_slab) {
+        if ((slabp = kmem_cache_alloc(cachep->slab_cachep)) == NULL) {
+            return NULL;
+        }
+    }
+    else {
+        slabp = page2kva(page);
+    }
+    slabp->inuse = 0;
+    slabp->offset = cachep->offset;
+    slabp->s_mem = objp + cachep->offset;
+    return slabp;
+}
+
+#define SET_PAGE_CACHE(page, cachep)                                                \
+    do {                                                                            \
+        struct Page *__page = (struct Page *)(page);                                \
+        kmem_cache_t **__cachepp = (kmem_cache_t **)&(__page->page_link.next);      \
+        *__cachepp = (kmem_cache_t *)(cachep);                                      \
+    } while (0)
+
+#define SET_PAGE_SLAB(page, slabp)                                                  \
+    do {                                                                            \
+        struct Page *__page = (struct Page *)(page);                                \
+        slab_t **__cachepp = (slab_t **)&(__page->page_link.prev);                  \
+        *__cachepp = (slab_t *)(slabp);                                             \
+    } while (0)
+
+// kmem_cache_grow - allocate a new slab by calling alloc_pages
+//                 - set control area in the new slab
+static bool
+kmem_cache_grow(kmem_cache_t *cachep) {
+    struct Page *page = alloc_pages(1 << cachep->page_order);
+    if (page == NULL) {
+        goto failed;
+    }
+
+    slab_t *slabp;
+    if ((slabp = kmem_cache_slabmgmt(cachep, page)) == NULL) {
+        goto oops;
+    }
+
+    size_t order_size = (1 << cachep->page_order);
+    do {
+        //setup this page in the free list (see memlayout.h: struct page)???
+        SET_PAGE_CACHE(page, cachep);
+        SET_PAGE_SLAB(page, slabp);
+    //this page is used for slab
+        SetPageSlab(page);
+        page ++;
+    } while (-- order_size);
+
+    int i;
+    for (i = 0; i < cachep->num; i ++) {
+        slab_bufctl(slabp)[i] = i + 1;
+    }
+    slab_bufctl(slabp)[cachep->num - 1] = BUFCTL_END;
+    slabp->free = 0;
+
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        list_add(&(cachep->slabs_notfull), &(slabp->slab_link));
+    }
+    local_intr_restore(intr_flag);
+    return 1;
+
+oops:
+    free_pages(page, 1 << cachep->page_order);
+failed:
+    return 0;
+}
+
+// kmem_cache_alloc_one - allocate a obj in a slab
+static void * 
+kmem_cache_alloc_one(kmem_cache_t *cachep, slab_t *slabp) {
+    slabp->inuse ++;
+    void *objp = slabp->s_mem + slabp->free * cachep->objsize;
+    slabp->free = slab_bufctl(slabp)[slabp->free];
+
+    if (slabp->free == BUFCTL_END) {
+        list_del(&(slabp->slab_link));
+        list_add(&(cachep->slabs_full), &(slabp->slab_link));
+    }
+    return objp;
+}
+
+// kmem_cache_alloc - call kmem_cache_alloc_one function to allocate a obj
+//                  - if no free obj, try to allocate a slab
+static void *
+kmem_cache_alloc(kmem_cache_t *cachep) {
+    void *objp;
+    bool intr_flag;
+
+try_again:
+    local_intr_save(intr_flag);
+    if (list_empty(&(cachep->slabs_notfull))) {
+        goto alloc_new_slab;
+    }
+    slab_t *slabp = le2slab(list_next(&(cachep->slabs_notfull)), slab_link);
+    objp = kmem_cache_alloc_one(cachep, slabp);
+    local_intr_restore(intr_flag);
+    return objp;
+
+alloc_new_slab:
+    local_intr_restore(intr_flag);
+
+    if (kmem_cache_grow(cachep)) {
+        goto try_again;
+    }
+    return NULL;
+}
+
+// kmalloc - simple interface used by outside functions 
+//         - to allocate a free memory using kmem_cache_alloc function
+void *
+kmalloc(size_t size) {
+    assert(size > 0);
+    size_t order = getorder(size);
+    if (order > MAX_SIZE_ORDER) {
+        return NULL;
+    }
+    return kmem_cache_alloc(slab_cache + (order - MIN_SIZE_ORDER));
+}
+
+static void kmem_cache_free(kmem_cache_t *cachep, void *obj);
+
+// kmem_slab_destroy - call free_pages & kmem_cache_free to free a slab 
+static void
+kmem_slab_destroy(kmem_cache_t *cachep, slab_t *slabp) {
+    struct Page *page = kva2page(slabp->s_mem - slabp->offset);
+
+    struct Page *p = page;
+    size_t order_size = (1 << cachep->page_order);
+    do {
+        assert(PageSlab(p));
+        ClearPageSlab(p);
+        p ++;
+    } while (-- order_size);
+
+    free_pages(page, 1 << cachep->page_order);
+
+    if (cachep->off_slab) {
+        kmem_cache_free(cachep->slab_cachep, slabp);
+    }
+}
+
+// kmem_cache_free_one - free an obj in a slab
+//                     - if slab->inuse==0, then free the slab
+static void
+kmem_cache_free_one(kmem_cache_t *cachep, slab_t *slabp, void *objp) {
+    //should not use divide operator ???
+    size_t objnr = (objp - slabp->s_mem) / cachep->objsize;
+    slab_bufctl(slabp)[objnr] = slabp->free;
+    slabp->free = objnr;
+
+    slabp->inuse --;
+
+    if (slabp->inuse == 0) {
+        list_del(&(slabp->slab_link));
+        kmem_slab_destroy(cachep, slabp);
+    }
+    else if (slabp->inuse == cachep->num -1 ) {
+        list_del(&(slabp->slab_link));
+        list_add(&(cachep->slabs_notfull), &(slabp->slab_link));
+    }
+}
+
+#define GET_PAGE_CACHE(page)                                \
+    (kmem_cache_t *)((page)->page_link.next)
+
+#define GET_PAGE_SLAB(page)                                 \
+    (slab_t *)((page)->page_link.prev)
+
+// kmem_cache_free - call kmem_cache_free_one function to free an obj 
+static void
+kmem_cache_free(kmem_cache_t *cachep, void *objp) {
+    bool intr_flag;
+    struct Page *page = kva2page(objp);
+
+    if (!PageSlab(page)) {
+        panic("not a slab page %08x\n", objp);
+    }
+    local_intr_save(intr_flag);
+    {
+        kmem_cache_free_one(cachep, GET_PAGE_SLAB(page), objp);
+    }
+    local_intr_restore(intr_flag);
+}
+
+// kfree - simple interface used by ooutside functions to free an obj
+void
+kfree(void *objp) {
+    kmem_cache_free(GET_PAGE_CACHE(kva2page(objp)), objp);
+}
+
+static inline void
+check_slab_empty(void) {
+    int i;
+    for (i = 0; i < SLAB_CACHE_NUM; i ++) {
+        kmem_cache_t *cachep = slab_cache + i;
+        assert(list_empty(&(cachep->slabs_full)));
+        assert(list_empty(&(cachep->slabs_notfull)));
+    }
+}
+
+void
+check_slab(void) {
+    int i;
+    void *v0, *v1;
+
+    size_t nr_free_pages_store = nr_free_pages();
+    size_t slab_allocated_store = slab_allocated();
+
+    /* slab must be empty now */
+    check_slab_empty();
+    assert(slab_allocated() == 0);
+
+    kmem_cache_t *cachep0, *cachep1;
+
+    cachep0 = slab_cache;
+    assert(cachep0->objsize == 32 && cachep0->num > 1 && !cachep0->off_slab);
+    assert((v0 = kmalloc(16)) != NULL);
+
+    slab_t *slabp0, *slabp1;
+
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    slabp0 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+    assert(slabp0->inuse == 1 && list_next(&(slabp0->slab_link)) == &(cachep0->slabs_notfull));
+
+    struct Page *p0, *p1;
+    size_t order_size;
+
+
+    p0 = kva2page(slabp0->s_mem - slabp0->offset), p1 = p0;
+    order_size = (1 << cachep0->page_order);
+    for (i = 0; i < cachep0->page_order; i ++, p1 ++) {
+        assert(PageSlab(p1));
+        assert(GET_PAGE_CACHE(p1) == cachep0 && GET_PAGE_SLAB(p1) == slabp0);
+    }
+
+    assert(v0 == slabp0->s_mem);
+    assert((v1 = kmalloc(16)) != NULL && v1 == v0 + 32);
+
+    kfree(v0);
+    assert(slabp0->free == 0);
+    kfree(v1);
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    for (i = 0; i < cachep0->page_order; i ++, p0 ++) {
+        assert(!PageSlab(p0));
+    }
+
+
+    v0 = kmalloc(16);
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    slabp0 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+
+    for (i = 0; i < cachep0->num - 1; i ++) {
+        kmalloc(16);
+    }
+
+    assert(slabp0->inuse == cachep0->num);
+    assert(list_next(&(cachep0->slabs_full)) == &(slabp0->slab_link));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    v1 = kmalloc(16);
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    slabp1 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+
+    kfree(v0);
+    assert(list_empty(&(cachep0->slabs_full)));
+    assert(list_next(&(slabp0->slab_link)) == &(slabp1->slab_link)
+            || list_next(&(slabp1->slab_link)) == &(slabp0->slab_link));
+
+    kfree(v1);
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    assert(list_next(&(cachep0->slabs_notfull)) == &(slabp0->slab_link));
+    assert(list_next(&(slabp0->slab_link)) == &(cachep0->slabs_notfull));
+
+    v1 = kmalloc(16);
+    assert(v1 == v0);
+    assert(list_next(&(cachep0->slabs_full)) == &(slabp0->slab_link));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    for (i = 0; i < cachep0->num; i ++) {
+        kfree(v1 + i * cachep0->objsize);
+    }
+
+    assert(list_empty(&(cachep0->slabs_full)));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    cachep0 = slab_cache;
+
+    bool has_off_slab = 0;
+    for (i = 0; i < SLAB_CACHE_NUM; i ++, cachep0 ++) {
+        if (cachep0->off_slab) {
+            has_off_slab = 1;
+            cachep1 = cachep0->slab_cachep;
+            if (!cachep1->off_slab) {
+                break;
+            }
+        }
+    }
+
+    if (!has_off_slab) {
+        goto check_pass;
+    }
+
+    assert(cachep0->off_slab && !cachep1->off_slab);
+    assert(cachep1 < cachep0);
+
+    assert(list_empty(&(cachep0->slabs_full)));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    assert(list_empty(&(cachep1->slabs_full)));
+    assert(list_empty(&(cachep1->slabs_notfull)));
+
+    v0 = kmalloc(cachep0->objsize);
+    p0 = kva2page(v0);
+    assert(page2kva(p0) == v0);
+
+    if (cachep0->num == 1) {
+        assert(!list_empty(&(cachep0->slabs_full)));
+        slabp0 = le2slab(list_next(&(cachep0->slabs_full)), slab_link);
+    }
+    else {
+        assert(!list_empty(&(cachep0->slabs_notfull)));
+        slabp0 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+    }
+
+    assert(slabp0 != NULL);
+
+    if (cachep1->num == 1) {
+        assert(!list_empty(&(cachep1->slabs_full)));
+        slabp1 = le2slab(list_next(&(cachep1->slabs_full)), slab_link);
+    }
+    else {
+        assert(!list_empty(&(cachep1->slabs_notfull)));
+        slabp1 = le2slab(list_next(&(cachep1->slabs_notfull)), slab_link);
+    }
+
+    assert(slabp1 != NULL);
+
+    order_size = (1 << cachep0->page_order);
+    for (i = 0; i < order_size; i ++, p0 ++) {
+        assert(PageSlab(p0));
+        assert(GET_PAGE_CACHE(p0) == cachep0 && GET_PAGE_SLAB(p0) == slabp0);
+    }
+
+    kfree(v0);
+
+check_pass:
+
+    check_rb_tree();
+    check_slab_empty();
+    assert(slab_allocated() == 0);
+    assert(nr_free_pages_store == nr_free_pages());
+    assert(slab_allocated_store == slab_allocated());
+
+    cprintf("check_slab() succeeded!\n");
+}
+
diff --git a/code/lab7/kern/mm/kmalloc.h b/code/lab7/kern/mm/kmalloc.h
new file mode 100644
index 0000000..8617975
--- /dev/null
+++ b/code/lab7/kern/mm/kmalloc.h
@@ -0,0 +1,16 @@
+#ifndef __KERN_MM_SLAB_H__
+#define __KERN_MM_SLAB_H__
+
+#include <defs.h>
+
+#define KMALLOC_MAX_ORDER       10
+
+void kmalloc_init(void);
+
+void *kmalloc(size_t n);
+void kfree(void *objp);
+
+size_t kallocated(void);
+
+#endif /* !__KERN_MM_SLAB_H__ */
+
diff --git a/code/lab7/kern/mm/memlayout.h b/code/lab7/kern/mm/memlayout.h
new file mode 100644
index 0000000..d84bf93
--- /dev/null
+++ b/code/lab7/kern/mm/memlayout.h
@@ -0,0 +1,169 @@
+#ifndef __KERN_MM_MEMLAYOUT_H__
+#define __KERN_MM_MEMLAYOUT_H__
+
+/* This file contains the definitions for memory management in our OS. */
+
+/* global segment number */
+#define SEG_KTEXT   1
+#define SEG_KDATA   2
+#define SEG_UTEXT   3
+#define SEG_UDATA   4
+#define SEG_TSS     5
+
+/* global descrptor numbers */
+#define GD_KTEXT    ((SEG_KTEXT) << 3)      // kernel text
+#define GD_KDATA    ((SEG_KDATA) << 3)      // kernel data
+#define GD_UTEXT    ((SEG_UTEXT) << 3)      // user text
+#define GD_UDATA    ((SEG_UDATA) << 3)      // user data
+#define GD_TSS      ((SEG_TSS) << 3)        // task segment selector
+
+#define DPL_KERNEL  (0)
+#define DPL_USER    (3)
+
+#define KERNEL_CS   ((GD_KTEXT) | DPL_KERNEL)
+#define KERNEL_DS   ((GD_KDATA) | DPL_KERNEL)
+#define USER_CS     ((GD_UTEXT) | DPL_USER)
+#define USER_DS     ((GD_UDATA) | DPL_USER)
+
+/* *
+ * Virtual memory map:                                          Permissions
+ *                                                              kernel/user
+ *
+ *     4G ------------------> +---------------------------------+
+ *                            |                                 |
+ *                            |         Empty Memory (*)        |
+ *                            |                                 |
+ *                            +---------------------------------+ 0xFB000000
+ *                            |   Cur. Page Table (Kern, RW)    | RW/-- PTSIZE
+ *     VPT -----------------> +---------------------------------+ 0xFAC00000
+ *                            |        Invalid Memory (*)       | --/--
+ *     KERNTOP -------------> +---------------------------------+ 0xF8000000
+ *                            |                                 |
+ *                            |    Remapped Physical Memory     | RW/-- KMEMSIZE
+ *                            |                                 |
+ *     KERNBASE ------------> +---------------------------------+ 0xC0000000
+ *                            |        Invalid Memory (*)       | --/--
+ *     USERTOP -------------> +---------------------------------+ 0xB0000000
+ *                            |           User stack            |
+ *                            +---------------------------------+
+ *                            |                                 |
+ *                            :                                 :
+ *                            |         ~~~~~~~~~~~~~~~~        |
+ *                            :                                 :
+ *                            |                                 |
+ *                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ *                            |       User Program & Heap       |
+ *     UTEXT ---------------> +---------------------------------+ 0x00800000
+ *                            |        Invalid Memory (*)       | --/--
+ *                            |  - - - - - - - - - - - - - - -  |
+ *                            |    User STAB Data (optional)    |
+ *     USERBASE, USTAB------> +---------------------------------+ 0x00200000
+ *                            |        Invalid Memory (*)       | --/--
+ *     0 -------------------> +---------------------------------+ 0x00000000
+ * (*) Note: The kernel ensures that "Invalid Memory" is *never* mapped.
+ *     "Empty Memory" is normally unmapped, but user programs may map pages
+ *     there if desired.
+ *
+ * */
+
+/* All physical memory mapped at this address */
+#define KERNBASE            0xC0000000
+#define KMEMSIZE            0x38000000                  // the maximum amount of physical memory
+#define KERNTOP             (KERNBASE + KMEMSIZE)
+
+/* *
+ * Virtual page table. Entry PDX[VPT] in the PD (Page Directory) contains
+ * a pointer to the page directory itself, thereby turning the PD into a page
+ * table, which maps all the PTEs (Page Table Entry) containing the page mappings
+ * for the entire virtual address space into that 4 Meg region starting at VPT.
+ * */
+#define VPT                 0xFAC00000
+
+#define KSTACKPAGE          2                           // # of pages in kernel stack
+#define KSTACKSIZE          (KSTACKPAGE * PGSIZE)       // sizeof kernel stack
+
+#define USERTOP             0xB0000000
+#define USTACKTOP           USERTOP
+#define USTACKPAGE          256                         // # of pages in user stack
+#define USTACKSIZE          (USTACKPAGE * PGSIZE)       // sizeof user stack
+
+#define USERBASE            0x00200000
+#define UTEXT               0x00800000                  // where user programs generally begin
+#define USTAB               USERBASE                    // the location of the user STABS data structure
+
+#define USER_ACCESS(start, end)                     \
+(USERBASE <= (start) && (start) < (end) && (end) <= USERTOP)
+
+#define KERN_ACCESS(start, end)                     \
+(KERNBASE <= (start) && (start) < (end) && (end) <= KERNTOP)
+
+#ifndef __ASSEMBLER__
+
+#include <defs.h>
+#include <atomic.h>
+#include <list.h>
+
+typedef uintptr_t pte_t;
+typedef uintptr_t pde_t;
+typedef pte_t swap_entry_t; //the pte can also be a swap entry
+
+// some constants for bios interrupt 15h AX = 0xE820
+#define E820MAX             20      // number of entries in E820MAP
+#define E820_ARM            1       // address range memory
+#define E820_ARR            2       // address range reserved
+
+struct e820map {
+    int nr_map;
+    struct {
+        uint64_t addr;
+        uint64_t size;
+        uint32_t type;
+    } __attribute__((packed)) map[E820MAX];
+};
+
+/* *
+ * struct Page - Page descriptor structures. Each Page describes one
+ * physical page. In kern/mm/pmm.h, you can find lots of useful functions
+ * that convert Page to other data types, such as phyical address.
+ * */
+struct Page {
+    atomic_t ref;                   // page frame's reference counter
+    uint32_t flags;                 // array of flags that describe the status of the page frame
+    unsigned int property;          // used in buddy system, stores the order (the X in 2^X) of the continuous memory block
+    int zone_num;                   // used in buddy system, the No. of zone which the page belongs to
+    list_entry_t page_link;         // free list link
+    list_entry_t pra_page_link;     // used for pra (page replace algorithm)
+    uintptr_t pra_vaddr;            // used for pra (page replace algorithm)
+};
+
+/* Flags describing the status of a page frame */
+#define PG_reserved                 0       // the page descriptor is reserved for kernel or unusable
+#define PG_property                 1       // the member 'property' is valid
+
+#define SetPageReserved(page)       set_bit(PG_reserved, &((page)->flags))
+#define ClearPageReserved(page)     clear_bit(PG_reserved, &((page)->flags))
+#define PageReserved(page)          test_bit(PG_reserved, &((page)->flags))
+#define SetPageProperty(page)       set_bit(PG_property, &((page)->flags))
+#define ClearPageProperty(page)     clear_bit(PG_property, &((page)->flags))
+#define PageProperty(page)          test_bit(PG_property, &((page)->flags))
+
+// convert list entry to page
+#define le2page(le, member)                 \
+    to_struct((le), struct Page, member)
+
+/* free_area_t - maintains a doubly linked list to record free (unused) pages */
+typedef struct {
+    list_entry_t free_list;         // the list header
+    unsigned int nr_free;           // # of free pages in this free list
+} free_area_t;
+
+/* for slab style kmalloc */
+#define PG_slab                     2       // page frame is included in a slab
+#define SetPageSlab(page)           set_bit(PG_slab, &((page)->flags))
+#define ClearPageSlab(page)         clear_bit(PG_slab, &((page)->flags))
+#define PageSlab(page)              test_bit(PG_slab, &((page)->flags))
+
+#endif /* !__ASSEMBLER__ */
+
+#endif /* !__KERN_MM_MEMLAYOUT_H__ */
+
diff --git a/code/lab7/kern/mm/mmu.h b/code/lab7/kern/mm/mmu.h
new file mode 100644
index 0000000..3858ad9
--- /dev/null
+++ b/code/lab7/kern/mm/mmu.h
@@ -0,0 +1,272 @@
+#ifndef __KERN_MM_MMU_H__
+#define __KERN_MM_MMU_H__
+
+/* Eflags register */
+#define FL_CF           0x00000001  // Carry Flag
+#define FL_PF           0x00000004  // Parity Flag
+#define FL_AF           0x00000010  // Auxiliary carry Flag
+#define FL_ZF           0x00000040  // Zero Flag
+#define FL_SF           0x00000080  // Sign Flag
+#define FL_TF           0x00000100  // Trap Flag
+#define FL_IF           0x00000200  // Interrupt Flag
+#define FL_DF           0x00000400  // Direction Flag
+#define FL_OF           0x00000800  // Overflow Flag
+#define FL_IOPL_MASK    0x00003000  // I/O Privilege Level bitmask
+#define FL_IOPL_0       0x00000000  //   IOPL == 0
+#define FL_IOPL_1       0x00001000  //   IOPL == 1
+#define FL_IOPL_2       0x00002000  //   IOPL == 2
+#define FL_IOPL_3       0x00003000  //   IOPL == 3
+#define FL_NT           0x00004000  // Nested Task
+#define FL_RF           0x00010000  // Resume Flag
+#define FL_VM           0x00020000  // Virtual 8086 mode
+#define FL_AC           0x00040000  // Alignment Check
+#define FL_VIF          0x00080000  // Virtual Interrupt Flag
+#define FL_VIP          0x00100000  // Virtual Interrupt Pending
+#define FL_ID           0x00200000  // ID flag
+
+/* Application segment type bits */
+#define STA_X           0x8         // Executable segment
+#define STA_E           0x4         // Expand down (non-executable segments)
+#define STA_C           0x4         // Conforming code segment (executable only)
+#define STA_W           0x2         // Writeable (non-executable segments)
+#define STA_R           0x2         // Readable (executable segments)
+#define STA_A           0x1         // Accessed
+
+/* System segment type bits */
+#define STS_T16A        0x1         // Available 16-bit TSS
+#define STS_LDT         0x2         // Local Descriptor Table
+#define STS_T16B        0x3         // Busy 16-bit TSS
+#define STS_CG16        0x4         // 16-bit Call Gate
+#define STS_TG          0x5         // Task Gate / Coum Transmitions
+#define STS_IG16        0x6         // 16-bit Interrupt Gate
+#define STS_TG16        0x7         // 16-bit Trap Gate
+#define STS_T32A        0x9         // Available 32-bit TSS
+#define STS_T32B        0xB         // Busy 32-bit TSS
+#define STS_CG32        0xC         // 32-bit Call Gate
+#define STS_IG32        0xE         // 32-bit Interrupt Gate
+#define STS_TG32        0xF         // 32-bit Trap Gate
+
+#ifdef __ASSEMBLER__
+
+#define SEG_NULL                                                \
+    .word 0, 0;                                                 \
+    .byte 0, 0, 0, 0
+
+#define SEG_ASM(type,base,lim)                                  \
+    .word (((lim) >> 12) & 0xffff), ((base) & 0xffff);          \
+    .byte (((base) >> 16) & 0xff), (0x90 | (type)),             \
+        (0xC0 | (((lim) >> 28) & 0xf)), (((base) >> 24) & 0xff)
+
+#else /* not __ASSEMBLER__ */
+
+#include <defs.h>
+
+/* Gate descriptors for interrupts and traps */
+struct gatedesc {
+    unsigned gd_off_15_0 : 16;      // low 16 bits of offset in segment
+    unsigned gd_ss : 16;            // segment selector
+    unsigned gd_args : 5;           // # args, 0 for interrupt/trap gates
+    unsigned gd_rsv1 : 3;           // reserved(should be zero I guess)
+    unsigned gd_type : 4;           // type(STS_{TG,IG32,TG32})
+    unsigned gd_s : 1;              // must be 0 (system)
+    unsigned gd_dpl : 2;            // descriptor(meaning new) privilege level
+    unsigned gd_p : 1;              // Present
+    unsigned gd_off_31_16 : 16;     // high bits of offset in segment
+};
+
+/* *
+ * Set up a normal interrupt/trap gate descriptor
+ *   - istrap: 1 for a trap (= exception) gate, 0 for an interrupt gate
+ *   - sel: Code segment selector for interrupt/trap handler
+ *   - off: Offset in code segment for interrupt/trap handler
+ *   - dpl: Descriptor Privilege Level - the privilege level required
+ *          for software to invoke this interrupt/trap gate explicitly
+ *          using an int instruction.
+ * */
+#define SETGATE(gate, istrap, sel, off, dpl) {               \
+        (gate).gd_off_15_0 = (uint32_t)(off) & 0xffff;      \
+        (gate).gd_ss = (sel);                                \
+        (gate).gd_args = 0;                                 \
+        (gate).gd_rsv1 = 0;                                 \
+        (gate).gd_type = (istrap) ? STS_TG32 : STS_IG32;    \
+        (gate).gd_s = 0;                                    \
+        (gate).gd_dpl = (dpl);                              \
+        (gate).gd_p = 1;                                    \
+        (gate).gd_off_31_16 = (uint32_t)(off) >> 16;        \
+    }
+
+/* Set up a call gate descriptor */
+#define SETCALLGATE(gate, ss, off, dpl) {                   \
+        (gate).gd_off_15_0 = (uint32_t)(off) & 0xffff;      \
+        (gate).gd_ss = (ss);                                \
+        (gate).gd_args = 0;                                 \
+        (gate).gd_rsv1 = 0;                                 \
+        (gate).gd_type = STS_CG32;                          \
+        (gate).gd_s = 0;                                    \
+        (gate).gd_dpl = (dpl);                              \
+        (gate).gd_p = 1;                                    \
+        (gate).gd_off_31_16 = (uint32_t)(off) >> 16;        \
+    }
+
+/* segment descriptors */
+struct segdesc {
+    unsigned sd_lim_15_0 : 16;      // low bits of segment limit
+    unsigned sd_base_15_0 : 16;     // low bits of segment base address
+    unsigned sd_base_23_16 : 8;     // middle bits of segment base address
+    unsigned sd_type : 4;           // segment type (see STS_ constants)
+    unsigned sd_s : 1;              // 0 = system, 1 = application
+    unsigned sd_dpl : 2;            // descriptor Privilege Level
+    unsigned sd_p : 1;              // present
+    unsigned sd_lim_19_16 : 4;      // high bits of segment limit
+    unsigned sd_avl : 1;            // unused (available for software use)
+    unsigned sd_rsv1 : 1;           // reserved
+    unsigned sd_db : 1;             // 0 = 16-bit segment, 1 = 32-bit segment
+    unsigned sd_g : 1;              // granularity: limit scaled by 4K when set
+    unsigned sd_base_31_24 : 8;     // high bits of segment base address
+};
+
+#define SEG_NULL                                            \
+    (struct segdesc) {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+
+#define SEG(type, base, lim, dpl)                           \
+    (struct segdesc) {                                      \
+        ((lim) >> 12) & 0xffff, (base) & 0xffff,            \
+        ((base) >> 16) & 0xff, type, 1, dpl, 1,             \
+        (unsigned)(lim) >> 28, 0, 0, 1, 1,                  \
+        (unsigned) (base) >> 24                             \
+    }
+
+#define SEGTSS(type, base, lim, dpl)                        \
+    (struct segdesc) {                                      \
+        (lim) & 0xffff, (base) & 0xffff,                    \
+        ((base) >> 16) & 0xff, type, 0, dpl, 1,             \
+        (unsigned) (lim) >> 16, 0, 0, 1, 0,                 \
+        (unsigned) (base) >> 24                             \
+    }
+
+/* task state segment format (as described by the Pentium architecture book) */
+struct taskstate {
+    uint32_t ts_link;       // old ts selector
+    uintptr_t ts_esp0;      // stack pointers and segment selectors
+    uint16_t ts_ss0;        // after an increase in privilege level
+    uint16_t ts_padding1;
+    uintptr_t ts_esp1;
+    uint16_t ts_ss1;
+    uint16_t ts_padding2;
+    uintptr_t ts_esp2;
+    uint16_t ts_ss2;
+    uint16_t ts_padding3;
+    uintptr_t ts_cr3;       // page directory base
+    uintptr_t ts_eip;       // saved state from last task switch
+    uint32_t ts_eflags;
+    uint32_t ts_eax;        // more saved state (registers)
+    uint32_t ts_ecx;
+    uint32_t ts_edx;
+    uint32_t ts_ebx;
+    uintptr_t ts_esp;
+    uintptr_t ts_ebp;
+    uint32_t ts_esi;
+    uint32_t ts_edi;
+    uint16_t ts_es;         // even more saved state (segment selectors)
+    uint16_t ts_padding4;
+    uint16_t ts_cs;
+    uint16_t ts_padding5;
+    uint16_t ts_ss;
+    uint16_t ts_padding6;
+    uint16_t ts_ds;
+    uint16_t ts_padding7;
+    uint16_t ts_fs;
+    uint16_t ts_padding8;
+    uint16_t ts_gs;
+    uint16_t ts_padding9;
+    uint16_t ts_ldt;
+    uint16_t ts_padding10;
+    uint16_t ts_t;          // trap on task switch
+    uint16_t ts_iomb;       // i/o map base address
+} __attribute__((packed));
+
+#endif /* !__ASSEMBLER__ */
+
+// A linear address 'la' has a three-part structure as follows:
+//
+// +--------10------+-------10-------+---------12----------+
+// | Page Directory |   Page Table   | Offset within Page  |
+// |      Index     |     Index      |                     |
+// +----------------+----------------+---------------------+
+//  \--- PDX(la) --/ \--- PTX(la) --/ \---- PGOFF(la) ----/
+//  \----------- PPN(la) -----------/
+//
+// The PDX, PTX, PGOFF, and PPN macros decompose linear addresses as shown.
+// To construct a linear address la from PDX(la), PTX(la), and PGOFF(la),
+// use PGADDR(PDX(la), PTX(la), PGOFF(la)).
+
+// page directory index
+#define PDX(la) ((((uintptr_t)(la)) >> PDXSHIFT) & 0x3FF)
+
+// page table index
+#define PTX(la) ((((uintptr_t)(la)) >> PTXSHIFT) & 0x3FF)
+
+// page number field of address
+#define PPN(la) (((uintptr_t)(la)) >> PTXSHIFT)
+
+// offset in page
+#define PGOFF(la) (((uintptr_t)(la)) & 0xFFF)
+
+// construct linear address from indexes and offset
+#define PGADDR(d, t, o) ((uintptr_t)((d) << PDXSHIFT | (t) << PTXSHIFT | (o)))
+
+// address in page table or page directory entry
+#define PTE_ADDR(pte)   ((uintptr_t)(pte) & ~0xFFF)
+#define PDE_ADDR(pde)   PTE_ADDR(pde)
+
+/* page directory and page table constants */
+#define NPDEENTRY       1024                    // page directory entries per page directory
+#define NPTEENTRY       1024                    // page table entries per page table
+
+#define PGSIZE          4096                    // bytes mapped by a page
+#define PGSHIFT         12                      // log2(PGSIZE)
+#define PTSIZE          (PGSIZE * NPTEENTRY)    // bytes mapped by a page directory entry
+#define PTSHIFT         22                      // log2(PTSIZE)
+
+#define PTXSHIFT        12                      // offset of PTX in a linear address
+#define PDXSHIFT        22                      // offset of PDX in a linear address
+
+/* page table/directory entry flags */
+#define PTE_P           0x001                   // Present
+#define PTE_W           0x002                   // Writeable
+#define PTE_U           0x004                   // User
+#define PTE_PWT         0x008                   // Write-Through
+#define PTE_PCD         0x010                   // Cache-Disable
+#define PTE_A           0x020                   // Accessed
+#define PTE_D           0x040                   // Dirty
+#define PTE_PS          0x080                   // Page Size
+#define PTE_MBZ         0x180                   // Bits must be zero
+#define PTE_AVAIL       0xE00                   // Available for software use
+                                                // The PTE_AVAIL bits aren't used by the kernel or interpreted by the
+                                                // hardware, so user processes are allowed to set them arbitrarily.
+
+#define PTE_USER        (PTE_U | PTE_W | PTE_P)
+
+/* Control Register flags */
+#define CR0_PE          0x00000001              // Protection Enable
+#define CR0_MP          0x00000002              // Monitor coProcessor
+#define CR0_EM          0x00000004              // Emulation
+#define CR0_TS          0x00000008              // Task Switched
+#define CR0_ET          0x00000010              // Extension Type
+#define CR0_NE          0x00000020              // Numeric Errror
+#define CR0_WP          0x00010000              // Write Protect
+#define CR0_AM          0x00040000              // Alignment Mask
+#define CR0_NW          0x20000000              // Not Writethrough
+#define CR0_CD          0x40000000              // Cache Disable
+#define CR0_PG          0x80000000              // Paging
+
+#define CR4_PCE         0x00000100              // Performance counter enable
+#define CR4_MCE         0x00000040              // Machine Check Enable
+#define CR4_PSE         0x00000010              // Page Size Extensions
+#define CR4_DE          0x00000008              // Debugging Extensions
+#define CR4_TSD         0x00000004              // Time Stamp Disable
+#define CR4_PVI         0x00000002              // Protected-Mode Virtual Interrupts
+#define CR4_VME         0x00000001              // V86 Mode Extensions
+
+#endif /* !__KERN_MM_MMU_H__ */
+
diff --git a/code/lab7/kern/mm/pmm.c b/code/lab7/kern/mm/pmm.c
new file mode 100644
index 0000000..cc3f28c
--- /dev/null
+++ b/code/lab7/kern/mm/pmm.c
@@ -0,0 +1,759 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <default_pmm.h>
+#include <sync.h>
+#include <error.h>
+#include <swap.h>
+#include <vmm.h>
+#include <kmalloc.h>
+
+/* *
+ * Task State Segment:
+ *
+ * The TSS may reside anywhere in memory. A special segment register called
+ * the Task Register (TR) holds a segment selector that points a valid TSS
+ * segment descriptor which resides in the GDT. Therefore, to use a TSS
+ * the following must be done in function gdt_init:
+ *   - create a TSS descriptor entry in GDT
+ *   - add enough information to the TSS in memory as needed
+ *   - load the TR register with a segment selector for that segment
+ *
+ * There are several fileds in TSS for specifying the new stack pointer when a
+ * privilege level change happens. But only the fields SS0 and ESP0 are useful
+ * in our os kernel.
+ *
+ * The field SS0 contains the stack segment selector for CPL = 0, and the ESP0
+ * contains the new ESP value for CPL = 0. When an interrupt happens in protected
+ * mode, the x86 CPU will look in the TSS for SS0 and ESP0 and load their value
+ * into SS and ESP respectively.
+ * */
+static struct taskstate ts = {0};
+
+// virtual address of physicall page array
+struct Page *pages;
+// amount of physical memory (in pages)
+size_t npage = 0;
+
+// virtual address of boot-time page directory
+pde_t *boot_pgdir = NULL;
+// physical address of boot-time page directory
+uintptr_t boot_cr3;
+
+// physical memory management
+const struct pmm_manager *pmm_manager;
+
+/* *
+ * The page directory entry corresponding to the virtual address range
+ * [VPT, VPT + PTSIZE) points to the page directory itself. Thus, the page
+ * directory is treated as a page table as well as a page directory.
+ *
+ * One result of treating the page directory as a page table is that all PTEs
+ * can be accessed though a "virtual page table" at virtual address VPT. And the
+ * PTE for number n is stored in vpt[n].
+ *
+ * A second consequence is that the contents of the current page directory will
+ * always available at virtual address PGADDR(PDX(VPT), PDX(VPT), 0), to which
+ * vpd is set bellow.
+ * */
+pte_t * const vpt = (pte_t *)VPT;
+pde_t * const vpd = (pde_t *)PGADDR(PDX(VPT), PDX(VPT), 0);
+
+/* *
+ * Global Descriptor Table:
+ *
+ * The kernel and user segments are identical (except for the DPL). To load
+ * the %ss register, the CPL must equal the DPL. Thus, we must duplicate the
+ * segments for the user and the kernel. Defined as follows:
+ *   - 0x0 :  unused (always faults -- for trapping NULL far pointers)
+ *   - 0x8 :  kernel code segment
+ *   - 0x10:  kernel data segment
+ *   - 0x18:  user code segment
+ *   - 0x20:  user data segment
+ *   - 0x28:  defined for tss, initialized in gdt_init
+ * */
+static struct segdesc gdt[] = {
+    SEG_NULL,
+    [SEG_KTEXT] = SEG(STA_X | STA_R, 0x0, 0xFFFFFFFF, DPL_KERNEL),
+    [SEG_KDATA] = SEG(STA_W, 0x0, 0xFFFFFFFF, DPL_KERNEL),
+    [SEG_UTEXT] = SEG(STA_X | STA_R, 0x0, 0xFFFFFFFF, DPL_USER),
+    [SEG_UDATA] = SEG(STA_W, 0x0, 0xFFFFFFFF, DPL_USER),
+    [SEG_TSS]   = SEG_NULL,
+};
+
+static struct pseudodesc gdt_pd = {
+    sizeof(gdt) - 1, (uintptr_t)gdt
+};
+
+static void check_alloc_page(void);
+static void check_pgdir(void);
+static void check_boot_pgdir(void);
+
+/* *
+ * lgdt - load the global descriptor table register and reset the
+ * data/code segement registers for kernel.
+ * */
+static inline void
+lgdt(struct pseudodesc *pd) {
+    asm volatile ("lgdt (%0)" :: "r" (pd));
+    asm volatile ("movw %%ax, %%gs" :: "a" (USER_DS));
+    asm volatile ("movw %%ax, %%fs" :: "a" (USER_DS));
+    asm volatile ("movw %%ax, %%es" :: "a" (KERNEL_DS));
+    asm volatile ("movw %%ax, %%ds" :: "a" (KERNEL_DS));
+    asm volatile ("movw %%ax, %%ss" :: "a" (KERNEL_DS));
+    // reload cs
+    asm volatile ("ljmp %0, $1f\n 1:\n" :: "i" (KERNEL_CS));
+}
+
+/* *
+ * load_esp0 - change the ESP0 in default task state segment,
+ * so that we can use different kernel stack when we trap frame
+ * user to kernel.
+ * */
+void
+load_esp0(uintptr_t esp0) {
+    ts.ts_esp0 = esp0;
+}
+
+/* gdt_init - initialize the default GDT and TSS */
+static void
+gdt_init(void) {
+    // set boot kernel stack and default SS0
+    load_esp0((uintptr_t)bootstacktop);
+    ts.ts_ss0 = KERNEL_DS;
+
+    // initialize the TSS filed of the gdt
+    gdt[SEG_TSS] = SEGTSS(STS_T32A, (uintptr_t)&ts, sizeof(ts), DPL_KERNEL);
+
+    // reload all segment registers
+    lgdt(&gdt_pd);
+
+    // load the TSS
+    ltr(GD_TSS);
+}
+
+//init_pmm_manager - initialize a pmm_manager instance
+static void
+init_pmm_manager(void) {
+    pmm_manager = &default_pmm_manager;
+    cprintf("memory management: %s\n", pmm_manager->name);
+    pmm_manager->init();
+}
+
+//init_memmap - call pmm->init_memmap to build Page struct for free memory  
+static void
+init_memmap(struct Page *base, size_t n) {
+    pmm_manager->init_memmap(base, n);
+}
+
+//alloc_pages - call pmm->alloc_pages to allocate a continuous n*PAGESIZE memory 
+struct Page *
+alloc_pages(size_t n) {
+    struct Page *page=NULL;
+    bool intr_flag;
+    
+    while (1)
+    {
+         local_intr_save(intr_flag);
+         {
+              page = pmm_manager->alloc_pages(n);
+         }
+         local_intr_restore(intr_flag);
+
+         if (page != NULL || n > 1 || swap_init_ok == 0) break;
+         
+         extern struct mm_struct *check_mm_struct;
+         //cprintf("page %x, call swap_out in alloc_pages %d\n",page, n);
+         swap_out(check_mm_struct, n, 0);
+    }
+    //cprintf("n %d,get page %x, No %d in alloc_pages\n",n,page,(page-pages));
+    return page;
+}
+
+//free_pages - call pmm->free_pages to free a continuous n*PAGESIZE memory 
+void
+free_pages(struct Page *base, size_t n) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        pmm_manager->free_pages(base, n);
+    }
+    local_intr_restore(intr_flag);
+}
+
+//nr_free_pages - call pmm->nr_free_pages to get the size (nr*PAGESIZE) 
+//of current free memory
+size_t
+nr_free_pages(void) {
+    size_t ret;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        ret = pmm_manager->nr_free_pages();
+    }
+    local_intr_restore(intr_flag);
+    return ret;
+}
+
+/* pmm_init - initialize the physical memory management */
+static void
+page_init(void) {
+    struct e820map *memmap = (struct e820map *)(0x8000 + KERNBASE);
+    uint64_t maxpa = 0;
+
+    cprintf("e820map:\n");
+    int i;
+    for (i = 0; i < memmap->nr_map; i ++) {
+        uint64_t begin = memmap->map[i].addr, end = begin + memmap->map[i].size;
+        cprintf("  memory: %08llx, [%08llx, %08llx], type = %d.\n",
+                memmap->map[i].size, begin, end - 1, memmap->map[i].type);
+        if (memmap->map[i].type == E820_ARM) {
+            if (maxpa < end && begin < KMEMSIZE) {
+                maxpa = end;
+            }
+        }
+    }
+    if (maxpa > KMEMSIZE) {
+        maxpa = KMEMSIZE;
+    }
+
+    extern char end[];
+
+    npage = maxpa / PGSIZE;
+    pages = (struct Page *)ROUNDUP((void *)end, PGSIZE);
+
+    for (i = 0; i < npage; i ++) {
+        SetPageReserved(pages + i);
+    }
+
+    uintptr_t freemem = PADDR((uintptr_t)pages + sizeof(struct Page) * npage);
+
+    for (i = 0; i < memmap->nr_map; i ++) {
+        uint64_t begin = memmap->map[i].addr, end = begin + memmap->map[i].size;
+        if (memmap->map[i].type == E820_ARM) {
+            if (begin < freemem) {
+                begin = freemem;
+            }
+            if (end > KMEMSIZE) {
+                end = KMEMSIZE;
+            }
+            if (begin < end) {
+                begin = ROUNDUP(begin, PGSIZE);
+                end = ROUNDDOWN(end, PGSIZE);
+                if (begin < end) {
+                    init_memmap(pa2page(begin), (end - begin) / PGSIZE);
+                }
+            }
+        }
+    }
+}
+
+static void
+enable_paging(void) {
+    lcr3(boot_cr3);
+
+    // turn on paging
+    uint32_t cr0 = rcr0();
+    cr0 |= CR0_PE | CR0_PG | CR0_AM | CR0_WP | CR0_NE | CR0_TS | CR0_EM | CR0_MP;
+    cr0 &= ~(CR0_TS | CR0_EM);
+    lcr0(cr0);
+}
+
+//boot_map_segment - setup&enable the paging mechanism
+// parameters
+//  la:   linear address of this memory need to map (after x86 segment map)
+//  size: memory size
+//  pa:   physical address of this memory
+//  perm: permission of this memory  
+static void
+boot_map_segment(pde_t *pgdir, uintptr_t la, size_t size, uintptr_t pa, uint32_t perm) {
+    assert(PGOFF(la) == PGOFF(pa));
+    size_t n = ROUNDUP(size + PGOFF(la), PGSIZE) / PGSIZE;
+    la = ROUNDDOWN(la, PGSIZE);
+    pa = ROUNDDOWN(pa, PGSIZE);
+    for (; n > 0; n --, la += PGSIZE, pa += PGSIZE) {
+        pte_t *ptep = get_pte(pgdir, la, 1);
+        assert(ptep != NULL);
+        *ptep = pa | PTE_P | perm;
+    }
+}
+
+//boot_alloc_page - allocate one page using pmm->alloc_pages(1) 
+// return value: the kernel virtual address of this allocated page
+//note: this function is used to get the memory for PDT(Page Directory Table)&PT(Page Table)
+static void *
+boot_alloc_page(void) {
+    struct Page *p = alloc_page();
+    if (p == NULL) {
+        panic("boot_alloc_page failed.\n");
+    }
+    return page2kva(p);
+}
+
+//pmm_init - setup a pmm to manage physical memory, build PDT&PT to setup paging mechanism 
+//         - check the correctness of pmm & paging mechanism, print PDT&PT
+void
+pmm_init(void) {
+    //We need to alloc/free the physical memory (granularity is 4KB or other size). 
+    //So a framework of physical memory manager (struct pmm_manager)is defined in pmm.h
+    //First we should init a physical memory manager(pmm) based on the framework.
+    //Then pmm can alloc/free the physical memory. 
+    //Now the first_fit/best_fit/worst_fit/buddy_system pmm are available.
+    init_pmm_manager();
+
+    // detect physical memory space, reserve already used memory,
+    // then use pmm->init_memmap to create free page list
+    page_init();
+
+    //use pmm->check to verify the correctness of the alloc/free function in a pmm
+    check_alloc_page();
+
+    // create boot_pgdir, an initial page directory(Page Directory Table, PDT)
+    boot_pgdir = boot_alloc_page();
+    memset(boot_pgdir, 0, PGSIZE);
+    boot_cr3 = PADDR(boot_pgdir);
+
+    check_pgdir();
+
+    static_assert(KERNBASE % PTSIZE == 0 && KERNTOP % PTSIZE == 0);
+
+    // recursively insert boot_pgdir in itself
+    // to form a virtual page table at virtual address VPT
+    boot_pgdir[PDX(VPT)] = PADDR(boot_pgdir) | PTE_P | PTE_W;
+
+    // map all physical memory to linear memory with base linear addr KERNBASE
+    //linear_addr KERNBASE~KERNBASE+KMEMSIZE = phy_addr 0~KMEMSIZE
+    //But shouldn't use this map until enable_paging() & gdt_init() finished.
+    boot_map_segment(boot_pgdir, KERNBASE, KMEMSIZE, 0, PTE_W);
+
+    //temporary map: 
+    //virtual_addr 3G~3G+4M = linear_addr 0~4M = linear_addr 3G~3G+4M = phy_addr 0~4M     
+    boot_pgdir[0] = boot_pgdir[PDX(KERNBASE)];
+
+    enable_paging();
+
+    //reload gdt(third time,the last time) to map all physical memory
+    //virtual_addr 0~4G=liear_addr 0~4G
+    //then set kernel stack(ss:esp) in TSS, setup TSS in gdt, load TSS
+    gdt_init();
+
+    //disable the map of virtual_addr 0~4M
+    boot_pgdir[0] = 0;
+
+    //now the basic virtual memory map(see memalyout.h) is established.
+    //check the correctness of the basic virtual memory map.
+    check_boot_pgdir();
+
+    print_pgdir();
+    
+    kmalloc_init();
+
+}
+
+//get_pte - get pte and return the kernel virtual address of this pte for la
+//        - if the PT contians this pte didn't exist, alloc a page for PT
+// parameter:
+//  pgdir:  the kernel virtual base address of PDT
+//  la:     the linear address need to map
+//  create: a logical value to decide if alloc a page for PT
+// return vaule: the kernel virtual address of this pte
+pte_t *
+get_pte(pde_t *pgdir, uintptr_t la, bool create) {
+    /* LAB2 EXERCISE 2: YOUR CODE
+     *
+     * If you need to visit a physical address, please use KADDR()
+     * please read pmm.h for useful macros
+     *
+     * Maybe you want help comment, BELOW comments can help you finish the code
+     *
+     * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   PDX(la) = the index of page directory entry of VIRTUAL ADDRESS la.
+     *   KADDR(pa) : takes a physical address and returns the corresponding kernel virtual address.
+     *   set_page_ref(page,1) : means the page be referenced by one time
+     *   page2pa(page): get the physical address of memory which this (struct Page *) page  manages
+     *   struct Page * alloc_page() : allocation a page
+     *   memset(void *s, char c, size_t n) : sets the first n bytes of the memory area pointed by s
+     *                                       to the specified value c.
+     * DEFINEs:
+     *   PTE_P           0x001                   // page table/directory entry flags bit : Present
+     *   PTE_W           0x002                   // page table/directory entry flags bit : Writeable
+     *   PTE_U           0x004                   // page table/directory entry flags bit : User can access
+     */
+#if 0
+    pde_t *pdep = NULL;   // (1) find page directory entry
+    if (0) {              // (2) check if entry is not present
+                          // (3) check if creating is needed, then alloc page for page table
+                          // CAUTION: this page is used for page table, not for common data page
+                          // (4) set page reference
+        uintptr_t pa = 0; // (5) get linear address of page
+                          // (6) clear page content using memset
+                          // (7) set page directory entry's permission
+    }
+    return NULL;          // (8) return page table entry
+#endif
+}
+
+//get_page - get related Page struct for linear address la using PDT pgdir
+struct Page *
+get_page(pde_t *pgdir, uintptr_t la, pte_t **ptep_store) {
+    pte_t *ptep = get_pte(pgdir, la, 0);
+    if (ptep_store != NULL) {
+        *ptep_store = ptep;
+    }
+    if (ptep != NULL && *ptep & PTE_P) {
+        return pa2page(*ptep);
+    }
+    return NULL;
+}
+
+//page_remove_pte - free an Page sturct which is related linear address la
+//                - and clean(invalidate) pte which is related linear address la
+//note: PT is changed, so the TLB need to be invalidate 
+static inline void
+page_remove_pte(pde_t *pgdir, uintptr_t la, pte_t *ptep) {
+    /* LAB2 EXERCISE 3: YOUR CODE
+     *
+     * Please check if ptep is valid, and tlb must be manually updated if mapping is updated
+     *
+     * Maybe you want help comment, BELOW comments can help you finish the code
+     *
+     * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   struct Page *page pte2page(*ptep): get the according page from the value of a ptep
+     *   free_page : free a page
+     *   page_ref_dec(page) : decrease page->ref. NOTICE: ff page->ref == 0 , then this page should be free.
+     *   tlb_invalidate(pde_t *pgdir, uintptr_t la) : Invalidate a TLB entry, but only if the page tables being
+     *                        edited are the ones currently in use by the processor.
+     * DEFINEs:
+     *   PTE_P           0x001                   // page table/directory entry flags bit : Present
+     */
+#if 0
+    if (0) {                      //(1) check if page directory is present
+        struct Page *page = NULL; //(2) find corresponding page to pte
+                                  //(3) decrease page reference
+                                  //(4) and free this page when page reference reachs 0
+                                  //(5) clear second page table entry
+                                  //(6) flush tlb
+    }
+#endif
+}
+
+void
+unmap_range(pde_t *pgdir, uintptr_t start, uintptr_t end) {
+    assert(start % PGSIZE == 0 && end % PGSIZE == 0);
+    assert(USER_ACCESS(start, end));
+
+    do {
+        pte_t *ptep = get_pte(pgdir, start, 0);
+        if (ptep == NULL) {
+            start = ROUNDDOWN(start + PTSIZE, PTSIZE);
+            continue ;
+        }
+        if (*ptep != 0) {
+            page_remove_pte(pgdir, start, ptep);
+        }
+        start += PGSIZE;
+    } while (start != 0 && start < end);
+}
+
+void
+exit_range(pde_t *pgdir, uintptr_t start, uintptr_t end) {
+    assert(start % PGSIZE == 0 && end % PGSIZE == 0);
+    assert(USER_ACCESS(start, end));
+
+    start = ROUNDDOWN(start, PTSIZE);
+    do {
+        int pde_idx = PDX(start);
+        if (pgdir[pde_idx] & PTE_P) {
+            free_page(pde2page(pgdir[pde_idx]));
+            pgdir[pde_idx] = 0;
+        }
+        start += PTSIZE;
+    } while (start != 0 && start < end);
+}
+/* copy_range - copy content of memory (start, end) of one process A to another process B
+ * @to:    the addr of process B's Page Directory
+ * @from:  the addr of process A's Page Directory
+ * @share: flags to indicate to dup OR share. We just use dup method, so it didn't be used.
+ *
+ * CALL GRAPH: copy_mm-->dup_mmap-->copy_range
+ */
+int
+copy_range(pde_t *to, pde_t *from, uintptr_t start, uintptr_t end, bool share) {
+    assert(start % PGSIZE == 0 && end % PGSIZE == 0);
+    assert(USER_ACCESS(start, end));
+    // copy content by page unit.
+    do {
+        //call get_pte to find process A's pte according to the addr start
+        pte_t *ptep = get_pte(from, start, 0), *nptep;
+        if (ptep == NULL) {
+            start = ROUNDDOWN(start + PTSIZE, PTSIZE);
+            continue ;
+        }
+        //call get_pte to find process B's pte according to the addr start. If pte is NULL, just alloc a PT
+        if (*ptep & PTE_P) {
+            if ((nptep = get_pte(to, start, 1)) == NULL) {
+                return -E_NO_MEM;
+            }
+        uint32_t perm = (*ptep & PTE_USER);
+        //get page from ptep
+        struct Page *page = pte2page(*ptep);
+        // alloc a page for process B
+        struct Page *npage=alloc_page();
+        assert(page!=NULL);
+        assert(npage!=NULL);
+        int ret=0;
+        /* LAB5:EXERCISE2 YOUR CODE
+         * replicate content of page to npage, build the map of phy addr of nage with the linear addr start
+         *
+         * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+         * MACROs or Functions:
+         *    page2kva(struct Page *page): return the kernel vritual addr of memory which page managed (SEE pmm.h)
+         *    page_insert: build the map of phy addr of an Page with the linear addr la
+         *    memcpy: typical memory copy function
+         *
+         * (1) find src_kvaddr: the kernel virtual address of page
+         * (2) find dst_kvaddr: the kernel virtual address of npage
+         * (3) memory copy from src_kvaddr to dst_kvaddr, size is PGSIZE
+         * (4) build the map of phy addr of  nage with the linear addr start
+         */
+        assert(ret == 0);
+        }
+        start += PGSIZE;
+    } while (start != 0 && start < end);
+    return 0;
+}
+
+//page_remove - free an Page which is related linear address la and has an validated pte
+void
+page_remove(pde_t *pgdir, uintptr_t la) {
+    pte_t *ptep = get_pte(pgdir, la, 0);
+    if (ptep != NULL) {
+        page_remove_pte(pgdir, la, ptep);
+    }
+}
+
+//page_insert - build the map of phy addr of an Page with the linear addr la
+// paramemters:
+//  pgdir: the kernel virtual base address of PDT
+//  page:  the Page which need to map
+//  la:    the linear address need to map
+//  perm:  the permission of this Page which is setted in related pte
+// return value: always 0
+//note: PT is changed, so the TLB need to be invalidate 
+int
+page_insert(pde_t *pgdir, struct Page *page, uintptr_t la, uint32_t perm) {
+    pte_t *ptep = get_pte(pgdir, la, 1);
+    if (ptep == NULL) {
+        return -E_NO_MEM;
+    }
+    page_ref_inc(page);
+    if (*ptep & PTE_P) {
+        struct Page *p = pte2page(*ptep);
+        if (p == page) {
+            page_ref_dec(page);
+        }
+        else {
+            page_remove_pte(pgdir, la, ptep);
+        }
+    }
+    *ptep = page2pa(page) | PTE_P | perm;
+    tlb_invalidate(pgdir, la);
+    return 0;
+}
+
+// invalidate a TLB entry, but only if the page tables being
+// edited are the ones currently in use by the processor.
+void
+tlb_invalidate(pde_t *pgdir, uintptr_t la) {
+    if (rcr3() == PADDR(pgdir)) {
+        invlpg((void *)la);
+    }
+}
+
+// pgdir_alloc_page - call alloc_page & page_insert functions to 
+//                  - allocate a page size memory & setup an addr map
+//                  - pa<->la with linear address la and the PDT pgdir
+struct Page *
+pgdir_alloc_page(pde_t *pgdir, uintptr_t la, uint32_t perm) {
+    struct Page *page = alloc_page();
+    if (page != NULL) {
+        if (page_insert(pgdir, page, la, perm) != 0) {
+            free_page(page);
+            return NULL;
+        }
+        if (swap_init_ok){
+            if(check_mm_struct!=NULL) {
+                swap_map_swappable(check_mm_struct, la, page, 0);
+                page->pra_vaddr=la;
+                assert(page_ref(page) == 1);
+                //cprintf("get No. %d  page: pra_vaddr %x, pra_link.prev %x, pra_link_next %x in pgdir_alloc_page\n", (page-pages), page->pra_vaddr,page->pra_page_link.prev, page->pra_page_link.next);
+            } 
+            else  {  //now current is existed, should fix it in the future
+                //swap_map_swappable(current->mm, la, page, 0);
+                //page->pra_vaddr=la;
+                //assert(page_ref(page) == 1);
+                //panic("pgdir_alloc_page: no pages. now current is existed, should fix it in the future\n");
+            }
+        }
+
+    }
+
+    return page;
+}
+
+static void
+check_alloc_page(void) {
+    pmm_manager->check();
+    cprintf("check_alloc_page() succeeded!\n");
+}
+
+static void
+check_pgdir(void) {
+    assert(npage <= KMEMSIZE / PGSIZE);
+    assert(boot_pgdir != NULL && (uint32_t)PGOFF(boot_pgdir) == 0);
+    assert(get_page(boot_pgdir, 0x0, NULL) == NULL);
+
+    struct Page *p1, *p2;
+    p1 = alloc_page();
+    assert(page_insert(boot_pgdir, p1, 0x0, 0) == 0);
+
+    pte_t *ptep;
+    assert((ptep = get_pte(boot_pgdir, 0x0, 0)) != NULL);
+    assert(pa2page(*ptep) == p1);
+    assert(page_ref(p1) == 1);
+
+    ptep = &((pte_t *)KADDR(PDE_ADDR(boot_pgdir[0])))[1];
+    assert(get_pte(boot_pgdir, PGSIZE, 0) == ptep);
+
+    p2 = alloc_page();
+    assert(page_insert(boot_pgdir, p2, PGSIZE, PTE_U | PTE_W) == 0);
+    assert((ptep = get_pte(boot_pgdir, PGSIZE, 0)) != NULL);
+    assert(*ptep & PTE_U);
+    assert(*ptep & PTE_W);
+    assert(boot_pgdir[0] & PTE_U);
+    assert(page_ref(p2) == 1);
+
+    assert(page_insert(boot_pgdir, p1, PGSIZE, 0) == 0);
+    assert(page_ref(p1) == 2);
+    assert(page_ref(p2) == 0);
+    assert((ptep = get_pte(boot_pgdir, PGSIZE, 0)) != NULL);
+    assert(pa2page(*ptep) == p1);
+    assert((*ptep & PTE_U) == 0);
+
+    page_remove(boot_pgdir, 0x0);
+    assert(page_ref(p1) == 1);
+    assert(page_ref(p2) == 0);
+
+    page_remove(boot_pgdir, PGSIZE);
+    assert(page_ref(p1) == 0);
+    assert(page_ref(p2) == 0);
+
+    assert(page_ref(pa2page(boot_pgdir[0])) == 1);
+    free_page(pa2page(boot_pgdir[0]));
+    boot_pgdir[0] = 0;
+
+    cprintf("check_pgdir() succeeded!\n");
+}
+
+static void
+check_boot_pgdir(void) {
+    pte_t *ptep;
+    int i;
+    for (i = 0; i < npage; i += PGSIZE) {
+        assert((ptep = get_pte(boot_pgdir, (uintptr_t)KADDR(i), 0)) != NULL);
+        assert(PTE_ADDR(*ptep) == i);
+    }
+
+    assert(PDE_ADDR(boot_pgdir[PDX(VPT)]) == PADDR(boot_pgdir));
+
+    assert(boot_pgdir[0] == 0);
+
+    struct Page *p;
+    p = alloc_page();
+    assert(page_insert(boot_pgdir, p, 0x100, PTE_W) == 0);
+    assert(page_ref(p) == 1);
+    assert(page_insert(boot_pgdir, p, 0x100 + PGSIZE, PTE_W) == 0);
+    assert(page_ref(p) == 2);
+
+    const char *str = "ucore: Hello world!!";
+    strcpy((void *)0x100, str);
+    assert(strcmp((void *)0x100, (void *)(0x100 + PGSIZE)) == 0);
+
+    *(char *)(page2kva(p) + 0x100) = '\0';
+    assert(strlen((const char *)0x100) == 0);
+
+    free_page(p);
+    free_page(pa2page(PDE_ADDR(boot_pgdir[0])));
+    boot_pgdir[0] = 0;
+
+    cprintf("check_boot_pgdir() succeeded!\n");
+}
+
+//perm2str - use string 'u,r,w,-' to present the permission
+static const char *
+perm2str(int perm) {
+    static char str[4];
+    str[0] = (perm & PTE_U) ? 'u' : '-';
+    str[1] = 'r';
+    str[2] = (perm & PTE_W) ? 'w' : '-';
+    str[3] = '\0';
+    return str;
+}
+
+//get_pgtable_items - In [left, right] range of PDT or PT, find a continuous linear addr space
+//                  - (left_store*X_SIZE~right_store*X_SIZE) for PDT or PT
+//                  - X_SIZE=PTSIZE=4M, if PDT; X_SIZE=PGSIZE=4K, if PT
+// paramemters:
+//  left:        no use ???
+//  right:       the high side of table's range
+//  start:       the low side of table's range
+//  table:       the beginning addr of table
+//  left_store:  the pointer of the high side of table's next range
+//  right_store: the pointer of the low side of table's next range
+// return value: 0 - not a invalid item range, perm - a valid item range with perm permission 
+static int
+get_pgtable_items(size_t left, size_t right, size_t start, uintptr_t *table, size_t *left_store, size_t *right_store) {
+    if (start >= right) {
+        return 0;
+    }
+    while (start < right && !(table[start] & PTE_P)) {
+        start ++;
+    }
+    if (start < right) {
+        if (left_store != NULL) {
+            *left_store = start;
+        }
+        int perm = (table[start ++] & PTE_USER);
+        while (start < right && (table[start] & PTE_USER) == perm) {
+            start ++;
+        }
+        if (right_store != NULL) {
+            *right_store = start;
+        }
+        return perm;
+    }
+    return 0;
+}
+
+//print_pgdir - print the PDT&PT
+void
+print_pgdir(void) {
+    cprintf("-------------------- BEGIN --------------------\n");
+    size_t left, right = 0, perm;
+    while ((perm = get_pgtable_items(0, NPDEENTRY, right, vpd, &left, &right)) != 0) {
+        cprintf("PDE(%03x) %08x-%08x %08x %s\n", right - left,
+                left * PTSIZE, right * PTSIZE, (right - left) * PTSIZE, perm2str(perm));
+        size_t l, r = left * NPTEENTRY;
+        while ((perm = get_pgtable_items(left * NPTEENTRY, right * NPTEENTRY, r, vpt, &l, &r)) != 0) {
+            cprintf("  |-- PTE(%05x) %08x-%08x %08x %s\n", r - l,
+                    l * PGSIZE, r * PGSIZE, (r - l) * PGSIZE, perm2str(perm));
+        }
+    }
+    cprintf("--------------------- END ---------------------\n");
+}
diff --git a/code/lab7/kern/mm/pmm.h b/code/lab7/kern/mm/pmm.h
new file mode 100644
index 0000000..1e229a7
--- /dev/null
+++ b/code/lab7/kern/mm/pmm.h
@@ -0,0 +1,145 @@
+#ifndef __KERN_MM_PMM_H__
+#define __KERN_MM_PMM_H__
+
+#include <defs.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <atomic.h>
+#include <assert.h>
+
+// pmm_manager is a physical memory management class. A special pmm manager - XXX_pmm_manager
+// only needs to implement the methods in pmm_manager class, then XXX_pmm_manager can be used
+// by ucore to manage the total physical memory space.
+struct pmm_manager {
+    const char *name;                                 // XXX_pmm_manager's name
+    void (*init)(void);                               // initialize internal description&management data structure
+                                                      // (free block list, number of free block) of XXX_pmm_manager 
+    void (*init_memmap)(struct Page *base, size_t n); // setup description&management data structcure according to
+                                                      // the initial free physical memory space 
+    struct Page *(*alloc_pages)(size_t n);            // allocate >=n pages, depend on the allocation algorithm 
+    void (*free_pages)(struct Page *base, size_t n);  // free >=n pages with "base" addr of Page descriptor structures(memlayout.h)
+    size_t (*nr_free_pages)(void);                    // return the number of free pages 
+    void (*check)(void);                              // check the correctness of XXX_pmm_manager 
+};
+
+extern const struct pmm_manager *pmm_manager;
+extern pde_t *boot_pgdir;
+extern uintptr_t boot_cr3;
+
+void pmm_init(void);
+
+struct Page *alloc_pages(size_t n);
+void free_pages(struct Page *base, size_t n);
+size_t nr_free_pages(void);
+
+#define alloc_page() alloc_pages(1)
+#define free_page(page) free_pages(page, 1)
+
+pte_t *get_pte(pde_t *pgdir, uintptr_t la, bool create);
+struct Page *get_page(pde_t *pgdir, uintptr_t la, pte_t **ptep_store);
+void page_remove(pde_t *pgdir, uintptr_t la);
+int page_insert(pde_t *pgdir, struct Page *page, uintptr_t la, uint32_t perm);
+
+void load_esp0(uintptr_t esp0);
+void tlb_invalidate(pde_t *pgdir, uintptr_t la);
+struct Page *pgdir_alloc_page(pde_t *pgdir, uintptr_t la, uint32_t perm);
+void unmap_range(pde_t *pgdir, uintptr_t start, uintptr_t end);
+void exit_range(pde_t *pgdir, uintptr_t start, uintptr_t end);
+int copy_range(pde_t *to, pde_t *from, uintptr_t start, uintptr_t end, bool share);
+
+void print_pgdir(void);
+
+/* *
+ * PADDR - takes a kernel virtual address (an address that points above KERNBASE),
+ * where the machine's maximum 256MB of physical memory is mapped and returns the
+ * corresponding physical address.  It panics if you pass it a non-kernel virtual address.
+ * */
+#define PADDR(kva) ({                                                   \
+            uintptr_t __m_kva = (uintptr_t)(kva);                       \
+            if (__m_kva < KERNBASE) {                                   \
+                panic("PADDR called with invalid kva %08lx", __m_kva);  \
+            }                                                           \
+            __m_kva - KERNBASE;                                         \
+        })
+
+/* *
+ * KADDR - takes a physical address and returns the corresponding kernel virtual
+ * address. It panics if you pass an invalid physical address.
+ * */
+#define KADDR(pa) ({                                                    \
+            uintptr_t __m_pa = (pa);                                    \
+            size_t __m_ppn = PPN(__m_pa);                               \
+            if (__m_ppn >= npage) {                                     \
+                panic("KADDR called with invalid pa %08lx", __m_pa);    \
+            }                                                           \
+            (void *) (__m_pa + KERNBASE);                               \
+        })
+
+extern struct Page *pages;
+extern size_t npage;
+
+static inline ppn_t
+page2ppn(struct Page *page) {
+    return page - pages;
+}
+
+static inline uintptr_t
+page2pa(struct Page *page) {
+    return page2ppn(page) << PGSHIFT;
+}
+
+static inline struct Page *
+pa2page(uintptr_t pa) {
+    if (PPN(pa) >= npage) {
+        panic("pa2page called with invalid pa");
+    }
+    return &pages[PPN(pa)];
+}
+
+static inline void *
+page2kva(struct Page *page) {
+    return KADDR(page2pa(page));
+}
+
+static inline struct Page *
+kva2page(void *kva) {
+    return pa2page(PADDR(kva));
+}
+
+static inline struct Page *
+pte2page(pte_t pte) {
+    if (!(pte & PTE_P)) {
+        panic("pte2page called with invalid pte");
+    }
+    return pa2page(PTE_ADDR(pte));
+}
+
+static inline struct Page *
+pde2page(pde_t pde) {
+    return pa2page(PDE_ADDR(pde));
+}
+
+static inline int
+page_ref(struct Page *page) {
+    return atomic_read(&(page->ref));
+}
+
+static inline void
+set_page_ref(struct Page *page, int val) {
+    atomic_set(&(page->ref), val);
+}
+
+static inline int
+page_ref_inc(struct Page *page) {
+    return atomic_add_return(&(page->ref), 1);
+}
+
+static inline int
+page_ref_dec(struct Page *page) {
+    return atomic_sub_return(&(page->ref), 1);
+}
+
+extern char bootstack[], bootstacktop[];
+
+#endif /* !__KERN_MM_PMM_H__ */
+
diff --git a/code/lab7/kern/mm/swap.c b/code/lab7/kern/mm/swap.c
new file mode 100644
index 0000000..281889d
--- /dev/null
+++ b/code/lab7/kern/mm/swap.c
@@ -0,0 +1,284 @@
+#include <swap.h>
+#include <swapfs.h>
+#include <swap_fifo.h>
+#include <stdio.h>
+#include <string.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <mmu.h>
+#include <default_pmm.h>
+#include <kdebug.h>
+
+// the valid vaddr for check is between 0~CHECK_VALID_VADDR-1
+#define CHECK_VALID_VIR_PAGE_NUM 5
+#define BEING_CHECK_VALID_VADDR 0X1000
+#define CHECK_VALID_VADDR (CHECK_VALID_VIR_PAGE_NUM+1)*0x1000
+// the max number of valid physical page for check
+#define CHECK_VALID_PHY_PAGE_NUM 4
+// the max access seq number
+#define MAX_SEQ_NO 10
+
+static struct swap_manager *sm;
+size_t max_swap_offset;
+
+volatile int swap_init_ok = 0;
+
+unsigned int swap_page[CHECK_VALID_VIR_PAGE_NUM];
+
+unsigned int swap_in_seq_no[MAX_SEQ_NO],swap_out_seq_no[MAX_SEQ_NO];
+
+static void check_swap(void);
+
+int
+swap_init(void)
+{
+     swapfs_init();
+
+     if (!(1024 <= max_swap_offset && max_swap_offset < MAX_SWAP_OFFSET_LIMIT))
+     {
+          panic("bad max_swap_offset %08x.\n", max_swap_offset);
+     }
+     
+
+     sm = &swap_manager_fifo;
+     int r = sm->init();
+     
+     if (r == 0)
+     {
+          swap_init_ok = 1;
+          cprintf("SWAP: manager = %s\n", sm->name);
+          check_swap();
+     }
+
+     return r;
+}
+
+int
+swap_init_mm(struct mm_struct *mm)
+{
+     return sm->init_mm(mm);
+}
+
+int
+swap_tick_event(struct mm_struct *mm)
+{
+     return sm->tick_event(mm);
+}
+
+int
+swap_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in)
+{
+     return sm->map_swappable(mm, addr, page, swap_in);
+}
+
+int
+swap_set_unswappable(struct mm_struct *mm, uintptr_t addr)
+{
+     return sm->set_unswappable(mm, addr);
+}
+
+volatile unsigned int swap_out_num=0;
+
+int
+swap_out(struct mm_struct *mm, int n, int in_tick)
+{
+     int i;
+     for (i = 0; i != n; ++ i)
+     {
+          uintptr_t v;
+          //struct Page **ptr_page=NULL;
+          struct Page *page;
+          // cprintf("i %d, SWAP: call swap_out_victim\n",i);
+          int r = sm->swap_out_victim(mm, &page, in_tick);
+          if (r != 0) {
+                    cprintf("i %d, swap_out: call swap_out_victim failed\n",i);
+                  break;
+          }          
+          //assert(!PageReserved(page));
+
+          //cprintf("SWAP: choose victim page 0x%08x\n", page);
+          
+          v=page->pra_vaddr; 
+          pte_t *ptep = get_pte(mm->pgdir, v, 0);
+          assert((*ptep & PTE_P) != 0);
+
+          if (swapfs_write( (page->pra_vaddr/PGSIZE+1)<<8, page) != 0) {
+                    cprintf("SWAP: failed to save\n");
+                    sm->map_swappable(mm, v, page, 0);
+                    continue;
+          }
+          else {
+                    cprintf("swap_out: i %d, store page in vaddr 0x%x to disk swap entry %d\n", i, v, page->pra_vaddr/PGSIZE+1);
+                    *ptep = (page->pra_vaddr/PGSIZE+1)<<8;
+                    free_page(page);
+          }
+          
+          tlb_invalidate(mm->pgdir, v);
+     }
+     return i;
+}
+
+int
+swap_in(struct mm_struct *mm, uintptr_t addr, struct Page **ptr_result)
+{
+     struct Page *result = alloc_page();
+     assert(result!=NULL);
+
+     pte_t *ptep = get_pte(mm->pgdir, addr, 0);
+     // cprintf("SWAP: load ptep %x swap entry %d to vaddr 0x%08x, page %x, No %d\n", ptep, (*ptep)>>8, addr, result, (result-pages));
+    
+     int r;
+     if ((r = swapfs_read((*ptep), result)) != 0)
+     {
+        assert(r!=0);
+     }
+     cprintf("swap_in: load disk swap entry %d with swap_page in vadr 0x%x\n", (*ptep)>>8, addr);
+     *ptr_result=result;
+     return 0;
+}
+
+
+
+static inline void
+check_content_set(void)
+{
+     *(unsigned char *)0x1000 = 0x0a;
+     assert(pgfault_num==1);
+     *(unsigned char *)0x1010 = 0x0a;
+     assert(pgfault_num==1);
+     *(unsigned char *)0x2000 = 0x0b;
+     assert(pgfault_num==2);
+     *(unsigned char *)0x2010 = 0x0b;
+     assert(pgfault_num==2);
+     *(unsigned char *)0x3000 = 0x0c;
+     assert(pgfault_num==3);
+     *(unsigned char *)0x3010 = 0x0c;
+     assert(pgfault_num==3);
+     *(unsigned char *)0x4000 = 0x0d;
+     assert(pgfault_num==4);
+     *(unsigned char *)0x4010 = 0x0d;
+     assert(pgfault_num==4);
+}
+
+static inline int
+check_content_access(void)
+{
+    int ret = sm->check_swap();
+    return ret;
+}
+
+struct Page * check_rp[CHECK_VALID_PHY_PAGE_NUM];
+pte_t * check_ptep[CHECK_VALID_PHY_PAGE_NUM];
+unsigned int check_swap_addr[CHECK_VALID_VIR_PAGE_NUM];
+
+extern free_area_t free_area;
+
+#define free_list (free_area.free_list)
+#define nr_free (free_area.nr_free)
+
+static void
+check_swap(void)
+{
+    //backup mem env
+     int ret, count = 0, total = 0, i;
+     list_entry_t *le = &free_list;
+     while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        //assert(PageProperty(p));
+        count ++, total += p->property;
+     }
+     assert(total == nr_free_pages());
+     cprintf("BEGIN check_swap: count %d, total %d\n",count,total);
+     
+     //now we set the phy pages env     
+     struct mm_struct *mm = mm_create();
+     assert(mm != NULL);
+
+     extern struct mm_struct *check_mm_struct;
+     assert(check_mm_struct == NULL);
+
+     check_mm_struct = mm;
+
+     pde_t *pgdir = mm->pgdir = boot_pgdir;
+     assert(pgdir[0] == 0);
+
+     struct vma_struct *vma = vma_create(BEING_CHECK_VALID_VADDR, CHECK_VALID_VADDR, VM_WRITE | VM_READ);
+     assert(vma != NULL);
+
+     insert_vma_struct(mm, vma);
+
+     //setup the temp Page Table vaddr 0~4MB
+     cprintf("setup Page Table for vaddr 0X1000, so alloc a page\n");
+     pte_t *temp_ptep=NULL;
+     temp_ptep = get_pte(mm->pgdir, BEING_CHECK_VALID_VADDR, 1);
+     assert(temp_ptep!= NULL);
+     cprintf("setup Page Table vaddr 0~4MB OVER!\n");
+     
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+          check_rp[i] = alloc_page();
+          assert(check_rp[i] != NULL );
+          assert(!PageProperty(check_rp[i]));
+     }
+     list_entry_t free_list_store = free_list;
+     list_init(&free_list);
+     assert(list_empty(&free_list));
+     
+     //assert(alloc_page() == NULL);
+     
+     unsigned int nr_free_store = nr_free;
+     nr_free = 0;
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+        free_pages(check_rp[i],1);
+     }
+     assert(nr_free==CHECK_VALID_PHY_PAGE_NUM);
+     
+     cprintf("set up init env for check_swap begin!\n");
+     //setup initial vir_page<->phy_page environment for page relpacement algorithm 
+
+     
+     pgfault_num=0;
+     
+     check_content_set();
+     assert( nr_free == 0);         
+     for(i = 0; i<MAX_SEQ_NO ; i++) 
+         swap_out_seq_no[i]=swap_in_seq_no[i]=-1;
+     
+     for (i= 0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+         check_ptep[i]=0;
+         check_ptep[i] = get_pte(pgdir, (i+1)*0x1000, 0);
+         //cprintf("i %d, check_ptep addr %x, value %x\n", i, check_ptep[i], *check_ptep[i]);
+         assert(check_ptep[i] != NULL);
+         assert(pte2page(*check_ptep[i]) == check_rp[i]);
+         assert((*check_ptep[i] & PTE_P));          
+     }
+     cprintf("set up init env for check_swap over!\n");
+     // now access the virt pages to test  page relpacement algorithm 
+     ret=check_content_access();
+     assert(ret==0);
+     
+     //restore kernel mem env
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+         free_pages(check_rp[i],1);
+     } 
+
+     //free_page(pte2page(*temp_ptep));
+    free_page(pa2page(pgdir[0]));
+     pgdir[0] = 0;
+     mm->pgdir = NULL;
+     mm_destroy(mm);
+     check_mm_struct = NULL;
+     
+     nr_free = nr_free_store;
+     free_list = free_list_store;
+
+     
+     le = &free_list;
+     while ((le = list_next(le)) != &free_list) {
+         struct Page *p = le2page(le, page_link);
+         count --, total -= p->property;
+     }
+         cprintf("count is %d, total is %d\n",count,total);
+     //assert(count == 0);
+     
+     cprintf("check_swap() succeeded!\n");
+}
diff --git a/code/lab7/kern/mm/swap.h b/code/lab7/kern/mm/swap.h
new file mode 100644
index 0000000..5d4aea8
--- /dev/null
+++ b/code/lab7/kern/mm/swap.h
@@ -0,0 +1,65 @@
+#ifndef __KERN_MM_SWAP_H__
+#define __KERN_MM_SWAP_H__
+
+#include <defs.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <vmm.h>
+
+/* *
+ * swap_entry_t
+ * --------------------------------------------
+ * |         offset        |   reserved   | 0 |
+ * --------------------------------------------
+ *           24 bits            7 bits    1 bit
+ * */
+
+#define MAX_SWAP_OFFSET_LIMIT                   (1 << 24)
+
+extern size_t max_swap_offset;
+
+/* *
+ * swap_offset - takes a swap_entry (saved in pte), and returns
+ * the corresponding offset in swap mem_map.
+ * */
+#define swap_offset(entry) ({                                       \
+               size_t __offset = (entry >> 8);                        \
+               if (!(__offset > 0 && __offset < max_swap_offset)) {    \
+                    panic("invalid swap_entry_t = %08x.\n", entry);    \
+               }                                                    \
+               __offset;                                            \
+          })
+
+struct swap_manager
+{
+     const char *name;
+     /* Global initialization for the swap manager */
+     int (*init)            (void);
+     /* Initialize the priv data inside mm_struct */
+     int (*init_mm)         (struct mm_struct *mm);
+     /* Called when tick interrupt occured */
+     int (*tick_event)      (struct mm_struct *mm);
+     /* Called when map a swappable page into the mm_struct */
+     int (*map_swappable)   (struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in);
+     /* When a page is marked as shared, this routine is called to
+      * delete the addr entry from the swap manager */
+     int (*set_unswappable) (struct mm_struct *mm, uintptr_t addr);
+     /* Try to swap out a page, return then victim */
+     int (*swap_out_victim) (struct mm_struct *mm, struct Page **ptr_page, int in_tick);
+     /* check the page relpacement algorithm */
+     int (*check_swap)(void);     
+};
+
+extern volatile int swap_init_ok;
+int swap_init(void);
+int swap_init_mm(struct mm_struct *mm);
+int swap_tick_event(struct mm_struct *mm);
+int swap_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in);
+int swap_set_unswappable(struct mm_struct *mm, uintptr_t addr);
+int swap_out(struct mm_struct *mm, int n, int in_tick);
+int swap_in(struct mm_struct *mm, uintptr_t addr, struct Page **ptr_result);
+
+//#define MEMBER_OFFSET(m,t) ((int)(&((t *)0)->m))
+//#define FROM_MEMBER(m,t,a) ((t *)((char *)(a) - MEMBER_OFFSET(m,t)))
+
+#endif
diff --git a/code/lab7/kern/mm/swap_fifo.c b/code/lab7/kern/mm/swap_fifo.c
new file mode 100644
index 0000000..4cb00c1
--- /dev/null
+++ b/code/lab7/kern/mm/swap_fifo.c
@@ -0,0 +1,136 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <swap.h>
+#include <swap_fifo.h>
+#include <list.h>
+
+/* [wikipedia]The simplest Page Replacement Algorithm(PRA) is a FIFO algorithm. The first-in, first-out
+ * page replacement algorithm is a low-overhead algorithm that requires little book-keeping on
+ * the part of the operating system. The idea is obvious from the name - the operating system
+ * keeps track of all the pages in memory in a queue, with the most recent arrival at the back,
+ * and the earliest arrival in front. When a page needs to be replaced, the page at the front
+ * of the queue (the oldest page) is selected. While FIFO is cheap and intuitive, it performs
+ * poorly in practical application. Thus, it is rarely used in its unmodified form. This
+ * algorithm experiences Belady's anomaly.
+ *
+ * Details of FIFO PRA
+ * (1) Prepare: In order to implement FIFO PRA, we should manage all swappable pages, so we can
+ *              link these pages into pra_list_head according the time order. At first you should
+ *              be familiar to the struct list in list.h. struct list is a simple doubly linked list
+ *              implementation. You should know howto USE: list_init, list_add(list_add_after),
+ *              list_add_before, list_del, list_next, list_prev. Another tricky method is to transform
+ *              a general list struct to a special struct (such as struct page). You can find some MACRO:
+ *              le2page (in memlayout.h), (in future labs: le2vma (in vmm.h), le2proc (in proc.h),etc.
+ */
+
+list_entry_t pra_list_head;
+/*
+ * (2) _fifo_init_mm: init pra_list_head and let  mm->sm_priv point to the addr of pra_list_head.
+ *              Now, From the memory control struct mm_struct, we can access FIFO PRA
+ */
+static int
+_fifo_init_mm(struct mm_struct *mm)
+{     
+     list_init(&pra_list_head);
+     mm->sm_priv = &pra_list_head;
+     //cprintf(" mm->sm_priv %x in fifo_init_mm\n",mm->sm_priv);
+     return 0;
+}
+/*
+ * (3)_fifo_map_swappable: According FIFO PRA, we should link the most recent arrival page at the back of pra_list_head qeueue
+ */
+static int
+_fifo_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in)
+{
+    list_entry_t *head=(list_entry_t*) mm->sm_priv;
+    list_entry_t *entry=&(page->pra_page_link);
+ 
+    assert(entry != NULL && head != NULL);
+    //record the page access situlation
+    /*LAB3 EXERCISE 2: YOUR CODE*/ 
+    //(1)link the most recent arrival page at the back of the pra_list_head qeueue.
+    return 0;
+}
+/*
+ *  (4)_fifo_swap_out_victim: According FIFO PRA, we should unlink the  earliest arrival page in front of pra_list_head qeueue,
+ *                            then set the addr of addr of this page to ptr_page.
+ */
+static int
+_fifo_swap_out_victim(struct mm_struct *mm, struct Page ** ptr_page, int in_tick)
+{
+     list_entry_t *head=(list_entry_t*) mm->sm_priv;
+         assert(head != NULL);
+     assert(in_tick==0);
+     /* Select the victim */
+     /*LAB3 EXERCISE 2: YOUR CODE*/ 
+     //(1)  unlink the  earliest arrival page in front of pra_list_head qeueue
+     //(2)  set the addr of addr of this page to ptr_page
+     return 0;
+}
+
+static int
+_fifo_check_swap(void) {
+    cprintf("write Virt Page c in fifo_check_swap\n");
+    *(unsigned char *)0x3000 = 0x0c;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page a in fifo_check_swap\n");
+    *(unsigned char *)0x1000 = 0x0a;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page d in fifo_check_swap\n");
+    *(unsigned char *)0x4000 = 0x0d;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page e in fifo_check_swap\n");
+    *(unsigned char *)0x5000 = 0x0e;
+    assert(pgfault_num==5);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==5);
+    cprintf("write Virt Page a in fifo_check_swap\n");
+    *(unsigned char *)0x1000 = 0x0a;
+    assert(pgfault_num==6);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==7);
+    cprintf("write Virt Page c in fifo_check_swap\n");
+    *(unsigned char *)0x3000 = 0x0c;
+    assert(pgfault_num==8);
+    cprintf("write Virt Page d in fifo_check_swap\n");
+    *(unsigned char *)0x4000 = 0x0d;
+    assert(pgfault_num==9);
+    return 0;
+}
+
+
+static int
+_fifo_init(void)
+{
+    return 0;
+}
+
+static int
+_fifo_set_unswappable(struct mm_struct *mm, uintptr_t addr)
+{
+    return 0;
+}
+
+static int
+_fifo_tick_event(struct mm_struct *mm)
+{ return 0; }
+
+
+struct swap_manager swap_manager_fifo =
+{
+     .name            = "fifo swap manager",
+     .init            = &_fifo_init,
+     .init_mm         = &_fifo_init_mm,
+     .tick_event      = &_fifo_tick_event,
+     .map_swappable   = &_fifo_map_swappable,
+     .set_unswappable = &_fifo_set_unswappable,
+     .swap_out_victim = &_fifo_swap_out_victim,
+     .check_swap      = &_fifo_check_swap,
+};
diff --git a/code/lab7/kern/mm/swap_fifo.h b/code/lab7/kern/mm/swap_fifo.h
new file mode 100644
index 0000000..1d74269
--- /dev/null
+++ b/code/lab7/kern/mm/swap_fifo.h
@@ -0,0 +1,7 @@
+#ifndef __KERN_MM_SWAP_FIFO_H__
+#define __KERN_MM_SWAP_FIFO_H__
+
+#include <swap.h>
+extern struct swap_manager swap_manager_fifo;
+
+#endif
diff --git a/code/lab7/kern/mm/vmm.c b/code/lab7/kern/mm/vmm.c
new file mode 100644
index 0000000..8ec698d
--- /dev/null
+++ b/code/lab7/kern/mm/vmm.c
@@ -0,0 +1,508 @@
+#include <vmm.h>
+#include <sync.h>
+#include <string.h>
+#include <assert.h>
+#include <stdio.h>
+#include <error.h>
+#include <pmm.h>
+#include <x86.h>
+#include <swap.h>
+#include <kmalloc.h>
+
+/* 
+  vmm design include two parts: mm_struct (mm) & vma_struct (vma)
+  mm is the memory manager for the set of continuous virtual memory  
+  area which have the same PDT. vma is a continuous virtual memory area.
+  There a linear link list for vma & a redblack link list for vma in mm.
+---------------
+  mm related functions:
+   golbal functions
+     struct mm_struct * mm_create(void)
+     void mm_destroy(struct mm_struct *mm)
+     int do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr)
+--------------
+  vma related functions:
+   global functions
+     struct vma_struct * vma_create (uintptr_t vm_start, uintptr_t vm_end,...)
+     void insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma)
+     struct vma_struct * find_vma(struct mm_struct *mm, uintptr_t addr)
+   local functions
+     inline void check_vma_overlap(struct vma_struct *prev, struct vma_struct *next)
+---------------
+   check correctness functions
+     void check_vmm(void);
+     void check_vma_struct(void);
+     void check_pgfault(void);
+*/
+
+static void check_vmm(void);
+static void check_vma_struct(void);
+static void check_pgfault(void);
+
+// mm_create -  alloc a mm_struct & initialize it.
+struct mm_struct *
+mm_create(void) {
+    struct mm_struct *mm = kmalloc(sizeof(struct mm_struct));
+
+    if (mm != NULL) {
+        list_init(&(mm->mmap_list));
+        mm->mmap_cache = NULL;
+        mm->pgdir = NULL;
+        mm->map_count = 0;
+
+        if (swap_init_ok) swap_init_mm(mm);
+        else mm->sm_priv = NULL;
+        
+        set_mm_count(mm, 0);
+        sem_init(&(mm->mm_sem), 1);
+    }    
+    return mm;
+}
+
+// vma_create - alloc a vma_struct & initialize it. (addr range: vm_start~vm_end)
+struct vma_struct *
+vma_create(uintptr_t vm_start, uintptr_t vm_end, uint32_t vm_flags) {
+    struct vma_struct *vma = kmalloc(sizeof(struct vma_struct));
+
+    if (vma != NULL) {
+        vma->vm_start = vm_start;
+        vma->vm_end = vm_end;
+        vma->vm_flags = vm_flags;
+    }
+    return vma;
+}
+
+
+// find_vma - find a vma  (vma->vm_start <= addr <= vma_vm_end)
+struct vma_struct *
+find_vma(struct mm_struct *mm, uintptr_t addr) {
+    struct vma_struct *vma = NULL;
+    if (mm != NULL) {
+        vma = mm->mmap_cache;
+        if (!(vma != NULL && vma->vm_start <= addr && vma->vm_end > addr)) {
+                bool found = 0;
+                list_entry_t *list = &(mm->mmap_list), *le = list;
+                while ((le = list_next(le)) != list) {
+                    vma = le2vma(le, list_link);
+                    if (addr < vma->vm_end) {
+                        found = 1;
+                        break;
+                    }
+                }
+                if (!found) {
+                    vma = NULL;
+                }
+        }
+        if (vma != NULL) {
+            mm->mmap_cache = vma;
+        }
+    }
+    return vma;
+}
+
+
+// check_vma_overlap - check if vma1 overlaps vma2 ?
+static inline void
+check_vma_overlap(struct vma_struct *prev, struct vma_struct *next) {
+    assert(prev->vm_start < prev->vm_end);
+    assert(prev->vm_end <= next->vm_start);
+    assert(next->vm_start < next->vm_end);
+}
+
+
+// insert_vma_struct -insert vma in mm's list link
+void
+insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma) {
+    assert(vma->vm_start < vma->vm_end);
+    list_entry_t *list = &(mm->mmap_list);
+    list_entry_t *le_prev = list, *le_next;
+
+        list_entry_t *le = list;
+        while ((le = list_next(le)) != list) {
+            struct vma_struct *mmap_prev = le2vma(le, list_link);
+            if (mmap_prev->vm_start > vma->vm_start) {
+                break;
+            }
+            le_prev = le;
+        }
+
+    le_next = list_next(le_prev);
+
+    /* check overlap */
+    if (le_prev != list) {
+        check_vma_overlap(le2vma(le_prev, list_link), vma);
+    }
+    if (le_next != list) {
+        check_vma_overlap(vma, le2vma(le_next, list_link));
+    }
+
+    vma->vm_mm = mm;
+    list_add_after(le_prev, &(vma->list_link));
+
+    mm->map_count ++;
+}
+
+// mm_destroy - free mm and mm internal fields
+void
+mm_destroy(struct mm_struct *mm) {
+    assert(mm_count(mm) == 0);
+
+    list_entry_t *list = &(mm->mmap_list), *le;
+    while ((le = list_next(list)) != list) {
+        list_del(le);
+        kfree(le2vma(le, list_link));  //kfree vma        
+    }
+    kfree(mm); //kfree mm
+    mm=NULL;
+}
+
+int
+mm_map(struct mm_struct *mm, uintptr_t addr, size_t len, uint32_t vm_flags,
+       struct vma_struct **vma_store) {
+    uintptr_t start = ROUNDDOWN(addr, PGSIZE), end = ROUNDUP(addr + len, PGSIZE);
+    if (!USER_ACCESS(start, end)) {
+        return -E_INVAL;
+    }
+
+    assert(mm != NULL);
+
+    int ret = -E_INVAL;
+
+    struct vma_struct *vma;
+    if ((vma = find_vma(mm, start)) != NULL && end > vma->vm_start) {
+        goto out;
+    }
+    ret = -E_NO_MEM;
+
+    if ((vma = vma_create(start, end, vm_flags)) == NULL) {
+        goto out;
+    }
+    insert_vma_struct(mm, vma);
+    if (vma_store != NULL) {
+        *vma_store = vma;
+    }
+    ret = 0;
+
+out:
+    return ret;
+}
+
+int
+dup_mmap(struct mm_struct *to, struct mm_struct *from) {
+    assert(to != NULL && from != NULL);
+    list_entry_t *list = &(from->mmap_list), *le = list;
+    while ((le = list_prev(le)) != list) {
+        struct vma_struct *vma, *nvma;
+        vma = le2vma(le, list_link);
+        nvma = vma_create(vma->vm_start, vma->vm_end, vma->vm_flags);
+        if (nvma == NULL) {
+            return -E_NO_MEM;
+        }
+
+        insert_vma_struct(to, nvma);
+
+        bool share = 0;
+        if (copy_range(to->pgdir, from->pgdir, vma->vm_start, vma->vm_end, share) != 0) {
+            return -E_NO_MEM;
+        }
+    }
+    return 0;
+}
+
+void
+exit_mmap(struct mm_struct *mm) {
+    assert(mm != NULL && mm_count(mm) == 0);
+    pde_t *pgdir = mm->pgdir;
+    list_entry_t *list = &(mm->mmap_list), *le = list;
+    while ((le = list_next(le)) != list) {
+        struct vma_struct *vma = le2vma(le, list_link);
+        unmap_range(pgdir, vma->vm_start, vma->vm_end);
+    }
+    while ((le = list_next(le)) != list) {
+        struct vma_struct *vma = le2vma(le, list_link);
+        exit_range(pgdir, vma->vm_start, vma->vm_end);
+    }
+}
+
+bool
+copy_from_user(struct mm_struct *mm, void *dst, const void *src, size_t len, bool writable) {
+    if (!user_mem_check(mm, (uintptr_t)src, len, writable)) {
+        return 0;
+    }
+    memcpy(dst, src, len);
+    return 1;
+}
+
+bool
+copy_to_user(struct mm_struct *mm, void *dst, const void *src, size_t len) {
+    if (!user_mem_check(mm, (uintptr_t)dst, len, 1)) {
+        return 0;
+    }
+    memcpy(dst, src, len);
+    return 1;
+}
+
+// vmm_init - initialize virtual memory management
+//          - now just call check_vmm to check correctness of vmm
+void
+vmm_init(void) {
+    check_vmm();
+}
+
+// check_vmm - check correctness of vmm
+static void
+check_vmm(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+    
+    check_vma_struct();
+    check_pgfault();
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_vmm() succeeded.\n");
+}
+
+static void
+check_vma_struct(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+
+    struct mm_struct *mm = mm_create();
+    assert(mm != NULL);
+
+    int step1 = 10, step2 = step1 * 10;
+
+    int i;
+    for (i = step1; i >= 0; i --) {
+        struct vma_struct *vma = vma_create(i * 5, i * 5 + 2, 0);
+        assert(vma != NULL);
+        insert_vma_struct(mm, vma);
+    }
+
+    for (i = step1 + 1; i <= step2; i ++) {
+        struct vma_struct *vma = vma_create(i * 5, i * 5 + 2, 0);
+        assert(vma != NULL);
+        insert_vma_struct(mm, vma);
+    }
+
+    list_entry_t *le = list_next(&(mm->mmap_list));
+
+    for (i = 0; i <= step2; i ++) {
+        assert(le != &(mm->mmap_list));
+        struct vma_struct *mmap = le2vma(le, list_link);
+        assert(mmap->vm_start == i * 5 && mmap->vm_end == i * 5 + 2);
+        le = list_next(le);
+    }
+
+    for (i = 0; i < 5 * step2 + 2; i ++) {
+        struct vma_struct *vma = find_vma(mm, i);
+        assert(vma != NULL);
+        int j = i / 5;
+        if (i >= 5 * j + 2) {
+            j ++;
+        }
+        assert(vma->vm_start == j * 5 && vma->vm_end == j * 5 + 2);
+    }
+
+    mm_destroy(mm);
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_vma_struct() succeeded!\n");
+}
+
+struct mm_struct *check_mm_struct;
+
+// check_pgfault - check correctness of pgfault handler
+static void
+check_pgfault(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+
+    check_mm_struct = mm_create();
+    assert(check_mm_struct != NULL);
+
+    struct mm_struct *mm = check_mm_struct;
+    pde_t *pgdir = mm->pgdir = boot_pgdir;
+    assert(pgdir[0] == 0);
+
+    struct vma_struct *vma = vma_create(0, PTSIZE, VM_WRITE);
+    assert(vma != NULL);
+
+    insert_vma_struct(mm, vma);
+
+    uintptr_t addr = 0x100;
+    assert(find_vma(mm, addr) == vma);
+
+    int i, sum = 0;
+    for (i = 0; i < 100; i ++) {
+        *(char *)(addr + i) = i;
+        sum += i;
+    }
+    for (i = 0; i < 100; i ++) {
+        sum -= *(char *)(addr + i);
+    }
+    assert(sum == 0);
+
+    page_remove(pgdir, ROUNDDOWN(addr, PGSIZE));
+    free_page(pa2page(pgdir[0]));
+    pgdir[0] = 0;
+
+    mm->pgdir = NULL;
+    mm_destroy(mm);
+    check_mm_struct = NULL;
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_pgfault() succeeded!\n");
+}
+//page fault number
+volatile unsigned int pgfault_num=0;
+
+/* do_pgfault - interrupt handler to process the page fault execption
+ * @mm         : the control struct for a set of vma using the same PDT
+ * @error_code : the error code recorded in trapframe->tf_err which is setted by x86 hardware
+ * @addr       : the addr which causes a memory access exception, (the contents of the CR2 register)
+ *
+ * CALL GRAPH: trap--> trap_dispatch-->pgfault_handler-->do_pgfault
+ * The processor provides ucore's do_pgfault function with two items of information to aid in diagnosing
+ * the exception and recovering from it.
+ *   (1) The contents of the CR2 register. The processor loads the CR2 register with the
+ *       32-bit linear address that generated the exception. The do_pgfault fun can
+ *       use this address to locate the corresponding page directory and page-table
+ *       entries.
+ *   (2) An error code on the kernel stack. The error code for a page fault has a format different from
+ *       that for other exceptions. The error code tells the exception handler three things:
+ *         -- The P flag   (bit 0) indicates whether the exception was due to a not-present page (0)
+ *            or to either an access rights violation or the use of a reserved bit (1).
+ *         -- The W/R flag (bit 1) indicates whether the memory access that caused the exception
+ *            was a read (0) or write (1).
+ *         -- The U/S flag (bit 2) indicates whether the processor was executing at user mode (1)
+ *            or supervisor mode (0) at the time of the exception.
+ */
+int
+do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr) {
+    int ret = -E_INVAL;
+    //try to find a vma which include addr
+    struct vma_struct *vma = find_vma(mm, addr);
+
+    pgfault_num++;
+    //If the addr is in the range of a mm's vma?
+    if (vma == NULL || vma->vm_start > addr) {
+        cprintf("not valid addr %x, and  can not find it in vma\n", addr);
+        goto failed;
+    }
+    //check the error_code
+    switch (error_code & 3) {
+    default:
+            /* error code flag : default is 3 ( W/R=1, P=1): write, present */
+    case 2: /* error code flag : (W/R=1, P=0): write, not present */
+        if (!(vma->vm_flags & VM_WRITE)) {
+            cprintf("do_pgfault failed: error code flag = write AND not present, but the addr's vma cannot write\n");
+            goto failed;
+        }
+        break;
+    case 1: /* error code flag : (W/R=0, P=1): read, present */
+        cprintf("do_pgfault failed: error code flag = read AND present\n");
+        goto failed;
+    case 0: /* error code flag : (W/R=0, P=0): read, not present */
+        if (!(vma->vm_flags & (VM_READ | VM_EXEC))) {
+            cprintf("do_pgfault failed: error code flag = read AND not present, but the addr's vma cannot read or exec\n");
+            goto failed;
+        }
+    }
+    /* IF (write an existed addr ) OR
+     *    (write an non_existed addr && addr is writable) OR
+     *    (read  an non_existed addr && addr is readable)
+     * THEN
+     *    continue process
+     */
+    uint32_t perm = PTE_U;
+    if (vma->vm_flags & VM_WRITE) {
+        perm |= PTE_W;
+    }
+    addr = ROUNDDOWN(addr, PGSIZE);
+
+    ret = -E_NO_MEM;
+
+    pte_t *ptep=NULL;
+    /*LAB3 EXERCISE 1: YOUR CODE
+    * Maybe you want help comment, BELOW comments can help you finish the code
+    *
+    * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+    * MACROs or Functions:
+    *   get_pte : get an pte and return the kernel virtual address of this pte for la
+    *             if the PT contians this pte didn't exist, alloc a page for PT (notice the 3th parameter '1')
+    *   pgdir_alloc_page : call alloc_page & page_insert functions to allocate a page size memory & setup
+    *             an addr map pa<--->la with linear address la and the PDT pgdir
+    * DEFINES:
+    *   VM_WRITE  : If vma->vm_flags & VM_WRITE == 1/0, then the vma is writable/non writable
+    *   PTE_W           0x002                   // page table/directory entry flags bit : Writeable
+    *   PTE_U           0x004                   // page table/directory entry flags bit : User can access
+    * VARIABLES:
+    *   mm->pgdir : the PDT of these vma
+    *
+    */
+#if 0
+    /*LAB3 EXERCISE 1: YOUR CODE*/
+    ptep = ???              //(1) try to find a pte, if pte's PT(Page Table) isn't existed, then create a PT.
+    if (*ptep == 0) {
+                            //(2) if the phy addr isn't exist, then alloc a page & map the phy addr with logical addr
+
+    }
+    else {
+    /*LAB3 EXERCISE 2: YOUR CODE
+    * Now we think this pte is a  swap entry, we should load data from disk to a page with phy addr,
+    * and map the phy addr with logical addr, trigger swap manager to record the access situation of this page.
+    *
+    *  Some Useful MACROs and DEFINEs, you can use them in below implementation.
+    *  MACROs or Functions:
+    *    swap_in(mm, addr, &page) : alloc a memory page, then according to the swap entry in PTE for addr,
+    *                               find the addr of disk page, read the content of disk page into this memroy page
+    *    page_insert : build the map of phy addr of an Page with the linear addr la
+    *    swap_map_swappable : set the page swappable
+    */
+        if(swap_init_ok) {
+            struct Page *page=NULL;
+                                    //(1)According to the mm AND addr, try to load the content of right disk page
+                                    //    into the memory which page managed.
+                                    //(2) According to the mm, addr AND page, setup the map of phy addr <---> logical addr
+                                    //(3) make the page swappable.
+                                    //(4) [NOTICE]: you myabe need to update your lab3's implementation for LAB5's normal execution.
+        }
+        else {
+            cprintf("no swap_init_ok but ptep is %x, failed\n",*ptep);
+            goto failed;
+        }
+   }
+#endif
+   ret = 0;
+failed:
+    return ret;
+}
+
+bool
+user_mem_check(struct mm_struct *mm, uintptr_t addr, size_t len, bool write) {
+    if (mm != NULL) {
+        if (!USER_ACCESS(addr, addr + len)) {
+            return 0;
+        }
+        struct vma_struct *vma;
+        uintptr_t start = addr, end = addr + len;
+        while (start < end) {
+            if ((vma = find_vma(mm, start)) == NULL || start < vma->vm_start) {
+                return 0;
+            }
+            if (!(vma->vm_flags & ((write) ? VM_WRITE : VM_READ))) {
+                return 0;
+            }
+            if (write && (vma->vm_flags & VM_STACK)) {
+                if (start < vma->vm_start + PGSIZE) { //check stack start & size
+                    return 0;
+                }
+            }
+            start = vma->vm_end;
+        }
+        return 1;
+    }
+    return KERN_ACCESS(addr, addr + len);
+}
+
diff --git a/code/lab7/kern/mm/vmm.h b/code/lab7/kern/mm/vmm.h
new file mode 100644
index 0000000..c467dba
--- /dev/null
+++ b/code/lab7/kern/mm/vmm.h
@@ -0,0 +1,108 @@
+#ifndef __KERN_MM_VMM_H__
+#define __KERN_MM_VMM_H__
+
+#include <defs.h>
+#include <list.h>
+#include <memlayout.h>
+#include <sync.h>
+#include <proc.h>
+#include <sem.h>
+
+//pre define
+struct mm_struct;
+
+// the virtual continuous memory area(vma)
+struct vma_struct {
+    struct mm_struct *vm_mm; // the set of vma using the same PDT 
+    uintptr_t vm_start;      //    start addr of vma    
+    uintptr_t vm_end;        // end addr of vma
+    uint32_t vm_flags;       // flags of vma
+    list_entry_t list_link;  // linear list link which sorted by start addr of vma
+};
+
+#define le2vma(le, member)                  \
+    to_struct((le), struct vma_struct, member)
+
+#define VM_READ                 0x00000001
+#define VM_WRITE                0x00000002
+#define VM_EXEC                 0x00000004
+#define VM_STACK                0x00000008
+
+// the control struct for a set of vma using the same PDT
+struct mm_struct {
+    list_entry_t mmap_list;        // linear list link which sorted by start addr of vma
+    struct vma_struct *mmap_cache; // current accessed vma, used for speed purpose
+    pde_t *pgdir;                  // the PDT of these vma
+    int map_count;                 // the count of these vma
+    void *sm_priv;                 // the private data for swap manager
+    atomic_t mm_count;             // the number ofprocess which shared the mm
+    semaphore_t mm_sem;            // mutex for using dup_mmap fun to duplicat the mm 
+    int locked_by;                 // the lock owner process's pid
+
+};
+
+struct vma_struct *find_vma(struct mm_struct *mm, uintptr_t addr);
+struct vma_struct *vma_create(uintptr_t vm_start, uintptr_t vm_end, uint32_t vm_flags);
+void insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma);
+
+struct mm_struct *mm_create(void);
+void mm_destroy(struct mm_struct *mm);
+
+void vmm_init(void);
+int mm_map(struct mm_struct *mm, uintptr_t addr, size_t len, uint32_t vm_flags,
+           struct vma_struct **vma_store);
+int do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr);
+
+int mm_unmap(struct mm_struct *mm, uintptr_t addr, size_t len);
+int dup_mmap(struct mm_struct *to, struct mm_struct *from);
+void exit_mmap(struct mm_struct *mm);
+uintptr_t get_unmapped_area(struct mm_struct *mm, size_t len);
+int mm_brk(struct mm_struct *mm, uintptr_t addr, size_t len);
+
+extern volatile unsigned int pgfault_num;
+extern struct mm_struct *check_mm_struct;
+
+bool user_mem_check(struct mm_struct *mm, uintptr_t start, size_t len, bool write);
+bool copy_from_user(struct mm_struct *mm, void *dst, const void *src, size_t len, bool writable);
+bool copy_to_user(struct mm_struct *mm, void *dst, const void *src, size_t len);
+
+static inline int
+mm_count(struct mm_struct *mm) {
+    return atomic_read(&(mm->mm_count));
+}
+
+static inline void
+set_mm_count(struct mm_struct *mm, int val) {
+    atomic_set(&(mm->mm_count), val);
+}
+
+static inline int
+mm_count_inc(struct mm_struct *mm) {
+    return atomic_add_return(&(mm->mm_count), 1);
+}
+
+static inline int
+mm_count_dec(struct mm_struct *mm) {
+    return atomic_sub_return(&(mm->mm_count), 1);
+}
+
+static inline void
+lock_mm(struct mm_struct *mm) {
+    if (mm != NULL) {
+        down(&(mm->mm_sem));
+        if (current != NULL) {
+            mm->locked_by = current->pid;
+        }
+    }
+}
+
+static inline void
+unlock_mm(struct mm_struct *mm) {
+    if (mm != NULL) {
+        up(&(mm->mm_sem));
+        mm->locked_by = 0;
+    }
+}
+
+#endif /* !__KERN_MM_VMM_H__ */
+
diff --git a/code/lab7/kern/process/entry.S b/code/lab7/kern/process/entry.S
new file mode 100644
index 0000000..7482e23
--- /dev/null
+++ b/code/lab7/kern/process/entry.S
@@ -0,0 +1,10 @@
+.text
+.globl kernel_thread_entry
+kernel_thread_entry:        # void kernel_thread(void)
+
+    pushl %edx              # push arg
+    call *%ebx              # call fn
+
+    pushl %eax              # save the return value of fn(arg)
+    call do_exit            # call do_exit to terminate current thread
+
diff --git a/code/lab7/kern/process/proc.c b/code/lab7/kern/process/proc.c
new file mode 100644
index 0000000..5ca778f
--- /dev/null
+++ b/code/lab7/kern/process/proc.c
@@ -0,0 +1,872 @@
+#include <proc.h>
+#include <kmalloc.h>
+#include <string.h>
+#include <sync.h>
+#include <pmm.h>
+#include <error.h>
+#include <sched.h>
+#include <elf.h>
+#include <vmm.h>
+#include <trap.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <unistd.h>
+
+/* ------------- process/thread mechanism design&implementation -------------
+(an simplified Linux process/thread mechanism )
+introduction:
+  ucore implements a simple process/thread mechanism. process contains the independent memory sapce, at least one threads
+for execution, the kernel data(for management), processor state (for context switch), files(in lab6), etc. ucore needs to
+manage all these details efficiently. In ucore, a thread is just a special kind of process(share process's memory).
+------------------------------
+process state       :     meaning               -- reason
+    PROC_UNINIT     :   uninitialized           -- alloc_proc
+    PROC_SLEEPING   :   sleeping                -- try_free_pages, do_wait, do_sleep
+    PROC_RUNNABLE   :   runnable(maybe running) -- proc_init, wakeup_proc, 
+    PROC_ZOMBIE     :   almost dead             -- do_exit
+
+-----------------------------
+process state changing:
+                                            
+  alloc_proc                                 RUNNING
+      +                                   +--<----<--+
+      +                                   + proc_run +
+      V                                   +-->---->--+ 
+PROC_UNINIT -- proc_init/wakeup_proc --> PROC_RUNNABLE -- try_free_pages/do_wait/do_sleep --> PROC_SLEEPING --
+                                           A      +                                                           +
+                                           |      +--- do_exit --> PROC_ZOMBIE                                +
+                                           +                                                                  + 
+                                           -----------------------wakeup_proc----------------------------------
+-----------------------------
+process relations
+parent:           proc->parent  (proc is children)
+children:         proc->cptr    (proc is parent)
+older sibling:    proc->optr    (proc is younger sibling)
+younger sibling:  proc->yptr    (proc is older sibling)
+-----------------------------
+related syscall for process:
+SYS_exit        : process exit,                           -->do_exit
+SYS_fork        : create child process, dup mm            -->do_fork-->wakeup_proc
+SYS_wait        : wait process                            -->do_wait
+SYS_exec        : after fork, process execute a program   -->load a program and refresh the mm
+SYS_clone       : create child thread                     -->do_fork-->wakeup_proc
+SYS_yield       : process flag itself need resecheduling, -- proc->need_sched=1, then scheduler will rescheule this process
+SYS_sleep       : process sleep                           -->do_sleep 
+SYS_kill        : kill process                            -->do_kill-->proc->flags |= PF_EXITING
+                                                                 -->wakeup_proc-->do_wait-->do_exit   
+SYS_getpid      : get the process's pid
+
+*/
+
+// the process set's list
+list_entry_t proc_list;
+
+#define HASH_SHIFT          10
+#define HASH_LIST_SIZE      (1 << HASH_SHIFT)
+#define pid_hashfn(x)       (hash32(x, HASH_SHIFT))
+
+// has list for process set based on pid
+static list_entry_t hash_list[HASH_LIST_SIZE];
+
+// idle proc
+struct proc_struct *idleproc = NULL;
+// init proc
+struct proc_struct *initproc = NULL;
+// current proc
+struct proc_struct *current = NULL;
+
+static int nr_process = 0;
+
+void kernel_thread_entry(void);
+void forkrets(struct trapframe *tf);
+void switch_to(struct context *from, struct context *to);
+
+// alloc_proc - alloc a proc_struct and init all fields of proc_struct
+static struct proc_struct *
+alloc_proc(void) {
+    struct proc_struct *proc = kmalloc(sizeof(struct proc_struct));
+    if (proc != NULL) {
+    //LAB4:EXERCISE1 YOUR CODE
+    /*
+     * below fields in proc_struct need to be initialized
+     *       enum proc_state state;                      // Process state
+     *       int pid;                                    // Process ID
+     *       int runs;                                   // the running times of Proces
+     *       uintptr_t kstack;                           // Process kernel stack
+     *       volatile bool need_resched;                 // bool value: need to be rescheduled to release CPU?
+     *       struct proc_struct *parent;                 // the parent process
+     *       struct mm_struct *mm;                       // Process's memory management field
+     *       struct context context;                     // Switch here to run process
+     *       struct trapframe *tf;                       // Trap frame for current interrupt
+     *       uintptr_t cr3;                              // CR3 register: the base addr of Page Directroy Table(PDT)
+     *       uint32_t flags;                             // Process flag
+     *       char name[PROC_NAME_LEN + 1];               // Process name
+     */
+    }
+    return proc;
+}
+
+// set_proc_name - set the name of proc
+char *
+set_proc_name(struct proc_struct *proc, const char *name) {
+    memset(proc->name, 0, sizeof(proc->name));
+    return memcpy(proc->name, name, PROC_NAME_LEN);
+}
+
+// get_proc_name - get the name of proc
+char *
+get_proc_name(struct proc_struct *proc) {
+    static char name[PROC_NAME_LEN + 1];
+    memset(name, 0, sizeof(name));
+    return memcpy(name, proc->name, PROC_NAME_LEN);
+}
+
+// set_links - set the relation links of process
+static void
+set_links(struct proc_struct *proc) {
+    list_add(&proc_list, &(proc->list_link));
+    proc->yptr = NULL;
+    if ((proc->optr = proc->parent->cptr) != NULL) {
+        proc->optr->yptr = proc;
+    }
+    proc->parent->cptr = proc;
+    nr_process ++;
+}
+
+// remove_links - clean the relation links of process
+static void
+remove_links(struct proc_struct *proc) {
+    list_del(&(proc->list_link));
+    if (proc->optr != NULL) {
+        proc->optr->yptr = proc->yptr;
+    }
+    if (proc->yptr != NULL) {
+        proc->yptr->optr = proc->optr;
+    }
+    else {
+       proc->parent->cptr = proc->optr;
+    }
+    nr_process --;
+}
+
+// get_pid - alloc a unique pid for process
+static int
+get_pid(void) {
+    static_assert(MAX_PID > MAX_PROCESS);
+    struct proc_struct *proc;
+    list_entry_t *list = &proc_list, *le;
+    static int next_safe = MAX_PID, last_pid = MAX_PID;
+    if (++ last_pid >= MAX_PID) {
+        last_pid = 1;
+        goto inside;
+    }
+    if (last_pid >= next_safe) {
+    inside:
+        next_safe = MAX_PID;
+    repeat:
+        le = list;
+        while ((le = list_next(le)) != list) {
+            proc = le2proc(le, list_link);
+            if (proc->pid == last_pid) {
+                if (++ last_pid >= next_safe) {
+                    if (last_pid >= MAX_PID) {
+                        last_pid = 1;
+                    }
+                    next_safe = MAX_PID;
+                    goto repeat;
+                }
+            }
+            else if (proc->pid > last_pid && next_safe > proc->pid) {
+                next_safe = proc->pid;
+            }
+        }
+    }
+    return last_pid;
+}
+
+// proc_run - make process "proc" running on cpu
+// NOTE: before call switch_to, should load  base addr of "proc"'s new PDT
+void
+proc_run(struct proc_struct *proc) {
+    if (proc != current) {
+        bool intr_flag;
+        struct proc_struct *prev = current, *next = proc;
+        local_intr_save(intr_flag);
+        {
+            current = proc;
+            load_esp0(next->kstack + KSTACKSIZE);
+            lcr3(next->cr3);
+            switch_to(&(prev->context), &(next->context));
+        }
+        local_intr_restore(intr_flag);
+    }
+}
+
+// forkret -- the first kernel entry point of a new thread/process
+// NOTE: the addr of forkret is setted in copy_thread function
+//       after switch_to, the current proc will execute here.
+static void
+forkret(void) {
+    forkrets(current->tf);
+}
+
+// hash_proc - add proc into proc hash_list
+static void
+hash_proc(struct proc_struct *proc) {
+    list_add(hash_list + pid_hashfn(proc->pid), &(proc->hash_link));
+}
+
+// unhash_proc - delete proc from proc hash_list
+static void
+unhash_proc(struct proc_struct *proc) {
+    list_del(&(proc->hash_link));
+}
+
+// find_proc - find proc frome proc hash_list according to pid
+struct proc_struct *
+find_proc(int pid) {
+    if (0 < pid && pid < MAX_PID) {
+        list_entry_t *list = hash_list + pid_hashfn(pid), *le = list;
+        while ((le = list_next(le)) != list) {
+            struct proc_struct *proc = le2proc(le, hash_link);
+            if (proc->pid == pid) {
+                return proc;
+            }
+        }
+    }
+    return NULL;
+}
+
+// kernel_thread - create a kernel thread using "fn" function
+// NOTE: the contents of temp trapframe tf will be copied to 
+//       proc->tf in do_fork-->copy_thread function
+int
+kernel_thread(int (*fn)(void *), void *arg, uint32_t clone_flags) {
+    struct trapframe tf;
+    memset(&tf, 0, sizeof(struct trapframe));
+    tf.tf_cs = KERNEL_CS;
+    tf.tf_ds = tf.tf_es = tf.tf_ss = KERNEL_DS;
+    tf.tf_regs.reg_ebx = (uint32_t)fn;
+    tf.tf_regs.reg_edx = (uint32_t)arg;
+    tf.tf_eip = (uint32_t)kernel_thread_entry;
+    return do_fork(clone_flags | CLONE_VM, 0, &tf);
+}
+
+// setup_kstack - alloc pages with size KSTACKPAGE as process kernel stack
+static int
+setup_kstack(struct proc_struct *proc) {
+    struct Page *page = alloc_pages(KSTACKPAGE);
+    if (page != NULL) {
+        proc->kstack = (uintptr_t)page2kva(page);
+        return 0;
+    }
+    return -E_NO_MEM;
+}
+
+// put_kstack - free the memory space of process kernel stack
+static void
+put_kstack(struct proc_struct *proc) {
+    free_pages(kva2page((void *)(proc->kstack)), KSTACKPAGE);
+}
+
+// setup_pgdir - alloc one page as PDT
+static int
+setup_pgdir(struct mm_struct *mm) {
+    struct Page *page;
+    if ((page = alloc_page()) == NULL) {
+        return -E_NO_MEM;
+    }
+    pde_t *pgdir = page2kva(page);
+    memcpy(pgdir, boot_pgdir, PGSIZE);
+    pgdir[PDX(VPT)] = PADDR(pgdir) | PTE_P | PTE_W;
+    mm->pgdir = pgdir;
+    return 0;
+}
+
+// put_pgdir - free the memory space of PDT
+static void
+put_pgdir(struct mm_struct *mm) {
+    free_page(kva2page(mm->pgdir));
+}
+
+// copy_mm - process "proc" duplicate OR share process "current"'s mm according clone_flags
+//         - if clone_flags & CLONE_VM, then "share" ; else "duplicate"
+static int
+copy_mm(uint32_t clone_flags, struct proc_struct *proc) {
+    struct mm_struct *mm, *oldmm = current->mm;
+
+    /* current is a kernel thread */
+    if (oldmm == NULL) {
+        return 0;
+    }
+    if (clone_flags & CLONE_VM) {
+        mm = oldmm;
+        goto good_mm;
+    }
+
+    int ret = -E_NO_MEM;
+    if ((mm = mm_create()) == NULL) {
+        goto bad_mm;
+    }
+    if (setup_pgdir(mm) != 0) {
+        goto bad_pgdir_cleanup_mm;
+    }
+
+    lock_mm(oldmm);
+    {
+        ret = dup_mmap(mm, oldmm);
+    }
+    unlock_mm(oldmm);
+
+    if (ret != 0) {
+        goto bad_dup_cleanup_mmap;
+    }
+
+good_mm:
+    mm_count_inc(mm);
+    proc->mm = mm;
+    proc->cr3 = PADDR(mm->pgdir);
+    return 0;
+bad_dup_cleanup_mmap:
+    exit_mmap(mm);
+    put_pgdir(mm);
+bad_pgdir_cleanup_mm:
+    mm_destroy(mm);
+bad_mm:
+    return ret;
+}
+
+// copy_thread - setup the trapframe on the  process's kernel stack top and
+//             - setup the kernel entry point and stack of process
+static void
+copy_thread(struct proc_struct *proc, uintptr_t esp, struct trapframe *tf) {
+    proc->tf = (struct trapframe *)(proc->kstack + KSTACKSIZE) - 1;
+    *(proc->tf) = *tf;
+    proc->tf->tf_regs.reg_eax = 0;
+    proc->tf->tf_esp = esp;
+    proc->tf->tf_eflags |= FL_IF;
+
+    proc->context.eip = (uintptr_t)forkret;
+    proc->context.esp = (uintptr_t)(proc->tf);
+}
+
+/* do_fork -     parent process for a new child process
+ * @clone_flags: used to guide how to clone the child process
+ * @stack:       the parent's user stack pointer. if stack==0, It means to fork a kernel thread.
+ * @tf:          the trapframe info, which will be copied to child process's proc->tf
+ */
+int
+do_fork(uint32_t clone_flags, uintptr_t stack, struct trapframe *tf) {
+    int ret = -E_NO_FREE_PROC;
+    struct proc_struct *proc;
+    if (nr_process >= MAX_PROCESS) {
+        goto fork_out;
+    }
+    ret = -E_NO_MEM;
+    //LAB4:EXERCISE2 YOUR CODE
+    /*
+     * Some Useful MACROs, Functions and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   alloc_proc:   create a proc struct and init fields (lab4:exercise1)
+     *   setup_kstack: alloc pages with size KSTACKPAGE as process kernel stack
+     *   copy_mm:      process "proc" duplicate OR share process "current"'s mm according clone_flags
+     *                 if clone_flags & CLONE_VM, then "share" ; else "duplicate"
+     *   copy_thread:  setup the trapframe on the  process's kernel stack top and
+     *                 setup the kernel entry point and stack of process
+     *   hash_proc:    add proc into proc hash_list
+     *   get_pid:      alloc a unique pid for process
+     *   wakup_proc:   set proc->state = PROC_RUNNABLE
+     * VARIABLES:
+     *   proc_list:    the process set's list
+     *   nr_process:   the number of process set
+     */
+
+    //    1. call alloc_proc to allocate a proc_struct
+    //    2. call setup_kstack to allocate a kernel stack for child process
+    //    3. call copy_mm to dup OR share mm according clone_flag
+    //    4. call copy_thread to setup tf & context in proc_struct
+    //    5. insert proc_struct into hash_list && proc_list
+    //    6. call wakup_proc to make the new child process RUNNABLE
+    //    7. set ret vaule using child proc's pid
+fork_out:
+    return ret;
+
+bad_fork_cleanup_kstack:
+    put_kstack(proc);
+bad_fork_cleanup_proc:
+    kfree(proc);
+    goto fork_out;
+}
+
+// do_exit - called by sys_exit
+//   1. call exit_mmap & put_pgdir & mm_destroy to free the almost all memory space of process
+//   2. set process' state as PROC_ZOMBIE, then call wakeup_proc(parent) to ask parent reclaim itself.
+//   3. call scheduler to switch to other process
+int
+do_exit(int error_code) {
+    if (current == idleproc) {
+        panic("idleproc exit.\n");
+    }
+    if (current == initproc) {
+        panic("initproc exit.\n");
+    }
+    
+    struct mm_struct *mm = current->mm;
+    if (mm != NULL) {
+        lcr3(boot_cr3);
+        if (mm_count_dec(mm) == 0) {
+            exit_mmap(mm);
+            put_pgdir(mm);
+            mm_destroy(mm);
+        }
+        current->mm = NULL;
+    }
+    current->state = PROC_ZOMBIE;
+    current->exit_code = error_code;
+    
+    bool intr_flag;
+    struct proc_struct *proc;
+    local_intr_save(intr_flag);
+    {
+        proc = current->parent;
+        if (proc->wait_state == WT_CHILD) {
+            wakeup_proc(proc);
+        }
+        while (current->cptr != NULL) {
+            proc = current->cptr;
+            current->cptr = proc->optr;
+    
+            proc->yptr = NULL;
+            if ((proc->optr = initproc->cptr) != NULL) {
+                initproc->cptr->yptr = proc;
+            }
+            proc->parent = initproc;
+            initproc->cptr = proc;
+            if (proc->state == PROC_ZOMBIE) {
+                if (initproc->wait_state == WT_CHILD) {
+                    wakeup_proc(initproc);
+                }
+            }
+        }
+    }
+    local_intr_restore(intr_flag);
+    
+    schedule();
+    panic("do_exit will not return!! %d.\n", current->pid);
+}
+
+/* load_icode - load the content of binary program(ELF format) as the new content of current process
+ * @binary:  the memory addr of the content of binary program
+ * @size:  the size of the content of binary program
+ */
+static int
+load_icode(unsigned char *binary, size_t size) {
+    if (current->mm != NULL) {
+        panic("load_icode: current->mm must be empty.\n");
+    }
+
+    int ret = -E_NO_MEM;
+    struct mm_struct *mm;
+    //(1) create a new mm for current process
+    if ((mm = mm_create()) == NULL) {
+        goto bad_mm;
+    }
+    //(2) create a new PDT, and mm->pgdir= kernel virtual addr of PDT
+    if (setup_pgdir(mm) != 0) {
+        goto bad_pgdir_cleanup_mm;
+    }
+    //(3) copy TEXT/DATA section, build BSS parts in binary to memory space of process
+    struct Page *page;
+    //(3.1) get the file header of the bianry program (ELF format)
+    struct elfhdr *elf = (struct elfhdr *)binary;
+    //(3.2) get the entry of the program section headers of the bianry program (ELF format)
+    struct proghdr *ph = (struct proghdr *)(binary + elf->e_phoff);
+    //(3.3) This program is valid?
+    if (elf->e_magic != ELF_MAGIC) {
+        ret = -E_INVAL_ELF;
+        goto bad_elf_cleanup_pgdir;
+    }
+
+    uint32_t vm_flags, perm;
+    struct proghdr *ph_end = ph + elf->e_phnum;
+    for (; ph < ph_end; ph ++) {
+    //(3.4) find every program section headers
+        if (ph->p_type != ELF_PT_LOAD) {
+            continue ;
+        }
+        if (ph->p_filesz > ph->p_memsz) {
+            ret = -E_INVAL_ELF;
+            goto bad_cleanup_mmap;
+        }
+        if (ph->p_filesz == 0) {
+            continue ;
+        }
+    //(3.5) call mm_map fun to setup the new vma ( ph->p_va, ph->p_memsz)
+        vm_flags = 0, perm = PTE_U;
+        if (ph->p_flags & ELF_PF_X) vm_flags |= VM_EXEC;
+        if (ph->p_flags & ELF_PF_W) vm_flags |= VM_WRITE;
+        if (ph->p_flags & ELF_PF_R) vm_flags |= VM_READ;
+        if (vm_flags & VM_WRITE) perm |= PTE_W;
+        if ((ret = mm_map(mm, ph->p_va, ph->p_memsz, vm_flags, NULL)) != 0) {
+            goto bad_cleanup_mmap;
+        }
+        unsigned char *from = binary + ph->p_offset;
+        size_t off, size;
+        uintptr_t start = ph->p_va, end, la = ROUNDDOWN(start, PGSIZE);
+
+        ret = -E_NO_MEM;
+
+     //(3.6) alloc memory, and  copy the contents of every program section (from, from+end) to process's memory (la, la+end)
+        end = ph->p_va + ph->p_filesz;
+     //(3.6.1) copy TEXT/DATA section of bianry program
+        while (start < end) {
+            if ((page = pgdir_alloc_page(mm->pgdir, la, perm)) == NULL) {
+                goto bad_cleanup_mmap;
+            }
+            off = start - la, size = PGSIZE - off, la += PGSIZE;
+            if (end < la) {
+                size -= la - end;
+            }
+            memcpy(page2kva(page) + off, from, size);
+            start += size, from += size;
+        }
+
+      //(3.6.2) build BSS section of binary program
+        end = ph->p_va + ph->p_memsz;
+        if (start < la) {
+            /* ph->p_memsz == ph->p_filesz */
+            if (start == end) {
+                continue ;
+            }
+            off = start + PGSIZE - la, size = PGSIZE - off;
+            if (end < la) {
+                size -= la - end;
+            }
+            memset(page2kva(page) + off, 0, size);
+            start += size;
+            assert((end < la && start == end) || (end >= la && start == la));
+        }
+        while (start < end) {
+            if ((page = pgdir_alloc_page(mm->pgdir, la, perm)) == NULL) {
+                goto bad_cleanup_mmap;
+            }
+            off = start - la, size = PGSIZE - off, la += PGSIZE;
+            if (end < la) {
+                size -= la - end;
+            }
+            memset(page2kva(page) + off, 0, size);
+            start += size;
+        }
+    }
+    //(4) build user stack memory
+    vm_flags = VM_READ | VM_WRITE | VM_STACK;
+    if ((ret = mm_map(mm, USTACKTOP - USTACKSIZE, USTACKSIZE, vm_flags, NULL)) != 0) {
+        goto bad_cleanup_mmap;
+    }
+    assert(pgdir_alloc_page(mm->pgdir, USTACKTOP-PGSIZE , PTE_USER) != NULL);
+    assert(pgdir_alloc_page(mm->pgdir, USTACKTOP-2*PGSIZE , PTE_USER) != NULL);
+    assert(pgdir_alloc_page(mm->pgdir, USTACKTOP-3*PGSIZE , PTE_USER) != NULL);
+    assert(pgdir_alloc_page(mm->pgdir, USTACKTOP-4*PGSIZE , PTE_USER) != NULL);
+    
+    //(5) set current process's mm, sr3, and set CR3 reg = physical addr of Page Directory
+    mm_count_inc(mm);
+    current->mm = mm;
+    current->cr3 = PADDR(mm->pgdir);
+    lcr3(PADDR(mm->pgdir));
+
+    //(6) setup trapframe for user environment
+    struct trapframe *tf = current->tf;
+    memset(tf, 0, sizeof(struct trapframe));
+    /* LAB5:EXERCISE1 YOUR CODE
+     * should set tf_cs,tf_ds,tf_es,tf_ss,tf_esp,tf_eip,tf_eflags
+     * NOTICE: If we set trapframe correctly, then the user level process can return to USER MODE from kernel. So
+     *          tf_cs should be USER_CS segment (see memlayout.h)
+     *          tf_ds=tf_es=tf_ss should be USER_DS segment
+     *          tf_esp should be the top addr of user stack (USTACKTOP)
+     *          tf_eip should be the entry point of this binary program (elf->e_entry)
+     *          tf_eflags should be set to enable computer to produce Interrupt
+     */
+    ret = 0;
+out:
+    return ret;
+bad_cleanup_mmap:
+    exit_mmap(mm);
+bad_elf_cleanup_pgdir:
+    put_pgdir(mm);
+bad_pgdir_cleanup_mm:
+    mm_destroy(mm);
+bad_mm:
+    goto out;
+}
+
+// do_execve - call exit_mmap(mm)&pug_pgdir(mm) to reclaim memory space of current process
+//           - call load_icode to setup new memory space accroding binary prog.
+int
+do_execve(const char *name, size_t len, unsigned char *binary, size_t size) {
+    struct mm_struct *mm = current->mm;
+    if (!user_mem_check(mm, (uintptr_t)name, len, 0)) {
+        return -E_INVAL;
+    }
+    if (len > PROC_NAME_LEN) {
+        len = PROC_NAME_LEN;
+    }
+
+    char local_name[PROC_NAME_LEN + 1];
+    memset(local_name, 0, sizeof(local_name));
+    memcpy(local_name, name, len);
+
+    if (mm != NULL) {
+        lcr3(boot_cr3);
+        if (mm_count_dec(mm) == 0) {
+            exit_mmap(mm);
+            put_pgdir(mm);
+            mm_destroy(mm);
+        }
+        current->mm = NULL;
+    }
+    int ret;
+    if ((ret = load_icode(binary, size)) != 0) {
+        goto execve_exit;
+    }
+    set_proc_name(current, local_name);
+    return 0;
+
+execve_exit:
+    do_exit(ret);
+    panic("already exit: %e.\n", ret);
+}
+
+// do_yield - ask the scheduler to reschedule
+int
+do_yield(void) {
+    current->need_resched = 1;
+    return 0;
+}
+
+// do_wait - wait one OR any children with PROC_ZOMBIE state, and free memory space of kernel stack
+//         - proc struct of this child.
+// NOTE: only after do_wait function, all resources of the child proces are free.
+int
+do_wait(int pid, int *code_store) {
+    struct mm_struct *mm = current->mm;
+    if (code_store != NULL) {
+        if (!user_mem_check(mm, (uintptr_t)code_store, sizeof(int), 1)) {
+            return -E_INVAL;
+        }
+    }
+
+    struct proc_struct *proc;
+    bool intr_flag, haskid;
+repeat:
+    haskid = 0;
+    if (pid != 0) {
+        proc = find_proc(pid);
+        if (proc != NULL && proc->parent == current) {
+            haskid = 1;
+            if (proc->state == PROC_ZOMBIE) {
+                goto found;
+            }
+        }
+    }
+    else {
+        proc = current->cptr;
+        for (; proc != NULL; proc = proc->optr) {
+            haskid = 1;
+            if (proc->state == PROC_ZOMBIE) {
+                goto found;
+            }
+        }
+    }
+    if (haskid) {
+        current->state = PROC_SLEEPING;
+        current->wait_state = WT_CHILD;
+        schedule();
+        if (current->flags & PF_EXITING) {
+            do_exit(-E_KILLED);
+        }
+        goto repeat;
+    }
+    return -E_BAD_PROC;
+
+found:
+    if (proc == idleproc || proc == initproc) {
+        panic("wait idleproc or initproc.\n");
+    }
+    if (code_store != NULL) {
+        *code_store = proc->exit_code;
+    }
+    local_intr_save(intr_flag);
+    {
+        unhash_proc(proc);
+        remove_links(proc);
+    }
+    local_intr_restore(intr_flag);
+    put_kstack(proc);
+    kfree(proc);
+    return 0;
+}
+
+// do_kill - kill process with pid by set this process's flags with PF_EXITING
+int
+do_kill(int pid) {
+    struct proc_struct *proc;
+    if ((proc = find_proc(pid)) != NULL) {
+        if (!(proc->flags & PF_EXITING)) {
+            proc->flags |= PF_EXITING;
+            if (proc->wait_state & WT_INTERRUPTED) {
+                wakeup_proc(proc);
+            }
+            return 0;
+        }
+        return -E_KILLED;
+    }
+    return -E_INVAL;
+}
+
+// kernel_execve - do SYS_exec syscall to exec a user program called by user_main kernel_thread
+static int
+kernel_execve(const char *name, unsigned char *binary, size_t size) {
+    int ret, len = strlen(name);
+    asm volatile (
+        "int %1;"
+        : "=a" (ret)
+        : "i" (T_SYSCALL), "0" (SYS_exec), "d" (name), "c" (len), "b" (binary), "D" (size)
+        : "memory");
+    return ret;
+}
+
+#define __KERNEL_EXECVE(name, binary, size) ({                          \
+            cprintf("kernel_execve: pid = %d, name = \"%s\".\n",        \
+                    current->pid, name);                                \
+            kernel_execve(name, binary, (size_t)(size));                \
+        })
+
+#define KERNEL_EXECVE(x) ({                                             \
+            extern unsigned char _binary_obj___user_##x##_out_start[],  \
+                _binary_obj___user_##x##_out_size[];                    \
+            __KERNEL_EXECVE(#x, _binary_obj___user_##x##_out_start,     \
+                            _binary_obj___user_##x##_out_size);         \
+        })
+
+#define __KERNEL_EXECVE2(x, xstart, xsize) ({                           \
+            extern unsigned char xstart[], xsize[];                     \
+            __KERNEL_EXECVE(#x, xstart, (size_t)xsize);                 \
+        })
+
+#define KERNEL_EXECVE2(x, xstart, xsize)        __KERNEL_EXECVE2(x, xstart, xsize)
+
+// user_main - kernel thread used to exec a user program
+static int
+user_main(void *arg) {
+#ifdef TEST
+    KERNEL_EXECVE2(TEST, TESTSTART, TESTSIZE);
+#else
+    KERNEL_EXECVE(exit);
+#endif
+    panic("user_main execve failed.\n");
+}
+
+// init_main - the second kernel thread used to create user_main kernel threads
+static int
+init_main(void *arg) {
+    size_t nr_free_pages_store = nr_free_pages();
+    size_t slab_allocated_store = kallocated();
+
+    int pid = kernel_thread(user_main, NULL, 0);
+    if (pid <= 0) {
+        panic("create user_main failed.\n");
+    }
+ extern void check_sync(void);
+    check_sync();                // check philosopher sync problem
+
+    while (do_wait(0, NULL) == 0) {
+        schedule();
+    }
+
+    cprintf("all user-mode processes have quit.\n");
+    assert(initproc->cptr == NULL && initproc->yptr == NULL && initproc->optr == NULL);
+    assert(nr_process == 2);
+    assert(list_next(&proc_list) == &(initproc->list_link));
+    assert(list_prev(&proc_list) == &(initproc->list_link));
+    assert(nr_free_pages_store == nr_free_pages());
+    assert(slab_allocated_store == kallocated());
+    cprintf("init check memory pass.\n");
+    return 0;
+}
+
+// proc_init - set up the first kernel thread idleproc "idle" by itself and 
+//           - create the second kernel thread init_main
+void
+proc_init(void) {
+    int i;
+
+    list_init(&proc_list);
+    for (i = 0; i < HASH_LIST_SIZE; i ++) {
+        list_init(hash_list + i);
+    }
+
+    if ((idleproc = alloc_proc()) == NULL) {
+        panic("cannot alloc idleproc.\n");
+    }
+
+    idleproc->pid = 0;
+    idleproc->state = PROC_RUNNABLE;
+    idleproc->kstack = (uintptr_t)bootstack;
+    idleproc->need_resched = 1;
+    set_proc_name(idleproc, "idle");
+    nr_process ++;
+
+    current = idleproc;
+
+    int pid = kernel_thread(init_main, NULL, 0);
+    if (pid <= 0) {
+        panic("create init_main failed.\n");
+    }
+
+    initproc = find_proc(pid);
+    set_proc_name(initproc, "init");
+
+    assert(idleproc != NULL && idleproc->pid == 0);
+    assert(initproc != NULL && initproc->pid == 1);
+}
+
+// cpu_idle - at the end of kern_init, the first kernel thread idleproc will do below works
+void
+cpu_idle(void) {
+    while (1) {
+        if (current->need_resched) {
+            schedule();
+        }
+    }
+}
+
+//FOR LAB6, set the process's priority (bigger value will get more CPU time) 
+void
+lab6_set_priority(uint32_t priority)
+{
+    if (priority == 0)
+        current->lab6_priority = 1;
+    else current->lab6_priority = priority;
+}
+
+// do_sleep - set current process state to sleep and add timer with "time"
+//          - then call scheduler. if process run again, delete timer first.
+int
+do_sleep(unsigned int time) {
+    if (time == 0) {
+        return 0;
+    }
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    timer_t __timer, *timer = timer_init(&__timer, current, time);
+    current->state = PROC_SLEEPING;
+    current->wait_state = WT_TIMER;
+    add_timer(timer);
+    local_intr_restore(intr_flag);
+
+    schedule();
+
+    del_timer(timer);
+    return 0;
+}
diff --git a/code/lab7/kern/process/proc.h b/code/lab7/kern/process/proc.h
new file mode 100644
index 0000000..5c159e7
--- /dev/null
+++ b/code/lab7/kern/process/proc.h
@@ -0,0 +1,100 @@
+#ifndef __KERN_PROCESS_PROC_H__
+#define __KERN_PROCESS_PROC_H__
+
+#include <defs.h>
+#include <list.h>
+#include <trap.h>
+#include <memlayout.h>
+#include <skew_heap.h>
+
+
+// process's state in his life cycle
+enum proc_state {
+    PROC_UNINIT = 0,  // uninitialized
+    PROC_SLEEPING,    // sleeping
+    PROC_RUNNABLE,    // runnable(maybe running)
+    PROC_ZOMBIE,      // almost dead, and wait parent proc to reclaim his resource
+};
+
+// Saved registers for kernel context switches.
+// Don't need to save all the %fs etc. segment registers,
+// because they are constant across kernel contexts.
+// Save all the regular registers so we don't need to care
+// which are caller save, but not the return register %eax.
+// (Not saving %eax just simplifies the switching code.)
+// The layout of context must match code in switch.S.
+struct context {
+    uint32_t eip;
+    uint32_t esp;
+    uint32_t ebx;
+    uint32_t ecx;
+    uint32_t edx;
+    uint32_t esi;
+    uint32_t edi;
+    uint32_t ebp;
+};
+
+#define PROC_NAME_LEN               50
+#define MAX_PROCESS                 4096
+#define MAX_PID                     (MAX_PROCESS * 2)
+
+extern list_entry_t proc_list;
+
+struct proc_struct {
+    enum proc_state state;                      // Process state
+    int pid;                                    // Process ID
+    int runs;                                   // the running times of Proces
+    uintptr_t kstack;                           // Process kernel stack
+    volatile bool need_resched;                 // bool value: need to be rescheduled to release CPU?
+    struct proc_struct *parent;                 // the parent process
+    struct mm_struct *mm;                       // Process's memory management field
+    struct context context;                     // Switch here to run process
+    struct trapframe *tf;                       // Trap frame for current interrupt
+    uintptr_t cr3;                              // CR3 register: the base addr of Page Directroy Table(PDT)
+    uint32_t flags;                             // Process flag
+    char name[PROC_NAME_LEN + 1];               // Process name
+    list_entry_t list_link;                     // Process link list 
+    list_entry_t hash_link;                     // Process hash list
+    int exit_code;                              // exit code (be sent to parent proc)
+    uint32_t wait_state;                        // waiting state
+    struct proc_struct *cptr, *yptr, *optr;     // relations between processes
+    struct run_queue *rq;                       // running queue contains Process
+    list_entry_t run_link;                      // the entry linked in run queue
+    int time_slice;                             // time slice for occupying the CPU
+    skew_heap_entry_t lab6_run_pool;            // FOR LAB6 ONLY: the entry in the run pool
+    uint32_t lab6_stride;                       // FOR LAB6 ONLY: the current stride of the process 
+    uint32_t lab6_priority;                     // FOR LAB6 ONLY: the priority of process, set by lab6_set_priority(uint32_t)
+};
+
+#define PF_EXITING                  0x00000001      // getting shutdown
+
+#define WT_INTERRUPTED               0x80000000                    // the wait state could be interrupted
+#define WT_CHILD                    (0x00000001 | WT_INTERRUPTED)  // wait child process
+#define WT_KSEM                      0x00000100                    // wait kernel semaphore
+#define WT_TIMER                    (0x00000002 | WT_INTERRUPTED)  // wait timer
+
+#define le2proc(le, member)         \
+    to_struct((le), struct proc_struct, member)
+
+extern struct proc_struct *idleproc, *initproc, *current;
+
+void proc_init(void);
+void proc_run(struct proc_struct *proc);
+int kernel_thread(int (*fn)(void *), void *arg, uint32_t clone_flags);
+
+char *set_proc_name(struct proc_struct *proc, const char *name);
+char *get_proc_name(struct proc_struct *proc);
+void cpu_idle(void) __attribute__((noreturn));
+
+struct proc_struct *find_proc(int pid);
+int do_fork(uint32_t clone_flags, uintptr_t stack, struct trapframe *tf);
+int do_exit(int error_code);
+int do_yield(void);
+int do_execve(const char *name, size_t len, unsigned char *binary, size_t size);
+int do_wait(int pid, int *code_store);
+int do_kill(int pid);
+//FOR LAB6, set the process's priority (bigger value will get more CPU time) 
+void lab6_set_priority(uint32_t priority);
+int do_sleep(unsigned int time);
+#endif /* !__KERN_PROCESS_PROC_H__ */
+
diff --git a/code/lab7/kern/process/switch.S b/code/lab7/kern/process/switch.S
new file mode 100644
index 0000000..27b4c8c
--- /dev/null
+++ b/code/lab7/kern/process/switch.S
@@ -0,0 +1,30 @@
+.text
+.globl switch_to
+switch_to:                      # switch_to(from, to)
+
+    # save from's registers
+    movl 4(%esp), %eax          # eax points to from
+    popl 0(%eax)                # save eip !popl
+    movl %esp, 4(%eax)
+    movl %ebx, 8(%eax)
+    movl %ecx, 12(%eax)
+    movl %edx, 16(%eax)
+    movl %esi, 20(%eax)
+    movl %edi, 24(%eax)
+    movl %ebp, 28(%eax)
+
+    # restore to's registers
+    movl 4(%esp), %eax          # not 8(%esp): popped return address already
+                                # eax now points to to
+    movl 28(%eax), %ebp
+    movl 24(%eax), %edi
+    movl 20(%eax), %esi
+    movl 16(%eax), %edx
+    movl 12(%eax), %ecx
+    movl 8(%eax), %ebx
+    movl 4(%eax), %esp
+
+    pushl 0(%eax)               # push eip
+
+    ret
+
diff --git a/code/lab7/kern/schedule/default_sched.c b/code/lab7/kern/schedule/default_sched.c
new file mode 100644
index 0000000..2316990
--- /dev/null
+++ b/code/lab7/kern/schedule/default_sched.c
@@ -0,0 +1,58 @@
+#include <defs.h>
+#include <list.h>
+#include <proc.h>
+#include <assert.h>
+#include <default_sched.h>
+
+static void
+RR_init(struct run_queue *rq) {
+    list_init(&(rq->run_list));
+    rq->proc_num = 0;
+}
+
+static void
+RR_enqueue(struct run_queue *rq, struct proc_struct *proc) {
+    assert(list_empty(&(proc->run_link)));
+    list_add_before(&(rq->run_list), &(proc->run_link));
+    if (proc->time_slice == 0 || proc->time_slice > rq->max_time_slice) {
+        proc->time_slice = rq->max_time_slice;
+    }
+    proc->rq = rq;
+    rq->proc_num ++;
+}
+
+static void
+RR_dequeue(struct run_queue *rq, struct proc_struct *proc) {
+    assert(!list_empty(&(proc->run_link)) && proc->rq == rq);
+    list_del_init(&(proc->run_link));
+    rq->proc_num --;
+}
+
+static struct proc_struct *
+RR_pick_next(struct run_queue *rq) {
+    list_entry_t *le = list_next(&(rq->run_list));
+    if (le != &(rq->run_list)) {
+        return le2proc(le, run_link);
+    }
+    return NULL;
+}
+
+static void
+RR_proc_tick(struct run_queue *rq, struct proc_struct *proc) {
+    if (proc->time_slice > 0) {
+        proc->time_slice --;
+    }
+    if (proc->time_slice == 0) {
+        proc->need_resched = 1;
+    }
+}
+
+struct sched_class default_sched_class = {
+    .name = "RR_scheduler",
+    .init = RR_init,
+    .enqueue = RR_enqueue,
+    .dequeue = RR_dequeue,
+    .pick_next = RR_pick_next,
+    .proc_tick = RR_proc_tick,
+};
+
diff --git a/code/lab7/kern/schedule/default_sched.h b/code/lab7/kern/schedule/default_sched.h
new file mode 100644
index 0000000..2f21fbd
--- /dev/null
+++ b/code/lab7/kern/schedule/default_sched.h
@@ -0,0 +1,9 @@
+#ifndef __KERN_SCHEDULE_SCHED_RR_H__
+#define __KERN_SCHEDULE_SCHED_RR_H__
+
+#include <sched.h>
+
+extern struct sched_class default_sched_class;
+
+#endif /* !__KERN_SCHEDULE_SCHED_RR_H__ */
+
diff --git a/code/lab7/kern/schedule/default_sched_stride_c b/code/lab7/kern/schedule/default_sched_stride_c
new file mode 100644
index 0000000..7075653
--- /dev/null
+++ b/code/lab7/kern/schedule/default_sched_stride_c
@@ -0,0 +1,133 @@
+#include <defs.h>
+#include <list.h>
+#include <proc.h>
+#include <assert.h>
+#include <default_sched.h>
+
+#define USE_SKEW_HEAP 1
+
+/* You should define the BigStride constant here*/
+/* LAB6: YOUR CODE */
+#define BIG_STRIDE    /* you should give a value, and is ??? */
+
+/* The compare function for two skew_heap_node_t's and the
+ * corresponding procs*/
+static int
+proc_stride_comp_f(void *a, void *b)
+{
+     struct proc_struct *p = le2proc(a, lab6_run_pool);
+     struct proc_struct *q = le2proc(b, lab6_run_pool);
+     int32_t c = p->lab6_stride - q->lab6_stride;
+     if (c > 0) return 1;
+     else if (c == 0) return 0;
+     else return -1;
+}
+
+/*
+ * stride_init initializes the run-queue rq with correct assignment for
+ * member variables, including:
+ *
+ *   - run_list: should be a empty list after initialization.
+ *   - lab6_run_pool: NULL
+ *   - proc_num: 0
+ *   - max_time_slice: no need here, the variable would be assigned by the caller.
+ *
+ * hint: see libs/list.h for routines of the list structures.
+ */
+static void
+stride_init(struct run_queue *rq) {
+     /* LAB6: YOUR CODE 
+      * (1) init the ready process list: rq->run_list
+      * (2) init the run pool: rq->lab6_run_pool
+      * (3) set number of process: rq->proc_num to 0       
+      */
+}
+
+/*
+ * stride_enqueue inserts the process ``proc'' into the run-queue
+ * ``rq''. The procedure should verify/initialize the relevant members
+ * of ``proc'', and then put the ``lab6_run_pool'' node into the
+ * queue(since we use priority queue here). The procedure should also
+ * update the meta date in ``rq'' structure.
+ *
+ * proc->time_slice denotes the time slices allocation for the
+ * process, which should set to rq->max_time_slice.
+ * 
+ * hint: see libs/skew_heap.h for routines of the priority
+ * queue structures.
+ */
+static void
+stride_enqueue(struct run_queue *rq, struct proc_struct *proc) {
+     /* LAB6: YOUR CODE 
+      * (1) insert the proc into rq correctly
+      * NOTICE: you can use skew_heap or list. Important functions
+      *         skew_heap_insert: insert a entry into skew_heap
+      *         list_add_before: insert  a entry into the last of list   
+      * (2) recalculate proc->time_slice
+      * (3) set proc->rq pointer to rq
+      * (4) increase rq->proc_num
+      */
+}
+
+/*
+ * stride_dequeue removes the process ``proc'' from the run-queue
+ * ``rq'', the operation would be finished by the skew_heap_remove
+ * operations. Remember to update the ``rq'' structure.
+ *
+ * hint: see libs/skew_heap.h for routines of the priority
+ * queue structures.
+ */
+static void
+stride_dequeue(struct run_queue *rq, struct proc_struct *proc) {
+     /* LAB6: YOUR CODE 
+      * (1) remove the proc from rq correctly
+      * NOTICE: you can use skew_heap or list. Important functions
+      *         skew_heap_remove: remove a entry from skew_heap
+      *         list_del_init: remove a entry from the  list
+      */
+}
+/*
+ * stride_pick_next pick the element from the ``run-queue'', with the
+ * minimum value of stride, and returns the corresponding process
+ * pointer. The process pointer would be calculated by macro le2proc,
+ * see kern/process/proc.h for definition. Return NULL if
+ * there is no process in the queue.
+ *
+ * When one proc structure is selected, remember to update the stride
+ * property of the proc. (stride += BIG_STRIDE / priority)
+ *
+ * hint: see libs/skew_heap.h for routines of the priority
+ * queue structures.
+ */
+static struct proc_struct *
+stride_pick_next(struct run_queue *rq) {
+     /* LAB6: YOUR CODE 
+      * (1) get a  proc_struct pointer p  with the minimum value of stride
+             (1.1) If using skew_heap, we can use le2proc get the p from rq->lab6_run_poll
+             (1.2) If using list, we have to search list to find the p with minimum stride value
+      * (2) update p;s stride value: p->lab6_stride
+      * (3) return p
+      */
+}
+
+/*
+ * stride_proc_tick works with the tick event of current process. You
+ * should check whether the time slices for current process is
+ * exhausted and update the proc struct ``proc''. proc->time_slice
+ * denotes the time slices left for current
+ * process. proc->need_resched is the flag variable for process
+ * switching.
+ */
+static void
+stride_proc_tick(struct run_queue *rq, struct proc_struct *proc) {
+     /* LAB6: YOUR CODE */
+}
+
+struct sched_class default_sched_class = {
+     .name = "stride_scheduler",
+     .init = stride_init,
+     .enqueue = stride_enqueue,
+     .dequeue = stride_dequeue,
+     .pick_next = stride_pick_next,
+     .proc_tick = stride_proc_tick,
+};
diff --git a/code/lab7/kern/schedule/sched.c b/code/lab7/kern/schedule/sched.c
new file mode 100644
index 0000000..e272635
--- /dev/null
+++ b/code/lab7/kern/schedule/sched.c
@@ -0,0 +1,172 @@
+#include <list.h>
+#include <sync.h>
+#include <proc.h>
+#include <sched.h>
+#include <stdio.h>
+#include <assert.h>
+#include <default_sched.h>
+
+static list_entry_t timer_list;
+
+static struct sched_class *sched_class;
+
+static struct run_queue *rq;
+
+static inline void
+sched_class_enqueue(struct proc_struct *proc) {
+    if (proc != idleproc) {
+        sched_class->enqueue(rq, proc);
+    }
+}
+
+static inline void
+sched_class_dequeue(struct proc_struct *proc) {
+    sched_class->dequeue(rq, proc);
+}
+
+static inline struct proc_struct *
+sched_class_pick_next(void) {
+    return sched_class->pick_next(rq);
+}
+
+static void
+sched_class_proc_tick(struct proc_struct *proc) {
+    if (proc != idleproc) {
+        sched_class->proc_tick(rq, proc);
+    }
+    else {
+        proc->need_resched = 1;
+    }
+}
+
+static struct run_queue __rq;
+
+void
+sched_init(void) {
+    list_init(&timer_list);
+
+    sched_class = &default_sched_class;
+
+    rq = &__rq;
+    rq->max_time_slice = 20;
+    sched_class->init(rq);
+
+    cprintf("sched class: %s\n", sched_class->name);
+}
+
+void
+wakeup_proc(struct proc_struct *proc) {
+    assert(proc->state != PROC_ZOMBIE);
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        if (proc->state != PROC_RUNNABLE) {
+            proc->state = PROC_RUNNABLE;
+            proc->wait_state = 0;
+            if (proc != current) {
+                sched_class_enqueue(proc);
+            }
+        }
+        else {
+            warn("wakeup runnable process.\n");
+        }
+    }
+    local_intr_restore(intr_flag);
+}
+
+void
+schedule(void) {
+    bool intr_flag;
+    struct proc_struct *next;
+    local_intr_save(intr_flag);
+    {
+        current->need_resched = 0;
+        if (current->state == PROC_RUNNABLE) {
+            sched_class_enqueue(current);
+        }
+        if ((next = sched_class_pick_next()) != NULL) {
+            sched_class_dequeue(next);
+        }
+        if (next == NULL) {
+            next = idleproc;
+        }
+        next->runs ++;
+        if (next != current) {
+            proc_run(next);
+        }
+    }
+    local_intr_restore(intr_flag);
+}
+
+void
+add_timer(timer_t *timer) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        assert(timer->expires > 0 && timer->proc != NULL);
+        assert(list_empty(&(timer->timer_link)));
+        list_entry_t *le = list_next(&timer_list);
+        while (le != &timer_list) {
+            timer_t *next = le2timer(le, timer_link);
+            if (timer->expires < next->expires) {
+                next->expires -= timer->expires;
+                break;
+            }
+            timer->expires -= next->expires;
+            le = list_next(le);
+        }
+        list_add_before(le, &(timer->timer_link));
+    }
+    local_intr_restore(intr_flag);
+}
+
+void
+del_timer(timer_t *timer) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        if (!list_empty(&(timer->timer_link))) {
+            if (timer->expires != 0) {
+                list_entry_t *le = list_next(&(timer->timer_link));
+                if (le != &timer_list) {
+                    timer_t *next = le2timer(le, timer_link);
+                    next->expires += timer->expires;
+                }
+            }
+            list_del_init(&(timer->timer_link));
+        }
+    }
+    local_intr_restore(intr_flag);
+}
+
+void
+run_timer_list(void) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        list_entry_t *le = list_next(&timer_list);
+        if (le != &timer_list) {
+            timer_t *timer = le2timer(le, timer_link);
+            assert(timer->expires != 0);
+            timer->expires --;
+            while (timer->expires == 0) {
+                le = list_next(le);
+                struct proc_struct *proc = timer->proc;
+                if (proc->wait_state != 0) {
+                    assert(proc->wait_state & WT_INTERRUPTED);
+                }
+                else {
+                    warn("process %d's wait_state == 0.\n", proc->pid);
+                }
+                wakeup_proc(proc);
+                del_timer(timer);
+                if (le == &timer_list) {
+                    break;
+                }
+                timer = le2timer(le, timer_link);
+            }
+        }
+        sched_class_proc_tick(current);
+    }
+    local_intr_restore(intr_flag);
+}
diff --git a/code/lab7/kern/schedule/sched.h b/code/lab7/kern/schedule/sched.h
new file mode 100644
index 0000000..c83a776
--- /dev/null
+++ b/code/lab7/kern/schedule/sched.h
@@ -0,0 +1,70 @@
+#ifndef __KERN_SCHEDULE_SCHED_H__
+#define __KERN_SCHEDULE_SCHED_H__
+
+#include <defs.h>
+#include <list.h>
+#include <skew_heap.h>
+
+struct proc_struct;
+
+typedef struct {
+    unsigned int expires;
+    struct proc_struct *proc;
+    list_entry_t timer_link;
+} timer_t;
+
+#define le2timer(le, member)            \
+to_struct((le), timer_t, member)
+
+static inline timer_t *
+timer_init(timer_t *timer, struct proc_struct *proc, int expires) {
+    timer->expires = expires;
+    timer->proc = proc;
+    list_init(&(timer->timer_link));
+    return timer;
+}
+
+struct run_queue;
+
+// The introduction of scheduling classes is borrrowed from Linux, and makes the 
+// core scheduler quite extensible. These classes (the scheduler modules) encapsulate 
+// the scheduling policies. 
+struct sched_class {
+    // the name of sched_class
+    const char *name;
+    // Init the run queue
+    void (*init)(struct run_queue *rq);
+    // put the proc into runqueue, and this function must be called with rq_lock
+    void (*enqueue)(struct run_queue *rq, struct proc_struct *proc);
+    // get the proc out runqueue, and this function must be called with rq_lock
+    void (*dequeue)(struct run_queue *rq, struct proc_struct *proc);
+    // choose the next runnable task
+    struct proc_struct *(*pick_next)(struct run_queue *rq);
+    // dealer of the time-tick
+    void (*proc_tick)(struct run_queue *rq, struct proc_struct *proc);
+    /* for SMP support in the future
+     *  load_balance
+     *     void (*load_balance)(struct rq* rq);
+     *  get some proc from this rq, used in load_balance,
+     *  return value is the num of gotten proc
+     *  int (*get_proc)(struct rq* rq, struct proc* procs_moved[]);
+     */
+};
+
+struct run_queue {
+    list_entry_t run_list;
+    unsigned int proc_num;
+    int max_time_slice;
+    // For LAB6 ONLY
+    skew_heap_entry_t *lab6_run_pool;
+};
+
+void sched_init(void);
+void wakeup_proc(struct proc_struct *proc);
+void schedule(void);
+void add_timer(timer_t *timer);
+void del_timer(timer_t *timer);
+void run_timer_list(void);
+
+#endif /* !__KERN_SCHEDULE_SCHED_H__ */
+
diff --git a/code/lab7/kern/sync/check_sync.c b/code/lab7/kern/sync/check_sync.c
new file mode 100644
index 0000000..9d48940
--- /dev/null
+++ b/code/lab7/kern/sync/check_sync.c
@@ -0,0 +1,196 @@
+#include <stdio.h>
+#include <proc.h>
+#include <sem.h>
+#include <monitor.h>
+#include <assert.h>
+
+#define N 5 /* 哲学家数目 */
+#define LEFT (i-1+N)%N /* i的左邻号码 */
+#define RIGHT (i+1)%N /* i的右邻号码 */
+#define THINKING 0 /* 哲学家正在思考 */
+#define HUNGRY 1 /* 哲学家想取得叉子 */
+#define EATING 2 /* 哲学家正在吃面 */
+#define TIMES  4 /* 吃4次饭 */
+#define SLEEP_TIME 10
+
+//---------- philosophers problem using semaphore ----------------------
+int state_sema[N]; /* 记录每个人状态的数组 */
+/* 信号量是一个特殊的整型变量 */
+semaphore_t mutex; /* 临界区互斥 */
+semaphore_t s[N]; /* 每个哲学家一个信号量 */
+
+struct proc_struct *philosopher_proc_sema[N];
+
+void phi_test_sema(i) /* i:哲学家号码从0到N-1 */
+{ 
+    if(state_sema[i]==HUNGRY&&state_sema[LEFT]!=EATING
+            &&state_sema[RIGHT]!=EATING)
+    {
+        state_sema[i]=EATING;
+        up(&s[i]);
+    }
+}
+
+void phi_take_forks_sema(int i) /* i:哲学家号码从0到N-1 */
+{ 
+        down(&mutex); /* 进入临界区 */
+        state_sema[i]=HUNGRY; /* 记录下哲学家i饥饿的事实 */
+        phi_test_sema(i); /* 试图得到两只叉子 */
+        up(&mutex); /* 离开临界区 */
+        down(&s[i]); /* 如果得不到叉子就阻塞 */
+}
+
+void phi_put_forks_sema(int i) /* i:哲学家号码从0到N-1 */
+{ 
+        down(&mutex); /* 进入临界区 */
+        state_sema[i]=THINKING; /* 哲学家进餐结束 */
+        phi_test_sema(LEFT); /* 看一下左邻居现在是否能进餐 */
+        phi_test_sema(RIGHT); /* 看一下右邻居现在是否能进餐 */
+        up(&mutex); /* 离开临界区 */
+}
+
+int philosopher_using_semaphore(void * arg) /* i:哲学家号码,从0到N-1 */
+{
+    int i, iter=0;
+    i=(int)arg;
+    cprintf("I am No.%d philosopher_sema\n",i);
+    while(iter++<TIMES)
+    { /* 无限循环 */
+        cprintf("Iter %d, No.%d philosopher_sema is thinking\n",iter,i); /* 哲学家正在思考 */
+        do_sleep(SLEEP_TIME);
+        phi_take_forks_sema(i); 
+        /* 需要两只叉子,或者阻塞 */
+        cprintf("Iter %d, No.%d philosopher_sema is eating\n",iter,i); /* 进餐 */
+        do_sleep(SLEEP_TIME);
+        phi_put_forks_sema(i); 
+        /* 把两把叉子同时放回桌子 */
+    }
+    cprintf("No.%d philosopher_sema quit\n",i);
+    return 0;    
+}
+
+//-----------------philosopher problem using monitor ------------
+/*PSEUDO CODE :philosopher problem using monitor
+ * monitor dp
+ * {
+ *  enum {thinking, hungry, eating} state[5];
+ *  condition self[5];
+ *
+ *  void pickup(int i) {
+ *      state[i] = hungry;
+ *      if ((state[(i+4)%5] != eating) && (state[(i+1)%5] != eating)) {
+ *        state[i] = eating;
+ *      else
+ *         self[i].wait();
+ *   }
+ *
+ *   void putdown(int i) {
+ *      state[i] = thinking;
+ *      if ((state[(i+4)%5] == hungry) && (state[(i+3)%5] != eating)) {
+ *          state[(i+4)%5] = eating;
+ *          self[(i+4)%5].signal();
+ *      }
+ *      if ((state[(i+1)%5] == hungry) && (state[(i+2)%5] != eating)) {
+ *          state[(i+1)%5] = eating;
+ *          self[(i+1)%5].signal();
+ *      }
+ *   }
+ *
+ *   void init() {
+ *      for (int i = 0; i < 5; i++)
+ *         state[i] = thinking;
+ *   }
+ * }
+ */
+
+struct proc_struct *philosopher_proc_condvar[N]; // N philosopher
+int state_condvar[N];                            // the philosopher's state: EATING, HUNGARY, THINKING  
+monitor_t mt, *mtp=&mt;                          // monitor
+
+void phi_test_condvar (i) { 
+    if(state_condvar[i]==HUNGRY&&state_condvar[LEFT]!=EATING
+            &&state_condvar[RIGHT]!=EATING) {
+        cprintf("phi_test_condvar: state_condvar[%d] will eating\n",i);
+        state_condvar[i] = EATING ;
+        cprintf("phi_test_condvar: signal self_cv[%d] \n",i);
+        cond_signal(&mtp->cv[i]) ;
+    }
+}
+
+
+void phi_take_forks_condvar(int i) {
+     down(&(mtp->mutex));
+//--------into routine in monitor--------------
+     // LAB7 EXERCISE1: YOUR CODE
+     // I am hungry
+     // try to get fork
+//--------leave routine in monitor--------------
+      if(mtp->next_count>0)
+         up(&(mtp->next));
+      else
+         up(&(mtp->mutex));
+}
+
+void phi_put_forks_condvar(int i) {
+     down(&(mtp->mutex));
+
+//--------into routine in monitor--------------
+     // LAB7 EXERCISE1: YOUR CODE
+     // I ate over
+     // test left and right neighbors
+//--------leave routine in monitor--------------
+     if(mtp->next_count>0)
+        up(&(mtp->next));
+     else
+        up(&(mtp->mutex));
+}
+
+//---------- philosophers using monitor (condition variable) ----------------------
+int philosopher_using_condvar(void * arg) { /* arg is the No. of philosopher 0~N-1*/
+  
+    int i, iter=0;
+    i=(int)arg;
+    cprintf("I am No.%d philosopher_condvar\n",i);
+    while(iter++<TIMES)
+    { /* iterate*/
+        cprintf("Iter %d, No.%d philosopher_condvar is thinking\n",iter,i); /* thinking*/
+        do_sleep(SLEEP_TIME);
+        phi_take_forks_condvar(i); 
+        /* need two forks, maybe blocked */
+        cprintf("Iter %d, No.%d philosopher_condvar is eating\n",iter,i); /* eating*/
+        do_sleep(SLEEP_TIME);
+        phi_put_forks_condvar(i); 
+        /* return two forks back*/
+    }
+    cprintf("No.%d philosopher_condvar quit\n",i);
+    return 0;    
+}
+
+void check_sync(void){
+
+    int i;
+
+    //check semaphore
+    sem_init(&mutex, 1);
+    for(i=0;i<N;i++){
+        sem_init(&s[i], 0);
+        int pid = kernel_thread(philosopher_using_semaphore, (void *)i, 0);
+        if (pid <= 0) {
+            panic("create No.%d philosopher_using_semaphore failed.\n");
+        }
+        philosopher_proc_sema[i] = find_proc(pid);
+        set_proc_name(philosopher_proc_sema[i], "philosopher_sema_proc");
+    }
+
+    //check condition variable
+    monitor_init(&mt, N);
+    for(i=0;i<N;i++){
+        state_condvar[i]=THINKING;
+        int pid = kernel_thread(philosopher_using_condvar, (void *)i, 0);
+        if (pid <= 0) {
+            panic("create No.%d philosopher_using_condvar failed.\n");
+        }
+        philosopher_proc_condvar[i] = find_proc(pid);
+        set_proc_name(philosopher_proc_condvar[i], "philosopher_condvar_proc");
+    }
+}
diff --git a/code/lab7/kern/sync/monitor.c b/code/lab7/kern/sync/monitor.c
new file mode 100644
index 0000000..f0e8fbc
--- /dev/null
+++ b/code/lab7/kern/sync/monitor.c
@@ -0,0 +1,59 @@
+#include <stdio.h>
+#include <monitor.h>
+#include <kmalloc.h>
+#include <assert.h>
+
+
+// Initialize monitor.
+void     
+monitor_init (monitor_t * mtp, size_t num_cv) {
+    int i;
+    assert(num_cv>0);
+    mtp->next_count = 0;
+    mtp->cv = NULL;
+    sem_init(&(mtp->mutex), 1); //unlocked
+    sem_init(&(mtp->next), 0);
+    mtp->cv =(condvar_t *) kmalloc(sizeof(condvar_t)*num_cv);
+    assert(mtp->cv!=NULL);
+    for(i=0; i<num_cv; i++){
+        mtp->cv[i].count=0;
+        sem_init(&(mtp->cv[i].sem),0);
+        mtp->cv[i].owner=mtp;
+    }
+}
+
+// Unlock one of threads waiting on the condition variable. 
+void 
+cond_signal (condvar_t *cvp) {
+   //LAB7 EXERCISE1: YOUR CODE
+   cprintf("cond_signal begin: cvp %x, cvp->count %d, cvp->owner->next_count %d\n", cvp, cvp->count, cvp->owner->next_count);  
+  /*
+   *      cond_signal(cv) {
+   *          if(cv.count>0) {
+   *             mt.next_count ++;
+   *             signal(cv.sem);
+   *             wait(mt.next);
+   *             mt.next_count--;
+   *          }
+   *       }
+   */
+   cprintf("cond_signal end: cvp %x, cvp->count %d, cvp->owner->next_count %d\n", cvp, cvp->count, cvp->owner->next_count);
+}
+
+// Suspend calling thread on a condition variable waiting for condition Atomically unlocks 
+// mutex and suspends calling thread on conditional variable after waking up locks mutex. Notice: mp is mutex semaphore for monitor's procedures
+void
+cond_wait (condvar_t *cvp) {
+    //LAB7 EXERCISE1: YOUR CODE
+    cprintf("cond_wait begin:  cvp %x, cvp->count %d, cvp->owner->next_count %d\n", cvp, cvp->count, cvp->owner->next_count);
+   /*
+    *         cv.count ++;
+    *         if(mt.next_count>0)
+    *            signal(mt.next)
+    *         else
+    *            signal(mt.mutex);
+    *         wait(cv.sem);
+    *         cv.count --;
+    */
+    cprintf("cond_wait end:  cvp %x, cvp->count %d, cvp->owner->next_count %d\n", cvp, cvp->count, cvp->owner->next_count);
+}
diff --git a/code/lab7/kern/sync/monitor.h b/code/lab7/kern/sync/monitor.h
new file mode 100644
index 0000000..39b9610
--- /dev/null
+++ b/code/lab7/kern/sync/monitor.h
@@ -0,0 +1,90 @@
+#ifndef __KERN_SYNC_MONITOR_CONDVAR_H__
+#define __KERN_SYNC_MOINTOR_CONDVAR_H__
+
+#include <sem.h>
+/* In [OS CONCEPT] 7.7 section, the accurate define and approximate implementation of MONITOR was introduced.
+ * INTRODUCTION:
+ *  Monitors were invented by C. A. R. Hoare and Per Brinch Hansen, and were first implemented in Brinch Hansen's
+ *  Concurrent Pascal language. Generally, a monitor is a language construct and the compiler usually enforces mutual exclusion. Compare this with semaphores, which are usually an OS construct.
+ * DEFNIE & CHARACTERISTIC:
+ *  A monitor is a collection of procedures, variables, and data structures grouped together.
+ *  Processes can call the monitor procedures but cannot access the internal data structures.
+ *  Only one process at a time may be be active in a monitor.
+ *  Condition variables allow for blocking and unblocking.
+ *     cv.wait() blocks a process.
+ *        The process is said to be waiting for (or waiting on) the condition variable cv.
+ *     cv.signal() (also called cv.notify) unblocks a process waiting for the condition variable cv.
+ *        When this occurs, we need to still require that only one process is active in the monitor. This can be done in several ways:
+ *            on some systems the old process (the one executing the signal) leaves the monitor and the new one enters
+ *            on some systems the signal must be the last statement executed inside the monitor.
+ *            on some systems the old process will block until the monitor is available again.
+ *            on some systems the new process (the one unblocked by the signal) will remain blocked until the monitor is available again.
+ *   If a condition variable is signaled with nobody waiting, the signal is lost. Compare this with semaphores, in which a signal will allow a process that executes a wait in the future to no block.
+ *   You should not think of a condition variable as a variable in the traditional sense.
+ *     It does not have a value.
+ *     Think of it as an object in the OOP sense.
+ *     It has two methods, wait and signal that manipulate the calling process.
+ * IMPLEMENTATION:
+ *   monitor mt {
+ *     ----------------variable------------------
+ *     semaphore mutex;
+ *     semaphore next;
+ *     int next_count;
+ *     condvar {int count, sempahore sem}  cv[N];
+ *     other variables in mt;
+ *     --------condvar wait/signal---------------
+ *     cond_wait (cv) {
+ *         cv.count ++;
+ *         if(mt.next_count>0)
+ *            signal(mt.next)
+ *         else
+ *            signal(mt.mutex);
+ *         wait(cv.sem);
+ *         cv.count --;
+ *      }
+ *
+ *      cond_signal(cv) {
+ *          if(cv.count>0) {
+ *             mt.next_count ++;
+ *             signal(cv.sem);
+ *             wait(mt.next);
+ *             mt.next_count--;
+ *          }
+ *       }
+ *     --------routines in monitor---------------
+ *     routineA_in_mt () {
+ *        wait(mt.mutex);
+ *        ...
+ *        real body of routineA
+ *        ...
+ *        if(next_count>0)
+ *            signal(mt.next);
+ *        else
+ *            signal(mt.mutex);
+ *     }
+ */
+
+typedef struct monitor monitor_t;
+
+typedef struct condvar{
+    semaphore_t sem;        // the sem semaphore  is used to down the waiting proc, and the signaling proc should up the waiting proc
+    int count;              // the number of waiters on condvar
+    monitor_t * owner;      // the owner(monitor) of this condvar
+} condvar_t;
+
+typedef struct monitor{
+    semaphore_t mutex;      // the mutex lock for going into the routines in monitor, should be initialized to 1
+    semaphore_t next;       // the next semaphore is used to down the signaling proc itself, and the other OR wakeuped waiting proc should wake up the sleeped signaling proc.
+    int next_count;         // the number of of sleeped signaling proc
+    condvar_t *cv;          // the condvars in monitor
+} monitor_t;
+
+// Initialize variables in monitor.
+void     monitor_init (monitor_t *cvp, size_t num_cv);
+// Unlock one of threads waiting on the condition variable. 
+void     cond_signal (condvar_t *cvp);
+// Suspend calling thread on a condition variable waiting for condition atomically unlock mutex in monitor,
+// and suspends calling thread on conditional variable after waking up locks mutex.
+void     cond_wait (condvar_t *cvp);
+     
+#endif /* !__KERN_SYNC_MONITOR_CONDVAR_H__ */
diff --git a/code/lab7/kern/sync/sem.c b/code/lab7/kern/sync/sem.c
new file mode 100644
index 0000000..62c81db
--- /dev/null
+++ b/code/lab7/kern/sync/sem.c
@@ -0,0 +1,77 @@
+#include <defs.h>
+#include <wait.h>
+#include <atomic.h>
+#include <kmalloc.h>
+#include <sem.h>
+#include <proc.h>
+#include <sync.h>
+#include <assert.h>
+
+void
+sem_init(semaphore_t *sem, int value) {
+    sem->value = value;
+    wait_queue_init(&(sem->wait_queue));
+}
+
+static __noinline void __up(semaphore_t *sem, uint32_t wait_state) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        wait_t *wait;
+        if ((wait = wait_queue_first(&(sem->wait_queue))) == NULL) {
+            sem->value ++;
+        }
+        else {
+            assert(wait->proc->wait_state == wait_state);
+            wakeup_wait(&(sem->wait_queue), wait, wait_state, 1);
+        }
+    }
+    local_intr_restore(intr_flag);
+}
+
+static __noinline uint32_t __down(semaphore_t *sem, uint32_t wait_state) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    if (sem->value > 0) {
+        sem->value --;
+        local_intr_restore(intr_flag);
+        return 0;
+    }
+    wait_t __wait, *wait = &__wait;
+    wait_current_set(&(sem->wait_queue), wait, wait_state);
+    local_intr_restore(intr_flag);
+
+    schedule();
+
+    local_intr_save(intr_flag);
+    wait_current_del(&(sem->wait_queue), wait);
+    local_intr_restore(intr_flag);
+
+    if (wait->wakeup_flags != wait_state) {
+        return wait->wakeup_flags;
+    }
+    return 0;
+}
+
+void
+up(semaphore_t *sem) {
+    __up(sem, WT_KSEM);
+}
+
+void
+down(semaphore_t *sem) {
+    uint32_t flags = __down(sem, WT_KSEM);
+    assert(flags == 0);
+}
+
+bool
+try_down(semaphore_t *sem) {
+    bool intr_flag, ret = 0;
+    local_intr_save(intr_flag);
+    if (sem->value > 0) {
+        sem->value --, ret = 1;
+    }
+    local_intr_restore(intr_flag);
+    return ret;
+}
+
diff --git a/code/lab7/kern/sync/sem.h b/code/lab7/kern/sync/sem.h
new file mode 100644
index 0000000..4450fe7
--- /dev/null
+++ b/code/lab7/kern/sync/sem.h
@@ -0,0 +1,19 @@
+#ifndef __KERN_SYNC_SEM_H__
+#define __KERN_SYNC_SEM_H__
+
+#include <defs.h>
+#include <atomic.h>
+#include <wait.h>
+
+typedef struct {
+    int value;
+    wait_queue_t wait_queue;
+} semaphore_t;
+
+void sem_init(semaphore_t *sem, int value);
+void up(semaphore_t *sem);
+void down(semaphore_t *sem);
+bool try_down(semaphore_t *sem);
+
+#endif /* !__KERN_SYNC_SEM_H__ */
+
diff --git a/code/lab7/kern/sync/sync.h b/code/lab7/kern/sync/sync.h
new file mode 100644
index 0000000..98215f1
--- /dev/null
+++ b/code/lab7/kern/sync/sync.h
@@ -0,0 +1,31 @@
+#ifndef __KERN_SYNC_SYNC_H__
+#define __KERN_SYNC_SYNC_H__
+
+#include <x86.h>
+#include <intr.h>
+#include <mmu.h>
+#include <assert.h>
+#include <atomic.h>
+#include <sched.h>
+
+static inline bool
+__intr_save(void) {
+    if (read_eflags() & FL_IF) {
+        intr_disable();
+        return 1;
+    }
+    return 0;
+}
+
+static inline void
+__intr_restore(bool flag) {
+    if (flag) {
+        intr_enable();
+    }
+}
+
+#define local_intr_save(x)      do { x = __intr_save(); } while (0)
+#define local_intr_restore(x)   __intr_restore(x);
+
+#endif /* !__KERN_SYNC_SYNC_H__ */
+
diff --git a/code/lab7/kern/sync/wait.c b/code/lab7/kern/sync/wait.c
new file mode 100644
index 0000000..6aea172
--- /dev/null
+++ b/code/lab7/kern/sync/wait.c
@@ -0,0 +1,122 @@
+#include <defs.h>
+#include <list.h>
+#include <sync.h>
+#include <wait.h>
+#include <proc.h>
+
+void
+wait_init(wait_t *wait, struct proc_struct *proc) {
+    wait->proc = proc;
+    wait->wakeup_flags = WT_INTERRUPTED;
+    list_init(&(wait->wait_link));
+}
+
+void
+wait_queue_init(wait_queue_t *queue) {
+    list_init(&(queue->wait_head));
+}
+
+void
+wait_queue_add(wait_queue_t *queue, wait_t *wait) {
+    assert(list_empty(&(wait->wait_link)) && wait->proc != NULL);
+    wait->wait_queue = queue;
+    list_add_before(&(queue->wait_head), &(wait->wait_link));
+}
+
+void
+wait_queue_del(wait_queue_t *queue, wait_t *wait) {
+    assert(!list_empty(&(wait->wait_link)) && wait->wait_queue == queue);
+    list_del_init(&(wait->wait_link));
+}
+
+wait_t *
+wait_queue_next(wait_queue_t *queue, wait_t *wait) {
+    assert(!list_empty(&(wait->wait_link)) && wait->wait_queue == queue);
+    list_entry_t *le = list_next(&(wait->wait_link));
+    if (le != &(queue->wait_head)) {
+        return le2wait(le, wait_link);
+    }
+    return NULL;
+}
+
+wait_t *
+wait_queue_prev(wait_queue_t *queue, wait_t *wait) {
+    assert(!list_empty(&(wait->wait_link)) && wait->wait_queue == queue);
+    list_entry_t *le = list_prev(&(wait->wait_link));
+    if (le != &(queue->wait_head)) {
+        return le2wait(le, wait_link);
+    }
+    return NULL;
+}
+
+wait_t *
+wait_queue_first(wait_queue_t *queue) {
+    list_entry_t *le = list_next(&(queue->wait_head));
+    if (le != &(queue->wait_head)) {
+        return le2wait(le, wait_link);
+    }
+    return NULL;
+}
+
+wait_t *
+wait_queue_last(wait_queue_t *queue) {
+    list_entry_t *le = list_prev(&(queue->wait_head));
+    if (le != &(queue->wait_head)) {
+        return le2wait(le, wait_link);
+    }
+    return NULL;
+}
+
+bool
+wait_queue_empty(wait_queue_t *queue) {
+    return list_empty(&(queue->wait_head));
+}
+
+bool
+wait_in_queue(wait_t *wait) {
+    return !list_empty(&(wait->wait_link));
+}
+
+void
+wakeup_wait(wait_queue_t *queue, wait_t *wait, uint32_t wakeup_flags, bool del) {
+    if (del) {
+        wait_queue_del(queue, wait);
+    }
+    wait->wakeup_flags = wakeup_flags;
+    wakeup_proc(wait->proc);
+}
+
+void
+wakeup_first(wait_queue_t *queue, uint32_t wakeup_flags, bool del) {
+    wait_t *wait;
+    if ((wait = wait_queue_first(queue)) != NULL) {
+        wakeup_wait(queue, wait, wakeup_flags, del);
+    }
+}
+
+void
+wakeup_queue(wait_queue_t *queue, uint32_t wakeup_flags, bool del) {
+    wait_t *wait;
+    if ((wait = wait_queue_first(queue)) != NULL) {
+        if (del) {
+            do {
+                wakeup_wait(queue, wait, wakeup_flags, 1);
+            } while ((wait = wait_queue_first(queue)) != NULL);
+        }
+        else {
+            do {
+                wakeup_wait(queue, wait, wakeup_flags, 0);
+            } while ((wait = wait_queue_next(queue, wait)) != NULL);
+        }
+    }
+}
+
+void
+wait_current_set(wait_queue_t *queue, wait_t *wait, uint32_t wait_state) {
+    assert(current != NULL);
+    wait_init(wait, current);
+    current->state = PROC_SLEEPING;
+    current->wait_state = wait_state;
+    wait_queue_add(queue, wait);
+}
+
diff --git a/code/lab7/kern/sync/wait.h b/code/lab7/kern/sync/wait.h
new file mode 100644
index 0000000..46758b7
--- /dev/null
+++ b/code/lab7/kern/sync/wait.h
@@ -0,0 +1,48 @@
+#ifndef __KERN_SYNC_WAIT_H__
+#define __KERN_SYNC_WAIT_H__
+
+#include <list.h>
+
+typedef struct {
+    list_entry_t wait_head;
+} wait_queue_t;
+
+struct proc_struct;
+
+typedef struct {
+    struct proc_struct *proc;
+    uint32_t wakeup_flags;
+    wait_queue_t *wait_queue;
+    list_entry_t wait_link;
+} wait_t;
+
+#define le2wait(le, member)         \
+    to_struct((le), wait_t, member)
+
+void wait_init(wait_t *wait, struct proc_struct *proc);
+void wait_queue_init(wait_queue_t *queue);
+void wait_queue_add(wait_queue_t *queue, wait_t *wait);
+void wait_queue_del(wait_queue_t *queue, wait_t *wait);
+
+wait_t *wait_queue_next(wait_queue_t *queue, wait_t *wait);
+wait_t *wait_queue_prev(wait_queue_t *queue, wait_t *wait);
+wait_t *wait_queue_first(wait_queue_t *queue);
+wait_t *wait_queue_last(wait_queue_t *queue);
+
+bool wait_queue_empty(wait_queue_t *queue);
+bool wait_in_queue(wait_t *wait);
+void wakeup_wait(wait_queue_t *queue, wait_t *wait, uint32_t wakeup_flags, bool del);
+void wakeup_first(wait_queue_t *queue, uint32_t wakeup_flags, bool del);
+void wakeup_queue(wait_queue_t *queue, uint32_t wakeup_flags, bool del);
+
+void wait_current_set(wait_queue_t *queue, wait_t *wait, uint32_t wait_state);
+
+#define wait_current_del(queue, wait)                                       \
+    do {                                                                    \
+        if (wait_in_queue(wait)) {                                          \
+            wait_queue_del(queue, wait);                                    \
+        }                                                                   \
+    } while (0)
+
+#endif /* !__KERN_SYNC_WAIT_H__ */
+
diff --git a/code/lab7/kern/syscall/syscall.c b/code/lab7/kern/syscall/syscall.c
new file mode 100644
index 0000000..6902e04
--- /dev/null
+++ b/code/lab7/kern/syscall/syscall.c
@@ -0,0 +1,123 @@
+#include <unistd.h>
+#include <proc.h>
+#include <syscall.h>
+#include <trap.h>
+#include <stdio.h>
+#include <pmm.h>
+#include <assert.h>
+#include <clock.h>
+
+static int
+sys_exit(uint32_t arg[]) {
+    int error_code = (int)arg[0];
+    return do_exit(error_code);
+}
+
+static int
+sys_fork(uint32_t arg[]) {
+    struct trapframe *tf = current->tf;
+    uintptr_t stack = tf->tf_esp;
+    return do_fork(0, stack, tf);
+}
+
+static int
+sys_wait(uint32_t arg[]) {
+    int pid = (int)arg[0];
+    int *store = (int *)arg[1];
+    return do_wait(pid, store);
+}
+
+static int
+sys_exec(uint32_t arg[]) {
+    const char *name = (const char *)arg[0];
+    size_t len = (size_t)arg[1];
+    unsigned char *binary = (unsigned char *)arg[2];
+    size_t size = (size_t)arg[3];
+    return do_execve(name, len, binary, size);
+}
+
+static int
+sys_yield(uint32_t arg[]) {
+    return do_yield();
+}
+
+static int
+sys_kill(uint32_t arg[]) {
+    int pid = (int)arg[0];
+    return do_kill(pid);
+}
+
+static int
+sys_getpid(uint32_t arg[]) {
+    return current->pid;
+}
+
+static int
+sys_putc(uint32_t arg[]) {
+    int c = (int)arg[0];
+    cputchar(c);
+    return 0;
+}
+
+static int
+sys_pgdir(uint32_t arg[]) {
+    print_pgdir();
+    return 0;
+}
+
+static uint32_t
+sys_gettime(uint32_t arg[]) {
+    return (int)ticks;
+}
+static uint32_t
+sys_lab6_set_priority(uint32_t arg[])
+{
+    uint32_t priority = (uint32_t)arg[0];
+    lab6_set_priority(priority);
+    return 0;
+}
+
+static int
+sys_sleep(uint32_t arg[]) {
+    unsigned int time = (unsigned int)arg[0];
+    return do_sleep(time);
+}
+
+static int (*syscalls[])(uint32_t arg[]) = {
+    [SYS_exit]              sys_exit,
+    [SYS_fork]              sys_fork,
+    [SYS_wait]              sys_wait,
+    [SYS_exec]              sys_exec,
+    [SYS_yield]             sys_yield,
+    [SYS_kill]              sys_kill,
+    [SYS_getpid]            sys_getpid,
+    [SYS_putc]              sys_putc,
+    [SYS_pgdir]             sys_pgdir,
+    [SYS_gettime]           sys_gettime,
+    [SYS_lab6_set_priority] sys_lab6_set_priority,
+    [SYS_sleep]             sys_sleep,
+};
+
+#define NUM_SYSCALLS        ((sizeof(syscalls)) / (sizeof(syscalls[0])))
+
+void
+syscall(void) {
+    struct trapframe *tf = current->tf;
+    uint32_t arg[5];
+    int num = tf->tf_regs.reg_eax;
+    if (num >= 0 && num < NUM_SYSCALLS) {
+        if (syscalls[num] != NULL) {
+            arg[0] = tf->tf_regs.reg_edx;
+            arg[1] = tf->tf_regs.reg_ecx;
+            arg[2] = tf->tf_regs.reg_ebx;
+            arg[3] = tf->tf_regs.reg_edi;
+            arg[4] = tf->tf_regs.reg_esi;
+            tf->tf_regs.reg_eax = syscalls[num](arg);
+            return ;
+        }
+    }
+    print_trapframe(tf);
+    panic("undefined syscall %d, pid = %d, name = %s.\n",
+            num, current->pid, current->name);
+}
+
diff --git a/code/lab7/kern/syscall/syscall.h b/code/lab7/kern/syscall/syscall.h
new file mode 100644
index 0000000..a8fe843
--- /dev/null
+++ b/code/lab7/kern/syscall/syscall.h
@@ -0,0 +1,7 @@
+#ifndef __KERN_SYSCALL_SYSCALL_H__
+#define __KERN_SYSCALL_SYSCALL_H__
+
+void syscall(void);
+
+#endif /* !__KERN_SYSCALL_SYSCALL_H__ */
+
diff --git a/code/lab7/kern/trap/trap.c b/code/lab7/kern/trap/trap.c
new file mode 100644
index 0000000..e8eb143
--- /dev/null
+++ b/code/lab7/kern/trap/trap.c
@@ -0,0 +1,290 @@
+#include <defs.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <clock.h>
+#include <trap.h>
+#include <x86.h>
+#include <stdio.h>
+#include <assert.h>
+#include <console.h>
+#include <vmm.h>
+#include <swap.h>
+#include <kdebug.h>
+#include <unistd.h>
+#include <syscall.h>
+#include <error.h>
+#include <sched.h>
+#include <sync.h>
+#include <proc.h>
+
+#define TICK_NUM 100
+
+static void print_ticks() {
+    cprintf("%d ticks\n",TICK_NUM);
+#ifdef DEBUG_GRADE
+    cprintf("End of Test.\n");
+    panic("EOT: kernel seems ok.");
+#endif
+}
+
+/* *
+ * Interrupt descriptor table:
+ *
+ * Must be built at run time because shifted function addresses can't
+ * be represented in relocation records.
+ * */
+static struct gatedesc idt[256] = {{0}};
+
+static struct pseudodesc idt_pd = {
+    sizeof(idt) - 1, (uintptr_t)idt
+};
+
+/* idt_init - initialize IDT to each of the entry points in kern/trap/vectors.S */
+void
+idt_init(void) {
+     /* LAB1 YOUR CODE : STEP 2 */
+     /* (1) Where are the entry addrs of each Interrupt Service Routine (ISR)?
+      *     All ISR's entry addrs are stored in __vectors. where is uintptr_t __vectors[] ?
+      *     __vectors[] is in kern/trap/vector.S which is produced by tools/vector.c
+      *     (try "make" command in lab1, then you will find vector.S in kern/trap DIR)
+      *     You can use  "extern uintptr_t __vectors[];" to define this extern variable which will be used later.
+      * (2) Now you should setup the entries of ISR in Interrupt Description Table (IDT).
+      *     Can you see idt[256] in this file? Yes, it's IDT! you can use SETGATE macro to setup each item of IDT
+      * (3) After setup the contents of IDT, you will let CPU know where is the IDT by using 'lidt' instruction.
+      *     You don't know the meaning of this instruction? just google it! and check the libs/x86.h to know more.
+      *     Notice: the argument of lidt is idt_pd. try to find it!
+      */
+     /* LAB5 YOUR CODE */ 
+     //you should update your lab1 code (just add ONE or TWO lines of code), let user app to use syscall to get the service of ucore
+     //so you should setup the syscall interrupt gate in here
+}
+
+static const char *
+trapname(int trapno) {
+    static const char * const excnames[] = {
+        "Divide error",
+        "Debug",
+        "Non-Maskable Interrupt",
+        "Breakpoint",
+        "Overflow",
+        "BOUND Range Exceeded",
+        "Invalid Opcode",
+        "Device Not Available",
+        "Double Fault",
+        "Coprocessor Segment Overrun",
+        "Invalid TSS",
+        "Segment Not Present",
+        "Stack Fault",
+        "General Protection",
+        "Page Fault",
+        "(unknown trap)",
+        "x87 FPU Floating-Point Error",
+        "Alignment Check",
+        "Machine-Check",
+        "SIMD Floating-Point Exception"
+    };
+
+    if (trapno < sizeof(excnames)/sizeof(const char * const)) {
+        return excnames[trapno];
+    }
+    if (trapno >= IRQ_OFFSET && trapno < IRQ_OFFSET + 16) {
+        return "Hardware Interrupt";
+    }
+    return "(unknown trap)";
+}
+
+/* trap_in_kernel - test if trap happened in kernel */
+bool
+trap_in_kernel(struct trapframe *tf) {
+    return (tf->tf_cs == (uint16_t)KERNEL_CS);
+}
+
+static const char *IA32flags[] = {
+    "CF", NULL, "PF", NULL, "AF", NULL, "ZF", "SF",
+    "TF", "IF", "DF", "OF", NULL, NULL, "NT", NULL,
+    "RF", "VM", "AC", "VIF", "VIP", "ID", NULL, NULL,
+};
+
+void
+print_trapframe(struct trapframe *tf) {
+    cprintf("trapframe at %p\n", tf);
+    print_regs(&tf->tf_regs);
+    cprintf("  ds   0x----%04x\n", tf->tf_ds);
+    cprintf("  es   0x----%04x\n", tf->tf_es);
+    cprintf("  fs   0x----%04x\n", tf->tf_fs);
+    cprintf("  gs   0x----%04x\n", tf->tf_gs);
+    cprintf("  trap 0x%08x %s\n", tf->tf_trapno, trapname(tf->tf_trapno));
+    cprintf("  err  0x%08x\n", tf->tf_err);
+    cprintf("  eip  0x%08x\n", tf->tf_eip);
+    cprintf("  cs   0x----%04x\n", tf->tf_cs);
+    cprintf("  flag 0x%08x ", tf->tf_eflags);
+
+    int i, j;
+    for (i = 0, j = 1; i < sizeof(IA32flags) / sizeof(IA32flags[0]); i ++, j <<= 1) {
+        if ((tf->tf_eflags & j) && IA32flags[i] != NULL) {
+            cprintf("%s,", IA32flags[i]);
+        }
+    }
+    cprintf("IOPL=%d\n", (tf->tf_eflags & FL_IOPL_MASK) >> 12);
+
+    if (!trap_in_kernel(tf)) {
+        cprintf("  esp  0x%08x\n", tf->tf_esp);
+        cprintf("  ss   0x----%04x\n", tf->tf_ss);
+    }
+}
+
+void
+print_regs(struct pushregs *regs) {
+    cprintf("  edi  0x%08x\n", regs->reg_edi);
+    cprintf("  esi  0x%08x\n", regs->reg_esi);
+    cprintf("  ebp  0x%08x\n", regs->reg_ebp);
+    cprintf("  oesp 0x%08x\n", regs->reg_oesp);
+    cprintf("  ebx  0x%08x\n", regs->reg_ebx);
+    cprintf("  edx  0x%08x\n", regs->reg_edx);
+    cprintf("  ecx  0x%08x\n", regs->reg_ecx);
+    cprintf("  eax  0x%08x\n", regs->reg_eax);
+}
+
+static inline void
+print_pgfault(struct trapframe *tf) {
+    /* error_code:
+     * bit 0 == 0 means no page found, 1 means protection fault
+     * bit 1 == 0 means read, 1 means write
+     * bit 2 == 0 means kernel, 1 means user
+     * */
+    cprintf("page fault at 0x%08x: %c/%c [%s].\n", rcr2(),
+            (tf->tf_err & 4) ? 'U' : 'K',
+            (tf->tf_err & 2) ? 'W' : 'R',
+            (tf->tf_err & 1) ? "protection fault" : "no page found");
+}
+
+static int
+pgfault_handler(struct trapframe *tf) {
+    extern struct mm_struct *check_mm_struct;
+    if(check_mm_struct !=NULL) { //used for test check_swap
+            print_pgfault(tf);
+        }
+    struct mm_struct *mm;
+    if (check_mm_struct != NULL) {
+        assert(current == idleproc);
+        mm = check_mm_struct;
+    }
+    else {
+        if (current == NULL) {
+            print_trapframe(tf);
+            print_pgfault(tf);
+            panic("unhandled page fault.\n");
+        }
+        mm = current->mm;
+    }
+    return do_pgfault(mm, tf->tf_err, rcr2());
+}
+
+static volatile int in_swap_tick_event = 0;
+extern struct mm_struct *check_mm_struct;
+
+static void
+trap_dispatch(struct trapframe *tf) {
+    char c;
+
+    int ret=0;
+
+    switch (tf->tf_trapno) {
+    case T_PGFLT:  //page fault
+        if ((ret = pgfault_handler(tf)) != 0) {
+            print_trapframe(tf);
+            if (current == NULL) {
+                panic("handle pgfault failed. ret=%d\n", ret);
+            }
+            else {
+                if (trap_in_kernel(tf)) {
+                    panic("handle pgfault failed in kernel mode. ret=%d\n", ret);
+                }
+                cprintf("killed by kernel.\n");
+                panic("handle user mode pgfault failed. ret=%d\n", ret); 
+                do_exit(-E_KILLED);
+            }
+        }
+        break;
+    case T_SYSCALL:
+        syscall();
+        break;
+    case IRQ_OFFSET + IRQ_TIMER:
+#if 0
+    LAB3 : If some page replacement algorithm need tick to change the priority of pages, 
+    then you can add code here. 
+#endif
+        /* LAB1 YOUR CODE : STEP 3 */
+        /* handle the timer interrupt */
+        /* (1) After a timer interrupt, you should record this event using a global variable (increase it), such as ticks in kern/driver/clock.c
+         * (2) Every TICK_NUM cycle, you can print some info using a funciton, such as print_ticks().
+         * (3) Too Simple? Yes, I think so!
+         */
+        /* LAB5 YOUR CODE */
+        /* you should upate you lab1 code (just add ONE or TWO lines of code):
+         *    Every TICK_NUM cycle, you should set current process's current->need_resched = 1
+         */
+  
+        break;
+    case IRQ_OFFSET + IRQ_COM1:
+        c = cons_getc();
+        cprintf("serial [%03d] %c\n", c, c);
+        break;
+    case IRQ_OFFSET + IRQ_KBD:
+        c = cons_getc();
+        cprintf("kbd [%03d] %c\n", c, c);
+        break;
+    //LAB1 CHALLENGE 1 : YOUR CODE you should modify below codes.
+    case T_SWITCH_TOU:
+    case T_SWITCH_TOK:
+        panic("T_SWITCH_** ??\n");
+        break;
+    case IRQ_OFFSET + IRQ_IDE1:
+    case IRQ_OFFSET + IRQ_IDE2:
+        /* do nothing */
+        break;
+    default:
+        print_trapframe(tf);
+        if (current != NULL) {
+            cprintf("unhandled trap.\n");
+            do_exit(-E_KILLED);
+        }
+        // in kernel, it must be a mistake
+        panic("unexpected trap in kernel.\n");
+
+    }
+}
+
+/* *
+ * trap - handles or dispatches an exception/interrupt. if and when trap() returns,
+ * the code in kern/trap/trapentry.S restores the old CPU state saved in the
+ * trapframe and then uses the iret instruction to return from the exception.
+ * */
+void
+trap(struct trapframe *tf) {
+    // dispatch based on what type of trap occurred
+    // used for previous projects
+    if (current == NULL) {
+        trap_dispatch(tf);
+    }
+    else {
+        // keep a trapframe chain in stack
+        struct trapframe *otf = current->tf;
+        current->tf = tf;
+    
+        bool in_kernel = trap_in_kernel(tf);
+    
+        trap_dispatch(tf);
+    
+        current->tf = otf;
+        if (!in_kernel) {
+            if (current->flags & PF_EXITING) {
+                do_exit(-E_KILLED);
+            }
+            if (current->need_resched) {
+                schedule();
+            }
+        }
+    }
+}
+
diff --git a/code/lab7/kern/trap/trap.h b/code/lab7/kern/trap/trap.h
new file mode 100644
index 0000000..e870a6f
--- /dev/null
+++ b/code/lab7/kern/trap/trap.h
@@ -0,0 +1,89 @@
+#ifndef __KERN_TRAP_TRAP_H__
+#define __KERN_TRAP_TRAP_H__
+
+#include <defs.h>
+
+/* Trap Numbers */
+
+/* Processor-defined: */
+#define T_DIVIDE                0   // divide error
+#define T_DEBUG                 1   // debug exception
+#define T_NMI                   2   // non-maskable interrupt
+#define T_BRKPT                 3   // breakpoint
+#define T_OFLOW                 4   // overflow
+#define T_BOUND                 5   // bounds check
+#define T_ILLOP                 6   // illegal opcode
+#define T_DEVICE                7   // device not available
+#define T_DBLFLT                8   // double fault
+// #define T_COPROC             9   // reserved (not used since 486)
+#define T_TSS                   10  // invalid task switch segment
+#define T_SEGNP                 11  // segment not present
+#define T_STACK                 12  // stack exception
+#define T_GPFLT                 13  // general protection fault
+#define T_PGFLT                 14  // page fault
+// #define T_RES                15  // reserved
+#define T_FPERR                 16  // floating point error
+#define T_ALIGN                 17  // aligment check
+#define T_MCHK                  18  // machine check
+#define T_SIMDERR               19  // SIMD floating point error
+
+/* Hardware IRQ numbers. We receive these as (IRQ_OFFSET + IRQ_xx) */
+#define IRQ_OFFSET              32  // IRQ 0 corresponds to int IRQ_OFFSET
+
+#define IRQ_TIMER               0
+#define IRQ_KBD                 1
+#define IRQ_COM1                4
+#define IRQ_IDE1                14
+#define IRQ_IDE2                15
+#define IRQ_ERROR               19
+#define IRQ_SPURIOUS            31
+
+/* *
+ * These are arbitrarily chosen, but with care not to overlap
+ * processor defined exceptions or interrupt vectors.
+ * */
+#define T_SWITCH_TOU                120    // user/kernel switch
+#define T_SWITCH_TOK                121    // user/kernel switch
+
+/* registers as pushed by pushal */
+struct pushregs {
+    uint32_t reg_edi;
+    uint32_t reg_esi;
+    uint32_t reg_ebp;
+    uint32_t reg_oesp;          /* Useless */
+    uint32_t reg_ebx;
+    uint32_t reg_edx;
+    uint32_t reg_ecx;
+    uint32_t reg_eax;
+};
+
+struct trapframe {
+    struct pushregs tf_regs;
+    uint16_t tf_gs;
+    uint16_t tf_padding0;
+    uint16_t tf_fs;
+    uint16_t tf_padding1;
+    uint16_t tf_es;
+    uint16_t tf_padding2;
+    uint16_t tf_ds;
+    uint16_t tf_padding3;
+    uint32_t tf_trapno;
+    /* below here defined by x86 hardware */
+    uint32_t tf_err;
+    uintptr_t tf_eip;
+    uint16_t tf_cs;
+    uint16_t tf_padding4;
+    uint32_t tf_eflags;
+    /* below here only when crossing rings, such as from user to kernel */
+    uintptr_t tf_esp;
+    uint16_t tf_ss;
+    uint16_t tf_padding5;
+} __attribute__((packed));
+
+void idt_init(void);
+void print_trapframe(struct trapframe *tf);
+void print_regs(struct pushregs *regs);
+bool trap_in_kernel(struct trapframe *tf);
+
+#endif /* !__KERN_TRAP_TRAP_H__ */
+
diff --git a/code/lab7/kern/trap/trapentry.S b/code/lab7/kern/trap/trapentry.S
new file mode 100644
index 0000000..3565ec8
--- /dev/null
+++ b/code/lab7/kern/trap/trapentry.S
@@ -0,0 +1,49 @@
+#include <memlayout.h>
+
+# vectors.S sends all traps here.
+.text
+.globl __alltraps
+__alltraps:
+    # push registers to build a trap frame
+    # therefore make the stack look like a struct trapframe
+    pushl %ds
+    pushl %es
+    pushl %fs
+    pushl %gs
+    pushal
+
+    # load GD_KDATA into %ds and %es to set up data segments for kernel
+    movl $GD_KDATA, %eax
+    movw %ax, %ds
+    movw %ax, %es
+
+    # push %esp to pass a pointer to the trapframe as an argument to trap()
+    pushl %esp
+
+    # call trap(tf), where tf=%esp
+    call trap
+
+    # pop the pushed stack pointer
+    popl %esp
+
+    # return falls through to trapret...
+.globl __trapret
+__trapret:
+    # restore registers from stack
+    popal
+
+    # restore %ds, %es, %fs and %gs
+    popl %gs
+    popl %fs
+    popl %es
+    popl %ds
+
+    # get rid of the trap number and error code
+    addl $0x8, %esp
+    iret
+
+.globl forkrets
+forkrets:
+    # set stack to this new process's trapframe
+    movl 4(%esp), %esp
+    jmp __trapret
diff --git a/code/lab7/kern/trap/vectors.S b/code/lab7/kern/trap/vectors.S
new file mode 100644
index 0000000..1d05b4a
--- /dev/null
+++ b/code/lab7/kern/trap/vectors.S
@@ -0,0 +1,1536 @@
+# handler
+.text
+.globl __alltraps
+.globl vector0
+vector0:
+  pushl $0
+  pushl $0
+  jmp __alltraps
+.globl vector1
+vector1:
+  pushl $0
+  pushl $1
+  jmp __alltraps
+.globl vector2
+vector2:
+  pushl $0
+  pushl $2
+  jmp __alltraps
+.globl vector3
+vector3:
+  pushl $0
+  pushl $3
+  jmp __alltraps
+.globl vector4
+vector4:
+  pushl $0
+  pushl $4
+  jmp __alltraps
+.globl vector5
+vector5:
+  pushl $0
+  pushl $5
+  jmp __alltraps
+.globl vector6
+vector6:
+  pushl $0
+  pushl $6
+  jmp __alltraps
+.globl vector7
+vector7:
+  pushl $0
+  pushl $7
+  jmp __alltraps
+.globl vector8
+vector8:
+  pushl $8
+  jmp __alltraps
+.globl vector9
+vector9:
+  pushl $9
+  jmp __alltraps
+.globl vector10
+vector10:
+  pushl $10
+  jmp __alltraps
+.globl vector11
+vector11:
+  pushl $11
+  jmp __alltraps
+.globl vector12
+vector12:
+  pushl $12
+  jmp __alltraps
+.globl vector13
+vector13:
+  pushl $13
+  jmp __alltraps
+.globl vector14
+vector14:
+  pushl $14
+  jmp __alltraps
+.globl vector15
+vector15:
+  pushl $0
+  pushl $15
+  jmp __alltraps
+.globl vector16
+vector16:
+  pushl $0
+  pushl $16
+  jmp __alltraps
+.globl vector17
+vector17:
+  pushl $17
+  jmp __alltraps
+.globl vector18
+vector18:
+  pushl $0
+  pushl $18
+  jmp __alltraps
+.globl vector19
+vector19:
+  pushl $0
+  pushl $19
+  jmp __alltraps
+.globl vector20
+vector20:
+  pushl $0
+  pushl $20
+  jmp __alltraps
+.globl vector21
+vector21:
+  pushl $0
+  pushl $21
+  jmp __alltraps
+.globl vector22
+vector22:
+  pushl $0
+  pushl $22
+  jmp __alltraps
+.globl vector23
+vector23:
+  pushl $0
+  pushl $23
+  jmp __alltraps
+.globl vector24
+vector24:
+  pushl $0
+  pushl $24
+  jmp __alltraps
+.globl vector25
+vector25:
+  pushl $0
+  pushl $25
+  jmp __alltraps
+.globl vector26
+vector26:
+  pushl $0
+  pushl $26
+  jmp __alltraps
+.globl vector27
+vector27:
+  pushl $0
+  pushl $27
+  jmp __alltraps
+.globl vector28
+vector28:
+  pushl $0
+  pushl $28
+  jmp __alltraps
+.globl vector29
+vector29:
+  pushl $0
+  pushl $29
+  jmp __alltraps
+.globl vector30
+vector30:
+  pushl $0
+  pushl $30
+  jmp __alltraps
+.globl vector31
+vector31:
+  pushl $0
+  pushl $31
+  jmp __alltraps
+.globl vector32
+vector32:
+  pushl $0
+  pushl $32
+  jmp __alltraps
+.globl vector33
+vector33:
+  pushl $0
+  pushl $33
+  jmp __alltraps
+.globl vector34
+vector34:
+  pushl $0
+  pushl $34
+  jmp __alltraps
+.globl vector35
+vector35:
+  pushl $0
+  pushl $35
+  jmp __alltraps
+.globl vector36
+vector36:
+  pushl $0
+  pushl $36
+  jmp __alltraps
+.globl vector37
+vector37:
+  pushl $0
+  pushl $37
+  jmp __alltraps
+.globl vector38
+vector38:
+  pushl $0
+  pushl $38
+  jmp __alltraps
+.globl vector39
+vector39:
+  pushl $0
+  pushl $39
+  jmp __alltraps
+.globl vector40
+vector40:
+  pushl $0
+  pushl $40
+  jmp __alltraps
+.globl vector41
+vector41:
+  pushl $0
+  pushl $41
+  jmp __alltraps
+.globl vector42
+vector42:
+  pushl $0
+  pushl $42
+  jmp __alltraps
+.globl vector43
+vector43:
+  pushl $0
+  pushl $43
+  jmp __alltraps
+.globl vector44
+vector44:
+  pushl $0
+  pushl $44
+  jmp __alltraps
+.globl vector45
+vector45:
+  pushl $0
+  pushl $45
+  jmp __alltraps
+.globl vector46
+vector46:
+  pushl $0
+  pushl $46
+  jmp __alltraps
+.globl vector47
+vector47:
+  pushl $0
+  pushl $47
+  jmp __alltraps
+.globl vector48
+vector48:
+  pushl $0
+  pushl $48
+  jmp __alltraps
+.globl vector49
+vector49:
+  pushl $0
+  pushl $49
+  jmp __alltraps
+.globl vector50
+vector50:
+  pushl $0
+  pushl $50
+  jmp __alltraps
+.globl vector51
+vector51:
+  pushl $0
+  pushl $51
+  jmp __alltraps
+.globl vector52
+vector52:
+  pushl $0
+  pushl $52
+  jmp __alltraps
+.globl vector53
+vector53:
+  pushl $0
+  pushl $53
+  jmp __alltraps
+.globl vector54
+vector54:
+  pushl $0
+  pushl $54
+  jmp __alltraps
+.globl vector55
+vector55:
+  pushl $0
+  pushl $55
+  jmp __alltraps
+.globl vector56
+vector56:
+  pushl $0
+  pushl $56
+  jmp __alltraps
+.globl vector57
+vector57:
+  pushl $0
+  pushl $57
+  jmp __alltraps
+.globl vector58
+vector58:
+  pushl $0
+  pushl $58
+  jmp __alltraps
+.globl vector59
+vector59:
+  pushl $0
+  pushl $59
+  jmp __alltraps
+.globl vector60
+vector60:
+  pushl $0
+  pushl $60
+  jmp __alltraps
+.globl vector61
+vector61:
+  pushl $0
+  pushl $61
+  jmp __alltraps
+.globl vector62
+vector62:
+  pushl $0
+  pushl $62
+  jmp __alltraps
+.globl vector63
+vector63:
+  pushl $0
+  pushl $63
+  jmp __alltraps
+.globl vector64
+vector64:
+  pushl $0
+  pushl $64
+  jmp __alltraps
+.globl vector65
+vector65:
+  pushl $0
+  pushl $65
+  jmp __alltraps
+.globl vector66
+vector66:
+  pushl $0
+  pushl $66
+  jmp __alltraps
+.globl vector67
+vector67:
+  pushl $0
+  pushl $67
+  jmp __alltraps
+.globl vector68
+vector68:
+  pushl $0
+  pushl $68
+  jmp __alltraps
+.globl vector69
+vector69:
+  pushl $0
+  pushl $69
+  jmp __alltraps
+.globl vector70
+vector70:
+  pushl $0
+  pushl $70
+  jmp __alltraps
+.globl vector71
+vector71:
+  pushl $0
+  pushl $71
+  jmp __alltraps
+.globl vector72
+vector72:
+  pushl $0
+  pushl $72
+  jmp __alltraps
+.globl vector73
+vector73:
+  pushl $0
+  pushl $73
+  jmp __alltraps
+.globl vector74
+vector74:
+  pushl $0
+  pushl $74
+  jmp __alltraps
+.globl vector75
+vector75:
+  pushl $0
+  pushl $75
+  jmp __alltraps
+.globl vector76
+vector76:
+  pushl $0
+  pushl $76
+  jmp __alltraps
+.globl vector77
+vector77:
+  pushl $0
+  pushl $77
+  jmp __alltraps
+.globl vector78
+vector78:
+  pushl $0
+  pushl $78
+  jmp __alltraps
+.globl vector79
+vector79:
+  pushl $0
+  pushl $79
+  jmp __alltraps
+.globl vector80
+vector80:
+  pushl $0
+  pushl $80
+  jmp __alltraps
+.globl vector81
+vector81:
+  pushl $0
+  pushl $81
+  jmp __alltraps
+.globl vector82
+vector82:
+  pushl $0
+  pushl $82
+  jmp __alltraps
+.globl vector83
+vector83:
+  pushl $0
+  pushl $83
+  jmp __alltraps
+.globl vector84
+vector84:
+  pushl $0
+  pushl $84
+  jmp __alltraps
+.globl vector85
+vector85:
+  pushl $0
+  pushl $85
+  jmp __alltraps
+.globl vector86
+vector86:
+  pushl $0
+  pushl $86
+  jmp __alltraps
+.globl vector87
+vector87:
+  pushl $0
+  pushl $87
+  jmp __alltraps
+.globl vector88
+vector88:
+  pushl $0
+  pushl $88
+  jmp __alltraps
+.globl vector89
+vector89:
+  pushl $0
+  pushl $89
+  jmp __alltraps
+.globl vector90
+vector90:
+  pushl $0
+  pushl $90
+  jmp __alltraps
+.globl vector91
+vector91:
+  pushl $0
+  pushl $91
+  jmp __alltraps
+.globl vector92
+vector92:
+  pushl $0
+  pushl $92
+  jmp __alltraps
+.globl vector93
+vector93:
+  pushl $0
+  pushl $93
+  jmp __alltraps
+.globl vector94
+vector94:
+  pushl $0
+  pushl $94
+  jmp __alltraps
+.globl vector95
+vector95:
+  pushl $0
+  pushl $95
+  jmp __alltraps
+.globl vector96
+vector96:
+  pushl $0
+  pushl $96
+  jmp __alltraps
+.globl vector97
+vector97:
+  pushl $0
+  pushl $97
+  jmp __alltraps
+.globl vector98
+vector98:
+  pushl $0
+  pushl $98
+  jmp __alltraps
+.globl vector99
+vector99:
+  pushl $0
+  pushl $99
+  jmp __alltraps
+.globl vector100
+vector100:
+  pushl $0
+  pushl $100
+  jmp __alltraps
+.globl vector101
+vector101:
+  pushl $0
+  pushl $101
+  jmp __alltraps
+.globl vector102
+vector102:
+  pushl $0
+  pushl $102
+  jmp __alltraps
+.globl vector103
+vector103:
+  pushl $0
+  pushl $103
+  jmp __alltraps
+.globl vector104
+vector104:
+  pushl $0
+  pushl $104
+  jmp __alltraps
+.globl vector105
+vector105:
+  pushl $0
+  pushl $105
+  jmp __alltraps
+.globl vector106
+vector106:
+  pushl $0
+  pushl $106
+  jmp __alltraps
+.globl vector107
+vector107:
+  pushl $0
+  pushl $107
+  jmp __alltraps
+.globl vector108
+vector108:
+  pushl $0
+  pushl $108
+  jmp __alltraps
+.globl vector109
+vector109:
+  pushl $0
+  pushl $109
+  jmp __alltraps
+.globl vector110
+vector110:
+  pushl $0
+  pushl $110
+  jmp __alltraps
+.globl vector111
+vector111:
+  pushl $0
+  pushl $111
+  jmp __alltraps
+.globl vector112
+vector112:
+  pushl $0
+  pushl $112
+  jmp __alltraps
+.globl vector113
+vector113:
+  pushl $0
+  pushl $113
+  jmp __alltraps
+.globl vector114
+vector114:
+  pushl $0
+  pushl $114
+  jmp __alltraps
+.globl vector115
+vector115:
+  pushl $0
+  pushl $115
+  jmp __alltraps
+.globl vector116
+vector116:
+  pushl $0
+  pushl $116
+  jmp __alltraps
+.globl vector117
+vector117:
+  pushl $0
+  pushl $117
+  jmp __alltraps
+.globl vector118
+vector118:
+  pushl $0
+  pushl $118
+  jmp __alltraps
+.globl vector119
+vector119:
+  pushl $0
+  pushl $119
+  jmp __alltraps
+.globl vector120
+vector120:
+  pushl $0
+  pushl $120
+  jmp __alltraps
+.globl vector121
+vector121:
+  pushl $0
+  pushl $121
+  jmp __alltraps
+.globl vector122
+vector122:
+  pushl $0
+  pushl $122
+  jmp __alltraps
+.globl vector123
+vector123:
+  pushl $0
+  pushl $123
+  jmp __alltraps
+.globl vector124
+vector124:
+  pushl $0
+  pushl $124
+  jmp __alltraps
+.globl vector125
+vector125:
+  pushl $0
+  pushl $125
+  jmp __alltraps
+.globl vector126
+vector126:
+  pushl $0
+  pushl $126
+  jmp __alltraps
+.globl vector127
+vector127:
+  pushl $0
+  pushl $127
+  jmp __alltraps
+.globl vector128
+vector128:
+  pushl $0
+  pushl $128
+  jmp __alltraps
+.globl vector129
+vector129:
+  pushl $0
+  pushl $129
+  jmp __alltraps
+.globl vector130
+vector130:
+  pushl $0
+  pushl $130
+  jmp __alltraps
+.globl vector131
+vector131:
+  pushl $0
+  pushl $131
+  jmp __alltraps
+.globl vector132
+vector132:
+  pushl $0
+  pushl $132
+  jmp __alltraps
+.globl vector133
+vector133:
+  pushl $0
+  pushl $133
+  jmp __alltraps
+.globl vector134
+vector134:
+  pushl $0
+  pushl $134
+  jmp __alltraps
+.globl vector135
+vector135:
+  pushl $0
+  pushl $135
+  jmp __alltraps
+.globl vector136
+vector136:
+  pushl $0
+  pushl $136
+  jmp __alltraps
+.globl vector137
+vector137:
+  pushl $0
+  pushl $137
+  jmp __alltraps
+.globl vector138
+vector138:
+  pushl $0
+  pushl $138
+  jmp __alltraps
+.globl vector139
+vector139:
+  pushl $0
+  pushl $139
+  jmp __alltraps
+.globl vector140
+vector140:
+  pushl $0
+  pushl $140
+  jmp __alltraps
+.globl vector141
+vector141:
+  pushl $0
+  pushl $141
+  jmp __alltraps
+.globl vector142
+vector142:
+  pushl $0
+  pushl $142
+  jmp __alltraps
+.globl vector143
+vector143:
+  pushl $0
+  pushl $143
+  jmp __alltraps
+.globl vector144
+vector144:
+  pushl $0
+  pushl $144
+  jmp __alltraps
+.globl vector145
+vector145:
+  pushl $0
+  pushl $145
+  jmp __alltraps
+.globl vector146
+vector146:
+  pushl $0
+  pushl $146
+  jmp __alltraps
+.globl vector147
+vector147:
+  pushl $0
+  pushl $147
+  jmp __alltraps
+.globl vector148
+vector148:
+  pushl $0
+  pushl $148
+  jmp __alltraps
+.globl vector149
+vector149:
+  pushl $0
+  pushl $149
+  jmp __alltraps
+.globl vector150
+vector150:
+  pushl $0
+  pushl $150
+  jmp __alltraps
+.globl vector151
+vector151:
+  pushl $0
+  pushl $151
+  jmp __alltraps
+.globl vector152
+vector152:
+  pushl $0
+  pushl $152
+  jmp __alltraps
+.globl vector153
+vector153:
+  pushl $0
+  pushl $153
+  jmp __alltraps
+.globl vector154
+vector154:
+  pushl $0
+  pushl $154
+  jmp __alltraps
+.globl vector155
+vector155:
+  pushl $0
+  pushl $155
+  jmp __alltraps
+.globl vector156
+vector156:
+  pushl $0
+  pushl $156
+  jmp __alltraps
+.globl vector157
+vector157:
+  pushl $0
+  pushl $157
+  jmp __alltraps
+.globl vector158
+vector158:
+  pushl $0
+  pushl $158
+  jmp __alltraps
+.globl vector159
+vector159:
+  pushl $0
+  pushl $159
+  jmp __alltraps
+.globl vector160
+vector160:
+  pushl $0
+  pushl $160
+  jmp __alltraps
+.globl vector161
+vector161:
+  pushl $0
+  pushl $161
+  jmp __alltraps
+.globl vector162
+vector162:
+  pushl $0
+  pushl $162
+  jmp __alltraps
+.globl vector163
+vector163:
+  pushl $0
+  pushl $163
+  jmp __alltraps
+.globl vector164
+vector164:
+  pushl $0
+  pushl $164
+  jmp __alltraps
+.globl vector165
+vector165:
+  pushl $0
+  pushl $165
+  jmp __alltraps
+.globl vector166
+vector166:
+  pushl $0
+  pushl $166
+  jmp __alltraps
+.globl vector167
+vector167:
+  pushl $0
+  pushl $167
+  jmp __alltraps
+.globl vector168
+vector168:
+  pushl $0
+  pushl $168
+  jmp __alltraps
+.globl vector169
+vector169:
+  pushl $0
+  pushl $169
+  jmp __alltraps
+.globl vector170
+vector170:
+  pushl $0
+  pushl $170
+  jmp __alltraps
+.globl vector171
+vector171:
+  pushl $0
+  pushl $171
+  jmp __alltraps
+.globl vector172
+vector172:
+  pushl $0
+  pushl $172
+  jmp __alltraps
+.globl vector173
+vector173:
+  pushl $0
+  pushl $173
+  jmp __alltraps
+.globl vector174
+vector174:
+  pushl $0
+  pushl $174
+  jmp __alltraps
+.globl vector175
+vector175:
+  pushl $0
+  pushl $175
+  jmp __alltraps
+.globl vector176
+vector176:
+  pushl $0
+  pushl $176
+  jmp __alltraps
+.globl vector177
+vector177:
+  pushl $0
+  pushl $177
+  jmp __alltraps
+.globl vector178
+vector178:
+  pushl $0
+  pushl $178
+  jmp __alltraps
+.globl vector179
+vector179:
+  pushl $0
+  pushl $179
+  jmp __alltraps
+.globl vector180
+vector180:
+  pushl $0
+  pushl $180
+  jmp __alltraps
+.globl vector181
+vector181:
+  pushl $0
+  pushl $181
+  jmp __alltraps
+.globl vector182
+vector182:
+  pushl $0
+  pushl $182
+  jmp __alltraps
+.globl vector183
+vector183:
+  pushl $0
+  pushl $183
+  jmp __alltraps
+.globl vector184
+vector184:
+  pushl $0
+  pushl $184
+  jmp __alltraps
+.globl vector185
+vector185:
+  pushl $0
+  pushl $185
+  jmp __alltraps
+.globl vector186
+vector186:
+  pushl $0
+  pushl $186
+  jmp __alltraps
+.globl vector187
+vector187:
+  pushl $0
+  pushl $187
+  jmp __alltraps
+.globl vector188
+vector188:
+  pushl $0
+  pushl $188
+  jmp __alltraps
+.globl vector189
+vector189:
+  pushl $0
+  pushl $189
+  jmp __alltraps
+.globl vector190
+vector190:
+  pushl $0
+  pushl $190
+  jmp __alltraps
+.globl vector191
+vector191:
+  pushl $0
+  pushl $191
+  jmp __alltraps
+.globl vector192
+vector192:
+  pushl $0
+  pushl $192
+  jmp __alltraps
+.globl vector193
+vector193:
+  pushl $0
+  pushl $193
+  jmp __alltraps
+.globl vector194
+vector194:
+  pushl $0
+  pushl $194
+  jmp __alltraps
+.globl vector195
+vector195:
+  pushl $0
+  pushl $195
+  jmp __alltraps
+.globl vector196
+vector196:
+  pushl $0
+  pushl $196
+  jmp __alltraps
+.globl vector197
+vector197:
+  pushl $0
+  pushl $197
+  jmp __alltraps
+.globl vector198
+vector198:
+  pushl $0
+  pushl $198
+  jmp __alltraps
+.globl vector199
+vector199:
+  pushl $0
+  pushl $199
+  jmp __alltraps
+.globl vector200
+vector200:
+  pushl $0
+  pushl $200
+  jmp __alltraps
+.globl vector201
+vector201:
+  pushl $0
+  pushl $201
+  jmp __alltraps
+.globl vector202
+vector202:
+  pushl $0
+  pushl $202
+  jmp __alltraps
+.globl vector203
+vector203:
+  pushl $0
+  pushl $203
+  jmp __alltraps
+.globl vector204
+vector204:
+  pushl $0
+  pushl $204
+  jmp __alltraps
+.globl vector205
+vector205:
+  pushl $0
+  pushl $205
+  jmp __alltraps
+.globl vector206
+vector206:
+  pushl $0
+  pushl $206
+  jmp __alltraps
+.globl vector207
+vector207:
+  pushl $0
+  pushl $207
+  jmp __alltraps
+.globl vector208
+vector208:
+  pushl $0
+  pushl $208
+  jmp __alltraps
+.globl vector209
+vector209:
+  pushl $0
+  pushl $209
+  jmp __alltraps
+.globl vector210
+vector210:
+  pushl $0
+  pushl $210
+  jmp __alltraps
+.globl vector211
+vector211:
+  pushl $0
+  pushl $211
+  jmp __alltraps
+.globl vector212
+vector212:
+  pushl $0
+  pushl $212
+  jmp __alltraps
+.globl vector213
+vector213:
+  pushl $0
+  pushl $213
+  jmp __alltraps
+.globl vector214
+vector214:
+  pushl $0
+  pushl $214
+  jmp __alltraps
+.globl vector215
+vector215:
+  pushl $0
+  pushl $215
+  jmp __alltraps
+.globl vector216
+vector216:
+  pushl $0
+  pushl $216
+  jmp __alltraps
+.globl vector217
+vector217:
+  pushl $0
+  pushl $217
+  jmp __alltraps
+.globl vector218
+vector218:
+  pushl $0
+  pushl $218
+  jmp __alltraps
+.globl vector219
+vector219:
+  pushl $0
+  pushl $219
+  jmp __alltraps
+.globl vector220
+vector220:
+  pushl $0
+  pushl $220
+  jmp __alltraps
+.globl vector221
+vector221:
+  pushl $0
+  pushl $221
+  jmp __alltraps
+.globl vector222
+vector222:
+  pushl $0
+  pushl $222
+  jmp __alltraps
+.globl vector223
+vector223:
+  pushl $0
+  pushl $223
+  jmp __alltraps
+.globl vector224
+vector224:
+  pushl $0
+  pushl $224
+  jmp __alltraps
+.globl vector225
+vector225:
+  pushl $0
+  pushl $225
+  jmp __alltraps
+.globl vector226
+vector226:
+  pushl $0
+  pushl $226
+  jmp __alltraps
+.globl vector227
+vector227:
+  pushl $0
+  pushl $227
+  jmp __alltraps
+.globl vector228
+vector228:
+  pushl $0
+  pushl $228
+  jmp __alltraps
+.globl vector229
+vector229:
+  pushl $0
+  pushl $229
+  jmp __alltraps
+.globl vector230
+vector230:
+  pushl $0
+  pushl $230
+  jmp __alltraps
+.globl vector231
+vector231:
+  pushl $0
+  pushl $231
+  jmp __alltraps
+.globl vector232
+vector232:
+  pushl $0
+  pushl $232
+  jmp __alltraps
+.globl vector233
+vector233:
+  pushl $0
+  pushl $233
+  jmp __alltraps
+.globl vector234
+vector234:
+  pushl $0
+  pushl $234
+  jmp __alltraps
+.globl vector235
+vector235:
+  pushl $0
+  pushl $235
+  jmp __alltraps
+.globl vector236
+vector236:
+  pushl $0
+  pushl $236
+  jmp __alltraps
+.globl vector237
+vector237:
+  pushl $0
+  pushl $237
+  jmp __alltraps
+.globl vector238
+vector238:
+  pushl $0
+  pushl $238
+  jmp __alltraps
+.globl vector239
+vector239:
+  pushl $0
+  pushl $239
+  jmp __alltraps
+.globl vector240
+vector240:
+  pushl $0
+  pushl $240
+  jmp __alltraps
+.globl vector241
+vector241:
+  pushl $0
+  pushl $241
+  jmp __alltraps
+.globl vector242
+vector242:
+  pushl $0
+  pushl $242
+  jmp __alltraps
+.globl vector243
+vector243:
+  pushl $0
+  pushl $243
+  jmp __alltraps
+.globl vector244
+vector244:
+  pushl $0
+  pushl $244
+  jmp __alltraps
+.globl vector245
+vector245:
+  pushl $0
+  pushl $245
+  jmp __alltraps
+.globl vector246
+vector246:
+  pushl $0
+  pushl $246
+  jmp __alltraps
+.globl vector247
+vector247:
+  pushl $0
+  pushl $247
+  jmp __alltraps
+.globl vector248
+vector248:
+  pushl $0
+  pushl $248
+  jmp __alltraps
+.globl vector249
+vector249:
+  pushl $0
+  pushl $249
+  jmp __alltraps
+.globl vector250
+vector250:
+  pushl $0
+  pushl $250
+  jmp __alltraps
+.globl vector251
+vector251:
+  pushl $0
+  pushl $251
+  jmp __alltraps
+.globl vector252
+vector252:
+  pushl $0
+  pushl $252
+  jmp __alltraps
+.globl vector253
+vector253:
+  pushl $0
+  pushl $253
+  jmp __alltraps
+.globl vector254
+vector254:
+  pushl $0
+  pushl $254
+  jmp __alltraps
+.globl vector255
+vector255:
+  pushl $0
+  pushl $255
+  jmp __alltraps
+
+# vector table
+.data
+.globl __vectors
+__vectors:
+  .long vector0
+  .long vector1
+  .long vector2
+  .long vector3
+  .long vector4
+  .long vector5
+  .long vector6
+  .long vector7
+  .long vector8
+  .long vector9
+  .long vector10
+  .long vector11
+  .long vector12
+  .long vector13
+  .long vector14
+  .long vector15
+  .long vector16
+  .long vector17
+  .long vector18
+  .long vector19
+  .long vector20
+  .long vector21
+  .long vector22
+  .long vector23
+  .long vector24
+  .long vector25
+  .long vector26
+  .long vector27
+  .long vector28
+  .long vector29
+  .long vector30
+  .long vector31
+  .long vector32
+  .long vector33
+  .long vector34
+  .long vector35
+  .long vector36
+  .long vector37
+  .long vector38
+  .long vector39
+  .long vector40
+  .long vector41
+  .long vector42
+  .long vector43
+  .long vector44
+  .long vector45
+  .long vector46
+  .long vector47
+  .long vector48
+  .long vector49
+  .long vector50
+  .long vector51
+  .long vector52
+  .long vector53
+  .long vector54
+  .long vector55
+  .long vector56
+  .long vector57
+  .long vector58
+  .long vector59
+  .long vector60
+  .long vector61
+  .long vector62
+  .long vector63
+  .long vector64
+  .long vector65
+  .long vector66
+  .long vector67
+  .long vector68
+  .long vector69
+  .long vector70
+  .long vector71
+  .long vector72
+  .long vector73
+  .long vector74
+  .long vector75
+  .long vector76
+  .long vector77
+  .long vector78
+  .long vector79
+  .long vector80
+  .long vector81
+  .long vector82
+  .long vector83
+  .long vector84
+  .long vector85
+  .long vector86
+  .long vector87
+  .long vector88
+  .long vector89
+  .long vector90
+  .long vector91
+  .long vector92
+  .long vector93
+  .long vector94
+  .long vector95
+  .long vector96
+  .long vector97
+  .long vector98
+  .long vector99
+  .long vector100
+  .long vector101
+  .long vector102
+  .long vector103
+  .long vector104
+  .long vector105
+  .long vector106
+  .long vector107
+  .long vector108
+  .long vector109
+  .long vector110
+  .long vector111
+  .long vector112
+  .long vector113
+  .long vector114
+  .long vector115
+  .long vector116
+  .long vector117
+  .long vector118
+  .long vector119
+  .long vector120
+  .long vector121
+  .long vector122
+  .long vector123
+  .long vector124
+  .long vector125
+  .long vector126
+  .long vector127
+  .long vector128
+  .long vector129
+  .long vector130
+  .long vector131
+  .long vector132
+  .long vector133
+  .long vector134
+  .long vector135
+  .long vector136
+  .long vector137
+  .long vector138
+  .long vector139
+  .long vector140
+  .long vector141
+  .long vector142
+  .long vector143
+  .long vector144
+  .long vector145
+  .long vector146
+  .long vector147
+  .long vector148
+  .long vector149
+  .long vector150
+  .long vector151
+  .long vector152
+  .long vector153
+  .long vector154
+  .long vector155
+  .long vector156
+  .long vector157
+  .long vector158
+  .long vector159
+  .long vector160
+  .long vector161
+  .long vector162
+  .long vector163
+  .long vector164
+  .long vector165
+  .long vector166
+  .long vector167
+  .long vector168
+  .long vector169
+  .long vector170
+  .long vector171
+  .long vector172
+  .long vector173
+  .long vector174
+  .long vector175
+  .long vector176
+  .long vector177
+  .long vector178
+  .long vector179
+  .long vector180
+  .long vector181
+  .long vector182
+  .long vector183
+  .long vector184
+  .long vector185
+  .long vector186
+  .long vector187
+  .long vector188
+  .long vector189
+  .long vector190
+  .long vector191
+  .long vector192
+  .long vector193
+  .long vector194
+  .long vector195
+  .long vector196
+  .long vector197
+  .long vector198
+  .long vector199
+  .long vector200
+  .long vector201
+  .long vector202
+  .long vector203
+  .long vector204
+  .long vector205
+  .long vector206
+  .long vector207
+  .long vector208
+  .long vector209
+  .long vector210
+  .long vector211
+  .long vector212
+  .long vector213
+  .long vector214
+  .long vector215
+  .long vector216
+  .long vector217
+  .long vector218
+  .long vector219
+  .long vector220
+  .long vector221
+  .long vector222
+  .long vector223
+  .long vector224
+  .long vector225
+  .long vector226
+  .long vector227
+  .long vector228
+  .long vector229
+  .long vector230
+  .long vector231
+  .long vector232
+  .long vector233
+  .long vector234
+  .long vector235
+  .long vector236
+  .long vector237
+  .long vector238
+  .long vector239
+  .long vector240
+  .long vector241
+  .long vector242
+  .long vector243
+  .long vector244
+  .long vector245
+  .long vector246
+  .long vector247
+  .long vector248
+  .long vector249
+  .long vector250
+  .long vector251
+  .long vector252
+  .long vector253
+  .long vector254
+  .long vector255
diff --git a/code/lab7/libs/atomic.h b/code/lab7/libs/atomic.h
new file mode 100644
index 0000000..a3a9525
--- /dev/null
+++ b/code/lab7/libs/atomic.h
@@ -0,0 +1,251 @@
+#ifndef __LIBS_ATOMIC_H__
+#define __LIBS_ATOMIC_H__
+
+/* Atomic operations that C can't guarantee us. Useful for resource counting etc.. */
+
+typedef struct {
+    volatile int counter;
+} atomic_t;
+
+static inline int atomic_read(const atomic_t *v) __attribute__((always_inline));
+static inline void atomic_set(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_add(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_sub(atomic_t *v, int i) __attribute__((always_inline));
+static inline bool atomic_sub_test_zero(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_inc(atomic_t *v) __attribute__((always_inline));
+static inline void atomic_dec(atomic_t *v) __attribute__((always_inline));
+static inline bool atomic_inc_test_zero(atomic_t *v) __attribute__((always_inline));
+static inline bool atomic_dec_test_zero(atomic_t *v) __attribute__((always_inline));
+static inline int atomic_add_return(atomic_t *v, int i) __attribute__((always_inline));
+static inline int atomic_sub_return(atomic_t *v, int i) __attribute__((always_inline));
+
+/* *
+ * atomic_read - read atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically reads the value of @v.
+ * */
+static inline int
+atomic_read(const atomic_t *v) {
+    return v->counter;
+}
+
+/* *
+ * atomic_set - set atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  required value
+ *
+ * Atomically sets the value of @v to @i.
+ * */
+static inline void
+atomic_set(atomic_t *v, int i) {
+    v->counter = i;
+}
+
+/* *
+ * atomic_add - add integer to atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to add
+ *
+ * Atomically adds @i to @v.
+ * */
+static inline void
+atomic_add(atomic_t *v, int i) {
+    asm volatile ("addl %1, %0" : "+m" (v->counter) : "ir" (i));
+}
+
+/* *
+ * atomic_sub - subtract integer from atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v.
+ * */
+static inline void
+atomic_sub(atomic_t *v, int i) {
+    asm volatile("subl %1, %0" : "+m" (v->counter) : "ir" (i));
+}
+
+/* *
+ * atomic_sub_test_zero - subtract value from variable and test result
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v and
+ * returns true if the result is zero, or false for all other cases.
+ * */
+static inline bool
+atomic_sub_test_zero(atomic_t *v, int i) {
+    unsigned char c;
+    asm volatile("subl %2, %0; sete %1" : "+m" (v->counter), "=qm" (c) : "ir" (i) : "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_inc - increment atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically increments @v by 1.
+ * */
+static inline void
+atomic_inc(atomic_t *v) {
+    asm volatile("incl %0" : "+m" (v->counter));
+}
+
+/* *
+ * atomic_dec - decrement atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically decrements @v by 1.
+ * */
+static inline void
+atomic_dec(atomic_t *v) {
+    asm volatile("decl %0" : "+m" (v->counter));
+}
+
+/* *
+ * atomic_inc_test_zero - increment and test
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically increments @v by 1 and
+ * returns true if the result is zero, or false for all other cases.
+ * */
+static inline bool
+atomic_inc_test_zero(atomic_t *v) {
+    unsigned char c;
+    asm volatile("incl %0; sete %1" : "+m" (v->counter), "=qm" (c) :: "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_dec_test_zero - decrement and test
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically decrements @v by 1 and
+ * returns true if the result is 0, or false for all other cases.
+ * */
+static inline bool
+atomic_dec_test_zero(atomic_t *v) {
+    unsigned char c;
+    asm volatile("decl %0; sete %1" : "+m" (v->counter), "=qm" (c) :: "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_add_return - add integer and return
+ * @i:  integer value to add
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically adds @i to @v and returns @i + @v
+ * Requires Modern 486+ processor
+ * */
+static inline int
+atomic_add_return(atomic_t *v, int i) {
+    int __i = i;
+    asm volatile("xaddl %0, %1" : "+r" (i), "+m" (v->counter) :: "memory");
+    return i + __i;
+}
+
+/* *
+ * atomic_sub_return - subtract integer and return
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v and returns @v - @i
+ * */
+static inline int
+atomic_sub_return(atomic_t *v, int i) {
+    return atomic_add_return(v, -i);
+}
+
+static inline void set_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline void clear_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline void change_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_set_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_clear_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_change_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_bit(int nr, volatile void *addr) __attribute__((always_inline));
+
+/* *
+ * set_bit - Atomically set a bit in memory
+ * @nr:     the bit to set
+ * @addr:   the address to start counting from
+ *
+ * Note that @nr may be almost arbitrarily large; this function is not
+ * restricted to acting on a single-word quantity.
+ * */
+static inline void
+set_bit(int nr, volatile void *addr) {
+    asm volatile ("btsl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * clear_bit - Atomically clears a bit in memory
+ * @nr:     the bit to clear
+ * @addr:   the address to start counting from
+ * */
+static inline void
+clear_bit(int nr, volatile void *addr) {
+    asm volatile ("btrl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * change_bit - Atomically toggle a bit in memory
+ * @nr:     the bit to change
+ * @addr:   the address to start counting from
+ * */
+static inline void
+change_bit(int nr, volatile void *addr) {
+    asm volatile ("btcl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * test_and_set_bit - Atomically set a bit and return its old value
+ * @nr:     the bit to set
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_set_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btsl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_and_clear_bit - Atomically clear a bit and return its old value
+ * @nr:     the bit to clear
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_clear_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btrl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_and_change_bit - Atomically change a bit and return its old value
+ * @nr:     the bit to change
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_change_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btcl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_bit - Determine whether a bit is set
+ * @nr:     the bit to test
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btl %2, %1; sbbl %0,%0" : "=r" (oldbit) : "m" (*(volatile long *)addr), "Ir" (nr));
+    return oldbit != 0;
+}
+
+#endif /* !__LIBS_ATOMIC_H__ */
+
diff --git a/code/lab7/libs/defs.h b/code/lab7/libs/defs.h
new file mode 100644
index 0000000..88f280e
--- /dev/null
+++ b/code/lab7/libs/defs.h
@@ -0,0 +1,68 @@
+#ifndef __LIBS_DEFS_H__
+#define __LIBS_DEFS_H__
+
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+#define __always_inline inline __attribute__((always_inline))
+#define __noinline __attribute__((noinline))
+#define __noreturn __attribute__((noreturn))
+
+/* Represents true-or-false values */
+typedef int bool;
+
+/* Explicitly-sized versions of integer types */
+typedef char int8_t;
+typedef unsigned char uint8_t;
+typedef short int16_t;
+typedef unsigned short uint16_t;
+typedef int int32_t;
+typedef unsigned int uint32_t;
+typedef long long int64_t;
+typedef unsigned long long uint64_t;
+
+/* *
+ * Pointers and addresses are 32 bits long.
+ * We use pointer types to represent addresses,
+ * uintptr_t to represent the numerical values of addresses.
+ * */
+typedef int32_t intptr_t;
+typedef uint32_t uintptr_t;
+
+/* size_t is used for memory object sizes */
+typedef uintptr_t size_t;
+
+/* used for page numbers */
+typedef size_t ppn_t;
+
+/* *
+ * Rounding operations (efficient when n is a power of 2)
+ * Round down to the nearest multiple of n
+ * */
+#define ROUNDDOWN(a, n) ({                                          \
+            size_t __a = (size_t)(a);                               \
+            (typeof(a))(__a - __a % (n));                           \
+        })
+
+/* Round up to the nearest multiple of n */
+#define ROUNDUP(a, n) ({                                            \
+            size_t __n = (size_t)(n);                               \
+            (typeof(a))(ROUNDDOWN((size_t)(a) + __n - 1, __n));     \
+        })
+
+/* Return the offset of 'member' relative to the beginning of a struct type */
+#define offsetof(type, member)                                      \
+    ((size_t)(&((type *)0)->member))
+
+/* *
+ * to_struct - get the struct from a ptr
+ * @ptr:    a struct pointer of member
+ * @type:   the type of the struct this is embedded in
+ * @member: the name of the member within the struct
+ * */
+#define to_struct(ptr, type, member)                               \
+    ((type *)((char *)(ptr) - offsetof(type, member)))
+
+#endif /* !__LIBS_DEFS_H__ */
+
diff --git a/code/lab7/libs/elf.h b/code/lab7/libs/elf.h
new file mode 100644
index 0000000..8678f10
--- /dev/null
+++ b/code/lab7/libs/elf.h
@@ -0,0 +1,48 @@
+#ifndef __LIBS_ELF_H__
+#define __LIBS_ELF_H__
+
+#include <defs.h>
+
+#define ELF_MAGIC   0x464C457FU         // "\x7FELF" in little endian
+
+/* file header */
+struct elfhdr {
+    uint32_t e_magic;     // must equal ELF_MAGIC
+    uint8_t e_elf[12];
+    uint16_t e_type;      // 1=relocatable, 2=executable, 3=shared object, 4=core image
+    uint16_t e_machine;   // 3=x86, 4=68K, etc.
+    uint32_t e_version;   // file version, always 1
+    uint32_t e_entry;     // entry point if executable
+    uint32_t e_phoff;     // file position of program header or 0
+    uint32_t e_shoff;     // file position of section header or 0
+    uint32_t e_flags;     // architecture-specific flags, usually 0
+    uint16_t e_ehsize;    // size of this elf header
+    uint16_t e_phentsize; // size of an entry in program header
+    uint16_t e_phnum;     // number of entries in program header or 0
+    uint16_t e_shentsize; // size of an entry in section header
+    uint16_t e_shnum;     // number of entries in section header or 0
+    uint16_t e_shstrndx;  // section number that contains section name strings
+};
+
+/* program section header */
+struct proghdr {
+    uint32_t p_type;   // loadable code or data, dynamic linking info,etc.
+    uint32_t p_offset; // file offset of segment
+    uint32_t p_va;     // virtual address to map segment
+    uint32_t p_pa;     // physical address, not used
+    uint32_t p_filesz; // size of segment in file
+    uint32_t p_memsz;  // size of segment in memory (bigger if contains bss)
+    uint32_t p_flags;  // read/write/execute bits
+    uint32_t p_align;  // required alignment, invariably hardware page size
+};
+
+/* values for Proghdr::p_type */
+#define ELF_PT_LOAD                     1
+
+/* flag bits for Proghdr::p_flags */
+#define ELF_PF_X                        1
+#define ELF_PF_W                        2
+#define ELF_PF_R                        4
+
+#endif /* !__LIBS_ELF_H__ */
+
diff --git a/code/lab7/libs/error.h b/code/lab7/libs/error.h
new file mode 100644
index 0000000..ddad593
--- /dev/null
+++ b/code/lab7/libs/error.h
@@ -0,0 +1,33 @@
+#ifndef __LIBS_ERROR_H__
+#define __LIBS_ERROR_H__
+
+/* kernel error codes -- keep in sync with list in lib/printfmt.c */
+#define E_UNSPECIFIED       1   // Unspecified or unknown problem
+#define E_BAD_PROC          2   // Process doesn't exist or otherwise
+#define E_INVAL             3   // Invalid parameter
+#define E_NO_MEM            4   // Request failed due to memory shortage
+#define E_NO_FREE_PROC      5   // Attempt to create a new process beyond
+#define E_FAULT             6   // Memory fault
+#define E_SWAP_FAULT        7   // SWAP READ/WRITE fault
+#define E_INVAL_ELF         8   // Invalid elf file
+#define E_KILLED            9   // Process is killed
+#define E_PANIC             10  // Panic Failure
+#define E_TIMEOUT           11  // Timeout
+#define E_TOO_BIG           12  // Argument is Too Big
+#define E_NO_DEV            13  // No such Device
+#define E_NA_DEV            14  // Device Not Available
+#define E_BUSY              15  // Device/File is Busy
+#define E_NOENT             16  // No Such File or Directory
+#define E_ISDIR             17  // Is a Directory
+#define E_NOTDIR            18  // Not a Directory
+#define E_XDEV              19  // Cross Device-Link
+#define E_UNIMP             20  // Unimplemented Feature
+#define E_SEEK              21  // Illegal Seek
+#define E_MAX_OPEN          22  // Too Many Files are Open
+#define E_EXISTS            23  // File/Directory Already Exists
+#define E_NOTEMPTY          24  // Directory is Not Empty
+/* the maximum allowed */
+#define MAXERROR            24
+
+#endif /* !__LIBS_ERROR_H__ */
+
diff --git a/code/lab7/libs/hash.c b/code/lab7/libs/hash.c
new file mode 100644
index 0000000..61bcd88
--- /dev/null
+++ b/code/lab7/libs/hash.c
@@ -0,0 +1,18 @@
+#include <stdlib.h>
+
+/* 2^31 + 2^29 - 2^25 + 2^22 - 2^19 - 2^16 + 1 */
+#define GOLDEN_RATIO_PRIME_32       0x9e370001UL
+
+/* *
+ * hash32 - generate a hash value in the range [0, 2^@bits - 1]
+ * @val:    the input value
+ * @bits:   the number of bits in a return value
+ *
+ * High bits are more random, so we use them.
+ * */
+uint32_t
+hash32(uint32_t val, unsigned int bits) {
+    uint32_t hash = val * GOLDEN_RATIO_PRIME_32;
+    return (hash >> (32 - bits));
+}
+
diff --git a/code/lab7/libs/list.h b/code/lab7/libs/list.h
new file mode 100644
index 0000000..3dbf772
--- /dev/null
+++ b/code/lab7/libs/list.h
@@ -0,0 +1,163 @@
+#ifndef __LIBS_LIST_H__
+#define __LIBS_LIST_H__
+
+#ifndef __ASSEMBLER__
+
+#include <defs.h>
+
+/* *
+ * Simple doubly linked list implementation.
+ *
+ * Some of the internal functions ("__xxx") are useful when manipulating
+ * whole lists rather than single entries, as sometimes we already know
+ * the next/prev entries and we can generate better code by using them
+ * directly rather than using the generic single-entry routines.
+ * */
+
+struct list_entry {
+    struct list_entry *prev, *next;
+};
+
+typedef struct list_entry list_entry_t;
+
+static inline void list_init(list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add_before(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add_after(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_del(list_entry_t *listelm) __attribute__((always_inline));
+static inline void list_del_init(list_entry_t *listelm) __attribute__((always_inline));
+static inline bool list_empty(list_entry_t *list) __attribute__((always_inline));
+static inline list_entry_t *list_next(list_entry_t *listelm) __attribute__((always_inline));
+static inline list_entry_t *list_prev(list_entry_t *listelm) __attribute__((always_inline));
+
+static inline void __list_add(list_entry_t *elm, list_entry_t *prev, list_entry_t *next) __attribute__((always_inline));
+static inline void __list_del(list_entry_t *prev, list_entry_t *next) __attribute__((always_inline));
+
+/* *
+ * list_init - initialize a new entry
+ * @elm:        new entry to be initialized
+ * */
+static inline void
+list_init(list_entry_t *elm) {
+    elm->prev = elm->next = elm;
+}
+
+/* *
+ * list_add - add a new entry
+ * @listelm:    list head to add after
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *after* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add(list_entry_t *listelm, list_entry_t *elm) {
+    list_add_after(listelm, elm);
+}
+
+/* *
+ * list_add_before - add a new entry
+ * @listelm:    list head to add before
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *before* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add_before(list_entry_t *listelm, list_entry_t *elm) {
+    __list_add(elm, listelm->prev, listelm);
+}
+
+/* *
+ * list_add_after - add a new entry
+ * @listelm:    list head to add after
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *after* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add_after(list_entry_t *listelm, list_entry_t *elm) {
+    __list_add(elm, listelm, listelm->next);
+}
+
+/* *
+ * list_del - deletes entry from list
+ * @listelm:    the element to delete from the list
+ *
+ * Note: list_empty() on @listelm does not return true after this, the entry is
+ * in an undefined state.
+ * */
+static inline void
+list_del(list_entry_t *listelm) {
+    __list_del(listelm->prev, listelm->next);
+}
+
+/* *
+ * list_del_init - deletes entry from list and reinitialize it.
+ * @listelm:    the element to delete from the list.
+ *
+ * Note: list_empty() on @listelm returns true after this.
+ * */
+static inline void
+list_del_init(list_entry_t *listelm) {
+    list_del(listelm);
+    list_init(listelm);
+}
+
+/* *
+ * list_empty - tests whether a list is empty
+ * @list:       the list to test.
+ * */
+static inline bool
+list_empty(list_entry_t *list) {
+    return list->next == list;
+}
+
+/* *
+ * list_next - get the next entry
+ * @listelm:    the list head
+ **/
+static inline list_entry_t *
+list_next(list_entry_t *listelm) {
+    return listelm->next;
+}
+
+/* *
+ * list_prev - get the previous entry
+ * @listelm:    the list head
+ **/
+static inline list_entry_t *
+list_prev(list_entry_t *listelm) {
+    return listelm->prev;
+}
+
+/* *
+ * Insert a new entry between two known consecutive entries.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ * */
+static inline void
+__list_add(list_entry_t *elm, list_entry_t *prev, list_entry_t *next) {
+    prev->next = next->prev = elm;
+    elm->next = next;
+    elm->prev = prev;
+}
+
+/* *
+ * Delete a list entry by making the prev/next entries point to each other.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ * */
+static inline void
+__list_del(list_entry_t *prev, list_entry_t *next) {
+    prev->next = next;
+    next->prev = prev;
+}
+
+#endif /* !__ASSEMBLER__ */
+
+#endif /* !__LIBS_LIST_H__ */
+
diff --git a/code/lab7/libs/printfmt.c b/code/lab7/libs/printfmt.c
new file mode 100644
index 0000000..a666a52
--- /dev/null
+++ b/code/lab7/libs/printfmt.c
@@ -0,0 +1,343 @@
+#include <defs.h>
+#include <x86.h>
+#include <error.h>
+#include <stdio.h>
+#include <string.h>
+
+/* *
+ * Space or zero padding and a field width are supported for the numeric
+ * formats only.
+ *
+ * The special format %e takes an integer error code
+ * and prints a string describing the error.
+ * The integer may be positive or negative,
+ * so that -E_NO_MEM and E_NO_MEM are equivalent.
+ * */
+
+static const char * const error_string[MAXERROR + 1] = {
+    [0]                     NULL,
+    [E_UNSPECIFIED]         "unspecified error",
+    [E_BAD_PROC]            "bad process",
+    [E_INVAL]               "invalid parameter",
+    [E_NO_MEM]              "out of memory",
+    [E_NO_FREE_PROC]        "out of processes",
+    [E_FAULT]               "segmentation fault",
+    [E_INVAL_ELF]           "invalid elf file",
+    [E_KILLED]              "process is killed",
+    [E_PANIC]               "panic failure",
+};
+
+/* *
+ * printnum - print a number (base <= 16) in reverse order
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @num:        the number will be printed
+ * @base:       base for print, must be in [1, 16]
+ * @width:      maximum number of digits, if the actual width is less than @width, use @padc instead
+ * @padc:       character that padded on the left if the actual width is less than @width
+ * */
+static void
+printnum(void (*putch)(int, void*), void *putdat,
+        unsigned long long num, unsigned base, int width, int padc) {
+    unsigned long long result = num;
+    unsigned mod = do_div(result, base);
+
+    // first recursively print all preceding (more significant) digits
+    if (num >= base) {
+        printnum(putch, putdat, result, base, width - 1, padc);
+    } else {
+        // print any needed pad characters before first digit
+        while (-- width > 0)
+            putch(padc, putdat);
+    }
+    // then print this (the least significant) digit
+    putch("0123456789abcdef"[mod], putdat);
+}
+
+/* *
+ * getuint - get an unsigned int of various possible sizes from a varargs list
+ * @ap:         a varargs list pointer
+ * @lflag:      determines the size of the vararg that @ap points to
+ * */
+static unsigned long long
+getuint(va_list *ap, int lflag) {
+    if (lflag >= 2) {
+        return va_arg(*ap, unsigned long long);
+    }
+    else if (lflag) {
+        return va_arg(*ap, unsigned long);
+    }
+    else {
+        return va_arg(*ap, unsigned int);
+    }
+}
+
+/* *
+ * getint - same as getuint but signed, we can't use getuint because of sign extension
+ * @ap:         a varargs list pointer
+ * @lflag:      determines the size of the vararg that @ap points to
+ * */
+static long long
+getint(va_list *ap, int lflag) {
+    if (lflag >= 2) {
+        return va_arg(*ap, long long);
+    }
+    else if (lflag) {
+        return va_arg(*ap, long);
+    }
+    else {
+        return va_arg(*ap, int);
+    }
+}
+
+/* *
+ * printfmt - format a string and print it by using putch
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @fmt:        the format string to use
+ * */
+void
+printfmt(void (*putch)(int, void*), void *putdat, const char *fmt, ...) {
+    va_list ap;
+
+    va_start(ap, fmt);
+    vprintfmt(putch, putdat, fmt, ap);
+    va_end(ap);
+}
+
+/* *
+ * vprintfmt - format a string and print it by using putch, it's called with a va_list
+ * instead of a variable number of arguments
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @fmt:        the format string to use
+ * @ap:         arguments for the format string
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want printfmt() instead.
+ * */
+void
+vprintfmt(void (*putch)(int, void*), void *putdat, const char *fmt, va_list ap) {
+    register const char *p;
+    register int ch, err;
+    unsigned long long num;
+    int base, width, precision, lflag, altflag;
+
+    while (1) {
+        while ((ch = *(unsigned char *)fmt ++) != '%') {
+            if (ch == '\0') {
+                return;
+            }
+            putch(ch, putdat);
+        }
+
+        // Process a %-escape sequence
+        char padc = ' ';
+        width = precision = -1;
+        lflag = altflag = 0;
+
+    reswitch:
+        switch (ch = *(unsigned char *)fmt ++) {
+
+        // flag to pad on the right
+        case '-':
+            padc = '-';
+            goto reswitch;
+
+        // flag to pad with 0's instead of spaces
+        case '0':
+            padc = '0';
+            goto reswitch;
+
+        // width field
+        case '1' ... '9':
+            for (precision = 0; ; ++ fmt) {
+                precision = precision * 10 + ch - '0';
+                ch = *fmt;
+                if (ch < '0' || ch > '9') {
+                    break;
+                }
+            }
+            goto process_precision;
+
+        case '*':
+            precision = va_arg(ap, int);
+            goto process_precision;
+
+        case '.':
+            if (width < 0)
+                width = 0;
+            goto reswitch;
+
+        case '#':
+            altflag = 1;
+            goto reswitch;
+
+        process_precision:
+            if (width < 0)
+                width = precision, precision = -1;
+            goto reswitch;
+
+        // long flag (doubled for long long)
+        case 'l':
+            lflag ++;
+            goto reswitch;
+
+        // character
+        case 'c':
+            putch(va_arg(ap, int), putdat);
+            break;
+
+        // error message
+        case 'e':
+            err = va_arg(ap, int);
+            if (err < 0) {
+                err = -err;
+            }
+            if (err > MAXERROR || (p = error_string[err]) == NULL) {
+                printfmt(putch, putdat, "error %d", err);
+            }
+            else {
+                printfmt(putch, putdat, "%s", p);
+            }
+            break;
+
+        // string
+        case 's':
+            if ((p = va_arg(ap, char *)) == NULL) {
+                p = "(null)";
+            }
+            if (width > 0 && padc != '-') {
+                for (width -= strnlen(p, precision); width > 0; width --) {
+                    putch(padc, putdat);
+                }
+            }
+            for (; (ch = *p ++) != '\0' && (precision < 0 || -- precision >= 0); width --) {
+                if (altflag && (ch < ' ' || ch > '~')) {
+                    putch('?', putdat);
+                }
+                else {
+                    putch(ch, putdat);
+                }
+            }
+            for (; width > 0; width --) {
+                putch(' ', putdat);
+            }
+            break;
+
+        // (signed) decimal
+        case 'd':
+            num = getint(&ap, lflag);
+            if ((long long)num < 0) {
+                putch('-', putdat);
+                num = -(long long)num;
+            }
+            base = 10;
+            goto number;
+
+        // unsigned decimal
+        case 'u':
+            num = getuint(&ap, lflag);
+            base = 10;
+            goto number;
+
+        // (unsigned) octal
+        case 'o':
+            num = getuint(&ap, lflag);
+            base = 8;
+            goto number;
+
+        // pointer
+        case 'p':
+            putch('0', putdat);
+            putch('x', putdat);
+            num = (unsigned long long)(uintptr_t)va_arg(ap, void *);
+            base = 16;
+            goto number;
+
+        // (unsigned) hexadecimal
+        case 'x':
+            num = getuint(&ap, lflag);
+            base = 16;
+        number:
+            printnum(putch, putdat, num, base, width, padc);
+            break;
+
+        // escaped '%' character
+        case '%':
+            putch(ch, putdat);
+            break;
+
+        // unrecognized escape sequence - just print it literally
+        default:
+            putch('%', putdat);
+            for (fmt --; fmt[-1] != '%'; fmt --)
+                /* do nothing */;
+            break;
+        }
+    }
+}
+
+/* sprintbuf is used to save enough information of a buffer */
+struct sprintbuf {
+    char *buf;          // address pointer points to the first unused memory
+    char *ebuf;         // points the end of the buffer
+    int cnt;            // the number of characters that have been placed in this buffer
+};
+
+/* *
+ * sprintputch - 'print' a single character in a buffer
+ * @ch:         the character will be printed
+ * @b:          the buffer to place the character @ch
+ * */
+static void
+sprintputch(int ch, struct sprintbuf *b) {
+    b->cnt ++;
+    if (b->buf < b->ebuf) {
+        *b->buf ++ = ch;
+    }
+}
+
+/* *
+ * snprintf - format a string and place it in a buffer
+ * @str:        the buffer to place the result into
+ * @size:       the size of buffer, including the trailing null space
+ * @fmt:        the format string to use
+ * */
+int
+snprintf(char *str, size_t size, const char *fmt, ...) {
+    va_list ap;
+    int cnt;
+    va_start(ap, fmt);
+    cnt = vsnprintf(str, size, fmt, ap);
+    va_end(ap);
+    return cnt;
+}
+
+/* *
+ * vsnprintf - format a string and place it in a buffer, it's called with a va_list
+ * instead of a variable number of arguments
+ * @str:        the buffer to place the result into
+ * @size:       the size of buffer, including the trailing null space
+ * @fmt:        the format string to use
+ * @ap:         arguments for the format string
+ *
+ * The return value is the number of characters which would be generated for the
+ * given input, excluding the trailing '\0'.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want snprintf() instead.
+ * */
+int
+vsnprintf(char *str, size_t size, const char *fmt, va_list ap) {
+    struct sprintbuf b = {str, str + size - 1, 0};
+    if (str == NULL || b.buf > b.ebuf) {
+        return -E_INVAL;
+    }
+    // print the string to the buffer
+    vprintfmt((void*)sprintputch, &b, fmt, ap);
+    // null terminate the buffer
+    *b.buf = '\0';
+    return b.cnt;
+}
+
diff --git a/code/lab7/libs/rand.c b/code/lab7/libs/rand.c
new file mode 100644
index 0000000..2a2c4e7
--- /dev/null
+++ b/code/lab7/libs/rand.c
@@ -0,0 +1,26 @@
+#include <x86.h>
+#include <stdlib.h>
+
+static unsigned long long next = 1;
+
+/* *
+ * rand - returns a pseudo-random integer
+ *
+ * The rand() function return a value in the range [0, RAND_MAX].
+ * */
+int
+rand(void) {
+    next = (next * 0x5DEECE66DLL + 0xBLL) & ((1LL << 48) - 1);
+    unsigned long long result = (next >> 12);
+    return (int)do_div(result, RAND_MAX + 1);
+}
+
+/* *
+ * srand - seed the random number generator with the given number
+ * @seed:   the required seed number
+ * */
+void
+srand(unsigned int seed) {
+    next = seed;
+}
+
diff --git a/code/lab7/libs/skew_heap.h b/code/lab7/libs/skew_heap.h
new file mode 100644
index 0000000..0c216b8
--- /dev/null
+++ b/code/lab7/libs/skew_heap.h
@@ -0,0 +1,87 @@
+#ifndef __LIBS_SKEW_HEAP_H__
+#define __LIBS_SKEW_HEAP_H__
+
+struct skew_heap_entry {
+     struct skew_heap_entry *parent, *left, *right;
+};
+
+typedef struct skew_heap_entry skew_heap_entry_t;
+
+typedef int(*compare_f)(void *a, void *b);
+
+static inline void skew_heap_init(skew_heap_entry_t *a) __attribute__((always_inline));
+static inline skew_heap_entry_t *skew_heap_merge(
+     skew_heap_entry_t *a, skew_heap_entry_t *b,
+     compare_f comp);
+static inline skew_heap_entry_t *skew_heap_insert(
+     skew_heap_entry_t *a, skew_heap_entry_t *b,
+     compare_f comp) __attribute__((always_inline));
+static inline skew_heap_entry_t *skew_heap_remove(
+     skew_heap_entry_t *a, skew_heap_entry_t *b,
+     compare_f comp) __attribute__((always_inline));
+
+static inline void
+skew_heap_init(skew_heap_entry_t *a)
+{
+     a->left = a->right = a->parent = NULL;
+}
+
+static inline skew_heap_entry_t *
+skew_heap_merge(skew_heap_entry_t *a, skew_heap_entry_t *b,
+                compare_f comp)
+{
+     if (a == NULL) return b;
+     else if (b == NULL) return a;
+     
+     skew_heap_entry_t *l, *r;
+     if (comp(a, b) == -1)
+     {
+          r = a->left;
+          l = skew_heap_merge(a->right, b, comp);
+          
+          a->left = l;
+          a->right = r;
+          if (l) l->parent = a;
+
+          return a;
+     }
+     else
+     {
+          r = b->left;
+          l = skew_heap_merge(a, b->right, comp);
+          
+          b->left = l;
+          b->right = r;
+          if (l) l->parent = b;
+
+          return b;
+     }
+}
+
+static inline skew_heap_entry_t *
+skew_heap_insert(skew_heap_entry_t *a, skew_heap_entry_t *b,
+                 compare_f comp)
+{
+     skew_heap_init(b);
+     return skew_heap_merge(a, b, comp);
+}
+
+static inline skew_heap_entry_t *
+skew_heap_remove(skew_heap_entry_t *a, skew_heap_entry_t *b,
+                 compare_f comp)
+{
+     skew_heap_entry_t *p   = b->parent;
+     skew_heap_entry_t *rep = skew_heap_merge(b->left, b->right, comp);
+     if (rep) rep->parent = p;
+     
+     if (p)
+     {
+          if (p->left == b)
+               p->left = rep;
+          else p->right = rep;
+          return a;
+     }
+     else return rep;
+}
+
+#endif    /* !__LIBS_SKEW_HEAP_H__ */
diff --git a/code/lab7/libs/stdarg.h b/code/lab7/libs/stdarg.h
new file mode 100644
index 0000000..f6e0758
--- /dev/null
+++ b/code/lab7/libs/stdarg.h
@@ -0,0 +1,12 @@
+#ifndef __LIBS_STDARG_H__
+#define __LIBS_STDARG_H__
+
+/* compiler provides size of save area */
+typedef __builtin_va_list va_list;
+
+#define va_start(ap, last)              (__builtin_va_start(ap, last))
+#define va_arg(ap, type)                (__builtin_va_arg(ap, type))
+#define va_end(ap)                      /*nothing*/
+
+#endif /* !__LIBS_STDARG_H__ */
+
diff --git a/code/lab7/libs/stdio.h b/code/lab7/libs/stdio.h
new file mode 100644
index 0000000..41e8b41
--- /dev/null
+++ b/code/lab7/libs/stdio.h
@@ -0,0 +1,24 @@
+#ifndef __LIBS_STDIO_H__
+#define __LIBS_STDIO_H__
+
+#include <defs.h>
+#include <stdarg.h>
+
+/* kern/libs/stdio.c */
+int cprintf(const char *fmt, ...);
+int vcprintf(const char *fmt, va_list ap);
+void cputchar(int c);
+int cputs(const char *str);
+int getchar(void);
+
+/* kern/libs/readline.c */
+char *readline(const char *prompt);
+
+/* libs/printfmt.c */
+void printfmt(void (*putch)(int, void *), void *putdat, const char *fmt, ...);
+void vprintfmt(void (*putch)(int, void *), void *putdat, const char *fmt, va_list ap);
+int snprintf(char *str, size_t size, const char *fmt, ...);
+int vsnprintf(char *str, size_t size, const char *fmt, va_list ap);
+
+#endif /* !__LIBS_STDIO_H__ */
+
diff --git a/code/lab7/libs/stdlib.h b/code/lab7/libs/stdlib.h
new file mode 100644
index 0000000..51878ef
--- /dev/null
+++ b/code/lab7/libs/stdlib.h
@@ -0,0 +1,17 @@
+#ifndef __LIBS_STDLIB_H__
+#define __LIBS_STDLIB_H__
+
+#include <defs.h>
+
+/* the largest number rand will return */
+#define RAND_MAX    2147483647UL
+
+/* libs/rand.c */
+int rand(void);
+void srand(unsigned int seed);
+
+/* libs/hash.c */
+uint32_t hash32(uint32_t val, unsigned int bits);
+
+#endif /* !__LIBS_RAND_H__ */
+
diff --git a/code/lab7/libs/string.c b/code/lab7/libs/string.c
new file mode 100644
index 0000000..bcf1b1c
--- /dev/null
+++ b/code/lab7/libs/string.c
@@ -0,0 +1,367 @@
+#include <string.h>
+#include <x86.h>
+
+/* *
+ * strlen - calculate the length of the string @s, not including
+ * the terminating '\0' character.
+ * @s:      the input string
+ *
+ * The strlen() function returns the length of string @s.
+ * */
+size_t
+strlen(const char *s) {
+    size_t cnt = 0;
+    while (*s ++ != '\0') {
+        cnt ++;
+    }
+    return cnt;
+}
+
+/* *
+ * strnlen - calculate the length of the string @s, not including
+ * the terminating '\0' char acter, but at most @len.
+ * @s:      the input string
+ * @len:    the max-length that function will scan
+ *
+ * Note that, this function looks only at the first @len characters
+ * at @s, and never beyond @s + @len.
+ *
+ * The return value is strlen(s), if that is less than @len, or
+ * @len if there is no '\0' character among the first @len characters
+ * pointed by @s.
+ * */
+size_t
+strnlen(const char *s, size_t len) {
+    size_t cnt = 0;
+    while (cnt < len && *s ++ != '\0') {
+        cnt ++;
+    }
+    return cnt;
+}
+
+/* *
+ * strcpy - copies the string pointed by @src into the array pointed by @dst,
+ * including the terminating null character.
+ * @dst:    pointer to the destination array where the content is to be copied
+ * @src:    string to be copied
+ *
+ * The return value is @dst.
+ *
+ * To avoid overflows, the size of array pointed by @dst should be long enough to
+ * contain the same string as @src (including the terminating null character), and
+ * should not overlap in memory with @src.
+ * */
+char *
+strcpy(char *dst, const char *src) {
+#ifdef __HAVE_ARCH_STRCPY
+    return __strcpy(dst, src);
+#else
+    char *p = dst;
+    while ((*p ++ = *src ++) != '\0')
+        /* nothing */;
+    return dst;
+#endif /* __HAVE_ARCH_STRCPY */
+}
+
+/* *
+ * strncpy - copies the first @len characters of @src to @dst. If the end of string @src
+ * if found before @len characters have been copied, @dst is padded with '\0' until a
+ * total of @len characters have been written to it.
+ * @dst:    pointer to the destination array where the content is to be copied
+ * @src:    string to be copied
+ * @len:    maximum number of characters to be copied from @src
+ *
+ * The return value is @dst
+ * */
+char *
+strncpy(char *dst, const char *src, size_t len) {
+    char *p = dst;
+    while (len > 0) {
+        if ((*p = *src) != '\0') {
+            src ++;
+        }
+        p ++, len --;
+    }
+    return dst;
+}
+
+/* *
+ * strcmp - compares the string @s1 and @s2
+ * @s1:     string to be compared
+ * @s2:     string to be compared
+ *
+ * This function starts comparing the first character of each string. If
+ * they are equal to each other, it continues with the following pairs until
+ * the characters differ or until a terminanting null-character is reached.
+ *
+ * Returns an integral value indicating the relationship between the strings:
+ * - A zero value indicates that both strings are equal;
+ * - A value greater than zero indicates that the first character that does
+ *   not match has a greater value in @s1 than in @s2;
+ * - And a value less than zero indicates the opposite.
+ * */
+int
+strcmp(const char *s1, const char *s2) {
+#ifdef __HAVE_ARCH_STRCMP
+    return __strcmp(s1, s2);
+#else
+    while (*s1 != '\0' && *s1 == *s2) {
+        s1 ++, s2 ++;
+    }
+    return (int)((unsigned char)*s1 - (unsigned char)*s2);
+#endif /* __HAVE_ARCH_STRCMP */
+}
+
+/* *
+ * strncmp - compares up to @n characters of the string @s1 to those of the string @s2
+ * @s1:     string to be compared
+ * @s2:     string to be compared
+ * @n:      maximum number of characters to compare
+ *
+ * This function starts comparing the first character of each string. If
+ * they are equal to each other, it continues with the following pairs until
+ * the characters differ, until a terminating null-character is reached, or
+ * until @n characters match in both strings, whichever happens first.
+ * */
+int
+strncmp(const char *s1, const char *s2, size_t n) {
+    while (n > 0 && *s1 != '\0' && *s1 == *s2) {
+        n --, s1 ++, s2 ++;
+    }
+    return (n == 0) ? 0 : (int)((unsigned char)*s1 - (unsigned char)*s2);
+}
+
+/* *
+ * strchr - locates first occurrence of character in string
+ * @s:      the input string
+ * @c:      character to be located
+ *
+ * The strchr() function returns a pointer to the first occurrence of
+ * character in @s. If the value is not found, the function returns 'NULL'.
+ * */
+char *
+strchr(const char *s, char c) {
+    while (*s != '\0') {
+        if (*s == c) {
+            return (char *)s;
+        }
+        s ++;
+    }
+    return NULL;
+}
+
+/* *
+ * strfind - locates first occurrence of character in string
+ * @s:      the input string
+ * @c:      character to be located
+ *
+ * The strfind() function is like strchr() except that if @c is
+ * not found in @s, then it returns a pointer to the null byte at the
+ * end of @s, rather than 'NULL'.
+ * */
+char *
+strfind(const char *s, char c) {
+    while (*s != '\0') {
+        if (*s == c) {
+            break;
+        }
+        s ++;
+    }
+    return (char *)s;
+}
+
+/* *
+ * strtol - converts string to long integer
+ * @s:      the input string that contains the representation of an integer number
+ * @endptr: reference to an object of type char *, whose value is set by the
+ *          function to the next character in @s after the numerical value. This
+ *          parameter can also be a null pointer, in which case it is not used.
+ * @base:   x
+ *
+ * The function first discards as many whitespace characters as necessary until
+ * the first non-whitespace character is found. Then, starting from this character,
+ * takes as many characters as possible that are valid following a syntax that
+ * depends on the base parameter, and interprets them as a numerical value. Finally,
+ * a pointer to the first character following the integer representation in @s
+ * is stored in the object pointed by @endptr.
+ *
+ * If the value of base is zero, the syntax expected is similar to that of
+ * integer constants, which is formed by a succession of:
+ * - An optional plus or minus sign;
+ * - An optional prefix indicating octal or hexadecimal base ("0" or "0x" respectively)
+ * - A sequence of decimal digits (if no base prefix was specified) or either octal
+ *   or hexadecimal digits if a specific prefix is present
+ *
+ * If the base value is between 2 and 36, the format expected for the integral number
+ * is a succession of the valid digits and/or letters needed to represent integers of
+ * the specified radix (starting from '0' and up to 'z'/'Z' for radix 36). The
+ * sequence may optionally be preceded by a plus or minus sign and, if base is 16,
+ * an optional "0x" or "0X" prefix.
+ *
+ * The strtol() function returns the converted integral number as a long int value.
+ * */
+long
+strtol(const char *s, char **endptr, int base) {
+    int neg = 0;
+    long val = 0;
+
+    // gobble initial whitespace
+    while (*s == ' ' || *s == '\t') {
+        s ++;
+    }
+
+    // plus/minus sign
+    if (*s == '+') {
+        s ++;
+    }
+    else if (*s == '-') {
+        s ++, neg = 1;
+    }
+
+    // hex or octal base prefix
+    if ((base == 0 || base == 16) && (s[0] == '0' && s[1] == 'x')) {
+        s += 2, base = 16;
+    }
+    else if (base == 0 && s[0] == '0') {
+        s ++, base = 8;
+    }
+    else if (base == 0) {
+        base = 10;
+    }
+
+    // digits
+    while (1) {
+        int dig;
+
+        if (*s >= '0' && *s <= '9') {
+            dig = *s - '0';
+        }
+        else if (*s >= 'a' && *s <= 'z') {
+            dig = *s - 'a' + 10;
+        }
+        else if (*s >= 'A' && *s <= 'Z') {
+            dig = *s - 'A' + 10;
+        }
+        else {
+            break;
+        }
+        if (dig >= base) {
+            break;
+        }
+        s ++, val = (val * base) + dig;
+        // we don't properly detect overflow!
+    }
+
+    if (endptr) {
+        *endptr = (char *) s;
+    }
+    return (neg ? -val : val);
+}
+
+/* *
+ * memset - sets the first @n bytes of the memory area pointed by @s
+ * to the specified value @c.
+ * @s:      pointer the the memory area to fill
+ * @c:      value to set
+ * @n:      number of bytes to be set to the value
+ *
+ * The memset() function returns @s.
+ * */
+void *
+memset(void *s, char c, size_t n) {
+#ifdef __HAVE_ARCH_MEMSET
+    return __memset(s, c, n);
+#else
+    char *p = s;
+    while (n -- > 0) {
+        *p ++ = c;
+    }
+    return s;
+#endif /* __HAVE_ARCH_MEMSET */
+}
+
+/* *
+ * memmove - copies the values of @n bytes from the location pointed by @src to
+ * the memory area pointed by @dst. @src and @dst are allowed to overlap.
+ * @dst     pointer to the destination array where the content is to be copied
+ * @src     pointer to the source of data to by copied
+ * @n:      number of bytes to copy
+ *
+ * The memmove() function returns @dst.
+ * */
+void *
+memmove(void *dst, const void *src, size_t n) {
+#ifdef __HAVE_ARCH_MEMMOVE
+    return __memmove(dst, src, n);
+#else
+    const char *s = src;
+    char *d = dst;
+    if (s < d && s + n > d) {
+        s += n, d += n;
+        while (n -- > 0) {
+            *-- d = *-- s;
+        }
+    } else {
+        while (n -- > 0) {
+            *d ++ = *s ++;
+        }
+    }
+    return dst;
+#endif /* __HAVE_ARCH_MEMMOVE */
+}
+
+/* *
+ * memcpy - copies the value of @n bytes from the location pointed by @src to
+ * the memory area pointed by @dst.
+ * @dst     pointer to the destination array where the content is to be copied
+ * @src     pointer to the source of data to by copied
+ * @n:      number of bytes to copy
+ *
+ * The memcpy() returns @dst.
+ *
+ * Note that, the function does not check any terminating null character in @src,
+ * it always copies exactly @n bytes. To avoid overflows, the size of arrays pointed
+ * by both @src and @dst, should be at least @n bytes, and should not overlap
+ * (for overlapping memory area, memmove is a safer approach).
+ * */
+void *
+memcpy(void *dst, const void *src, size_t n) {
+#ifdef __HAVE_ARCH_MEMCPY
+    return __memcpy(dst, src, n);
+#else
+    const char *s = src;
+    char *d = dst;
+    while (n -- > 0) {
+        *d ++ = *s ++;
+    }
+    return dst;
+#endif /* __HAVE_ARCH_MEMCPY */
+}
+
+/* *
+ * memcmp - compares two blocks of memory
+ * @v1:     pointer to block of memory
+ * @v2:     pointer to block of memory
+ * @n:      number of bytes to compare
+ *
+ * The memcmp() functions returns an integral value indicating the
+ * relationship between the content of the memory blocks:
+ * - A zero value indicates that the contents of both memory blocks are equal;
+ * - A value greater than zero indicates that the first byte that does not
+ *   match in both memory blocks has a greater value in @v1 than in @v2
+ *   as if evaluated as unsigned char values;
+ * - And a value less than zero indicates the opposite.
+ * */
+int
+memcmp(const void *v1, const void *v2, size_t n) {
+    const char *s1 = (const char *)v1;
+    const char *s2 = (const char *)v2;
+    while (n -- > 0) {
+        if (*s1 != *s2) {
+            return (int)((unsigned char)*s1 - (unsigned char)*s2);
+        }
+        s1 ++, s2 ++;
+    }
+    return 0;
+}
+
diff --git a/code/lab7/libs/string.h b/code/lab7/libs/string.h
new file mode 100644
index 0000000..14d0aac
--- /dev/null
+++ b/code/lab7/libs/string.h
@@ -0,0 +1,25 @@
+#ifndef __LIBS_STRING_H__
+#define __LIBS_STRING_H__
+
+#include <defs.h>
+
+size_t strlen(const char *s);
+size_t strnlen(const char *s, size_t len);
+
+char *strcpy(char *dst, const char *src);
+char *strncpy(char *dst, const char *src, size_t len);
+
+int strcmp(const char *s1, const char *s2);
+int strncmp(const char *s1, const char *s2, size_t n);
+
+char *strchr(const char *s, char c);
+char *strfind(const char *s, char c);
+long strtol(const char *s, char **endptr, int base);
+
+void *memset(void *s, char c, size_t n);
+void *memmove(void *dst, const void *src, size_t n);
+void *memcpy(void *dst, const void *src, size_t n);
+int memcmp(const void *v1, const void *v2, size_t n);
+
+#endif /* !__LIBS_STRING_H__ */
+
diff --git a/code/lab7/libs/unistd.h b/code/lab7/libs/unistd.h
new file mode 100644
index 0000000..b4ceff9
--- /dev/null
+++ b/code/lab7/libs/unistd.h
@@ -0,0 +1,31 @@
+#ifndef __LIBS_UNISTD_H__
+#define __LIBS_UNISTD_H__
+
+#define T_SYSCALL           0x80
+
+/* syscall number */
+#define SYS_exit            1
+#define SYS_fork            2
+#define SYS_wait            3
+#define SYS_exec            4
+#define SYS_clone           5
+#define SYS_yield           10
+#define SYS_sleep           11
+#define SYS_kill            12
+#define SYS_gettime         17
+#define SYS_getpid          18
+#define SYS_brk             19
+#define SYS_mmap            20
+#define SYS_munmap          21
+#define SYS_shmem           22
+#define SYS_putc            30
+#define SYS_pgdir           31
+/* OLNY FOR LAB6 */
+#define SYS_lab6_set_priority 255
+
+/* SYS_fork flags */
+#define CLONE_VM            0x00000100  // set if VM shared between processes
+#define CLONE_THREAD        0x00000200  // thread group
+
+#endif /* !__LIBS_UNISTD_H__ */
+
diff --git a/code/lab7/libs/x86.h b/code/lab7/libs/x86.h
new file mode 100644
index 0000000..b29f671
--- /dev/null
+++ b/code/lab7/libs/x86.h
@@ -0,0 +1,302 @@
+#ifndef __LIBS_X86_H__
+#define __LIBS_X86_H__
+
+#include <defs.h>
+
+#define do_div(n, base) ({                                          \
+            unsigned long __upper, __low, __high, __mod, __base;    \
+            __base = (base);                                        \
+            asm ("" : "=a" (__low), "=d" (__high) : "A" (n));       \
+            __upper = __high;                                       \
+            if (__high != 0) {                                      \
+                __upper = __high % __base;                          \
+                __high = __high / __base;                           \
+            }                                                       \
+            asm ("divl %2" : "=a" (__low), "=d" (__mod)             \
+                : "rm" (__base), "0" (__low), "1" (__upper));       \
+            asm ("" : "=A" (n) : "a" (__low), "d" (__high));        \
+            __mod;                                                  \
+        })
+
+#define barrier() __asm__ __volatile__ ("" ::: "memory")
+
+static inline uint8_t inb(uint16_t port) __attribute__((always_inline));
+static inline void insl(uint32_t port, void *addr, int cnt) __attribute__((always_inline));
+static inline void outb(uint16_t port, uint8_t data) __attribute__((always_inline));
+static inline void outw(uint16_t port, uint16_t data) __attribute__((always_inline));
+static inline void outsl(uint32_t port, const void *addr, int cnt) __attribute__((always_inline));
+static inline uint32_t read_ebp(void) __attribute__((always_inline));
+static inline void breakpoint(void) __attribute__((always_inline));
+static inline uint32_t read_dr(unsigned regnum) __attribute__((always_inline));
+static inline void write_dr(unsigned regnum, uint32_t value) __attribute__((always_inline));
+
+/* Pseudo-descriptors used for LGDT, LLDT(not used) and LIDT instructions. */
+struct pseudodesc {
+    uint16_t pd_lim;        // Limit
+    uintptr_t pd_base;      // Base address
+} __attribute__ ((packed));
+
+static inline void lidt(struct pseudodesc *pd) __attribute__((always_inline));
+static inline void sti(void) __attribute__((always_inline));
+static inline void cli(void) __attribute__((always_inline));
+static inline void ltr(uint16_t sel) __attribute__((always_inline));
+static inline uint32_t read_eflags(void) __attribute__((always_inline));
+static inline void write_eflags(uint32_t eflags) __attribute__((always_inline));
+static inline void lcr0(uintptr_t cr0) __attribute__((always_inline));
+static inline void lcr3(uintptr_t cr3) __attribute__((always_inline));
+static inline uintptr_t rcr0(void) __attribute__((always_inline));
+static inline uintptr_t rcr1(void) __attribute__((always_inline));
+static inline uintptr_t rcr2(void) __attribute__((always_inline));
+static inline uintptr_t rcr3(void) __attribute__((always_inline));
+static inline void invlpg(void *addr) __attribute__((always_inline));
+
+static inline uint8_t
+inb(uint16_t port) {
+    uint8_t data;
+    asm volatile ("inb %1, %0" : "=a" (data) : "d" (port) : "memory");
+    return data;
+}
+
+static inline void
+insl(uint32_t port, void *addr, int cnt) {
+    asm volatile (
+        "cld;"
+        "repne; insl;"
+        : "=D" (addr), "=c" (cnt)
+        : "d" (port), "0" (addr), "1" (cnt)
+        : "memory", "cc");
+}
+
+static inline void
+outb(uint16_t port, uint8_t data) {
+    asm volatile ("outb %0, %1" :: "a" (data), "d" (port) : "memory");
+}
+
+static inline void
+outw(uint16_t port, uint16_t data) {
+    asm volatile ("outw %0, %1" :: "a" (data), "d" (port) : "memory");
+}
+
+static inline void
+outsl(uint32_t port, const void *addr, int cnt) {
+    asm volatile (
+        "cld;"
+        "repne; outsl;"
+        : "=S" (addr), "=c" (cnt)
+        : "d" (port), "0" (addr), "1" (cnt)
+        : "memory", "cc");
+}
+
+static inline uint32_t
+read_ebp(void) {
+    uint32_t ebp;
+    asm volatile ("movl %%ebp, %0" : "=r" (ebp));
+    return ebp;
+}
+
+static inline void
+breakpoint(void) {
+    asm volatile ("int $3");
+}
+
+static inline uint32_t
+read_dr(unsigned regnum) {
+    uint32_t value = 0;
+    switch (regnum) {
+    case 0: asm volatile ("movl %%db0, %0" : "=r" (value)); break;
+    case 1: asm volatile ("movl %%db1, %0" : "=r" (value)); break;
+    case 2: asm volatile ("movl %%db2, %0" : "=r" (value)); break;
+    case 3: asm volatile ("movl %%db3, %0" : "=r" (value)); break;
+    case 6: asm volatile ("movl %%db6, %0" : "=r" (value)); break;
+    case 7: asm volatile ("movl %%db7, %0" : "=r" (value)); break;
+    }
+    return value;
+}
+
+static void
+write_dr(unsigned regnum, uint32_t value) {
+    switch (regnum) {
+    case 0: asm volatile ("movl %0, %%db0" :: "r" (value)); break;
+    case 1: asm volatile ("movl %0, %%db1" :: "r" (value)); break;
+    case 2: asm volatile ("movl %0, %%db2" :: "r" (value)); break;
+    case 3: asm volatile ("movl %0, %%db3" :: "r" (value)); break;
+    case 6: asm volatile ("movl %0, %%db6" :: "r" (value)); break;
+    case 7: asm volatile ("movl %0, %%db7" :: "r" (value)); break;
+    }
+}
+
+static inline void
+lidt(struct pseudodesc *pd) {
+    asm volatile ("lidt (%0)" :: "r" (pd) : "memory");
+}
+
+static inline void
+sti(void) {
+    asm volatile ("sti");
+}
+
+static inline void
+cli(void) {
+    asm volatile ("cli" ::: "memory");
+}
+
+static inline void
+ltr(uint16_t sel) {
+    asm volatile ("ltr %0" :: "r" (sel) : "memory");
+}
+
+static inline uint32_t
+read_eflags(void) {
+    uint32_t eflags;
+    asm volatile ("pushfl; popl %0" : "=r" (eflags));
+    return eflags;
+}
+
+static inline void
+write_eflags(uint32_t eflags) {
+    asm volatile ("pushl %0; popfl" :: "r" (eflags));
+}
+
+static inline void
+lcr0(uintptr_t cr0) {
+    asm volatile ("mov %0, %%cr0" :: "r" (cr0) : "memory");
+}
+
+static inline void
+lcr3(uintptr_t cr3) {
+    asm volatile ("mov %0, %%cr3" :: "r" (cr3) : "memory");
+}
+
+static inline uintptr_t
+rcr0(void) {
+    uintptr_t cr0;
+    asm volatile ("mov %%cr0, %0" : "=r" (cr0) :: "memory");
+    return cr0;
+}
+
+static inline uintptr_t
+rcr1(void) {
+    uintptr_t cr1;
+    asm volatile ("mov %%cr1, %0" : "=r" (cr1) :: "memory");
+    return cr1;
+}
+
+static inline uintptr_t
+rcr2(void) {
+    uintptr_t cr2;
+    asm volatile ("mov %%cr2, %0" : "=r" (cr2) :: "memory");
+    return cr2;
+}
+
+static inline uintptr_t
+rcr3(void) {
+    uintptr_t cr3;
+    asm volatile ("mov %%cr3, %0" : "=r" (cr3) :: "memory");
+    return cr3;
+}
+
+static inline void
+invlpg(void *addr) {
+    asm volatile ("invlpg (%0)" :: "r" (addr) : "memory");
+}
+
+static inline int __strcmp(const char *s1, const char *s2) __attribute__((always_inline));
+static inline char *__strcpy(char *dst, const char *src) __attribute__((always_inline));
+static inline void *__memset(void *s, char c, size_t n) __attribute__((always_inline));
+static inline void *__memmove(void *dst, const void *src, size_t n) __attribute__((always_inline));
+static inline void *__memcpy(void *dst, const void *src, size_t n) __attribute__((always_inline));
+
+#ifndef __HAVE_ARCH_STRCMP
+#define __HAVE_ARCH_STRCMP
+static inline int
+__strcmp(const char *s1, const char *s2) {
+    int d0, d1, ret;
+    asm volatile (
+        "1: lodsb;"
+        "scasb;"
+        "jne 2f;"
+        "testb %%al, %%al;"
+        "jne 1b;"
+        "xorl %%eax, %%eax;"
+        "jmp 3f;"
+        "2: sbbl %%eax, %%eax;"
+        "orb $1, %%al;"
+        "3:"
+        : "=a" (ret), "=&S" (d0), "=&D" (d1)
+        : "1" (s1), "2" (s2)
+        : "memory");
+    return ret;
+}
+
+#endif /* __HAVE_ARCH_STRCMP */
+
+#ifndef __HAVE_ARCH_STRCPY
+#define __HAVE_ARCH_STRCPY
+static inline char *
+__strcpy(char *dst, const char *src) {
+    int d0, d1, d2;
+    asm volatile (
+        "1: lodsb;"
+        "stosb;"
+        "testb %%al, %%al;"
+        "jne 1b;"
+        : "=&S" (d0), "=&D" (d1), "=&a" (d2)
+        : "0" (src), "1" (dst) : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_STRCPY */
+
+#ifndef __HAVE_ARCH_MEMSET
+#define __HAVE_ARCH_MEMSET
+static inline void *
+__memset(void *s, char c, size_t n) {
+    int d0, d1;
+    asm volatile (
+        "rep; stosb;"
+        : "=&c" (d0), "=&D" (d1)
+        : "0" (n), "a" (c), "1" (s)
+        : "memory");
+    return s;
+}
+#endif /* __HAVE_ARCH_MEMSET */
+
+#ifndef __HAVE_ARCH_MEMMOVE
+#define __HAVE_ARCH_MEMMOVE
+static inline void *
+__memmove(void *dst, const void *src, size_t n) {
+    if (dst < src) {
+        return __memcpy(dst, src, n);
+    }
+    int d0, d1, d2;
+    asm volatile (
+        "std;"
+        "rep; movsb;"
+        "cld;"
+        : "=&c" (d0), "=&S" (d1), "=&D" (d2)
+        : "0" (n), "1" (n - 1 + src), "2" (n - 1 + dst)
+        : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_MEMMOVE */
+
+#ifndef __HAVE_ARCH_MEMCPY
+#define __HAVE_ARCH_MEMCPY
+static inline void *
+__memcpy(void *dst, const void *src, size_t n) {
+    int d0, d1, d2;
+    asm volatile (
+        "rep; movsl;"
+        "movl %4, %%ecx;"
+        "andl $3, %%ecx;"
+        "jz 1f;"
+        "rep; movsb;"
+        "1:"
+        : "=&c" (d0), "=&D" (d1), "=&S" (d2)
+        : "0" (n / 4), "g" (n), "1" (dst), "2" (src)
+        : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_MEMCPY */
+
+#endif /* !__LIBS_X86_H__ */
+
diff --git a/code/lab7/tools/boot.ld b/code/lab7/tools/boot.ld
new file mode 100644
index 0000000..dc732b0
--- /dev/null
+++ b/code/lab7/tools/boot.ld
@@ -0,0 +1,15 @@
+OUTPUT_FORMAT("elf32-i386")
+OUTPUT_ARCH(i386)
+
+SECTIONS {
+    . = 0x7C00;
+
+    .startup : {
+        *bootasm.o(.text)
+    }
+
+    .text : { *(.text) }
+    .data : { *(.data .rodata) }
+    
+    /DISCARD/ : { *(.eh_*) }
+}
diff --git a/code/lab7/tools/function.mk b/code/lab7/tools/function.mk
new file mode 100644
index 0000000..9b8be0c
--- /dev/null
+++ b/code/lab7/tools/function.mk
@@ -0,0 +1,95 @@
+OBJPREFIX	:= __objs_
+
+.SECONDEXPANSION:
+# -------------------- function begin --------------------
+
+# list all files in some directories: (#directories, #types)
+listf = $(filter $(if $(2),$(addprefix %.,$(2)),%),\
+		  $(wildcard $(addsuffix $(SLASH)*,$(1))))
+
+# get .o obj files: (#files[, packet])
+toobj = $(addprefix $(OBJDIR)$(SLASH)$(if $(2),$(2)$(SLASH)),\
+		$(addsuffix .o,$(basename $(1))))
+
+# get .d dependency files: (#files[, packet])
+todep = $(patsubst %.o,%.d,$(call toobj,$(1),$(2)))
+
+totarget = $(addprefix $(BINDIR)$(SLASH),$(1))
+
+# change $(name) to $(OBJPREFIX)$(name): (#names)
+packetname = $(if $(1),$(addprefix $(OBJPREFIX),$(1)),$(OBJPREFIX))
+
+# cc compile template, generate rule for dep, obj: (file, cc[, flags, dir])
+define cc_template
+$$(call todep,$(1),$(4)): $(1) | $$$$(dir $$$$@)
+	@$(2) -I$$(dir $(1)) $(3) -MM $$< -MT "$$(patsubst %.d,%.o,$$@) $$@"> $$@
+$$(call toobj,$(1),$(4)): $(1) | $$$$(dir $$$$@)
+	@echo + cc $$<
+	$(V)$(2) -I$$(dir $(1)) $(3) -c $$< -o $$@
+ALLOBJS += $$(call toobj,$(1),$(4))
+endef
+
+# compile file: (#files, cc[, flags, dir])
+define do_cc_compile
+$$(foreach f,$(1),$$(eval $$(call cc_template,$$(f),$(2),$(3),$(4))))
+endef
+
+# add files to packet: (#files, cc[, flags, packet, dir])
+define do_add_files_to_packet
+__temp_packet__ := $(call packetname,$(4))
+ifeq ($$(origin $$(__temp_packet__)),undefined)
+$$(__temp_packet__) :=
+endif
+__temp_objs__ := $(call toobj,$(1),$(5))
+$$(foreach f,$(1),$$(eval $$(call cc_template,$$(f),$(2),$(3),$(5))))
+$$(__temp_packet__) += $$(__temp_objs__)
+endef
+
+# add objs to packet: (#objs, packet)
+define do_add_objs_to_packet
+__temp_packet__ := $(call packetname,$(2))
+ifeq ($$(origin $$(__temp_packet__)),undefined)
+$$(__temp_packet__) :=
+endif
+$$(__temp_packet__) += $(1)
+endef
+
+# add packets and objs to target (target, #packes, #objs[, cc, flags])
+define do_create_target
+__temp_target__ = $(call totarget,$(1))
+__temp_objs__ = $$(foreach p,$(call packetname,$(2)),$$($$(p))) $(3)
+TARGETS += $$(__temp_target__)
+ifneq ($(4),)
+$$(__temp_target__): $$(__temp_objs__) | $$$$(dir $$$$@)
+	$(V)$(4) $(5) $$^ -o $$@
+else
+$$(__temp_target__): $$(__temp_objs__) | $$$$(dir $$$$@)
+endif
+endef
+
+# finish all
+define do_finish_all
+ALLDEPS = $$(ALLOBJS:.o=.d)
+$$(sort $$(dir $$(ALLOBJS)) $(BINDIR)$(SLASH) $(OBJDIR)$(SLASH)):
+	@$(MKDIR) $$@
+endef
+
+# --------------------  function end  --------------------
+# compile file: (#files, cc[, flags, dir])
+cc_compile = $(eval $(call do_cc_compile,$(1),$(2),$(3),$(4)))
+
+# add files to packet: (#files, cc[, flags, packet, dir])
+add_files = $(eval $(call do_add_files_to_packet,$(1),$(2),$(3),$(4),$(5)))
+
+# add objs to packet: (#objs, packet)
+add_objs = $(eval $(call do_add_objs_to_packet,$(1),$(2)))
+
+# add packets and objs to target (target, #packes, #objs, cc, [, flags])
+create_target = $(eval $(call do_create_target,$(1),$(2),$(3),$(4),$(5)))
+
+read_packet = $(foreach p,$(call packetname,$(1)),$($(p)))
+
+add_dependency = $(eval $(1): $(2))
+
+finish_all = $(eval $(call do_finish_all))
+
diff --git a/code/lab7/tools/gdbinit b/code/lab7/tools/gdbinit
new file mode 100644
index 0000000..df5df85
--- /dev/null
+++ b/code/lab7/tools/gdbinit
@@ -0,0 +1,3 @@
+file bin/kernel
+target remote :1234
+break kern_init
diff --git a/code/lab7/tools/grade.sh b/code/lab7/tools/grade.sh
new file mode 100644
index 0000000..de10321
--- /dev/null
+++ b/code/lab7/tools/grade.sh
@@ -0,0 +1,636 @@
+#!/bin/sh
+
+verbose=false
+if [ "x$1" = "x-v" ]; then
+    verbose=true
+    out=/dev/stdout
+    err=/dev/stderr
+else
+    out=/dev/null
+    err=/dev/null
+fi
+
+## make & makeopts
+if gmake --version > /dev/null 2>&1; then
+    make=gmake;
+else
+    make=make;
+fi
+
+makeopts="--quiet --no-print-directory -j"
+
+make_print() {
+    echo `$make $makeopts print-$1`
+}
+
+## command tools
+awk='awk'
+bc='bc'
+date='date'
+grep='grep'
+rm='rm -f'
+sed='sed'
+
+## symbol table
+sym_table='obj/kernel.sym'
+
+## gdb & gdbopts
+gdb="$(make_print GDB)"
+gdbport='1234'
+
+gdb_in="$(make_print GRADE_GDB_IN)"
+
+## qemu & qemuopts
+qemu="$(make_print qemu)"
+
+qemu_out="$(make_print GRADE_QEMU_OUT)"
+
+if $qemu -nographic -help | grep -q '^-gdb'; then
+    qemugdb="-gdb tcp::$gdbport"
+else
+    qemugdb="-s -p $gdbport"
+fi
+
+## default variables
+default_timeout=30
+default_pts=5
+
+pts=5
+part=0
+part_pos=0
+total=0
+total_pos=0
+
+## default functions
+update_score() {
+    total=`expr $total + $part`
+    total_pos=`expr $total_pos + $part_pos`
+    part=0
+    part_pos=0
+}
+
+get_time() {
+    echo `$date +%s.%N 2> /dev/null`
+}
+
+show_part() {
+    echo "Part $1 Score: $part/$part_pos"
+    echo
+    update_score
+}
+
+show_final() {
+    update_score
+    echo "Total Score: $total/$total_pos"
+    if [ $total -lt $total_pos ]; then
+        exit 1
+    fi
+}
+
+show_time() {
+    t1=$(get_time)
+    time=`echo "scale=1; ($t1-$t0)/1" | $sed 's/.N/.0/g' | $bc 2> /dev/null`
+    echo "(${time}s)"
+}
+
+show_build_tag() {
+    echo "$1:" | $awk '{printf "%-24s ", $0}'
+}
+
+show_check_tag() {
+    echo "$1:" | $awk '{printf "  -%-40s  ", $0}'
+}
+
+show_msg() {
+    echo $1
+    shift
+    if [ $# -gt 0 ]; then
+        echo "$@" | awk '{printf "   %s\n", $0}'
+        echo
+    fi
+}
+
+pass() {
+    show_msg OK "$@"
+    part=`expr $part + $pts`
+    part_pos=`expr $part_pos + $pts`
+}
+
+fail() {
+    show_msg WRONG "$@"
+    part_pos=`expr $part_pos + $pts`
+}
+
+run_qemu() {
+    # Run qemu with serial output redirected to $qemu_out. If $brkfun is non-empty,
+    # wait until $brkfun is reached or $timeout expires, then kill QEMU
+    qemuextra=
+    if [ "$brkfun" ]; then
+        qemuextra="-S $qemugdb"
+    fi
+
+    if [ -z "$timeout" ] || [ $timeout -le 0 ]; then
+        timeout=$default_timeout;
+    fi
+
+    t0=$(get_time)
+    (
+        ulimit -t $timeout
+        exec $qemu -nographic $qemuopts -serial file:$qemu_out -monitor null -no-reboot $qemuextra
+    ) > $out 2> $err &
+    pid=$!
+
+    # wait for QEMU to start
+    sleep 1
+
+    if [ -n "$brkfun" ]; then
+        # find the address of the kernel $brkfun function
+        brkaddr=`$grep " $brkfun\$" $sym_table | $sed -e's/ .*$//g'`
+        (
+            echo "target remote localhost:$gdbport"
+            echo "break *0x$brkaddr"
+            echo "continue"
+        ) > $gdb_in
+
+        $gdb -batch -nx -x $gdb_in > /dev/null 2>&1
+
+        # make sure that QEMU is dead
+        # on OS X, exiting gdb doesn't always exit qemu
+        kill $pid > /dev/null 2>&1
+    fi
+}
+
+build_run() {
+    # usage: build_run <tag> <args>
+    show_build_tag "$1"
+    shift
+
+    if $verbose; then
+        echo "$make $@ ..."
+    fi
+    $make $makeopts $@ 'DEFS+=-DDEBUG_GRADE' > $out 2> $err
+
+    if [ $? -ne 0 ]; then
+        echo $make $@ failed
+        exit 1
+    fi
+
+    # now run qemu and save the output
+    run_qemu
+
+    show_time
+}
+
+check_result() {
+    # usage: check_result <tag> <check> <check args...>
+    show_check_tag "$1"
+    shift
+
+    # give qemu some time to run (for asynchronous mode)
+    if [ ! -s $qemu_out ]; then
+        sleep 4
+    fi
+
+    if [ ! -s $qemu_out ]; then
+        fail > /dev/null
+        echo 'no $qemu_out'
+    else
+        check=$1
+        shift
+        $check "$@"
+    fi
+}
+
+check_regexps() {
+    okay=yes
+    not=0
+    reg=0
+    error=
+    for i do
+        if [ "x$i" = "x!" ]; then
+            not=1
+        elif [ "x$i" = "x-" ]; then
+            reg=1
+        else
+            if [ $reg -ne 0 ]; then
+                $grep '-E' "^$i\$" $qemu_out > /dev/null
+            else
+                $grep '-F' "$i" $qemu_out > /dev/null
+            fi
+            found=$(($? == 0))
+            if [ $found -eq $not ]; then
+                if [ $found -eq 0 ]; then
+                    msg="!! error: missing '$i'"
+                else
+                    msg="!! error: got unexpected line '$i'"
+                fi
+                okay=no
+                if [ -z "$error" ]; then
+                    error="$msg"
+                else
+                    error="$error\n$msg"
+                fi
+            fi
+            not=0
+            reg=0
+        fi
+    done
+    if [ "$okay" = "yes" ]; then
+        pass
+    else
+        fail "$error"
+        if $verbose; then
+            exit 1
+        fi
+    fi
+}
+
+run_test() {
+    # usage: run_test [-tag <tag>] [-prog <prog>] [-Ddef...] [-check <check>] checkargs ...
+    tag=
+    prog=
+    check=check_regexps
+    while true; do
+        select=
+        case $1 in
+            -tag|-prog)
+                select=`expr substr $1 2 ${#1}`
+                eval $select='$2'
+                ;;
+        esac
+        if [ -z "$select" ]; then
+            break
+        fi
+        shift
+        shift
+    done
+    defs=
+    while expr "x$1" : "x-D.*" > /dev/null; do
+        defs="DEFS+='$1' $defs"
+        shift
+    done
+    if [ "x$1" = "x-check" ]; then
+        check=$2
+        shift
+        shift
+    fi
+
+    if [ -z "$prog" ]; then
+        $make $makeopts touch > /dev/null 2>&1
+        args="$defs"
+    else
+        if [ -z "$tag" ]; then
+            tag="$prog"
+        fi
+        args="build-$prog $defs"
+    fi
+
+    build_run "$tag" "$args"
+
+    check_result 'check result' "$check" "$@"
+}
+
+quick_run() {
+    # usage: quick_run <tag> [-Ddef...]
+    tag="$1"
+    shift
+    defs=
+    while expr "x$1" : "x-D.*" > /dev/null; do
+        defs="DEFS+='$1' $defs"
+        shift
+    done
+
+    $make $makeopts touch > /dev/null 2>&1
+    build_run "$tag" "$defs"
+}
+
+quick_check() {
+    # usage: quick_check <tag> checkargs ...
+    tag="$1"
+    shift
+    check_result "$tag" check_regexps "$@"
+}
+
+## kernel image
+osimg=$(make_print ucoreimg)
+
+## swap image
+swapimg=$(make_print swapimg)
+
+## set default qemu-options
+qemuopts="-hda $osimg -drive file=$swapimg,media=disk,cache=writeback"
+
+## set break-function, default is readline
+brkfun=readline
+
+default_check() {
+    pts=7
+    check_regexps "$@"
+
+    pts=3
+    quick_check 'check output'                                  \
+    'memory management: default_pmm_manager'                      \
+    'check_alloc_page() succeeded!'                             \
+    'check_pgdir() succeeded!'                                  \
+    'check_boot_pgdir() succeeded!'				\
+    'PDE(0e0) c0000000-f8000000 38000000 urw'                   \
+    '  |-- PTE(38000) c0000000-f8000000 38000000 -rw'           \
+    'PDE(001) fac00000-fb000000 00400000 -rw'                   \
+    '  |-- PTE(000e0) faf00000-fafe0000 000e0000 urw'           \
+    '  |-- PTE(00001) fafeb000-fafec000 00001000 -rw'		\
+    'check_slab() succeeded!'					\
+    'check_vma_struct() succeeded!'                             \
+    'page fault at 0x00000100: K/W [no page found].'            \
+    'check_pgfault() succeeded!'                                \
+    'check_vmm() succeeded.'					\
+    'page fault at 0x00001000: K/W [no page found].'            \
+    'page fault at 0x00002000: K/W [no page found].'            \
+    'page fault at 0x00003000: K/W [no page found].'            \
+    'page fault at 0x00004000: K/W [no page found].'            \
+    'write Virt Page e in fifo_check_swap'			\
+    'page fault at 0x00005000: K/W [no page found].'		\
+    'page fault at 0x00001000: K/W [no page found]'		\
+    'page fault at 0x00002000: K/W [no page found].'		\
+    'page fault at 0x00003000: K/W [no page found].'		\
+    'page fault at 0x00004000: K/W [no page found].'		\
+    'check_swap() succeeded!'					\
+    '++ setup timer interrupts'
+}
+
+## check now!!
+
+run_test -prog 'badsegment' -check default_check                \
+      - 'kernel_execve: pid = ., name = "badsegment".*'          \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000d General Protection'                    \
+        '  err  0x00000028'                                     \
+      - '  eip  0x008.....'                                     \
+      - '  esp  0xaff.....'                                     \
+        '  cs   0x----001b'                                     \
+        '  ss   0x----0023'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'divzero' -check default_check                   \
+      - 'kernel_execve: pid = ., name = "divzero".*'             \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x00000000 Divide error'                          \
+      - '  eip  0x008.....'                                     \
+      - '  esp  0xaff.....'                                     \
+        '  cs   0x----001b'                                     \
+        '  ss   0x----0023'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'softint' -check default_check                   \
+      - 'kernel_execve: pid = ., name = "softint".*'             \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000d General Protection'                    \
+        '  err  0x00000072'                                     \
+      - '  eip  0x008.....'                                     \
+      - '  esp  0xaff.....'                                     \
+        '  cs   0x----001b'                                     \
+        '  ss   0x----0023'                                     \
+    ! - 'user panic at .*'
+
+pts=10
+
+run_test -prog 'faultread'  -check default_check                                     \
+      - 'kernel_execve: pid = ., name = "faultread".*'           \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000e Page Fault'                            \
+        '  err  0x00000004'                                     \
+      - '  eip  0x008.....'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'faultreadkernel' -check default_check                                \
+      - 'kernel_execve: pid = ., name = "faultreadkernel".*'     \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000e Page Fault'                            \
+        '  err  0x00000005'                                     \
+      - '  eip  0x008.....'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'hello' -check default_check                                          \
+      - 'kernel_execve: pid = ., name = "hello".*'               \
+        'Hello world!!.'                                        \
+      - 'I am process .*'                                       \
+        'hello pass.'
+
+run_test -prog 'testbss' -check default_check                                        \
+      - 'kernel_execve: pid = ., name = "testbss".*'             \
+        'Making sure bss works right...'                        \
+        'Yes, good.  Now doing a wild write off the end...'     \
+        'testbss may pass.'                                     \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000e Page Fault'                            \
+        '  err  0x00000006'                                     \
+      - '  eip  0x008.....'                                     \
+        'killed by kernel.'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'pgdir' -check default_check                                          \
+      - 'kernel_execve: pid = ., name = "pgdir".*'               \
+      - 'I am .*'                                  \
+        'PDE(001) 00800000-00c00000 00400000 urw'               \
+        '  |-- PTE(00002) 00800000-00802000 00002000 ur-'       \
+        '  |-- PTE(00001) 00802000-00803000 00001000 urw'       \
+        'PDE(001) afc00000-b0000000 00400000 urw'               \
+        '  |-- PTE(00004) afffc000-b0000000 00004000 urw'       \
+        'PDE(0e0) c0000000-f8000000 38000000 urw'               \
+        '  |-- PTE(38000) c0000000-f8000000 38000000 -rw'       \
+        'pgdir pass.'
+
+run_test -prog 'yield' -check default_check                                          \
+      - 'kernel_execve: pid = ., name = "yield".*'               \
+        'Hello, I am process 2.'                                \
+      - 'Back in process ., iteration 0.'                       \
+      - 'Back in process ., iteration 1.'                       \
+      - 'Back in process ., iteration 2.'                       \
+      - 'Back in process ., iteration 3.'                       \
+      - 'Back in process ., iteration 4.'                       \
+      - 'All done in process .*'                                \
+        'yield pass.'
+
+
+run_test -prog 'badarg' -check default_check                    \
+      - 'kernel_execve: pid = ., name = "badarg".*'              \
+        'fork ok.'                                              \
+        'badarg pass.'                                          \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+pts=10
+
+run_test -prog 'exit'  -check default_check                                          \
+      - 'kernel_execve: pid = ., name = "exit".*'                \
+        'I am the parent. Forking the child...'                 \
+        'I am the parent, waiting now..'                        \
+        'I am the child.'                                       \
+      - 'waitpid [0-9]+ ok\.'                                   \
+        'exit pass.'                                            \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+run_test -prog 'spin'  -check default_check                                          \
+      - 'kernel_execve: pid = ., name = "spin".*'                \
+        'I am the parent. Forking the child...'                 \
+        'I am the parent. Running the child...'                 \
+        'I am the child. spinning ...'                          \
+        'I am the parent.  Killing the child...'                \
+        'kill returns 0'                                        \
+        'wait returns 0'                                        \
+        'spin may pass.'                                        \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+run_test -prog 'waitkill'  -check default_check                                      \
+      - 'kernel_execve: pid = ., name = "waitkill".*'            \
+        'wait child 1.'                                         \
+        'child 2.'                                              \
+        'child 1.'                                              \
+        'kill parent ok.'                                       \
+        'kill child1 ok.'                                       \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+pts=15
+
+run_test -prog 'forktest'   -check default_check                                     \
+      - 'kernel_execve: pid = ., name = "forktest".*'            \
+        'I am child 31'                                         \
+        'I am child 19'                                         \
+        'I am child 13'                                         \
+        'I am child 0'                                          \
+        'forktest pass.'                                        \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'fork claimed to work [0-9]+ times!'                    \
+    !   'wait stopped early'                                    \
+    !   'wait got too many'                                     \
+    ! - 'user panic at .*'
+
+pts=10
+run_test -prog 'forktree'    -check default_check               \
+      - 'kernel_execve: pid = ., name = "forktree".*'            \
+      - '....: I am '\'''\'                                     \
+      - '....: I am '\''0'\'                                    \
+      - '....: I am '\'''\'                                     \
+      - '....: I am '\''1'\'                                    \
+      - '....: I am '\''0'\'                                    \
+      - '....: I am '\''01'\'                                   \
+      - '....: I am '\''00'\'                                   \
+      - '....: I am '\''11'\'                                   \
+      - '....: I am '\''10'\'                                   \
+      - '....: I am '\''101'\'                                  \
+      - '....: I am '\''100'\'                                  \
+      - '....: I am '\''111'\'                                  \
+      - '....: I am '\''110'\'                                  \
+      - '....: I am '\''001'\'                                  \
+      - '....: I am '\''000'\'                                  \
+      - '....: I am '\''011'\'                                  \
+      - '....: I am '\''010'\'                                  \
+      - '....: I am '\''0101'\'                                 \
+      - '....: I am '\''0100'\'                                 \
+      - '....: I am '\''0111'\'                                 \
+      - '....: I am '\''0110'\'                                 \
+      - '....: I am '\''0001'\'                                 \
+      - '....: I am '\''0000'\'                                 \
+      - '....: I am '\''0011'\'                                 \
+      - '....: I am '\''0010'\'                                 \
+      - '....: I am '\''1101'\'                                 \
+      - '....: I am '\''1100'\'                                 \
+      - '....: I am '\''1111'\'                                 \
+      - '....: I am '\''1110'\'                                 \
+      - '....: I am '\''1001'\'                                 \
+      - '....: I am '\''1000'\'                                 \
+      - '....: I am '\''1011'\'                                 \
+      - '....: I am '\''1010'\'                                 \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'
+
+pts=20
+timeout=150
+run_test -prog 'priority'      -check default_check             \
+	'sched class: stride_scheduler'                         \
+      - 'kernel_execve: pid = ., name = "priority".*'            \
+        'main: fork ok,now need to wait pids.'                  \
+        'stride sched correct result: 1 2 3 4 5'                \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+pts=20
+timeout=240
+
+run_test -prog 'sleep'         -check default_check             \
+      - 'kernel_execve: pid = ., name = "sleep".*'               \
+        'sleep 1 x 100 slices.'                                 \
+        'sleep 3 x 100 slices.'                                 \
+        'sleep 7 x 100 slices.'                                 \
+        'sleep 10 x 100 slices.'                                \
+      - 'use 1... msecs.'                                       \
+        'sleep pass.'                                           \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    !   '  trap 0x0000000e Page Fault'                          \
+    !   'killed by kernel.'                                     \
+    ! - 'user panic at .*'
+
+pts=20
+timeout=240
+run_test -prog 'sleepkill'   -check default_check               \
+      - 'kernel_execve: pid = ., name = "sleepkill".*'           \
+        'sleepkill pass.'                                       \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+pts=40
+timeout=500
+run_test -prog 'matrix'     -check default_check                \
+        'Iter 1, No.0 philosopher_sema is thinking'                  \
+        'Iter 1, No.1 philosopher_sema is thinking'                  \
+        'Iter 1, No.2 philosopher_sema is thinking'                  \
+        'Iter 1, No.3 philosopher_sema is thinking'                  \
+        'Iter 1, No.4 philosopher_sema is thinking'                  \
+        'Iter 1, No.0 philosopher_sema is eating'                  \
+        'Iter 1, No.1 philosopher_sema is eating'                  \
+        'Iter 1, No.2 philosopher_sema is eating'                  \
+        'Iter 1, No.3 philosopher_sema is eating'                  \
+        'Iter 1, No.4 philosopher_sema is eating'                  \
+        'No.0 philosopher_sema quit'                                \
+        'No.1 philosopher_sema quit'                                \
+        'No.2 philosopher_sema quit'                                \
+        'No.3 philosopher_sema quit'                                \
+        'No.4 philosopher_sema quit'                                \
+        'Iter 1, No.0 philosopher_condvar is thinking'                  \
+        'Iter 1, No.1 philosopher_condvar is thinking'                  \
+        'Iter 1, No.2 philosopher_condvar is thinking'                  \
+        'Iter 1, No.3 philosopher_condvar is thinking'                  \
+        'Iter 1, No.4 philosopher_condvar is thinking'                  \
+        'Iter 1, No.0 philosopher_condvar is eating'                  \
+        'Iter 1, No.1 philosopher_condvar is eating'                  \
+        'Iter 1, No.2 philosopher_condvar is eating'                  \
+        'Iter 1, No.3 philosopher_condvar is eating'                  \
+        'Iter 1, No.4 philosopher_condvar is eating'                  \
+        'No.0 philosopher_condvar quit'                                \
+        'No.1 philosopher_condvar quit'                                \
+        'No.2 philosopher_condvar quit'                                \
+        'No.3 philosopher_condvar quit'                                \
+        'No.4 philosopher_condvar quit'                                \
+      - 'kernel_execve: pid = ., name = "matrix".*'              \
+        'fork ok.'                                              \
+        'pid 13 done!.'                                         \
+        'pid 17 done!.'                                         \
+        'pid 23 done!.'                                         \
+        'matrix pass.'                                          \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+## print final-score
+show_final
+
diff --git a/code/lab7/tools/kernel.ld b/code/lab7/tools/kernel.ld
new file mode 100644
index 0000000..1838500
--- /dev/null
+++ b/code/lab7/tools/kernel.ld
@@ -0,0 +1,58 @@
+/* Simple linker script for the ucore kernel.
+   See the GNU ld 'info' manual ("info ld") to learn the syntax. */
+
+OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
+OUTPUT_ARCH(i386)
+ENTRY(kern_entry)
+
+SECTIONS {
+    /* Load the kernel at this address: "." means the current address */
+    . = 0xC0100000;
+
+    .text : {
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+
+    PROVIDE(etext = .); /* Define the 'etext' symbol to this value */
+
+    .rodata : {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+
+    /* Include debugging information in kernel memory */
+    .stab : {
+        PROVIDE(__STAB_BEGIN__ = .);
+        *(.stab);
+        PROVIDE(__STAB_END__ = .);
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    .stabstr : {
+        PROVIDE(__STABSTR_BEGIN__ = .);
+        *(.stabstr);
+        PROVIDE(__STABSTR_END__ = .);
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    /* Adjust the address for the data segment to the next page */
+    . = ALIGN(0x1000);
+
+    /* The data segment */
+    .data : {
+        *(.data)
+    }
+
+    PROVIDE(edata = .);
+
+    .bss : {
+        *(.bss)
+    }
+
+    PROVIDE(end = .);
+
+    /DISCARD/ : {
+        *(.eh_frame .note.GNU-stack)
+    }
+}
diff --git a/code/lab7/tools/sign.c b/code/lab7/tools/sign.c
new file mode 100644
index 0000000..9d81bb6
--- /dev/null
+++ b/code/lab7/tools/sign.c
@@ -0,0 +1,43 @@
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+
+int
+main(int argc, char *argv[]) {
+    struct stat st;
+    if (argc != 3) {
+        fprintf(stderr, "Usage: <input filename> <output filename>\n");
+        return -1;
+    }
+    if (stat(argv[1], &st) != 0) {
+        fprintf(stderr, "Error opening file '%s': %s\n", argv[1], strerror(errno));
+        return -1;
+    }
+    printf("'%s' size: %lld bytes\n", argv[1], (long long)st.st_size);
+    if (st.st_size > 510) {
+        fprintf(stderr, "%lld >> 510!!\n", (long long)st.st_size);
+        return -1;
+    }
+    char buf[512];
+    memset(buf, 0, sizeof(buf));
+    FILE *ifp = fopen(argv[1], "rb");
+    int size = fread(buf, 1, st.st_size, ifp);
+    if (size != st.st_size) {
+        fprintf(stderr, "read '%s' error, size is %d.\n", argv[1], size);
+        return -1;
+    }
+    fclose(ifp);
+    buf[510] = 0x55;
+    buf[511] = 0xAA;
+    FILE *ofp = fopen(argv[2], "wb+");
+    size = fwrite(buf, 1, 512, ofp);
+    if (size != 512) {
+        fprintf(stderr, "write '%s' error, size is %d.\n", argv[2], size);
+        return -1;
+    }
+    fclose(ofp);
+    printf("build 512 bytes boot sector: '%s' success!\n", argv[2]);
+    return 0;
+}
+
diff --git a/code/lab7/tools/user.ld b/code/lab7/tools/user.ld
new file mode 100644
index 0000000..c73b6fa
--- /dev/null
+++ b/code/lab7/tools/user.ld
@@ -0,0 +1,71 @@
+/* Simple linker script for ucore user-level programs.
+   See the GNU ld 'info' manual ("info ld") to learn the syntax. */
+
+OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
+OUTPUT_ARCH(i386)
+ENTRY(_start)
+
+SECTIONS {
+    /* Load programs at this address: "." means the current address */
+    . = 0x800020;
+
+    .text : {
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+
+    PROVIDE(etext = .); /* Define the 'etext' symbol to this value */
+
+    .rodata : {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+
+    /* Adjust the address for the data segment to the next page */
+    . = ALIGN(0x1000);
+
+    .data : {
+        *(.data)
+    }
+
+    PROVIDE(edata = .);
+
+    .bss : {
+        *(.bss)
+    }
+
+    PROVIDE(end = .);
+
+
+    /* Place debugging symbols so that they can be found by
+     * the kernel debugger.
+     * Specifically, the four words at 0x200000 mark the beginning of
+     * the stabs, the end of the stabs, the beginning of the stabs
+     * string table, and the end of the stabs string table, respectively.
+     */
+
+    .stab_info 0x200000 : {
+        LONG(__STAB_BEGIN__);
+        LONG(__STAB_END__);
+        LONG(__STABSTR_BEGIN__);
+        LONG(__STABSTR_END__);
+    }
+
+    .stab : {
+        __STAB_BEGIN__ = DEFINED(__STAB_BEGIN__) ? __STAB_BEGIN__ : .;
+        *(.stab);
+        __STAB_END__ = DEFINED(__STAB_END__) ? __STAB_END__ : .;
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    .stabstr : {
+        __STABSTR_BEGIN__ = DEFINED(__STABSTR_BEGIN__) ? __STABSTR_BEGIN__ : .;
+        *(.stabstr);
+        __STABSTR_END__ = DEFINED(__STABSTR_END__) ? __STABSTR_END__ : .;
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    /DISCARD/ : {
+        *(.eh_frame .note.GNU-stack .comment)
+    }
+}
diff --git a/code/lab7/tools/vector.c b/code/lab7/tools/vector.c
new file mode 100644
index 0000000..e24d77e
--- /dev/null
+++ b/code/lab7/tools/vector.c
@@ -0,0 +1,29 @@
+#include <stdio.h>
+
+int
+main(void) {
+    printf("# handler\n");
+    printf(".text\n");
+    printf(".globl __alltraps\n");
+
+    int i;
+    for (i = 0; i < 256; i ++) {
+        printf(".globl vector%d\n", i);
+        printf("vector%d:\n", i);
+        if ((i < 8 || i > 14) && i != 17) {
+            printf("  pushl $0\n");
+        }
+        printf("  pushl $%d\n", i);
+        printf("  jmp __alltraps\n");
+    }
+    printf("\n");
+    printf("# vector table\n");
+    printf(".data\n");
+    printf(".globl __vectors\n");
+    printf("__vectors:\n");
+    for (i = 0; i < 256; i ++) {
+        printf("  .long vector%d\n", i);
+    }
+    return 0;
+}
+
diff --git a/code/lab7/user/badarg.c b/code/lab7/user/badarg.c
new file mode 100644
index 0000000..7b4ffad
--- /dev/null
+++ b/code/lab7/user/badarg.c
@@ -0,0 +1,22 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    int pid, exit_code;
+    if ((pid = fork()) == 0) {
+        cprintf("fork ok.\n");
+        int i;
+        for (i = 0; i < 10; i ++) {
+            yield();
+        }
+        exit(0xbeaf);
+    }
+    assert(pid > 0);
+    assert(waitpid(-1, NULL) != 0);
+    assert(waitpid(pid, (void *)0xC0000000) != 0);
+    assert(waitpid(pid, &exit_code) == 0 && exit_code == 0xbeaf);
+    cprintf("badarg pass.\n");
+    return 0;
+}
+
diff --git a/code/lab7/user/badsegment.c b/code/lab7/user/badsegment.c
new file mode 100644
index 0000000..cdd9e99
--- /dev/null
+++ b/code/lab7/user/badsegment.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <ulib.h>
+
+/* try to load the kernel's TSS selector into the DS register */
+
+int
+main(void) {
+    asm volatile("movw $0x28,%ax; movw %ax,%ds");
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab7/user/divzero.c b/code/lab7/user/divzero.c
new file mode 100644
index 0000000..16c23d5
--- /dev/null
+++ b/code/lab7/user/divzero.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int zero;
+
+int
+main(void) {
+    cprintf("value is %d.\n", 1 / zero);
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab7/user/exit.c b/code/lab7/user/exit.c
new file mode 100644
index 0000000..c3ac5f8
--- /dev/null
+++ b/code/lab7/user/exit.c
@@ -0,0 +1,34 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int magic = -0x10384;
+
+int
+main(void) {
+    int pid, code;
+    cprintf("I am the parent. Forking the child...\n");
+    if ((pid = fork()) == 0) {
+        cprintf("I am the child.\n");
+        yield();
+        yield();
+        yield();
+        yield();
+        yield();
+        yield();
+        yield();
+        exit(magic);
+    }
+    else {
+        cprintf("I am parent, fork a child pid %d\n",pid);
+    }
+    assert(pid > 0);
+    cprintf("I am the parent, waiting now..\n");
+
+    assert(waitpid(pid, &code) == 0 && code == magic);
+    assert(waitpid(pid, &code) != 0 && wait() != 0);
+    cprintf("waitpid %d ok.\n", pid);
+
+    cprintf("exit pass.\n");
+    return 0;
+}
+
diff --git a/code/lab7/user/faultread.c b/code/lab7/user/faultread.c
new file mode 100644
index 0000000..6d292e1
--- /dev/null
+++ b/code/lab7/user/faultread.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    cprintf("I read %8x from 0.\n", *(unsigned int *)0);
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab7/user/faultreadkernel.c b/code/lab7/user/faultreadkernel.c
new file mode 100644
index 0000000..53457f6
--- /dev/null
+++ b/code/lab7/user/faultreadkernel.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    cprintf("I read %08x from 0xfac00000!\n", *(unsigned *)0xfac00000);
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab7/user/forktest.c b/code/lab7/user/forktest.c
new file mode 100644
index 0000000..3eda228
--- /dev/null
+++ b/code/lab7/user/forktest.c
@@ -0,0 +1,34 @@
+#include <ulib.h>
+#include <stdio.h>
+
+const int max_child = 32;
+
+int
+main(void) {
+    int n, pid;
+    for (n = 0; n < max_child; n ++) {
+        if ((pid = fork()) == 0) {
+            cprintf("I am child %d\n", n);
+            exit(0);
+        }
+        assert(pid > 0);
+    }
+
+    if (n > max_child) {
+        panic("fork claimed to work %d times!\n", n);
+    }
+
+    for (; n > 0; n --) {
+        if (wait() != 0) {
+            panic("wait stopped early\n");
+        }
+    }
+
+    if (wait() == 0) {
+        panic("wait got too many\n");
+    }
+
+    cprintf("forktest pass.\n");
+    return 0;
+}
+
diff --git a/code/lab7/user/forktree.c b/code/lab7/user/forktree.c
new file mode 100644
index 0000000..c7df9ea
--- /dev/null
+++ b/code/lab7/user/forktree.c
@@ -0,0 +1,39 @@
+#include <ulib.h>
+#include <stdio.h>
+#include <string.h>
+
+#define DEPTH 4
+#define SLEEP_TIME 400
+void forktree(const char *cur);
+
+void
+forkchild(const char *cur, char branch) {
+    char nxt[DEPTH + 1];
+
+    if (strlen(cur) >= DEPTH)
+        return;
+
+    snprintf(nxt, DEPTH + 1, "%s%c", cur, branch);
+    if (fork() == 0) {
+        forktree(nxt);
+        yield();
+        exit(0);
+    }
+}
+
+void
+forktree(const char *cur) {
+    cprintf("%04x: I am '%s'\n", getpid(), cur);
+
+    forkchild(cur, '0');
+    forkchild(cur, '1');
+}
+
+int
+main(void) {
+    cprintf("forktree process will sleep %d ticks\n",SLEEP_TIME);
+    sleep(SLEEP_TIME);
+    forktree("");
+    return 0;
+}
+
diff --git a/code/lab7/user/hello.c b/code/lab7/user/hello.c
new file mode 100644
index 0000000..0f05251
--- /dev/null
+++ b/code/lab7/user/hello.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    cprintf("Hello world!!.\n");
+    cprintf("I am process %d.\n", getpid());
+    cprintf("hello pass.\n");
+    return 0;
+}
+
diff --git a/code/lab7/user/libs/initcode.S b/code/lab7/user/libs/initcode.S
new file mode 100644
index 0000000..77a91d6
--- /dev/null
+++ b/code/lab7/user/libs/initcode.S
@@ -0,0 +1,14 @@
+.text
+.globl _start
+_start:
+    # set ebp for backtrace
+    movl $0x0, %ebp
+
+    # move down the esp register
+    # since it may cause page fault in backtrace
+    subl $0x20, %esp
+
+    # call user-program function
+    call umain
+1:  jmp 1b
+
diff --git a/code/lab7/user/libs/panic.c b/code/lab7/user/libs/panic.c
new file mode 100644
index 0000000..783be16
--- /dev/null
+++ b/code/lab7/user/libs/panic.c
@@ -0,0 +1,28 @@
+#include <defs.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <ulib.h>
+#include <error.h>
+
+void
+__panic(const char *file, int line, const char *fmt, ...) {
+    // print the 'message'
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("user panic at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+    exit(-E_PANIC);
+}
+
+void
+__warn(const char *file, int line, const char *fmt, ...) {
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("user warning at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+}
+
diff --git a/code/lab7/user/libs/stdio.c b/code/lab7/user/libs/stdio.c
new file mode 100644
index 0000000..69b7749
--- /dev/null
+++ b/code/lab7/user/libs/stdio.c
@@ -0,0 +1,62 @@
+#include <defs.h>
+#include <stdio.h>
+#include <syscall.h>
+
+/* *
+ * cputch - writes a single character @c to stdout, and it will
+ * increace the value of counter pointed by @cnt.
+ * */
+static void
+cputch(int c, int *cnt) {
+    sys_putc(c);
+    (*cnt) ++;
+}
+
+/* *
+ * vcprintf - format a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want cprintf() instead.
+ * */
+int
+vcprintf(const char *fmt, va_list ap) {
+    int cnt = 0;
+    vprintfmt((void*)cputch, &cnt, fmt, ap);
+    return cnt;
+}
+
+/* *
+ * cprintf - formats a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ * */
+int
+cprintf(const char *fmt, ...) {
+    va_list ap;
+
+    va_start(ap, fmt);
+    int cnt = vcprintf(fmt, ap);
+    va_end(ap);
+
+    return cnt;
+}
+
+/* *
+ * cputs- writes the string pointed by @str to stdout and
+ * appends a newline character.
+ * */
+int
+cputs(const char *str) {
+    int cnt = 0;
+    char c;
+    while ((c = *str ++) != '\0') {
+        cputch(c, &cnt);
+    }
+    cputch('\n', &cnt);
+    return cnt;
+}
+
diff --git a/code/lab7/user/libs/syscall.c b/code/lab7/user/libs/syscall.c
new file mode 100644
index 0000000..08517f2
--- /dev/null
+++ b/code/lab7/user/libs/syscall.c
@@ -0,0 +1,87 @@
+#include <defs.h>
+#include <unistd.h>
+#include <stdarg.h>
+#include <syscall.h>
+
+#define MAX_ARGS            5
+
+static inline int
+syscall(int num, ...) {
+    va_list ap;
+    va_start(ap, num);
+    uint32_t a[MAX_ARGS];
+    int i, ret;
+    for (i = 0; i < MAX_ARGS; i ++) {
+        a[i] = va_arg(ap, uint32_t);
+    }
+    va_end(ap);
+
+    asm volatile (
+        "int %1;"
+        : "=a" (ret)
+        : "i" (T_SYSCALL),
+          "a" (num),
+          "d" (a[0]),
+          "c" (a[1]),
+          "b" (a[2]),
+          "D" (a[3]),
+          "S" (a[4])
+        : "cc", "memory");
+    return ret;
+}
+
+int
+sys_exit(int error_code) {
+    return syscall(SYS_exit, error_code);
+}
+
+int
+sys_fork(void) {
+    return syscall(SYS_fork);
+}
+
+int
+sys_wait(int pid, int *store) {
+    return syscall(SYS_wait, pid, store);
+}
+
+int
+sys_yield(void) {
+    return syscall(SYS_yield);
+}
+
+int
+sys_kill(int pid) {
+    return syscall(SYS_kill, pid);
+}
+
+int
+sys_getpid(void) {
+    return syscall(SYS_getpid);
+}
+
+int
+sys_putc(int c) {
+    return syscall(SYS_putc, c);
+}
+
+int
+sys_pgdir(void) {
+    return syscall(SYS_pgdir);
+}
+
+size_t
+sys_gettime(void) {
+    return syscall(SYS_gettime);
+}
+
+void
+sys_lab6_set_priority(uint32_t priority)
+{
+    syscall(SYS_lab6_set_priority, priority);
+}
+
+int
+sys_sleep(unsigned int time) {
+    return syscall(SYS_sleep, time);
+}
diff --git a/code/lab7/user/libs/syscall.h b/code/lab7/user/libs/syscall.h
new file mode 100644
index 0000000..c97d3d4
--- /dev/null
+++ b/code/lab7/user/libs/syscall.h
@@ -0,0 +1,18 @@
+#ifndef __USER_LIBS_SYSCALL_H__
+#define __USER_LIBS_SYSCALL_H__
+
+int sys_exit(int error_code);
+int sys_fork(void);
+int sys_wait(int pid, int *store);
+int sys_yield(void);
+int sys_kill(int pid);
+int sys_getpid(void);
+int sys_putc(int c);
+int sys_pgdir(void);
+/* FOR LAB6 ONLY */
+void sys_lab6_set_priority(uint32_t priority);
+
+int sys_sleep(unsigned int time);
+
+#endif /* !__USER_LIBS_SYSCALL_H__ */
+
diff --git a/code/lab7/user/libs/ulib.c b/code/lab7/user/libs/ulib.c
new file mode 100644
index 0000000..9646710
--- /dev/null
+++ b/code/lab7/user/libs/ulib.c
@@ -0,0 +1,63 @@
+#include <defs.h>
+#include <syscall.h>
+#include <stdio.h>
+#include <ulib.h>
+
+void
+exit(int error_code) {
+    sys_exit(error_code);
+    cprintf("BUG: exit failed.\n");
+    while (1);
+}
+
+int
+fork(void) {
+    return sys_fork();
+}
+
+int
+wait(void) {
+    return sys_wait(0, NULL);
+}
+
+int
+waitpid(int pid, int *store) {
+    return sys_wait(pid, store);
+}
+
+void
+yield(void) {
+    sys_yield();
+}
+
+int
+kill(int pid) {
+    return sys_kill(pid);
+}
+
+int
+getpid(void) {
+    return sys_getpid();
+}
+
+//print_pgdir - print the PDT&PT
+void
+print_pgdir(void) {
+    sys_pgdir();
+}
+
+unsigned int
+gettime_msec(void) {
+    return (unsigned int)sys_gettime();
+}
+
+void
+lab6_set_priority(uint32_t priority)
+{
+    sys_lab6_set_priority(priority);
+}
+
+int
+sleep(unsigned int time) {
+    return sys_sleep(time);
+}
diff --git a/code/lab7/user/libs/ulib.h b/code/lab7/user/libs/ulib.h
new file mode 100644
index 0000000..4bf6574
--- /dev/null
+++ b/code/lab7/user/libs/ulib.h
@@ -0,0 +1,39 @@
+#ifndef __USER_LIBS_ULIB_H__
+#define __USER_LIBS_ULIB_H__
+
+#include <defs.h>
+
+void __warn(const char *file, int line, const char *fmt, ...);
+void __noreturn __panic(const char *file, int line, const char *fmt, ...);
+
+#define warn(...)                                       \
+    __warn(__FILE__, __LINE__, __VA_ARGS__)
+
+#define panic(...)                                      \
+    __panic(__FILE__, __LINE__, __VA_ARGS__)
+
+#define assert(x)                                       \
+    do {                                                \
+        if (!(x)) {                                     \
+            panic("assertion failed: %s", #x);          \
+        }                                               \
+    } while (0)
+
+// static_assert(x) will generate a compile-time error if 'x' is false.
+#define static_assert(x)                                \
+    switch (x) { case 0: case (x): ; }
+
+void __noreturn exit(int error_code);
+int fork(void);
+int wait(void);
+int waitpid(int pid, int *store);
+void yield(void);
+int kill(int pid);
+int getpid(void);
+void print_pgdir(void);
+unsigned int gettime_msec(void);
+void lab6_set_priority(uint32_t priority);
+int sleep(unsigned int time);
+
+#endif /* !__USER_LIBS_ULIB_H__ */
+
diff --git a/code/lab7/user/libs/umain.c b/code/lab7/user/libs/umain.c
new file mode 100644
index 0000000..c352072
--- /dev/null
+++ b/code/lab7/user/libs/umain.c
@@ -0,0 +1,10 @@
+#include <ulib.h>
+
+int main(void);
+
+void
+umain(void) {
+    int ret = main();
+    exit(ret);
+}
+
diff --git a/code/lab7/user/matrix.c b/code/lab7/user/matrix.c
new file mode 100644
index 0000000..c5ec869
--- /dev/null
+++ b/code/lab7/user/matrix.c
@@ -0,0 +1,84 @@
+#include <ulib.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#define MATSIZE     10
+
+static int mata[MATSIZE][MATSIZE];
+static int matb[MATSIZE][MATSIZE];
+static int matc[MATSIZE][MATSIZE];
+
+void
+work(unsigned int times) {
+    int i, j, k, size = MATSIZE;
+    for (i = 0; i < size; i ++) {
+        for (j = 0; j < size; j ++) {
+            mata[i][j] = matb[i][j] = 1;
+        }
+    }
+
+    yield();
+
+    cprintf("pid %d is running (%d times)!.\n", getpid(), times);
+
+    while (times -- > 0) {
+        for (i = 0; i < size; i ++) {
+            for (j = 0; j < size; j ++) {
+                matc[i][j] = 0;
+                for (k = 0; k < size; k ++) {
+                    matc[i][j] += mata[i][k] * matb[k][j];
+                }
+            }
+        }
+        for (i = 0; i < size; i ++) {
+            for (j = 0; j < size; j ++) {
+                mata[i][j] = matb[i][j] = matc[i][j];
+            }
+        }
+    }
+    cprintf("pid %d done!.\n", getpid());
+    exit(0);
+}
+
+const int total = 21;
+
+int
+main(void) {
+    int pids[total];
+    memset(pids, 0, sizeof(pids));
+
+    int i;
+    for (i = 0; i < total; i ++) {
+        if ((pids[i] = fork()) == 0) {
+            srand(i * i);
+            int times = (((unsigned int)rand()) % total);
+            times = (times * times + 10) * 100;
+            work(times);
+        }
+        if (pids[i] < 0) {
+            goto failed;
+        }
+    }
+
+    cprintf("fork ok.\n");
+
+    for (i = 0; i < total; i ++) {
+        if (wait() != 0) {
+            cprintf("wait failed.\n");
+            goto failed;
+        }
+    }
+
+    cprintf("matrix pass.\n");
+    return 0;
+
+failed:
+    for (i = 0; i < total; i ++) {
+        if (pids[i] > 0) {
+            kill(pids[i]);
+        }
+    }
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab7/user/pgdir.c b/code/lab7/user/pgdir.c
new file mode 100644
index 0000000..09fd7e3
--- /dev/null
+++ b/code/lab7/user/pgdir.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    cprintf("I am %d, print pgdir.\n", getpid());
+    print_pgdir();
+    cprintf("pgdir pass.\n");
+    return 0;
+}
+
diff --git a/code/lab7/user/priority.c b/code/lab7/user/priority.c
new file mode 100644
index 0000000..d71147e
--- /dev/null
+++ b/code/lab7/user/priority.c
@@ -0,0 +1,80 @@
+#include <ulib.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#define TOTAL 5
+/* to get enough accuracy, MAX_TIME (the running time of each process) should >1000 mseconds. */
+#define MAX_TIME  2000
+#define SLEEP_TIME 400
+unsigned int acc[TOTAL];
+int status[TOTAL];
+int pids[TOTAL];
+
+static void
+spin_delay(void)
+{
+     int i;
+     volatile int j;
+     for (i = 0; i != 200; ++ i)
+     {
+          j = !j;
+     }
+}
+
+int
+main(void) {
+     int i,time;
+     cprintf("priority process will sleep %d ticks\n",SLEEP_TIME);
+     sleep(SLEEP_TIME);
+     memset(pids, 0, sizeof(pids));
+     lab6_set_priority(TOTAL + 1);
+
+     for (i = 0; i < TOTAL; i ++) {
+          acc[i]=0;
+          if ((pids[i] = fork()) == 0) {
+               lab6_set_priority(i + 1);
+               acc[i] = 0;
+               while (1) {
+                    spin_delay();
+                    ++ acc[i];
+                    if(acc[i]%4000==0) {
+                        if((time=gettime_msec())>MAX_TIME) {
+                            cprintf("child pid %d, acc %d, time %d\n",getpid(),acc[i],time);
+                            exit(acc[i]);
+                        }
+                    }
+               }
+               
+          }
+          if (pids[i] < 0) {
+               goto failed;
+          }
+     }
+
+     cprintf("main: fork ok,now need to wait pids.\n");
+
+     for (i = 0; i < TOTAL; i ++) {
+         status[i]=0;
+         waitpid(pids[i],&status[i]);
+         cprintf("main: pid %d, acc %d, time %d\n",pids[i],status[i],gettime_msec()); 
+     }
+     cprintf("main: wait pids over\n");
+     cprintf("stride sched correct result:");
+     for (i = 0; i < TOTAL; i ++)
+     {
+         cprintf(" %d", (status[i] * 2 / status[0] + 1) / 2);
+     }
+     cprintf("\n");
+
+     return 0;
+
+failed:
+     for (i = 0; i < TOTAL; i ++) {
+          if (pids[i] > 0) {
+               kill(pids[i]);
+          }
+     }
+     panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab7/user/sleep.c b/code/lab7/user/sleep.c
new file mode 100644
index 0000000..5bc56e0
--- /dev/null
+++ b/code/lab7/user/sleep.c
@@ -0,0 +1,28 @@
+#include <stdio.h>
+#include <ulib.h>
+
+void
+sleepy(int pid) {
+    int i, time = 100;
+    for (i = 0; i < 10; i ++) {
+        sleep(time);
+        cprintf("sleep %d x %d slices.\n", i + 1, time);
+    }
+    exit(0);
+}
+
+int
+main(void) {
+    unsigned int time = gettime_msec();
+    int pid1, exit_code;
+
+    if ((pid1 = fork()) == 0) {
+        sleepy(pid1);
+    }
+    
+    assert(waitpid(pid1, &exit_code) == 0 && exit_code == 0);
+    cprintf("use %04d msecs.\n", gettime_msec() - time);
+    cprintf("sleep pass.\n");
+    return 0;
+}
+
diff --git a/code/lab7/user/sleepkill.c b/code/lab7/user/sleepkill.c
new file mode 100644
index 0000000..01268a2
--- /dev/null
+++ b/code/lab7/user/sleepkill.c
@@ -0,0 +1,18 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    int pid;
+    if ((pid = fork()) == 0) {
+        sleep(~0);
+        exit(0xdead);
+    }
+    assert(pid > 0);
+
+    sleep(100);
+    assert(kill(pid) == 0);
+    cprintf("sleepkill pass.\n");
+    return 0;
+}
+
diff --git a/code/lab7/user/softint.c b/code/lab7/user/softint.c
new file mode 100644
index 0000000..2f14d15
--- /dev/null
+++ b/code/lab7/user/softint.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    asm volatile("int $14");
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab7/user/spin.c b/code/lab7/user/spin.c
new file mode 100644
index 0000000..d41b919
--- /dev/null
+++ b/code/lab7/user/spin.c
@@ -0,0 +1,32 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    int pid, ret, i ,j;
+    cprintf("I am the parent. Forking the child...\n");
+    pid = fork();
+    if (pid== 0) {
+        cprintf("I am the child. spinning ...\n");
+        while (1);
+    }else if (pid<0) {
+        panic("fork child error\n");
+    }
+    cprintf("I am the parent. Running the child...\n");
+
+    yield();
+    yield();
+    yield();
+    
+    cprintf("I am the parent.  Killing the child...\n");
+
+    assert((ret = kill(pid)) == 0);
+    cprintf("kill returns %d\n", ret);
+
+    assert((ret = waitpid(pid, NULL)) == 0);
+    cprintf("wait returns %d\n", ret);
+
+    cprintf("spin may pass.\n");
+    return 0;
+}
+
diff --git a/code/lab7/user/testbss.c b/code/lab7/user/testbss.c
new file mode 100644
index 0000000..14dc6e1
--- /dev/null
+++ b/code/lab7/user/testbss.c
@@ -0,0 +1,33 @@
+#include <stdio.h>
+#include <ulib.h>
+
+#define ARRAYSIZE (1024*1024)
+
+uint32_t bigarray[ARRAYSIZE];
+
+int
+main(void) {
+    cprintf("Making sure bss works right...\n");
+    int i;
+    for (i = 0; i < ARRAYSIZE; i ++) {
+        if (bigarray[i] != 0) {
+            panic("bigarray[%d] isn't cleared!\n", i);
+        }
+    }
+    for (i = 0; i < ARRAYSIZE; i ++) {
+        bigarray[i] = i;
+    }
+    for (i = 0; i < ARRAYSIZE; i ++) {
+        if (bigarray[i] != i) {
+            panic("bigarray[%d] didn't hold its value!\n", i);
+        }
+    }
+
+    cprintf("Yes, good.  Now doing a wild write off the end...\n");
+    cprintf("testbss may pass.\n");
+
+    bigarray[ARRAYSIZE + 1024] = 0;
+    asm volatile ("int $0x14");
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab7/user/waitkill.c b/code/lab7/user/waitkill.c
new file mode 100644
index 0000000..9bb3f80
--- /dev/null
+++ b/code/lab7/user/waitkill.c
@@ -0,0 +1,59 @@
+#include <ulib.h>
+#include <stdio.h>
+
+void
+do_yield(void) {
+    yield();
+    yield();
+    yield();
+    yield();
+    yield();
+    yield();
+}
+
+int parent, pid1, pid2;
+
+void
+loop(void) {
+    cprintf("child 1.\n");
+    while (1);
+}
+
+void
+work(void) {
+    cprintf("child 2.\n");
+    do_yield();
+    if (kill(parent) == 0) {
+        cprintf("kill parent ok.\n");
+        do_yield();
+        if (kill(pid1) == 0) {
+            cprintf("kill child1 ok.\n");
+            exit(0);
+        }
+    }
+    exit(-1);
+}
+
+int
+main(void) {
+    parent = getpid();
+    if ((pid1 = fork()) == 0) {
+        loop();
+    }
+
+    assert(pid1 > 0);
+
+    if ((pid2 = fork()) == 0) {
+        work();
+    }
+    if (pid2 > 0) {
+        cprintf("wait child 1.\n");
+        waitpid(pid1, NULL);
+        panic("waitpid %d returns\n", pid1);
+    }
+    else {
+        kill(pid1);
+    }
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab7/user/yield.c b/code/lab7/user/yield.c
new file mode 100644
index 0000000..a19890d
--- /dev/null
+++ b/code/lab7/user/yield.c
@@ -0,0 +1,16 @@
+#include <ulib.h>
+#include <stdio.h>
+
+int
+main(void) {
+    int i;
+    cprintf("Hello, I am process %d.\n", getpid());
+    for (i = 0; i < 5; i ++) {
+        yield();
+        cprintf("Back in process %d, iteration %d.\n", getpid(), i);
+    }
+    cprintf("All done in process %d.\n", getpid());
+    cprintf("yield pass.\n");
+    return 0;
+}
+
diff --git a/code/lab8/Makefile b/code/lab8/Makefile
new file mode 100644
index 0000000..884b4cc
--- /dev/null
+++ b/code/lab8/Makefile
@@ -0,0 +1,369 @@
+PROJ	:= 5
+EMPTY	:=
+SPACE	:= $(EMPTY) $(EMPTY)
+SLASH	:= /
+
+V       := @
+
+# try to infer the correct GCCPREFX
+ifndef GCCPREFIX
+GCCPREFIX := $(shell if i386-ucore-elf-objdump -i 2>&1 | grep '^elf32-i386$$' >/dev/null 2>&1; \
+	then echo 'i386-ucore-elf-'; \
+	elif objdump -i 2>&1 | grep 'elf32-i386' >/dev/null 2>&1; \
+	then echo ''; \
+	else echo "***" 1>&2; \
+	echo "*** Error: Couldn't find an i386-ucore-elf version of GCC/binutils." 1>&2; \
+	echo "*** Is the directory with i386-ucore-elf-gcc in your PATH?" 1>&2; \
+	echo "*** If your i386-ucore-elf toolchain is installed with a command" 1>&2; \
+	echo "*** prefix other than 'i386-ucore-elf-', set your GCCPREFIX" 1>&2; \
+	echo "*** environment variable to that prefix and run 'make' again." 1>&2; \
+	echo "*** To turn off this error, run 'gmake GCCPREFIX= ...'." 1>&2; \
+	echo "***" 1>&2; exit 1; fi)
+endif
+
+# try to infer the correct QEMU
+ifndef QEMU
+QEMU := $(shell if which qemu > /dev/null; \
+	then echo 'qemu'; exit; \
+	elif which i386-ucore-elf-qemu > /dev/null; \
+	then echo 'i386-ucore-elf-qemu'; exit; \
+	else \
+	echo "***" 1>&2; \
+	echo "*** Error: Couldn't find a working QEMU executable." 1>&2; \
+	echo "*** Is the directory containing the qemu binary in your PATH" 1>&2; \
+	echo "***" 1>&2; exit 1; fi)
+endif
+
+# eliminate default suffix rules
+.SUFFIXES: .c .S .h
+
+# delete target files if there is an error (or make is interrupted)
+.DELETE_ON_ERROR:
+
+# define compiler and flags
+
+HOSTCC		:= gcc
+HOSTCFLAGS	:= -g -Wall -O2 -D_FILE_OFFSET_BITS=64
+
+GDB		:= $(GCCPREFIX)gdb
+
+CC		?= $(GCCPREFIX)gcc
+CFLAGS	:= -fno-builtin -Wall -ggdb -m32 -gstabs -nostdinc $(DEFS)
+CFLAGS	+= $(shell $(CC) -fno-stack-protector -E -x c /dev/null >/dev/null 2>&1 && echo -fno-stack-protector)
+CTYPE	:= c S
+
+LD      := $(GCCPREFIX)ld
+LDFLAGS	:= -m $(shell $(LD) -V | grep elf_i386 2>/dev/null)
+LDFLAGS	+= -nostdlib
+
+OBJCOPY := $(GCCPREFIX)objcopy
+OBJDUMP := $(GCCPREFIX)objdump
+
+COPY	:= cp
+MKDIR   := mkdir -p
+MV		:= mv
+RM		:= rm -f
+AWK		:= awk
+SED		:= sed
+SH		:= sh
+TR		:= tr
+TOUCH	:= touch -c
+
+OBJDIR	:= obj
+BINDIR	:= bin
+
+ALLOBJS	:=
+ALLDEPS	:=
+TARGETS	:=
+
+USER_PREFIX	:= __user_
+
+include tools/function.mk
+
+listf_cc = $(call listf,$(1),$(CTYPE))
+
+# for cc
+add_files_cc = $(call add_files,$(1),$(CC),$(CFLAGS) $(3),$(2),$(4))
+create_target_cc = $(call create_target,$(1),$(2),$(3),$(CC),$(CFLAGS))
+
+# for hostcc
+add_files_host = $(call add_files,$(1),$(HOSTCC),$(HOSTCFLAGS),$(2),$(3))
+create_target_host = $(call create_target,$(1),$(2),$(3),$(HOSTCC),$(HOSTCFLAGS))
+
+cgtype = $(patsubst %.$(2),%.$(3),$(1))
+objfile = $(call toobj,$(1))
+asmfile = $(call cgtype,$(call toobj,$(1)),o,asm)
+outfile = $(call cgtype,$(call toobj,$(1)),o,out)
+symfile = $(call cgtype,$(call toobj,$(1)),o,sym)
+filename = $(basename $(notdir $(1)))
+ubinfile = $(call outfile,$(addprefix $(USER_PREFIX),$(call filename,$(1))))
+
+# for match pattern
+match = $(shell echo $(2) | $(AWK) '{for(i=1;i<=NF;i++){if(match("$(1)","^"$$(i)"$$")){exit 1;}}}'; echo $$?)
+
+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+# include kernel/user
+
+INCLUDE	+= libs/
+
+CFLAGS	+= $(addprefix -I,$(INCLUDE))
+
+LIBDIR	+= libs
+
+$(call add_files_cc,$(call listf_cc,$(LIBDIR)),libs,)
+
+# -------------------------------------------------------------------
+# user programs
+
+UINCLUDE	+= user/include/ \
+			   user/libs/
+
+USRCDIR		+= user
+
+ULIBDIR		+= user/libs
+
+UCFLAGS		+= $(addprefix -I,$(UINCLUDE))
+USER_BINS	:=
+
+$(call add_files_cc,$(call listf_cc,$(ULIBDIR)),ulibs,$(UCFLAGS))
+$(call add_files_cc,$(call listf_cc,$(USRCDIR)),uprog,$(UCFLAGS))
+
+UOBJS	:= $(call read_packet,ulibs libs)
+
+define uprog_ld
+__user_bin__ := $$(call ubinfile,$(1))
+USER_BINS += $$(__user_bin__)
+$$(__user_bin__): tools/user.ld
+$$(__user_bin__): $$(UOBJS)
+$$(__user_bin__): $(1) | $$$$(dir $$$$@)
+	$(V)$(LD) $(LDFLAGS) -T tools/user.ld -o $$@ $$(UOBJS) $(1)
+	@$(OBJDUMP) -S $$@ > $$(call cgtype,$$<,o,asm)
+	@$(OBJDUMP) -t $$@ | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$$$$/d' > $$(call cgtype,$$<,o,sym)
+endef
+
+$(foreach p,$(call read_packet,uprog),$(eval $(call uprog_ld,$(p))))
+
+# -------------------------------------------------------------------
+# kernel
+
+KINCLUDE	+= kern/debug/ \
+			   kern/driver/ \
+			   kern/trap/ \
+			   kern/mm/ \
+			   kern/libs/ \
+			   kern/sync/ \
+			   kern/fs/    \
+			   kern/process/ \
+			   kern/schedule/ \
+			   kern/syscall/  \
+			   kern/fs/swap/ \
+			   kern/fs/vfs/ \
+			   kern/fs/devs/ \
+			   kern/fs/sfs/ 
+
+
+KSRCDIR		+= kern/init \
+			   kern/libs \
+			   kern/debug \
+			   kern/driver \
+			   kern/trap \
+			   kern/mm \
+			   kern/sync \
+			   kern/fs    \
+			   kern/process \
+			   kern/schedule \
+			   kern/syscall  \
+			   kern/fs/swap \
+			   kern/fs/vfs \
+			   kern/fs/devs \
+			   kern/fs/sfs
+
+KCFLAGS		+= $(addprefix -I,$(KINCLUDE))
+
+$(call add_files_cc,$(call listf_cc,$(KSRCDIR)),kernel,$(KCFLAGS))
+
+KOBJS	= $(call read_packet,kernel libs)
+
+# create kernel target
+kernel = $(call totarget,kernel)
+
+$(kernel): tools/kernel.ld
+
+$(kernel): $(KOBJS)
+	@echo + ld $@
+	$(V)$(LD) $(LDFLAGS) -T tools/kernel.ld -o $@ $(KOBJS)
+	@$(OBJDUMP) -S $@ > $(call asmfile,kernel)
+	@$(OBJDUMP) -t $@ | $(SED) '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > $(call symfile,kernel)
+
+$(call create_target,kernel)
+
+# -------------------------------------------------------------------
+
+# create bootblock
+bootfiles = $(call listf_cc,boot)
+$(foreach f,$(bootfiles),$(call cc_compile,$(f),$(CC),$(CFLAGS) -Os -nostdinc))
+
+bootblock = $(call totarget,bootblock)
+
+$(bootblock): $(call toobj,boot/bootasm.S) $(call toobj,$(bootfiles)) | $(call totarget,sign)
+	@echo + ld $@
+	$(V)$(LD) $(LDFLAGS) -N -T tools/boot.ld $^ -o $(call toobj,bootblock)
+	@$(OBJDUMP) -S $(call objfile,bootblock) > $(call asmfile,bootblock)
+	@$(OBJCOPY) -S -O binary $(call objfile,bootblock) $(call outfile,bootblock)
+	@$(call totarget,sign) $(call outfile,bootblock) $(bootblock)
+
+$(call create_target,bootblock)
+
+# -------------------------------------------------------------------
+
+# create 'sign' tools
+$(call add_files_host,tools/sign.c,sign,sign)
+$(call create_target_host,sign,sign)
+
+# -------------------------------------------------------------------
+# create 'mksfs' tools
+$(call add_files_host,tools/mksfs.c,mksfs,mksfs)
+$(call create_target_host,mksfs,mksfs)
+
+# -------------------------------------------------------------------
+# create ucore.img
+UCOREIMG	:= $(call totarget,ucore.img)
+
+$(UCOREIMG): $(kernel) $(bootblock)
+	$(V)dd if=/dev/zero of=$@ count=10000
+	$(V)dd if=$(bootblock) of=$@ conv=notrunc
+	$(V)dd if=$(kernel) of=$@ seek=1 conv=notrunc
+
+$(call create_target,ucore.img)
+
+# -------------------------------------------------------------------
+
+# create swap.img
+SWAPIMG		:= $(call totarget,swap.img)
+
+$(SWAPIMG):
+	$(V)dd if=/dev/zero of=$@ bs=1M count=128
+
+$(call create_target,swap.img)
+
+# -------------------------------------------------------------------
+# create sfs.img
+SFSIMG		:= $(call totarget,sfs.img)
+SFSBINS		:=
+SFSROOT		:= disk0
+
+define fscopy
+__fs_bin__ := $(2)$(SLASH)$(patsubst $(USER_PREFIX)%,%,$(basename $(notdir $(1))))
+SFSBINS += $$(__fs_bin__)
+$$(__fs_bin__): $(1) | $$$$(dir $@)
+	@$(COPY) $$< $$@
+endef
+
+$(foreach p,$(USER_BINS),$(eval $(call fscopy,$(p),$(SFSROOT)$(SLASH))))
+
+$(SFSIMG): $(SFSROOT) $(SFSBINS) | $(call totarget,mksfs)
+	$(V)dd if=/dev/zero of=$@ bs=1M count=128
+	@$(call totarget,mksfs) $@ $(SFSROOT)
+
+$(call create_target,sfs.img)
+
+
+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+$(call finish_all)
+
+IGNORE_ALLDEPS	= clean \
+				  dist-clean \
+				  grade \
+				  touch \
+				  print-.+ \
+				  run-.+ \
+				  build-.+ \
+				  sh-.+ \
+				  script-.+ \
+				  handin
+
+ifeq ($(call match,$(MAKECMDGOALS),$(IGNORE_ALLDEPS)),0)
+-include $(ALLDEPS)
+endif
+
+# files for grade script
+
+TARGETS: $(TARGETS)
+
+.DEFAULT_GOAL := TARGETS
+
+QEMUOPTS = -hda $(UCOREIMG) -drive file=$(SWAPIMG),media=disk,cache=writeback -drive file=$(SFSIMG),media=disk,cache=writeback 
+
+.PHONY: qemu qemu-nox debug debug-nox monitor
+qemu: $(UCOREIMG) $(SWAPIMG) $(SFSIMG)
+	$(V)$(QEMU) -parallel stdio $(QEMUOPTS) -serial null
+
+qemu-nox: $(UCOREIMG) $(SWAPIMG) $(SFSIMG)
+	$(V)$(QEMU) -serial mon:stdio $(QEMUOPTS) -nographic
+
+monitor: $(UCOREIMG) $(SWAPING) $(SFSIMG)
+	$(V)$(QEMU) -monitor stdio $(QEMUOPTS) -serial null
+
+TERMINAL := gnome-terminal
+
+debug: $(UCOREIMG) $(SWAPIMG) $(SFSIMG)
+	$(V)$(QEMU) -S -s -parallel stdio $(QEMUOPTS) -serial null &
+	$(V)sleep 2
+	$(V)$(TERMINAL) -e "$(GDB) -q -x tools/gdbinit"
+
+debug-nox: $(UCOREIMG) $(SWAPIMG) $(SFSIMG)
+	$(V)$(QEMU) -S -s -serial mon:stdio $(QEMUOPTS) -nographic &
+	$(V)sleep 2
+	$(V)$(TERMINAL) -e "$(GDB) -q -x tools/gdbinit"
+
+RUN_PREFIX	:= _binary_$(OBJDIR)_$(USER_PREFIX)
+MAKEOPTS	:= --quiet --no-print-directory
+
+run-%: build-%
+	$(V)$(QEMU) -parallel stdio $(QEMUOPTS) -serial null
+
+sh-%: script-%
+	$(V)$(QEMU) -parallel stdio $(QEMUOPTS) -serial null
+
+build-%: touch
+	$(V)$(MAKE) $(MAKEOPTS) "DEFS+=-DTEST=$*" 
+
+script-%: touch
+	$(V)$(MAKE) $(MAKEOPTS) "DEFS+=-DTEST=sh -DTESTSCRIPT=/script/$*"
+
+.PHONY: grade touch buildfs
+
+GRADE_GDB_IN	:= .gdb.in
+GRADE_QEMU_OUT	:= .qemu.out
+HANDIN			:= proj$(PROJ)-handin.tar.gz
+
+TOUCH_FILES		:= kern/process/proc.c
+
+MAKEOPTS		:= --quiet --no-print-directory
+
+grade:
+	$(V)$(MAKE) $(MAKEOPTS) clean
+	$(V)$(SH) tools/grade.sh
+
+touch:
+	$(V)$(foreach f,$(TOUCH_FILES),$(TOUCH) $(f))
+
+print-%:
+	@echo $($(shell echo $(patsubst print-%,%,$@) | $(TR) [a-z] [A-Z]))
+
+.PHONY: clean dist-clean handin packall
+clean:
+	$(V)$(RM) $(GRADE_GDB_IN) $(GRADE_QEMU_OUT)  $(SFSBINS)
+	-$(RM) -r $(OBJDIR) $(BINDIR)
+
+dist-clean: clean
+	-$(RM) $(HANDIN)
+
+handin: packall
+	@echo Please visit http://learn.tsinghua.edu.cn and upload $(HANDIN). Thanks!
+
+packall: clean
+	@$(RM) -f $(HANDIN)
+	@tar -czf $(HANDIN) `find . -type f -o -type d | grep -v '^\.*$$' | grep -vF '$(HANDIN)'`
+
diff --git a/code/lab8/boot/asm.h b/code/lab8/boot/asm.h
new file mode 100644
index 0000000..8e0405a
--- /dev/null
+++ b/code/lab8/boot/asm.h
@@ -0,0 +1,26 @@
+#ifndef __BOOT_ASM_H__
+#define __BOOT_ASM_H__
+
+/* Assembler macros to create x86 segments */
+
+/* Normal segment */
+#define SEG_NULLASM                                             \
+    .word 0, 0;                                                 \
+    .byte 0, 0, 0, 0
+
+#define SEG_ASM(type,base,lim)                                  \
+    .word (((lim) >> 12) & 0xffff), ((base) & 0xffff);          \
+    .byte (((base) >> 16) & 0xff), (0x90 | (type)),             \
+        (0xC0 | (((lim) >> 28) & 0xf)), (((base) >> 24) & 0xff)
+
+
+/* Application segment type bits */
+#define STA_X       0x8     // Executable segment
+#define STA_E       0x4     // Expand down (non-executable segments)
+#define STA_C       0x4     // Conforming code segment (executable only)
+#define STA_W       0x2     // Writeable (non-executable segments)
+#define STA_R       0x2     // Readable (executable segments)
+#define STA_A       0x1     // Accessed
+
+#endif /* !__BOOT_ASM_H__ */
+
diff --git a/code/lab8/boot/bootasm.S b/code/lab8/boot/bootasm.S
new file mode 100644
index 0000000..f1852c3
--- /dev/null
+++ b/code/lab8/boot/bootasm.S
@@ -0,0 +1,107 @@
+#include <asm.h>
+
+# Start the CPU: switch to 32-bit protected mode, jump into C.
+# The BIOS loads this code from the first sector of the hard disk into
+# memory at physical address 0x7c00 and starts executing in real mode
+# with %cs=0 %ip=7c00.
+
+.set PROT_MODE_CSEG,        0x8                     # kernel code segment selector
+.set PROT_MODE_DSEG,        0x10                    # kernel data segment selector
+.set CR0_PE_ON,             0x1                     # protected mode enable flag
+.set SMAP,                  0x534d4150
+
+# start address should be 0:7c00, in real mode, the beginning address of the running bootloader
+.globl start
+start:
+.code16                                             # Assemble for 16-bit mode
+    cli                                             # Disable interrupts
+    cld                                             # String operations increment
+
+    # Set up the important data segment registers (DS, ES, SS).
+    xorw %ax, %ax                                   # Segment number zero
+    movw %ax, %ds                                   # -> Data Segment
+    movw %ax, %es                                   # -> Extra Segment
+    movw %ax, %ss                                   # -> Stack Segment
+
+    # Enable A20:
+    #  For backwards compatibility with the earliest PCs, physical
+    #  address line 20 is tied low, so that addresses higher than
+    #  1MB wrap around to zero by default. This code undoes this.
+seta20.1:
+    inb $0x64, %al                                  # Wait for not busy
+    testb $0x2, %al
+    jnz seta20.1
+
+    movb $0xd1, %al                                 # 0xd1 -> port 0x64
+    outb %al, $0x64
+
+seta20.2:
+    inb $0x64, %al                                  # Wait for not busy
+    testb $0x2, %al
+    jnz seta20.2
+
+    movb $0xdf, %al                                 # 0xdf -> port 0x60
+    outb %al, $0x60
+
+probe_memory:
+    movl $0, 0x8000
+    xorl %ebx, %ebx
+    movw $0x8004, %di
+start_probe:
+    movl $0xE820, %eax
+    movl $20, %ecx
+    movl $SMAP, %edx
+    int $0x15
+    jnc cont
+    movw $12345, 0x8000
+    jmp finish_probe
+cont:
+    addw $20, %di
+    incl 0x8000
+    cmpl $0, %ebx
+    jnz start_probe
+finish_probe:
+
+    # Switch from real to protected mode, using a bootstrap GDT
+    # and segment translation that makes virtual addresses
+    # identical to physical addresses, so that the
+    # effective memory map does not change during the switch.
+    lgdt gdtdesc
+    movl %cr0, %eax
+    orl $CR0_PE_ON, %eax
+    movl %eax, %cr0
+
+    # Jump to next instruction, but in 32-bit code segment.
+    # Switches processor into 32-bit mode.
+    ljmp $PROT_MODE_CSEG, $protcseg
+
+.code32                                             # Assemble for 32-bit mode
+protcseg:
+    # Set up the protected-mode data segment registers
+    movw $PROT_MODE_DSEG, %ax                       # Our data segment selector
+    movw %ax, %ds                                   # -> DS: Data Segment
+    movw %ax, %es                                   # -> ES: Extra Segment
+    movw %ax, %fs                                   # -> FS
+    movw %ax, %gs                                   # -> GS
+    movw %ax, %ss                                   # -> SS: Stack Segment
+
+    # Set up the stack pointer and call into C. The stack region is from 0--start(0x7c00)
+    movl $0x0, %ebp
+    movl $start, %esp
+    call bootmain
+
+    # If bootmain returns (it shouldn't), loop.
+spin:
+    jmp spin
+
+.data
+# Bootstrap GDT
+.p2align 2                                          # force 4 byte alignment
+gdt:
+    SEG_NULLASM                                     # null seg
+    SEG_ASM(STA_X|STA_R, 0x0, 0xffffffff)           # code seg for bootloader and kernel
+    SEG_ASM(STA_W, 0x0, 0xffffffff)                 # data seg for bootloader and kernel
+
+gdtdesc:
+    .word 0x17                                      # sizeof(gdt) - 1
+    .long gdt                                       # address gdt
diff --git a/code/lab8/boot/bootmain.c b/code/lab8/boot/bootmain.c
new file mode 100644
index 0000000..4b55eb7
--- /dev/null
+++ b/code/lab8/boot/bootmain.c
@@ -0,0 +1,116 @@
+#include <defs.h>
+#include <x86.h>
+#include <elf.h>
+
+/* *********************************************************************
+ * This a dirt simple boot loader, whose sole job is to boot
+ * an ELF kernel image from the first IDE hard disk.
+ *
+ * DISK LAYOUT
+ *  * This program(bootasm.S and bootmain.c) is the bootloader.
+ *    It should be stored in the first sector of the disk.
+ *
+ *  * The 2nd sector onward holds the kernel image.
+ *
+ *  * The kernel image must be in ELF format.
+ *
+ * BOOT UP STEPS
+ *  * when the CPU boots it loads the BIOS into memory and executes it
+ *
+ *  * the BIOS intializes devices, sets of the interrupt routines, and
+ *    reads the first sector of the boot device(e.g., hard-drive)
+ *    into memory and jumps to it.
+ *
+ *  * Assuming this boot loader is stored in the first sector of the
+ *    hard-drive, this code takes over...
+ *
+ *  * control starts in bootasm.S -- which sets up protected mode,
+ *    and a stack so C code then run, then calls bootmain()
+ *
+ *  * bootmain() in this file takes over, reads in the kernel and jumps to it.
+ * */
+
+#define SECTSIZE        512
+#define ELFHDR          ((struct elfhdr *)0x10000)      // scratch space
+
+/* waitdisk - wait for disk ready */
+static void
+waitdisk(void) {
+    while ((inb(0x1F7) & 0xC0) != 0x40)
+        /* do nothing */;
+}
+
+/* readsect - read a single sector at @secno into @dst */
+static void
+readsect(void *dst, uint32_t secno) {
+    // wait for disk to be ready
+    waitdisk();
+
+    outb(0x1F2, 1);                         // count = 1
+    outb(0x1F3, secno & 0xFF);
+    outb(0x1F4, (secno >> 8) & 0xFF);
+    outb(0x1F5, (secno >> 16) & 0xFF);
+    outb(0x1F6, ((secno >> 24) & 0xF) | 0xE0);
+    outb(0x1F7, 0x20);                      // cmd 0x20 - read sectors
+
+    // wait for disk to be ready
+    waitdisk();
+
+    // read a sector
+    insl(0x1F0, dst, SECTSIZE / 4);
+}
+
+/* *
+ * readseg - read @count bytes at @offset from kernel into virtual address @va,
+ * might copy more than asked.
+ * */
+static void
+readseg(uintptr_t va, uint32_t count, uint32_t offset) {
+    uintptr_t end_va = va + count;
+
+    // round down to sector boundary
+    va -= offset % SECTSIZE;
+
+    // translate from bytes to sectors; kernel starts at sector 1
+    uint32_t secno = (offset / SECTSIZE) + 1;
+
+    // If this is too slow, we could read lots of sectors at a time.
+    // We'd write more to memory than asked, but it doesn't matter --
+    // we load in increasing order.
+    for (; va < end_va; va += SECTSIZE, secno ++) {
+        readsect((void *)va, secno);
+    }
+}
+
+/* bootmain - the entry of bootloader */
+void
+bootmain(void) {
+    // read the 1st page off disk
+    readseg((uintptr_t)ELFHDR, SECTSIZE * 8, 0);
+
+    // is this a valid ELF?
+    if (ELFHDR->e_magic != ELF_MAGIC) {
+        goto bad;
+    }
+
+    struct proghdr *ph, *eph;
+
+    // load each program segment (ignores ph flags)
+    ph = (struct proghdr *)((uintptr_t)ELFHDR + ELFHDR->e_phoff);
+    eph = ph + ELFHDR->e_phnum;
+    for (; ph < eph; ph ++) {
+        readseg(ph->p_va & 0xFFFFFF, ph->p_memsz, ph->p_offset);
+    }
+
+    // call the entry point from the ELF header
+    // note: does not return
+    ((void (*)(void))(ELFHDR->e_entry & 0xFFFFFF))();
+
+bad:
+    outw(0x8A00, 0x8A00);
+    outw(0x8A00, 0x8E00);
+
+    /* do nothing */
+    while (1);
+}
+
diff --git a/code/lab8/kern/debug/assert.h b/code/lab8/kern/debug/assert.h
new file mode 100644
index 0000000..ac1a966
--- /dev/null
+++ b/code/lab8/kern/debug/assert.h
@@ -0,0 +1,27 @@
+#ifndef __KERN_DEBUG_ASSERT_H__
+#define __KERN_DEBUG_ASSERT_H__
+
+#include <defs.h>
+
+void __warn(const char *file, int line, const char *fmt, ...);
+void __noreturn __panic(const char *file, int line, const char *fmt, ...);
+
+#define warn(...)                                       \
+    __warn(__FILE__, __LINE__, __VA_ARGS__)
+
+#define panic(...)                                      \
+    __panic(__FILE__, __LINE__, __VA_ARGS__)
+
+#define assert(x)                                       \
+    do {                                                \
+        if (!(x)) {                                     \
+            panic("assertion failed: %s", #x);          \
+        }                                               \
+    } while (0)
+
+// static_assert(x) will generate a compile-time error if 'x' is false.
+#define static_assert(x)                                \
+    switch (x) { case 0: case (x): ; }
+
+#endif /* !__KERN_DEBUG_ASSERT_H__ */
+
diff --git a/code/lab8/kern/debug/kdebug.c b/code/lab8/kern/debug/kdebug.c
new file mode 100644
index 0000000..fedbf5b
--- /dev/null
+++ b/code/lab8/kern/debug/kdebug.c
@@ -0,0 +1,351 @@
+#include <defs.h>
+#include <x86.h>
+#include <stab.h>
+#include <stdio.h>
+#include <string.h>
+#include <memlayout.h>
+#include <sync.h>
+#include <vmm.h>
+#include <proc.h>
+#include <kdebug.h>
+#include <monitor.h>
+#include <assert.h>
+
+#define STACKFRAME_DEPTH 20
+
+extern const struct stab __STAB_BEGIN__[];  // beginning of stabs table
+extern const struct stab __STAB_END__[];    // end of stabs table
+extern const char __STABSTR_BEGIN__[];      // beginning of string table
+extern const char __STABSTR_END__[];        // end of string table
+
+/* debug information about a particular instruction pointer */
+struct eipdebuginfo {
+    const char *eip_file;                   // source code filename for eip
+    int eip_line;                           // source code line number for eip
+    const char *eip_fn_name;                // name of function containing eip
+    int eip_fn_namelen;                     // length of function's name
+    uintptr_t eip_fn_addr;                  // start address of function
+    int eip_fn_narg;                        // number of function arguments
+};
+
+/* user STABS data structure  */
+struct userstabdata {
+    const struct stab *stabs;
+    const struct stab *stab_end;
+    const char *stabstr;
+    const char *stabstr_end;
+};
+
+/* *
+ * stab_binsearch - according to the input, the initial value of
+ * range [*@region_left, *@region_right], find a single stab entry
+ * that includes the address @addr and matches the type @type,
+ * and then save its boundary to the locations that pointed
+ * by @region_left and @region_right.
+ *
+ * Some stab types are arranged in increasing order by instruction address.
+ * For example, N_FUN stabs (stab entries with n_type == N_FUN), which
+ * mark functions, and N_SO stabs, which mark source files.
+ *
+ * Given an instruction address, this function finds the single stab entry
+ * of type @type that contains that address.
+ *
+ * The search takes place within the range [*@region_left, *@region_right].
+ * Thus, to search an entire set of N stabs, you might do:
+ *
+ *      left = 0;
+ *      right = N - 1;    (rightmost stab)
+ *      stab_binsearch(stabs, &left, &right, type, addr);
+ *
+ * The search modifies *region_left and *region_right to bracket the @addr.
+ * *@region_left points to the matching stab that contains @addr,
+ * and *@region_right points just before the next stab.
+ * If *@region_left > *region_right, then @addr is not contained in any
+ * matching stab.
+ *
+ * For example, given these N_SO stabs:
+ *      Index  Type   Address
+ *      0      SO     f0100000
+ *      13     SO     f0100040
+ *      117    SO     f0100176
+ *      118    SO     f0100178
+ *      555    SO     f0100652
+ *      556    SO     f0100654
+ *      657    SO     f0100849
+ * this code:
+ *      left = 0, right = 657;
+ *      stab_binsearch(stabs, &left, &right, N_SO, 0xf0100184);
+ * will exit setting left = 118, right = 554.
+ * */
+static void
+stab_binsearch(const struct stab *stabs, int *region_left, int *region_right,
+           int type, uintptr_t addr) {
+    int l = *region_left, r = *region_right, any_matches = 0;
+
+    while (l <= r) {
+        int true_m = (l + r) / 2, m = true_m;
+
+        // search for earliest stab with right type
+        while (m >= l && stabs[m].n_type != type) {
+            m --;
+        }
+        if (m < l) {    // no match in [l, m]
+            l = true_m + 1;
+            continue;
+        }
+
+        // actual binary search
+        any_matches = 1;
+        if (stabs[m].n_value < addr) {
+            *region_left = m;
+            l = true_m + 1;
+        } else if (stabs[m].n_value > addr) {
+            *region_right = m - 1;
+            r = m - 1;
+        } else {
+            // exact match for 'addr', but continue loop to find
+            // *region_right
+            *region_left = m;
+            l = m;
+            addr ++;
+        }
+    }
+
+    if (!any_matches) {
+        *region_right = *region_left - 1;
+    }
+    else {
+        // find rightmost region containing 'addr'
+        l = *region_right;
+        for (; l > *region_left && stabs[l].n_type != type; l --)
+            /* do nothing */;
+        *region_left = l;
+    }
+}
+
+/* *
+ * debuginfo_eip - Fill in the @info structure with information about
+ * the specified instruction address, @addr.  Returns 0 if information
+ * was found, and negative if not.  But even if it returns negative it
+ * has stored some information into '*info'.
+ * */
+int
+debuginfo_eip(uintptr_t addr, struct eipdebuginfo *info) {
+    const struct stab *stabs, *stab_end;
+    const char *stabstr, *stabstr_end;
+
+    info->eip_file = "<unknown>";
+    info->eip_line = 0;
+    info->eip_fn_name = "<unknown>";
+    info->eip_fn_namelen = 9;
+    info->eip_fn_addr = addr;
+    info->eip_fn_narg = 0;
+
+    // find the relevant set of stabs
+    if (addr >= KERNBASE) {
+        stabs = __STAB_BEGIN__;
+        stab_end = __STAB_END__;
+        stabstr = __STABSTR_BEGIN__;
+        stabstr_end = __STABSTR_END__;
+    }
+    else {
+        // user-program linker script, tools/user.ld puts the information about the
+        // program's stabs (included __STAB_BEGIN__, __STAB_END__, __STABSTR_BEGIN__,
+        // and __STABSTR_END__) in a structure located at virtual address USTAB.
+        const struct userstabdata *usd = (struct userstabdata *)USTAB;
+
+        // make sure that debugger (current process) can access this memory
+        struct mm_struct *mm;
+        if (current == NULL || (mm = current->mm) == NULL) {
+            return -1;
+        }
+        if (!user_mem_check(mm, (uintptr_t)usd, sizeof(struct userstabdata), 0)) {
+            return -1;
+        }
+
+        stabs = usd->stabs;
+        stab_end = usd->stab_end;
+        stabstr = usd->stabstr;
+        stabstr_end = usd->stabstr_end;
+
+        // make sure the STABS and string table memory is valid
+        if (!user_mem_check(mm, (uintptr_t)stabs, (uintptr_t)stab_end - (uintptr_t)stabs, 0)) {
+            return -1;
+        }
+        if (!user_mem_check(mm, (uintptr_t)stabstr, stabstr_end - stabstr, 0)) {
+            return -1;
+        }
+    }
+
+    // String table validity checks
+    if (stabstr_end <= stabstr || stabstr_end[-1] != 0) {
+        return -1;
+    }
+
+    // Now we find the right stabs that define the function containing
+    // 'eip'.  First, we find the basic source file containing 'eip'.
+    // Then, we look in that source file for the function.  Then we look
+    // for the line number.
+
+    // Search the entire set of stabs for the source file (type N_SO).
+    int lfile = 0, rfile = (stab_end - stabs) - 1;
+    stab_binsearch(stabs, &lfile, &rfile, N_SO, addr);
+    if (lfile == 0)
+        return -1;
+
+    // Search within that file's stabs for the function definition
+    // (N_FUN).
+    int lfun = lfile, rfun = rfile;
+    int lline, rline;
+    stab_binsearch(stabs, &lfun, &rfun, N_FUN, addr);
+
+    if (lfun <= rfun) {
+        // stabs[lfun] points to the function name
+        // in the string table, but check bounds just in case.
+        if (stabs[lfun].n_strx < stabstr_end - stabstr) {
+            info->eip_fn_name = stabstr + stabs[lfun].n_strx;
+        }
+        info->eip_fn_addr = stabs[lfun].n_value;
+        addr -= info->eip_fn_addr;
+        // Search within the function definition for the line number.
+        lline = lfun;
+        rline = rfun;
+    } else {
+        // Couldn't find function stab!  Maybe we're in an assembly
+        // file.  Search the whole file for the line number.
+        info->eip_fn_addr = addr;
+        lline = lfile;
+        rline = rfile;
+    }
+    info->eip_fn_namelen = strfind(info->eip_fn_name, ':') - info->eip_fn_name;
+
+    // Search within [lline, rline] for the line number stab.
+    // If found, set info->eip_line to the right line number.
+    // If not found, return -1.
+    stab_binsearch(stabs, &lline, &rline, N_SLINE, addr);
+    if (lline <= rline) {
+        info->eip_line = stabs[rline].n_desc;
+    } else {
+        return -1;
+    }
+
+    // Search backwards from the line number for the relevant filename stab.
+    // We can't just use the "lfile" stab because inlined functions
+    // can interpolate code from a different file!
+    // Such included source files use the N_SOL stab type.
+    while (lline >= lfile
+           && stabs[lline].n_type != N_SOL
+           && (stabs[lline].n_type != N_SO || !stabs[lline].n_value)) {
+        lline --;
+    }
+    if (lline >= lfile && stabs[lline].n_strx < stabstr_end - stabstr) {
+        info->eip_file = stabstr + stabs[lline].n_strx;
+    }
+
+    // Set eip_fn_narg to the number of arguments taken by the function,
+    // or 0 if there was no containing function.
+    if (lfun < rfun) {
+        for (lline = lfun + 1;
+             lline < rfun && stabs[lline].n_type == N_PSYM;
+             lline ++) {
+            info->eip_fn_narg ++;
+        }
+    }
+    return 0;
+}
+
+/* *
+ * print_kerninfo - print the information about kernel, including the location
+ * of kernel entry, the start addresses of data and text segements, the start
+ * address of free memory and how many memory that kernel has used.
+ * */
+void
+print_kerninfo(void) {
+    extern char etext[], edata[], end[], kern_init[];
+    cprintf("Special kernel symbols:\n");
+    cprintf("  entry  0x%08x (phys)\n", kern_init);
+    cprintf("  etext  0x%08x (phys)\n", etext);
+    cprintf("  edata  0x%08x (phys)\n", edata);
+    cprintf("  end    0x%08x (phys)\n", end);
+    cprintf("Kernel executable memory footprint: %dKB\n", (end - kern_init + 1023)/1024);
+}
+
+/* *
+ * print_debuginfo - read and print the stat information for the address @eip,
+ * and info.eip_fn_addr should be the first address of the related function.
+ * */
+void
+print_debuginfo(uintptr_t eip) {
+    struct eipdebuginfo info;
+    if (debuginfo_eip(eip, &info) != 0) {
+        cprintf("    <unknow>: -- 0x%08x --\n", eip);
+    }
+    else {
+        char fnname[256];
+        int j;
+        for (j = 0; j < info.eip_fn_namelen; j ++) {
+            fnname[j] = info.eip_fn_name[j];
+        }
+        fnname[j] = '\0';
+        cprintf("    %s:%d: %s+%d\n", info.eip_file, info.eip_line,
+                fnname, eip - info.eip_fn_addr);
+    }
+}
+
+static __noinline uint32_t
+read_eip(void) {
+    uint32_t eip;
+    asm volatile("movl 4(%%ebp), %0" : "=r" (eip));
+    return eip;
+}
+
+/* *
+ * print_stackframe - print a list of the saved eip values from the nested 'call'
+ * instructions that led to the current point of execution
+ *
+ * The x86 stack pointer, namely esp, points to the lowest location on the stack
+ * that is currently in use. Everything below that location in stack is free. Pushing
+ * a value onto the stack will invole decreasing the stack pointer and then writing
+ * the value to the place that stack pointer pointes to. And popping a value do the
+ * opposite.
+ *
+ * The ebp (base pointer) register, in contrast, is associated with the stack
+ * primarily by software convention. On entry to a C function, the function's
+ * prologue code normally saves the previous function's base pointer by pushing
+ * it onto the stack, and then copies the current esp value into ebp for the duration
+ * of the function. If all the functions in a program obey this convention,
+ * then at any given point during the program's execution, it is possible to trace
+ * back through the stack by following the chain of saved ebp pointers and determining
+ * exactly what nested sequence of function calls caused this particular point in the
+ * program to be reached. This capability can be particularly useful, for example,
+ * when a particular function causes an assert failure or panic because bad arguments
+ * were passed to it, but you aren't sure who passed the bad arguments. A stack
+ * backtrace lets you find the offending function.
+ *
+ * The inline function read_ebp() can tell us the value of current ebp. And the
+ * non-inline function read_eip() is useful, it can read the value of current eip,
+ * since while calling this function, read_eip() can read the caller's eip from
+ * stack easily.
+ *
+ * In print_debuginfo(), the function debuginfo_eip() can get enough information about
+ * calling-chain. Finally print_stackframe() will trace and print them for debugging.
+ *
+ * Note that, the length of ebp-chain is limited. In boot/bootasm.S, before jumping
+ * to the kernel entry, the value of ebp has been set to zero, that's the boundary.
+ * */
+void
+print_stackframe(void) {
+     /* LAB1 YOUR CODE : STEP 1 */
+     /* (1) call read_ebp() to get the value of ebp. the type is (uint32_t);
+      * (2) call read_eip() to get the value of eip. the type is (uint32_t);
+      * (3) from 0 .. STACKFRAME_DEPTH
+      *    (3.1) printf value of ebp, eip
+      *    (3.2) (uint32_t)calling arguments [0..4] = the contents in address (unit32_t)ebp +2 [0..4]
+      *    (3.3) cprintf("\n");
+      *    (3.4) call print_debuginfo(eip-1) to print the C calling function name and line number, etc.
+      *    (3.5) popup a calling stackframe
+      *           NOTICE: the calling funciton's return addr eip  = ss:[ebp+4]
+      *                   the calling funciton's ebp = ss:[ebp]
+      */
+}
+
diff --git a/code/lab8/kern/debug/kdebug.h b/code/lab8/kern/debug/kdebug.h
new file mode 100644
index 0000000..c2a7b74
--- /dev/null
+++ b/code/lab8/kern/debug/kdebug.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_DEBUG_KDEBUG_H__
+#define __KERN_DEBUG_KDEBUG_H__
+
+#include <defs.h>
+#include <trap.h>
+
+void print_kerninfo(void);
+void print_stackframe(void);
+void print_debuginfo(uintptr_t eip);
+
+#endif /* !__KERN_DEBUG_KDEBUG_H__ */
+
diff --git a/code/lab8/kern/debug/monitor.c b/code/lab8/kern/debug/monitor.c
new file mode 100644
index 0000000..85ac06c
--- /dev/null
+++ b/code/lab8/kern/debug/monitor.c
@@ -0,0 +1,132 @@
+#include <stdio.h>
+#include <string.h>
+#include <mmu.h>
+#include <trap.h>
+#include <monitor.h>
+#include <kdebug.h>
+
+/* *
+ * Simple command-line kernel monitor useful for controlling the
+ * kernel and exploring the system interactively.
+ * */
+
+struct command {
+    const char *name;
+    const char *desc;
+    // return -1 to force monitor to exit
+    int(*func)(int argc, char **argv, struct trapframe *tf);
+};
+
+static struct command commands[] = {
+    {"help", "Display this list of commands.", mon_help},
+    {"kerninfo", "Display information about the kernel.", mon_kerninfo},
+    {"backtrace", "Print backtrace of stack frame.", mon_backtrace},
+};
+
+/* return if kernel is panic, in kern/debug/panic.c */
+bool is_kernel_panic(void);
+
+#define NCOMMANDS (sizeof(commands)/sizeof(struct command))
+
+/***** Kernel monitor command interpreter *****/
+
+#define MAXARGS         16
+#define WHITESPACE      " \t\n\r"
+
+/* parse - parse the command buffer into whitespace-separated arguments */
+static int
+parse(char *buf, char **argv) {
+    int argc = 0;
+    while (1) {
+        // find global whitespace
+        while (*buf != '\0' && strchr(WHITESPACE, *buf) != NULL) {
+            *buf ++ = '\0';
+        }
+        if (*buf == '\0') {
+            break;
+        }
+
+        // save and scan past next arg
+        if (argc == MAXARGS - 1) {
+            cprintf("Too many arguments (max %d).\n", MAXARGS);
+        }
+        argv[argc ++] = buf;
+        while (*buf != '\0' && strchr(WHITESPACE, *buf) == NULL) {
+            buf ++;
+        }
+    }
+    return argc;
+}
+
+/* *
+ * runcmd - parse the input string, split it into separated arguments
+ * and then lookup and invoke some related commands/
+ * */
+static int
+runcmd(char *buf, struct trapframe *tf) {
+    char *argv[MAXARGS];
+    int argc = parse(buf, argv);
+    if (argc == 0) {
+        return 0;
+    }
+    int i;
+    for (i = 0; i < NCOMMANDS; i ++) {
+        if (strcmp(commands[i].name, argv[0]) == 0) {
+            return commands[i].func(argc - 1, argv + 1, tf);
+        }
+    }
+    cprintf("Unknown command '%s'\n", argv[0]);
+    return 0;
+}
+
+/***** Implementations of basic kernel monitor commands *****/
+
+void
+monitor(struct trapframe *tf) {
+    cprintf("Welcome to the kernel debug monitor!!\n");
+    cprintf("Type 'help' for a list of commands.\n");
+
+    if (tf != NULL) {
+        print_trapframe(tf);
+    }
+
+    char *buf;
+    while (1) {
+        if ((buf = readline("K> ")) != NULL) {
+            if (runcmd(buf, tf) < 0) {
+                break;
+            }
+        }
+    }
+}
+
+/* mon_help - print the information about mon_* functions */
+int
+mon_help(int argc, char **argv, struct trapframe *tf) {
+    int i;
+    for (i = 0; i < NCOMMANDS; i ++) {
+        cprintf("%s - %s\n", commands[i].name, commands[i].desc);
+    }
+    return 0;
+}
+
+/* *
+ * mon_kerninfo - call print_kerninfo in kern/debug/kdebug.c to
+ * print the memory occupancy in kernel.
+ * */
+int
+mon_kerninfo(int argc, char **argv, struct trapframe *tf) {
+    print_kerninfo();
+    return 0;
+}
+
+/* *
+ * mon_backtrace - call print_stackframe in kern/debug/kdebug.c to
+ * print a backtrace of the stack.
+ * */
+int
+mon_backtrace(int argc, char **argv, struct trapframe *tf) {
+    print_stackframe();
+    return 0;
+}
+
diff --git a/code/lab8/kern/debug/monitor.h b/code/lab8/kern/debug/monitor.h
new file mode 100644
index 0000000..2bc0854
--- /dev/null
+++ b/code/lab8/kern/debug/monitor.h
@@ -0,0 +1,19 @@
+#ifndef __KERN_DEBUG_MONITOR_H__
+#define __KERN_DEBUG_MONITOR_H__
+
+#include <trap.h>
+
+void monitor(struct trapframe *tf);
+
+int mon_help(int argc, char **argv, struct trapframe *tf);
+int mon_kerninfo(int argc, char **argv, struct trapframe *tf);
+int mon_backtrace(int argc, char **argv, struct trapframe *tf);
+int mon_continue(int argc, char **argv, struct trapframe *tf);
+int mon_step(int argc, char **argv, struct trapframe *tf);
+int mon_breakpoint(int argc, char **argv, struct trapframe *tf);
+int mon_watchpoint(int argc, char **argv, struct trapframe *tf);
+int mon_delete_dr(int argc, char **argv, struct trapframe *tf);
+int mon_list_dr(int argc, char **argv, struct trapframe *tf);
+
+#endif /* !__KERN_DEBUG_MONITOR_H__ */
+
diff --git a/code/lab8/kern/debug/panic.c b/code/lab8/kern/debug/panic.c
new file mode 100644
index 0000000..9be6c0b
--- /dev/null
+++ b/code/lab8/kern/debug/panic.c
@@ -0,0 +1,49 @@
+#include <defs.h>
+#include <stdio.h>
+#include <intr.h>
+#include <monitor.h>
+
+static bool is_panic = 0;
+
+/* *
+ * __panic - __panic is called on unresolvable fatal errors. it prints
+ * "panic: 'message'", and then enters the kernel monitor.
+ * */
+void
+__panic(const char *file, int line, const char *fmt, ...) {
+    if (is_panic) {
+        goto panic_dead;
+    }
+    is_panic = 1;
+
+    // print the 'message'
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("kernel panic at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+
+panic_dead:
+    intr_disable();
+    while (1) {
+        monitor(NULL);
+    }
+}
+
+/* __warn - like panic, but don't */
+void
+__warn(const char *file, int line, const char *fmt, ...) {
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("kernel warning at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+}
+
+bool
+is_kernel_panic(void) {
+    return is_panic;
+}
+
diff --git a/code/lab8/kern/debug/stab.h b/code/lab8/kern/debug/stab.h
new file mode 100644
index 0000000..8d5cea3
--- /dev/null
+++ b/code/lab8/kern/debug/stab.h
@@ -0,0 +1,54 @@
+#ifndef __KERN_DEBUG_STAB_H__
+#define __KERN_DEBUG_STAB_H__
+
+#include <defs.h>
+
+/* *
+ * STABS debugging info
+ *
+ * The kernel debugger can understand some debugging information in
+ * the STABS format.  For more information on this format, see
+ * http://sources.redhat.com/gdb/onlinedocs/stabs_toc.html
+ *
+ * The constants below define some symbol types used by various debuggers
+ * and compilers.  Kernel uses the N_SO, N_SOL, N_FUN, and N_SLINE types.
+ * */
+
+#define N_GSYM      0x20    // global symbol
+#define N_FNAME     0x22    // F77 function name
+#define N_FUN       0x24    // procedure name
+#define N_STSYM     0x26    // data segment variable
+#define N_LCSYM     0x28    // bss segment variable
+#define N_MAIN      0x2a    // main function name
+#define N_PC        0x30    // global Pascal symbol
+#define N_RSYM      0x40    // register variable
+#define N_SLINE     0x44    // text segment line number
+#define N_DSLINE    0x46    // data segment line number
+#define N_BSLINE    0x48    // bss segment line number
+#define N_SSYM      0x60    // structure/union element
+#define N_SO        0x64    // main source file name
+#define N_LSYM      0x80    // stack variable
+#define N_BINCL     0x82    // include file beginning
+#define N_SOL       0x84    // included source file name
+#define N_PSYM      0xa0    // parameter variable
+#define N_EINCL     0xa2    // include file end
+#define N_ENTRY     0xa4    // alternate entry point
+#define N_LBRAC     0xc0    // left bracket
+#define N_EXCL      0xc2    // deleted include file
+#define N_RBRAC     0xe0    // right bracket
+#define N_BCOMM     0xe2    // begin common
+#define N_ECOMM     0xe4    // end common
+#define N_ECOML     0xe8    // end common (local name)
+#define N_LENG      0xfe    // length of preceding entry
+
+/* Entries in the STABS table are formatted as follows. */
+struct stab {
+    uint32_t n_strx;        // index into string table of name
+    uint8_t n_type;         // type of symbol
+    uint8_t n_other;        // misc info (usually empty)
+    uint16_t n_desc;        // description field
+    uintptr_t n_value;      // value of symbol
+};
+
+#endif /* !__KERN_DEBUG_STAB_H__ */
+
diff --git a/code/lab8/kern/driver/clock.c b/code/lab8/kern/driver/clock.c
new file mode 100644
index 0000000..5f27ce7
--- /dev/null
+++ b/code/lab8/kern/driver/clock.c
@@ -0,0 +1,49 @@
+#include <x86.h>
+#include <trap.h>
+#include <stdio.h>
+#include <picirq.h>
+
+/* *
+ * Support for time-related hardware gadgets - the 8253 timer,
+ * which generates interruptes on IRQ-0.
+ * */
+
+#define IO_TIMER1           0x040               // 8253 Timer #1
+
+/* *
+ * Frequency of all three count-down timers; (TIMER_FREQ/freq)
+ * is the appropriate count to generate a frequency of freq Hz.
+ * */
+
+#define TIMER_FREQ      1193182
+#define TIMER_DIV(x)    ((TIMER_FREQ + (x) / 2) / (x))
+
+#define TIMER_MODE      (IO_TIMER1 + 3)         // timer mode port
+#define TIMER_SEL0      0x00                    // select counter 0
+#define TIMER_RATEGEN   0x04                    // mode 2, rate generator
+#define TIMER_16BIT     0x30                    // r/w counter 16 bits, LSB first
+
+volatile size_t ticks;
+
+long SYSTEM_READ_TIMER( void ){
+    return ticks;
+}
+
+/* *
+ * clock_init - initialize 8253 clock to interrupt 100 times per second,
+ * and then enable IRQ_TIMER.
+ * */
+void
+clock_init(void) {
+    // set 8253 timer-chip
+    outb(TIMER_MODE, TIMER_SEL0 | TIMER_RATEGEN | TIMER_16BIT);
+    outb(IO_TIMER1, TIMER_DIV(100) % 256);
+    outb(IO_TIMER1, TIMER_DIV(100) / 256);
+
+    // initialize time counter 'ticks' to zero
+    ticks = 0;
+
+    cprintf("++ setup timer interrupts\n");
+    pic_enable(IRQ_TIMER);
+}
+
diff --git a/code/lab8/kern/driver/clock.h b/code/lab8/kern/driver/clock.h
new file mode 100644
index 0000000..282adb5
--- /dev/null
+++ b/code/lab8/kern/driver/clock.h
@@ -0,0 +1,14 @@
+#ifndef __KERN_DRIVER_CLOCK_H__
+#define __KERN_DRIVER_CLOCK_H__
+
+#include <defs.h>
+
+extern volatile size_t ticks;
+
+void clock_init(void);
+
+long SYSTEM_READ_TIMER( void );
+
+
+#endif /* !__KERN_DRIVER_CLOCK_H__ */
+
diff --git a/code/lab8/kern/driver/console.c b/code/lab8/kern/driver/console.c
new file mode 100644
index 0000000..d4cf56b
--- /dev/null
+++ b/code/lab8/kern/driver/console.c
@@ -0,0 +1,465 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <kbdreg.h>
+#include <picirq.h>
+#include <trap.h>
+#include <memlayout.h>
+#include <sync.h>
+
+/* stupid I/O delay routine necessitated by historical PC design flaws */
+static void
+delay(void) {
+    inb(0x84);
+    inb(0x84);
+    inb(0x84);
+    inb(0x84);
+}
+
+/***** Serial I/O code *****/
+#define COM1            0x3F8
+
+#define COM_RX          0       // In:  Receive buffer (DLAB=0)
+#define COM_TX          0       // Out: Transmit buffer (DLAB=0)
+#define COM_DLL         0       // Out: Divisor Latch Low (DLAB=1)
+#define COM_DLM         1       // Out: Divisor Latch High (DLAB=1)
+#define COM_IER         1       // Out: Interrupt Enable Register
+#define COM_IER_RDI     0x01    // Enable receiver data interrupt
+#define COM_IIR         2       // In:  Interrupt ID Register
+#define COM_FCR         2       // Out: FIFO Control Register
+#define COM_LCR         3       // Out: Line Control Register
+#define COM_LCR_DLAB    0x80    // Divisor latch access bit
+#define COM_LCR_WLEN8   0x03    // Wordlength: 8 bits
+#define COM_MCR         4       // Out: Modem Control Register
+#define COM_MCR_RTS     0x02    // RTS complement
+#define COM_MCR_DTR     0x01    // DTR complement
+#define COM_MCR_OUT2    0x08    // Out2 complement
+#define COM_LSR         5       // In:  Line Status Register
+#define COM_LSR_DATA    0x01    // Data available
+#define COM_LSR_TXRDY   0x20    // Transmit buffer avail
+#define COM_LSR_TSRE    0x40    // Transmitter off
+
+#define MONO_BASE       0x3B4
+#define MONO_BUF        0xB0000
+#define CGA_BASE        0x3D4
+#define CGA_BUF         0xB8000
+#define CRT_ROWS        25
+#define CRT_COLS        80
+#define CRT_SIZE        (CRT_ROWS * CRT_COLS)
+
+#define LPTPORT         0x378
+
+static uint16_t *crt_buf;
+static uint16_t crt_pos;
+static uint16_t addr_6845;
+
+/* TEXT-mode CGA/VGA display output */
+
+static void
+cga_init(void) {
+    volatile uint16_t *cp = (uint16_t *)(CGA_BUF + KERNBASE);
+    uint16_t was = *cp;
+    *cp = (uint16_t) 0xA55A;
+    if (*cp != 0xA55A) {
+        cp = (uint16_t*)(MONO_BUF + KERNBASE);
+        addr_6845 = MONO_BASE;
+    } else {
+        *cp = was;
+        addr_6845 = CGA_BASE;
+    }
+
+    // Extract cursor location
+    uint32_t pos;
+    outb(addr_6845, 14);
+    pos = inb(addr_6845 + 1) << 8;
+    outb(addr_6845, 15);
+    pos |= inb(addr_6845 + 1);
+
+    crt_buf = (uint16_t*) cp;
+    crt_pos = pos;
+}
+
+static bool serial_exists = 0;
+
+static void
+serial_init(void) {
+    // Turn off the FIFO
+    outb(COM1 + COM_FCR, 0);
+
+    // Set speed; requires DLAB latch
+    outb(COM1 + COM_LCR, COM_LCR_DLAB);
+    outb(COM1 + COM_DLL, (uint8_t) (115200 / 9600));
+    outb(COM1 + COM_DLM, 0);
+
+    // 8 data bits, 1 stop bit, parity off; turn off DLAB latch
+    outb(COM1 + COM_LCR, COM_LCR_WLEN8 & ~COM_LCR_DLAB);
+
+    // No modem controls
+    outb(COM1 + COM_MCR, 0);
+    // Enable rcv interrupts
+    outb(COM1 + COM_IER, COM_IER_RDI);
+
+    // Clear any preexisting overrun indications and interrupts
+    // Serial port doesn't exist if COM_LSR returns 0xFF
+    serial_exists = (inb(COM1 + COM_LSR) != 0xFF);
+    (void) inb(COM1+COM_IIR);
+    (void) inb(COM1+COM_RX);
+
+    if (serial_exists) {
+        pic_enable(IRQ_COM1);
+    }
+}
+
+static void
+lpt_putc_sub(int c) {
+    int i;
+    for (i = 0; !(inb(LPTPORT + 1) & 0x80) && i < 12800; i ++) {
+        delay();
+    }
+    outb(LPTPORT + 0, c);
+    outb(LPTPORT + 2, 0x08 | 0x04 | 0x01);
+    outb(LPTPORT + 2, 0x08);
+}
+
+/* lpt_putc - copy console output to parallel port */
+static void
+lpt_putc(int c) {
+    if (c != '\b') {
+        lpt_putc_sub(c);
+    }
+    else {
+        lpt_putc_sub('\b');
+        lpt_putc_sub(' ');
+        lpt_putc_sub('\b');
+    }
+}
+
+/* cga_putc - print character to console */
+static void
+cga_putc(int c) {
+    // set black on white
+    if (!(c & ~0xFF)) {
+        c |= 0x0700;
+    }
+
+    switch (c & 0xff) {
+    case '\b':
+        if (crt_pos > 0) {
+            crt_pos --;
+            crt_buf[crt_pos] = (c & ~0xff) | ' ';
+        }
+        break;
+    case '\n':
+        crt_pos += CRT_COLS;
+    case '\r':
+        crt_pos -= (crt_pos % CRT_COLS);
+        break;
+    default:
+        crt_buf[crt_pos ++] = c;     // write the character
+        break;
+    }
+
+    // What is the purpose of this?
+    if (crt_pos >= CRT_SIZE) {
+        int i;
+        memmove(crt_buf, crt_buf + CRT_COLS, (CRT_SIZE - CRT_COLS) * sizeof(uint16_t));
+        for (i = CRT_SIZE - CRT_COLS; i < CRT_SIZE; i ++) {
+            crt_buf[i] = 0x0700 | ' ';
+        }
+        crt_pos -= CRT_COLS;
+    }
+
+    // move that little blinky thing
+    outb(addr_6845, 14);
+    outb(addr_6845 + 1, crt_pos >> 8);
+    outb(addr_6845, 15);
+    outb(addr_6845 + 1, crt_pos);
+}
+
+static void
+serial_putc_sub(int c) {
+    int i;
+    for (i = 0; !(inb(COM1 + COM_LSR) & COM_LSR_TXRDY) && i < 12800; i ++) {
+        delay();
+    }
+    outb(COM1 + COM_TX, c);
+}
+
+/* serial_putc - print character to serial port */
+static void
+serial_putc(int c) {
+    if (c != '\b') {
+        serial_putc_sub(c);
+    }
+    else {
+        serial_putc_sub('\b');
+        serial_putc_sub(' ');
+        serial_putc_sub('\b');
+    }
+}
+
+/* *
+ * Here we manage the console input buffer, where we stash characters
+ * received from the keyboard or serial port whenever the corresponding
+ * interrupt occurs.
+ * */
+
+#define CONSBUFSIZE 512
+
+static struct {
+    uint8_t buf[CONSBUFSIZE];
+    uint32_t rpos;
+    uint32_t wpos;
+} cons;
+
+/* *
+ * cons_intr - called by device interrupt routines to feed input
+ * characters into the circular console input buffer.
+ * */
+static void
+cons_intr(int (*proc)(void)) {
+    int c;
+    while ((c = (*proc)()) != -1) {
+        if (c != 0) {
+            cons.buf[cons.wpos ++] = c;
+            if (cons.wpos == CONSBUFSIZE) {
+                cons.wpos = 0;
+            }
+        }
+    }
+}
+
+/* serial_proc_data - get data from serial port */
+static int
+serial_proc_data(void) {
+    if (!(inb(COM1 + COM_LSR) & COM_LSR_DATA)) {
+        return -1;
+    }
+    int c = inb(COM1 + COM_RX);
+    if (c == 127) {
+        c = '\b';
+    }
+    return c;
+}
+
+/* serial_intr - try to feed input characters from serial port */
+void
+serial_intr(void) {
+    if (serial_exists) {
+        cons_intr(serial_proc_data);
+    }
+}
+
+/***** Keyboard input code *****/
+
+#define NO              0
+
+#define SHIFT           (1<<0)
+#define CTL             (1<<1)
+#define ALT             (1<<2)
+
+#define CAPSLOCK        (1<<3)
+#define NUMLOCK         (1<<4)
+#define SCROLLLOCK      (1<<5)
+
+#define E0ESC           (1<<6)
+
+static uint8_t shiftcode[256] = {
+    [0x1D] CTL,
+    [0x2A] SHIFT,
+    [0x36] SHIFT,
+    [0x38] ALT,
+    [0x9D] CTL,
+    [0xB8] ALT
+};
+
+static uint8_t togglecode[256] = {
+    [0x3A] CAPSLOCK,
+    [0x45] NUMLOCK,
+    [0x46] SCROLLLOCK
+};
+
+static uint8_t normalmap[256] = {
+    NO,   0x1B, '1',  '2',  '3',  '4',  '5',  '6',  // 0x00
+    '7',  '8',  '9',  '0',  '-',  '=',  '\b', '\t',
+    'q',  'w',  'e',  'r',  't',  'y',  'u',  'i',  // 0x10
+    'o',  'p',  '[',  ']',  '\n', NO,   'a',  's',
+    'd',  'f',  'g',  'h',  'j',  'k',  'l',  ';',  // 0x20
+    '\'', '`',  NO,   '\\', 'z',  'x',  'c',  'v',
+    'b',  'n',  'm',  ',',  '.',  '/',  NO,   '*',  // 0x30
+    NO,   ' ',  NO,   NO,   NO,   NO,   NO,   NO,
+    NO,   NO,   NO,   NO,   NO,   NO,   NO,   '7',  // 0x40
+    '8',  '9',  '-',  '4',  '5',  '6',  '+',  '1',
+    '2',  '3',  '0',  '.',  NO,   NO,   NO,   NO,   // 0x50
+    [0xC7] KEY_HOME,    [0x9C] '\n' /*KP_Enter*/,
+    [0xB5] '/' /*KP_Div*/,  [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+static uint8_t shiftmap[256] = {
+    NO,   033,  '!',  '@',  '#',  '$',  '%',  '^',  // 0x00
+    '&',  '*',  '(',  ')',  '_',  '+',  '\b', '\t',
+    'Q',  'W',  'E',  'R',  'T',  'Y',  'U',  'I',  // 0x10
+    'O',  'P',  '{',  '}',  '\n', NO,   'A',  'S',
+    'D',  'F',  'G',  'H',  'J',  'K',  'L',  ':',  // 0x20
+    '"',  '~',  NO,   '|',  'Z',  'X',  'C',  'V',
+    'B',  'N',  'M',  '<',  '>',  '?',  NO,   '*',  // 0x30
+    NO,   ' ',  NO,   NO,   NO,   NO,   NO,   NO,
+    NO,   NO,   NO,   NO,   NO,   NO,   NO,   '7',  // 0x40
+    '8',  '9',  '-',  '4',  '5',  '6',  '+',  '1',
+    '2',  '3',  '0',  '.',  NO,   NO,   NO,   NO,   // 0x50
+    [0xC7] KEY_HOME,    [0x9C] '\n' /*KP_Enter*/,
+    [0xB5] '/' /*KP_Div*/,  [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+#define C(x) (x - '@')
+
+static uint8_t ctlmap[256] = {
+    NO,      NO,      NO,      NO,      NO,      NO,      NO,      NO,
+    NO,      NO,      NO,      NO,      NO,      NO,      NO,      NO,
+    C('Q'),  C('W'),  C('E'),  C('R'),  C('T'),  C('Y'),  C('U'),  C('I'),
+    C('O'),  C('P'),  NO,      NO,      '\r',    NO,      C('A'),  C('S'),
+    C('D'),  C('F'),  C('G'),  C('H'),  C('J'),  C('K'),  C('L'),  NO,
+    NO,      NO,      NO,      C('\\'), C('Z'),  C('X'),  C('C'),  C('V'),
+    C('B'),  C('N'),  C('M'),  NO,      NO,      C('/'),  NO,      NO,
+    [0x97] KEY_HOME,
+    [0xB5] C('/'),      [0xC8] KEY_UP,
+    [0xC9] KEY_PGUP,    [0xCB] KEY_LF,
+    [0xCD] KEY_RT,      [0xCF] KEY_END,
+    [0xD0] KEY_DN,      [0xD1] KEY_PGDN,
+    [0xD2] KEY_INS,     [0xD3] KEY_DEL
+};
+
+static uint8_t *charcode[4] = {
+    normalmap,
+    shiftmap,
+    ctlmap,
+    ctlmap
+};
+
+/* *
+ * kbd_proc_data - get data from keyboard
+ *
+ * The kbd_proc_data() function gets data from the keyboard.
+ * If we finish a character, return it, else 0. And return -1 if no data.
+ * */
+static int
+kbd_proc_data(void) {
+    int c;
+    uint8_t data;
+    static uint32_t shift;
+
+    if ((inb(KBSTATP) & KBS_DIB) == 0) {
+        return -1;
+    }
+
+    data = inb(KBDATAP);
+
+    if (data == 0xE0) {
+        // E0 escape character
+        shift |= E0ESC;
+        return 0;
+    } else if (data & 0x80) {
+        // Key released
+        data = (shift & E0ESC ? data : data & 0x7F);
+        shift &= ~(shiftcode[data] | E0ESC);
+        return 0;
+    } else if (shift & E0ESC) {
+        // Last character was an E0 escape; or with 0x80
+        data |= 0x80;
+        shift &= ~E0ESC;
+    }
+
+    shift |= shiftcode[data];
+    shift ^= togglecode[data];
+
+    c = charcode[shift & (CTL | SHIFT)][data];
+    if (shift & CAPSLOCK) {
+        if ('a' <= c && c <= 'z')
+            c += 'A' - 'a';
+        else if ('A' <= c && c <= 'Z')
+            c += 'a' - 'A';
+    }
+
+    // Process special keys
+    // Ctrl-Alt-Del: reboot
+    if (!(~shift & (CTL | ALT)) && c == KEY_DEL) {
+        cprintf("Rebooting!\n");
+        outb(0x92, 0x3); // courtesy of Chris Frost
+    }
+    return c;
+}
+
+/* kbd_intr - try to feed input characters from keyboard */
+static void
+kbd_intr(void) {
+    cons_intr(kbd_proc_data);
+}
+
+static void
+kbd_init(void) {
+    // drain the kbd buffer
+    kbd_intr();
+    pic_enable(IRQ_KBD);
+}
+
+/* cons_init - initializes the console devices */
+void
+cons_init(void) {
+    cga_init();
+    serial_init();
+    kbd_init();
+    if (!serial_exists) {
+        cprintf("serial port does not exist!!\n");
+    }
+}
+
+/* cons_putc - print a single character @c to console devices */
+void
+cons_putc(int c) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        lpt_putc(c);
+        cga_putc(c);
+        serial_putc(c);
+    }
+    local_intr_restore(intr_flag);
+}
+
+/* *
+ * cons_getc - return the next input character from console,
+ * or 0 if none waiting.
+ * */
+int
+cons_getc(void) {
+    int c = 0;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        // poll for any pending input characters,
+        // so that this function works even when interrupts are disabled
+        // (e.g., when called from the kernel monitor).
+        serial_intr();
+        kbd_intr();
+
+        // grab the next character from the input buffer.
+        if (cons.rpos != cons.wpos) {
+            c = cons.buf[cons.rpos ++];
+            if (cons.rpos == CONSBUFSIZE) {
+                cons.rpos = 0;
+            }
+        }
+    }
+    local_intr_restore(intr_flag);
+    return c;
+}
+
diff --git a/code/lab8/kern/driver/console.h b/code/lab8/kern/driver/console.h
new file mode 100644
index 0000000..72e6167
--- /dev/null
+++ b/code/lab8/kern/driver/console.h
@@ -0,0 +1,11 @@
+#ifndef __KERN_DRIVER_CONSOLE_H__
+#define __KERN_DRIVER_CONSOLE_H__
+
+void cons_init(void);
+void cons_putc(int c);
+int cons_getc(void);
+void serial_intr(void);
+void kbd_intr(void);
+
+#endif /* !__KERN_DRIVER_CONSOLE_H__ */
+
diff --git a/code/lab8/kern/driver/ide.c b/code/lab8/kern/driver/ide.c
new file mode 100644
index 0000000..271cfa8
--- /dev/null
+++ b/code/lab8/kern/driver/ide.c
@@ -0,0 +1,214 @@
+#include <defs.h>
+#include <stdio.h>
+#include <trap.h>
+#include <picirq.h>
+#include <fs.h>
+#include <ide.h>
+#include <x86.h>
+#include <assert.h>
+
+#define ISA_DATA                0x00
+#define ISA_ERROR               0x01
+#define ISA_PRECOMP             0x01
+#define ISA_CTRL                0x02
+#define ISA_SECCNT              0x02
+#define ISA_SECTOR              0x03
+#define ISA_CYL_LO              0x04
+#define ISA_CYL_HI              0x05
+#define ISA_SDH                 0x06
+#define ISA_COMMAND             0x07
+#define ISA_STATUS              0x07
+
+#define IDE_BSY                 0x80
+#define IDE_DRDY                0x40
+#define IDE_DF                  0x20
+#define IDE_DRQ                 0x08
+#define IDE_ERR                 0x01
+
+#define IDE_CMD_READ            0x20
+#define IDE_CMD_WRITE           0x30
+#define IDE_CMD_IDENTIFY        0xEC
+
+#define IDE_IDENT_SECTORS       20
+#define IDE_IDENT_MODEL         54
+#define IDE_IDENT_CAPABILITIES  98
+#define IDE_IDENT_CMDSETS       164
+#define IDE_IDENT_MAX_LBA       120
+#define IDE_IDENT_MAX_LBA_EXT   200
+
+#define IO_BASE0                0x1F0
+#define IO_BASE1                0x170
+#define IO_CTRL0                0x3F4
+#define IO_CTRL1                0x374
+
+#define MAX_IDE                 4
+#define MAX_NSECS               128
+#define MAX_DISK_NSECS          0x10000000U
+#define VALID_IDE(ideno)        (((ideno) >= 0) && ((ideno) < MAX_IDE) && (ide_devices[ideno].valid))
+
+static const struct {
+    unsigned short base;        // I/O Base
+    unsigned short ctrl;        // Control Base
+} channels[2] = {
+    {IO_BASE0, IO_CTRL0},
+    {IO_BASE1, IO_CTRL1},
+};
+
+#define IO_BASE(ideno)          (channels[(ideno) >> 1].base)
+#define IO_CTRL(ideno)          (channels[(ideno) >> 1].ctrl)
+
+static struct ide_device {
+    unsigned char valid;        // 0 or 1 (If Device Really Exists)
+    unsigned int sets;          // Commend Sets Supported
+    unsigned int size;          // Size in Sectors
+    unsigned char model[41];    // Model in String
+} ide_devices[MAX_IDE];
+
+static int
+ide_wait_ready(unsigned short iobase, bool check_error) {
+    int r;
+    while ((r = inb(iobase + ISA_STATUS)) & IDE_BSY)
+        /* nothing */;
+    if (check_error && (r & (IDE_DF | IDE_ERR)) != 0) {
+        return -1;
+    }
+    return 0;
+}
+
+void
+ide_init(void) {
+    static_assert((SECTSIZE % 4) == 0);
+    unsigned short ideno, iobase;
+    for (ideno = 0; ideno < MAX_IDE; ideno ++) {
+        /* assume that no device here */
+        ide_devices[ideno].valid = 0;
+
+        iobase = IO_BASE(ideno);
+
+        /* wait device ready */
+        ide_wait_ready(iobase, 0);
+
+        /* step1: select drive */
+        outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4));
+        ide_wait_ready(iobase, 0);
+
+        /* step2: send ATA identify command */
+        outb(iobase + ISA_COMMAND, IDE_CMD_IDENTIFY);
+        ide_wait_ready(iobase, 0);
+
+        /* step3: polling */
+        if (inb(iobase + ISA_STATUS) == 0 || ide_wait_ready(iobase, 1) != 0) {
+            continue ;
+        }
+
+        /* device is ok */
+        ide_devices[ideno].valid = 1;
+
+        /* read identification space of the device */
+        unsigned int buffer[128];
+        insl(iobase + ISA_DATA, buffer, sizeof(buffer) / sizeof(unsigned int));
+
+        unsigned char *ident = (unsigned char *)buffer;
+        unsigned int sectors;
+        unsigned int cmdsets = *(unsigned int *)(ident + IDE_IDENT_CMDSETS);
+        /* device use 48-bits or 28-bits addressing */
+        if (cmdsets & (1 << 26)) {
+            sectors = *(unsigned int *)(ident + IDE_IDENT_MAX_LBA_EXT);
+        }
+        else {
+            sectors = *(unsigned int *)(ident + IDE_IDENT_MAX_LBA);
+        }
+        ide_devices[ideno].sets = cmdsets;
+        ide_devices[ideno].size = sectors;
+
+        /* check if supports LBA */
+        assert((*(unsigned short *)(ident + IDE_IDENT_CAPABILITIES) & 0x200) != 0);
+
+        unsigned char *model = ide_devices[ideno].model, *data = ident + IDE_IDENT_MODEL;
+        unsigned int i, length = 40;
+        for (i = 0; i < length; i += 2) {
+            model[i] = data[i + 1], model[i + 1] = data[i];
+        }
+        do {
+            model[i] = '\0';
+        } while (i -- > 0 && model[i] == ' ');
+
+        cprintf("ide %d: %10u(sectors), '%s'.\n", ideno, ide_devices[ideno].size, ide_devices[ideno].model);
+    }
+
+    // enable ide interrupt
+    pic_enable(IRQ_IDE1);
+    pic_enable(IRQ_IDE2);
+}
+
+bool
+ide_device_valid(unsigned short ideno) {
+    return VALID_IDE(ideno);
+}
+
+size_t
+ide_device_size(unsigned short ideno) {
+    if (ide_device_valid(ideno)) {
+        return ide_devices[ideno].size;
+    }
+    return 0;
+}
+
+int
+ide_read_secs(unsigned short ideno, uint32_t secno, void *dst, size_t nsecs) {
+    assert(nsecs <= MAX_NSECS && VALID_IDE(ideno));
+    assert(secno < MAX_DISK_NSECS && secno + nsecs <= MAX_DISK_NSECS);
+    unsigned short iobase = IO_BASE(ideno), ioctrl = IO_CTRL(ideno);
+
+    ide_wait_ready(iobase, 0);
+
+    // generate interrupt
+    outb(ioctrl + ISA_CTRL, 0);
+    outb(iobase + ISA_SECCNT, nsecs);
+    outb(iobase + ISA_SECTOR, secno & 0xFF);
+    outb(iobase + ISA_CYL_LO, (secno >> 8) & 0xFF);
+    outb(iobase + ISA_CYL_HI, (secno >> 16) & 0xFF);
+    outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4) | ((secno >> 24) & 0xF));
+    outb(iobase + ISA_COMMAND, IDE_CMD_READ);
+
+    int ret = 0;
+    for (; nsecs > 0; nsecs --, dst += SECTSIZE) {
+        if ((ret = ide_wait_ready(iobase, 1)) != 0) {
+            goto out;
+        }
+        insl(iobase, dst, SECTSIZE / sizeof(uint32_t));
+    }
+
+out:
+    return ret;
+}
+
+int
+ide_write_secs(unsigned short ideno, uint32_t secno, const void *src, size_t nsecs) {
+    assert(nsecs <= MAX_NSECS && VALID_IDE(ideno));
+    assert(secno < MAX_DISK_NSECS && secno + nsecs <= MAX_DISK_NSECS);
+    unsigned short iobase = IO_BASE(ideno), ioctrl = IO_CTRL(ideno);
+
+    ide_wait_ready(iobase, 0);
+
+    // generate interrupt
+    outb(ioctrl + ISA_CTRL, 0);
+    outb(iobase + ISA_SECCNT, nsecs);
+    outb(iobase + ISA_SECTOR, secno & 0xFF);
+    outb(iobase + ISA_CYL_LO, (secno >> 8) & 0xFF);
+    outb(iobase + ISA_CYL_HI, (secno >> 16) & 0xFF);
+    outb(iobase + ISA_SDH, 0xE0 | ((ideno & 1) << 4) | ((secno >> 24) & 0xF));
+    outb(iobase + ISA_COMMAND, IDE_CMD_WRITE);
+
+    int ret = 0;
+    for (; nsecs > 0; nsecs --, src += SECTSIZE) {
+        if ((ret = ide_wait_ready(iobase, 1)) != 0) {
+            goto out;
+        }
+        outsl(iobase, src, SECTSIZE / sizeof(uint32_t));
+    }
+
+out:
+    return ret;
+}
+
diff --git a/code/lab8/kern/driver/ide.h b/code/lab8/kern/driver/ide.h
new file mode 100644
index 0000000..3e3fd21
--- /dev/null
+++ b/code/lab8/kern/driver/ide.h
@@ -0,0 +1,14 @@
+#ifndef __KERN_DRIVER_IDE_H__
+#define __KERN_DRIVER_IDE_H__
+
+#include <defs.h>
+
+void ide_init(void);
+bool ide_device_valid(unsigned short ideno);
+size_t ide_device_size(unsigned short ideno);
+
+int ide_read_secs(unsigned short ideno, uint32_t secno, void *dst, size_t nsecs);
+int ide_write_secs(unsigned short ideno, uint32_t secno, const void *src, size_t nsecs);
+
+#endif /* !__KERN_DRIVER_IDE_H__ */
+
diff --git a/code/lab8/kern/driver/intr.c b/code/lab8/kern/driver/intr.c
new file mode 100644
index 0000000..e64da62
--- /dev/null
+++ b/code/lab8/kern/driver/intr.c
@@ -0,0 +1,15 @@
+#include <x86.h>
+#include <intr.h>
+
+/* intr_enable - enable irq interrupt */
+void
+intr_enable(void) {
+    sti();
+}
+
+/* intr_disable - disable irq interrupt */
+void
+intr_disable(void) {
+    cli();
+}
+
diff --git a/code/lab8/kern/driver/intr.h b/code/lab8/kern/driver/intr.h
new file mode 100644
index 0000000..5fdf7a5
--- /dev/null
+++ b/code/lab8/kern/driver/intr.h
@@ -0,0 +1,8 @@
+#ifndef __KERN_DRIVER_INTR_H__
+#define __KERN_DRIVER_INTR_H__
+
+void intr_enable(void);
+void intr_disable(void);
+
+#endif /* !__KERN_DRIVER_INTR_H__ */
+
diff --git a/code/lab8/kern/driver/kbdreg.h b/code/lab8/kern/driver/kbdreg.h
new file mode 100644
index 0000000..00dc49a
--- /dev/null
+++ b/code/lab8/kern/driver/kbdreg.h
@@ -0,0 +1,84 @@
+#ifndef __KERN_DRIVER_KBDREG_H__
+#define __KERN_DRIVER_KBDREG_H__
+
+// Special keycodes
+#define KEY_HOME            0xE0
+#define KEY_END             0xE1
+#define KEY_UP              0xE2
+#define KEY_DN              0xE3
+#define KEY_LF              0xE4
+#define KEY_RT              0xE5
+#define KEY_PGUP            0xE6
+#define KEY_PGDN            0xE7
+#define KEY_INS             0xE8
+#define KEY_DEL             0xE9
+
+
+/* This is i8042reg.h + kbdreg.h from NetBSD. */
+
+#define KBSTATP             0x64    // kbd controller status port(I)
+#define KBS_DIB             0x01    // kbd data in buffer
+#define KBS_IBF             0x02    // kbd input buffer low
+#define KBS_WARM            0x04    // kbd input buffer low
+#define BS_OCMD             0x08    // kbd output buffer has command
+#define KBS_NOSEC           0x10    // kbd security lock not engaged
+#define KBS_TERR            0x20    // kbd transmission error
+#define KBS_RERR            0x40    // kbd receive error
+#define KBS_PERR            0x80    // kbd parity error
+
+#define KBCMDP              0x64    // kbd controller port(O)
+#define KBC_RAMREAD         0x20    // read from RAM
+#define KBC_RAMWRITE        0x60    // write to RAM
+#define KBC_AUXDISABLE      0xa7    // disable auxiliary port
+#define KBC_AUXENABLE       0xa8    // enable auxiliary port
+#define KBC_AUXTEST         0xa9    // test auxiliary port
+#define KBC_KBDECHO         0xd2    // echo to keyboard port
+#define KBC_AUXECHO         0xd3    // echo to auxiliary port
+#define KBC_AUXWRITE        0xd4    // write to auxiliary port
+#define KBC_SELFTEST        0xaa    // start self-test
+#define KBC_KBDTEST         0xab    // test keyboard port
+#define KBC_KBDDISABLE      0xad    // disable keyboard port
+#define KBC_KBDENABLE       0xae    // enable keyboard port
+#define KBC_PULSE0          0xfe    // pulse output bit 0
+#define KBC_PULSE1          0xfd    // pulse output bit 1
+#define KBC_PULSE2          0xfb    // pulse output bit 2
+#define KBC_PULSE3          0xf7    // pulse output bit 3
+
+#define KBDATAP             0x60    // kbd data port(I)
+#define KBOUTP              0x60    // kbd data port(O)
+
+#define K_RDCMDBYTE         0x20
+#define K_LDCMDBYTE         0x60
+
+#define KC8_TRANS           0x40    // convert to old scan codes
+#define KC8_MDISABLE        0x20    // disable mouse
+#define KC8_KDISABLE        0x10    // disable keyboard
+#define KC8_IGNSEC          0x08    // ignore security lock
+#define KC8_CPU             0x04    // exit from protected mode reset
+#define KC8_MENABLE         0x02    // enable mouse interrupt
+#define KC8_KENABLE         0x01    // enable keyboard interrupt
+#define CMDBYTE             (KC8_TRANS|KC8_CPU|KC8_MENABLE|KC8_KENABLE)
+
+/* keyboard commands */
+#define KBC_RESET           0xFF    // reset the keyboard
+#define KBC_RESEND          0xFE    // request the keyboard resend the last byte
+#define KBC_SETDEFAULT      0xF6    // resets keyboard to its power-on defaults
+#define KBC_DISABLE         0xF5    // as per KBC_SETDEFAULT, but also disable key scanning
+#define KBC_ENABLE          0xF4    // enable key scanning
+#define KBC_TYPEMATIC       0xF3    // set typematic rate and delay
+#define KBC_SETTABLE        0xF0    // set scancode translation table
+#define KBC_MODEIND         0xED    // set mode indicators(i.e. LEDs)
+#define KBC_ECHO            0xEE    // request an echo from the keyboard
+
+/* keyboard responses */
+#define KBR_EXTENDED        0xE0    // extended key sequence
+#define KBR_RESEND          0xFE    // needs resend of command
+#define KBR_ACK             0xFA    // received a valid command
+#define KBR_OVERRUN         0x00    // flooded
+#define KBR_FAILURE         0xFD    // diagnosic failure
+#define KBR_BREAK           0xF0    // break code prefix - sent on key release
+#define KBR_RSTDONE         0xAA    // reset complete
+#define KBR_ECHO            0xEE    // echo response
+
+#endif /* !__KERN_DRIVER_KBDREG_H__ */
+
diff --git a/code/lab8/kern/driver/picirq.c b/code/lab8/kern/driver/picirq.c
new file mode 100644
index 0000000..e7f7063
--- /dev/null
+++ b/code/lab8/kern/driver/picirq.c
@@ -0,0 +1,86 @@
+#include <defs.h>
+#include <x86.h>
+#include <picirq.h>
+
+// I/O Addresses of the two programmable interrupt controllers
+#define IO_PIC1             0x20    // Master (IRQs 0-7)
+#define IO_PIC2             0xA0    // Slave (IRQs 8-15)
+
+#define IRQ_SLAVE           2       // IRQ at which slave connects to master
+
+// Current IRQ mask.
+// Initial IRQ mask has interrupt 2 enabled (for slave 8259A).
+static uint16_t irq_mask = 0xFFFF & ~(1 << IRQ_SLAVE);
+static bool did_init = 0;
+
+static void
+pic_setmask(uint16_t mask) {
+    irq_mask = mask;
+    if (did_init) {
+        outb(IO_PIC1 + 1, mask);
+        outb(IO_PIC2 + 1, mask >> 8);
+    }
+}
+
+void
+pic_enable(unsigned int irq) {
+    pic_setmask(irq_mask & ~(1 << irq));
+}
+
+/* pic_init - initialize the 8259A interrupt controllers */
+void
+pic_init(void) {
+    did_init = 1;
+
+    // mask all interrupts
+    outb(IO_PIC1 + 1, 0xFF);
+    outb(IO_PIC2 + 1, 0xFF);
+
+    // Set up master (8259A-1)
+
+    // ICW1:  0001g0hi
+    //    g:  0 = edge triggering, 1 = level triggering
+    //    h:  0 = cascaded PICs, 1 = master only
+    //    i:  0 = no ICW4, 1 = ICW4 required
+    outb(IO_PIC1, 0x11);
+
+    // ICW2:  Vector offset
+    outb(IO_PIC1 + 1, IRQ_OFFSET);
+
+    // ICW3:  (master PIC) bit mask of IR lines connected to slaves
+    //        (slave PIC) 3-bit # of slave's connection to master
+    outb(IO_PIC1 + 1, 1 << IRQ_SLAVE);
+
+    // ICW4:  000nbmap
+    //    n:  1 = special fully nested mode
+    //    b:  1 = buffered mode
+    //    m:  0 = slave PIC, 1 = master PIC
+    //        (ignored when b is 0, as the master/slave role
+    //         can be hardwired).
+    //    a:  1 = Automatic EOI mode
+    //    p:  0 = MCS-80/85 mode, 1 = intel x86 mode
+    outb(IO_PIC1 + 1, 0x3);
+
+    // Set up slave (8259A-2)
+    outb(IO_PIC2, 0x11);    // ICW1
+    outb(IO_PIC2 + 1, IRQ_OFFSET + 8);  // ICW2
+    outb(IO_PIC2 + 1, IRQ_SLAVE);       // ICW3
+    // NB Automatic EOI mode doesn't tend to work on the slave.
+    // Linux source code says it's "to be investigated".
+    outb(IO_PIC2 + 1, 0x3);             // ICW4
+
+    // OCW3:  0ef01prs
+    //   ef:  0x = NOP, 10 = clear specific mask, 11 = set specific mask
+    //    p:  0 = no polling, 1 = polling mode
+    //   rs:  0x = NOP, 10 = read IRR, 11 = read ISR
+    outb(IO_PIC1, 0x68);    // clear specific mask
+    outb(IO_PIC1, 0x0a);    // read IRR by default
+
+    outb(IO_PIC2, 0x68);    // OCW3
+    outb(IO_PIC2, 0x0a);    // OCW3
+
+    if (irq_mask != 0xFFFF) {
+        pic_setmask(irq_mask);
+    }
+}
+
diff --git a/code/lab8/kern/driver/picirq.h b/code/lab8/kern/driver/picirq.h
new file mode 100644
index 0000000..b61e72e
--- /dev/null
+++ b/code/lab8/kern/driver/picirq.h
@@ -0,0 +1,10 @@
+#ifndef __KERN_DRIVER_PICIRQ_H__
+#define __KERN_DRIVER_PICIRQ_H__
+
+void pic_init(void);
+void pic_enable(unsigned int irq);
+
+#define IRQ_OFFSET      32
+
+#endif /* !__KERN_DRIVER_PICIRQ_H__ */
+
diff --git a/code/lab8/kern/fs/devs/dev.c b/code/lab8/kern/fs/devs/dev.c
new file mode 100644
index 0000000..007d748
--- /dev/null
+++ b/code/lab8/kern/fs/devs/dev.c
@@ -0,0 +1,167 @@
+#include <defs.h>
+#include <string.h>
+#include <stat.h>
+#include <dev.h>
+#include <inode.h>
+#include <unistd.h>
+#include <error.h>
+
+/*
+ * dev_open - Called for each open().
+ */
+static int
+dev_open(struct inode *node, uint32_t open_flags) {
+    if (open_flags & (O_CREAT | O_TRUNC | O_EXCL | O_APPEND)) {
+        return -E_INVAL;
+    }
+    struct device *dev = vop_info(node, device);
+    return dop_open(dev, open_flags);
+}
+
+/*
+ * dev_close - Called on the last close(). Just pass through.
+ */
+static int
+dev_close(struct inode *node) {
+    struct device *dev = vop_info(node, device);
+    return dop_close(dev);
+}
+
+/*
+ * dev_read -Called for read. Hand off to iobuf.
+ */
+static int
+dev_read(struct inode *node, struct iobuf *iob) {
+    struct device *dev = vop_info(node, device);
+    return dop_io(dev, iob, 0);
+}
+
+/*
+ * dev_write -Called for write. Hand off to iobuf.
+ */
+static int
+dev_write(struct inode *node, struct iobuf *iob) {
+    struct device *dev = vop_info(node, device);
+    return dop_io(dev, iob, 1);
+}
+
+/*
+ * dev_ioctl - Called for ioctl(). Just pass through.
+ */
+static int
+dev_ioctl(struct inode *node, int op, void *data) {
+    struct device *dev = vop_info(node, device);
+    return dop_ioctl(dev, op, data);
+}
+
+/*
+ * dev_fstat - Called for stat().
+ *             Set the type and the size (block devices only).
+ *             The link count for a device is always 1.
+ */
+static int
+dev_fstat(struct inode *node, struct stat *stat) {
+    int ret;
+    memset(stat, 0, sizeof(struct stat));
+    if ((ret = vop_gettype(node, &(stat->st_mode))) != 0) {
+        return ret;
+    }
+    struct device *dev = vop_info(node, device);
+    stat->st_nlinks = 1;
+    stat->st_blocks = dev->d_blocks;
+    stat->st_size = stat->st_blocks * dev->d_blocksize;
+    return 0;
+}
+
+/*
+ * dev_gettype - Return the type. A device is a "block device" if it has a known
+ *               length. A device that generates data in a stream is a "character
+ *               device".
+ */
+static int
+dev_gettype(struct inode *node, uint32_t *type_store) {
+    struct device *dev = vop_info(node, device);
+    *type_store = (dev->d_blocks > 0) ? S_IFBLK : S_IFCHR;
+    return 0;
+}
+
+/*
+ * dev_tryseek - Attempt a seek.
+ *               For block devices, require block alignment.
+ *               For character devices, prohibit seeking entirely.
+ */
+static int
+dev_tryseek(struct inode *node, off_t pos) {
+    struct device *dev = vop_info(node, device);
+    if (dev->d_blocks > 0) {
+        if ((pos % dev->d_blocksize) == 0) {
+            if (pos >= 0 && pos < dev->d_blocks * dev->d_blocksize) {
+                return 0;
+            }
+        }
+    }
+    return -E_INVAL;
+}
+
+/*
+ * dev_lookup - Name lookup.
+ *
+ * One interesting feature of device:name pathname syntax is that you
+ * can implement pathnames on arbitrary devices. For instance, if you
+ * had a graphics device that supported multiple resolutions (which we
+ * don't), you might arrange things so that you could open it with
+ * pathnames like "video:800x600/24bpp" in order to select the operating
+ * mode.
+ *
+ * However, we have no support for this in the base system.
+ */
+static int
+dev_lookup(struct inode *node, char *path, struct inode **node_store) {
+    if (*path != '\0') {
+        return -E_NOENT;
+    }
+    vop_ref_inc(node);
+    *node_store = node;
+    return 0;
+}
+
+/*
+ * Function table for device inodes.
+ */
+static const struct inode_ops dev_node_ops = {
+    .vop_magic                      = VOP_MAGIC,
+    .vop_open                       = dev_open,
+    .vop_close                      = dev_close,
+    .vop_read                       = dev_read,
+    .vop_write                      = dev_write,
+    .vop_fstat                      = dev_fstat,
+    .vop_ioctl                      = dev_ioctl,
+    .vop_gettype                    = dev_gettype,
+    .vop_tryseek                    = dev_tryseek,
+    .vop_lookup                     = dev_lookup,
+};
+
+#define init_device(x)                                  \
+    do {                                                \
+        extern void dev_init_##x(void);                 \
+        dev_init_##x();                                 \
+    } while (0)
+
+/* dev_init - Initialization functions for builtin vfs-level devices. */
+void
+dev_init(void) {
+   // init_device(null);
+    init_device(stdin);
+    init_device(stdout);
+    init_device(disk0);
+}
+/* dev_create_inode - Create inode for a vfs-level device. */
+struct inode *
+dev_create_inode(void) {
+    struct inode *node;
+    if ((node = alloc_inode(device)) != NULL) {
+        vop_init(node, &dev_node_ops, NULL);
+    }
+    return node;
+}
+
diff --git a/code/lab8/kern/fs/devs/dev.h b/code/lab8/kern/fs/devs/dev.h
new file mode 100644
index 0000000..9c605d7
--- /dev/null
+++ b/code/lab8/kern/fs/devs/dev.h
@@ -0,0 +1,31 @@
+#ifndef __KERN_FS_DEVS_DEV_H__
+#define __KERN_FS_DEVS_DEV_H__
+
+#include <defs.h>
+
+struct inode;
+struct iobuf;
+
+/*
+ * Filesystem-namespace-accessible device.
+ * d_io is for both reads and writes; the iobuf will indicates the direction.
+ */
+struct device {
+    size_t d_blocks;
+    size_t d_blocksize;
+    int (*d_open)(struct device *dev, uint32_t open_flags);
+    int (*d_close)(struct device *dev);
+    int (*d_io)(struct device *dev, struct iobuf *iob, bool write);
+    int (*d_ioctl)(struct device *dev, int op, void *data);
+};
+
+#define dop_open(dev, open_flags)           ((dev)->d_open(dev, open_flags))
+#define dop_close(dev)                      ((dev)->d_close(dev))
+#define dop_io(dev, iob, write)             ((dev)->d_io(dev, iob, write))
+#define dop_ioctl(dev, op, data)            ((dev)->d_ioctl(dev, op, data))
+
+void dev_init(void);
+struct inode *dev_create_inode(void);
+
+#endif /* !__KERN_FS_DEVS_DEV_H__ */
+
diff --git a/code/lab8/kern/fs/devs/dev_disk0.c b/code/lab8/kern/fs/devs/dev_disk0.c
new file mode 100644
index 0000000..3d6fc1d
--- /dev/null
+++ b/code/lab8/kern/fs/devs/dev_disk0.c
@@ -0,0 +1,144 @@
+#include <defs.h>
+#include <mmu.h>
+#include <sem.h>
+#include <ide.h>
+#include <inode.h>
+#include <kmalloc.h>
+#include <dev.h>
+#include <vfs.h>
+#include <iobuf.h>
+#include <error.h>
+#include <assert.h>
+
+#define DISK0_BLKSIZE                   PGSIZE
+#define DISK0_BUFSIZE                   (4 * DISK0_BLKSIZE)
+#define DISK0_BLK_NSECT                 (DISK0_BLKSIZE / SECTSIZE)
+
+static char *disk0_buffer;
+static semaphore_t disk0_sem;
+
+static void
+lock_disk0(void) {
+    down(&(disk0_sem));
+}
+
+static void
+unlock_disk0(void) {
+    up(&(disk0_sem));
+}
+
+static int
+disk0_open(struct device *dev, uint32_t open_flags) {
+    return 0;
+}
+
+static int
+disk0_close(struct device *dev) {
+    return 0;
+}
+
+static void
+disk0_read_blks_nolock(uint32_t blkno, uint32_t nblks) {
+    int ret;
+    uint32_t sectno = blkno * DISK0_BLK_NSECT, nsecs = nblks * DISK0_BLK_NSECT;
+    if ((ret = ide_read_secs(DISK0_DEV_NO, sectno, disk0_buffer, nsecs)) != 0) {
+        panic("disk0: read blkno = %d (sectno = %d), nblks = %d (nsecs = %d): 0x%08x.\n",
+                blkno, sectno, nblks, nsecs, ret);
+    }
+}
+
+static void
+disk0_write_blks_nolock(uint32_t blkno, uint32_t nblks) {
+    int ret;
+    uint32_t sectno = blkno * DISK0_BLK_NSECT, nsecs = nblks * DISK0_BLK_NSECT;
+    if ((ret = ide_write_secs(DISK0_DEV_NO, sectno, disk0_buffer, nsecs)) != 0) {
+        panic("disk0: write blkno = %d (sectno = %d), nblks = %d (nsecs = %d): 0x%08x.\n",
+                blkno, sectno, nblks, nsecs, ret);
+    }
+}
+
+static int
+disk0_io(struct device *dev, struct iobuf *iob, bool write) {
+    off_t offset = iob->io_offset;
+    size_t resid = iob->io_resid;
+    uint32_t blkno = offset / DISK0_BLKSIZE;
+    uint32_t nblks = resid / DISK0_BLKSIZE;
+
+    /* don't allow I/O that isn't block-aligned */
+    if ((offset % DISK0_BLKSIZE) != 0 || (resid % DISK0_BLKSIZE) != 0) {
+        return -E_INVAL;
+    }
+
+    /* don't allow I/O past the end of disk0 */
+    if (blkno + nblks > dev->d_blocks) {
+        return -E_INVAL;
+    }
+
+    /* read/write nothing ? */
+    if (nblks == 0) {
+        return 0;
+    }
+
+    lock_disk0();
+    while (resid != 0) {
+        size_t copied, alen = DISK0_BUFSIZE;
+        if (write) {
+            iobuf_move(iob, disk0_buffer, alen, 0, &copied);
+            assert(copied != 0 && copied <= resid && copied % DISK0_BLKSIZE == 0);
+            nblks = copied / DISK0_BLKSIZE;
+            disk0_write_blks_nolock(blkno, nblks);
+        }
+        else {
+            if (alen > resid) {
+                alen = resid;
+            }
+            nblks = alen / DISK0_BLKSIZE;
+            disk0_read_blks_nolock(blkno, nblks);
+            iobuf_move(iob, disk0_buffer, alen, 1, &copied);
+            assert(copied == alen && copied % DISK0_BLKSIZE == 0);
+        }
+        resid -= copied, blkno += nblks;
+    }
+    unlock_disk0();
+    return 0;
+}
+
+static int
+disk0_ioctl(struct device *dev, int op, void *data) {
+    return -E_UNIMP;
+}
+
+static void
+disk0_device_init(struct device *dev) {
+    static_assert(DISK0_BLKSIZE % SECTSIZE == 0);
+    if (!ide_device_valid(DISK0_DEV_NO)) {
+        panic("disk0 device isn't available.\n");
+    }
+    dev->d_blocks = ide_device_size(DISK0_DEV_NO) / DISK0_BLK_NSECT;
+    dev->d_blocksize = DISK0_BLKSIZE;
+    dev->d_open = disk0_open;
+    dev->d_close = disk0_close;
+    dev->d_io = disk0_io;
+    dev->d_ioctl = disk0_ioctl;
+    sem_init(&(disk0_sem), 1);
+
+    static_assert(DISK0_BUFSIZE % DISK0_BLKSIZE == 0);
+    if ((disk0_buffer = kmalloc(DISK0_BUFSIZE)) == NULL) {
+        panic("disk0 alloc buffer failed.\n");
+    }
+}
+
+void
+dev_init_disk0(void) {
+    struct inode *node;
+    if ((node = dev_create_inode()) == NULL) {
+        panic("disk0: dev_create_node.\n");
+    }
+    disk0_device_init(vop_info(node, device));
+
+    int ret;
+    if ((ret = vfs_add_dev("disk0", node, 1)) != 0) {
+        panic("disk0: vfs_add_dev: %e.\n", ret);
+    }
+}
+
diff --git a/code/lab8/kern/fs/devs/dev_stdin.c b/code/lab8/kern/fs/devs/dev_stdin.c
new file mode 100644
index 0000000..0da00fc
--- /dev/null
+++ b/code/lab8/kern/fs/devs/dev_stdin.c
@@ -0,0 +1,126 @@
+#include <defs.h>
+#include <stdio.h>
+#include <wait.h>
+#include <sync.h>
+#include <proc.h>
+#include <sched.h>
+#include <dev.h>
+#include <vfs.h>
+#include <iobuf.h>
+#include <inode.h>
+#include <unistd.h>
+#include <error.h>
+#include <assert.h>
+
+#define STDIN_BUFSIZE               4096
+
+static char stdin_buffer[STDIN_BUFSIZE];
+static off_t p_rpos, p_wpos;
+static wait_queue_t __wait_queue, *wait_queue = &__wait_queue;
+
+void
+dev_stdin_write(char c) {
+    bool intr_flag;
+    if (c != '\0') {
+        local_intr_save(intr_flag);
+        {
+            stdin_buffer[p_wpos % STDIN_BUFSIZE] = c;
+            if (p_wpos - p_rpos < STDIN_BUFSIZE) {
+                p_wpos ++;
+            }
+            if (!wait_queue_empty(wait_queue)) {
+                wakeup_queue(wait_queue, WT_KBD, 1);
+            }
+        }
+        local_intr_restore(intr_flag);
+    }
+}
+
+static int
+dev_stdin_read(char *buf, size_t len) {
+    int ret = 0;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        for (; ret < len; ret ++, p_rpos ++) {
+        try_again:
+            if (p_rpos < p_wpos) {
+                *buf ++ = stdin_buffer[p_rpos % STDIN_BUFSIZE];
+            }
+            else {
+                wait_t __wait, *wait = &__wait;
+                wait_current_set(wait_queue, wait, WT_KBD);
+                local_intr_restore(intr_flag);
+
+                schedule();
+
+                local_intr_save(intr_flag);
+                wait_current_del(wait_queue, wait);
+                if (wait->wakeup_flags == WT_KBD) {
+                    goto try_again;
+                }
+                break;
+            }
+        }
+    }
+    local_intr_restore(intr_flag);
+    return ret;
+}
+
+static int
+stdin_open(struct device *dev, uint32_t open_flags) {
+    if (open_flags != O_RDONLY) {
+        return -E_INVAL;
+    }
+    return 0;
+}
+
+static int
+stdin_close(struct device *dev) {
+    return 0;
+}
+
+static int
+stdin_io(struct device *dev, struct iobuf *iob, bool write) {
+    if (!write) {
+        int ret;
+        if ((ret = dev_stdin_read(iob->io_base, iob->io_resid)) > 0) {
+            iob->io_resid -= ret;
+        }
+        return ret;
+    }
+    return -E_INVAL;
+}
+
+static int
+stdin_ioctl(struct device *dev, int op, void *data) {
+    return -E_INVAL;
+}
+
+static void
+stdin_device_init(struct device *dev) {
+    dev->d_blocks = 0;
+    dev->d_blocksize = 1;
+    dev->d_open = stdin_open;
+    dev->d_close = stdin_close;
+    dev->d_io = stdin_io;
+    dev->d_ioctl = stdin_ioctl;
+
+    p_rpos = p_wpos = 0;
+    wait_queue_init(wait_queue);
+}
+
+void
+dev_init_stdin(void) {
+    struct inode *node;
+    if ((node = dev_create_inode()) == NULL) {
+        panic("stdin: dev_create_node.\n");
+    }
+    stdin_device_init(vop_info(node, device));
+
+    int ret;
+    if ((ret = vfs_add_dev("stdin", node, 0)) != 0) {
+        panic("stdin: vfs_add_dev: %e.\n", ret);
+    }
+}
+
diff --git a/code/lab8/kern/fs/devs/dev_stdout.c b/code/lab8/kern/fs/devs/dev_stdout.c
new file mode 100644
index 0000000..641acf0
--- /dev/null
+++ b/code/lab8/kern/fs/devs/dev_stdout.c
@@ -0,0 +1,64 @@
+#include <defs.h>
+#include <stdio.h>
+#include <dev.h>
+#include <vfs.h>
+#include <iobuf.h>
+#include <inode.h>
+#include <unistd.h>
+#include <error.h>
+#include <assert.h>
+
+static int
+stdout_open(struct device *dev, uint32_t open_flags) {
+    if (open_flags != O_WRONLY) {
+        return -E_INVAL;
+    }
+    return 0;
+}
+
+static int
+stdout_close(struct device *dev) {
+    return 0;
+}
+
+static int
+stdout_io(struct device *dev, struct iobuf *iob, bool write) {
+    if (write) {
+        char *data = iob->io_base;
+        for (; iob->io_resid != 0; iob->io_resid --) {
+            cputchar(*data ++);
+        }
+        return 0;
+    }
+    return -E_INVAL;
+}
+
+static int
+stdout_ioctl(struct device *dev, int op, void *data) {
+    return -E_INVAL;
+}
+
+static void
+stdout_device_init(struct device *dev) {
+    dev->d_blocks = 0;
+    dev->d_blocksize = 1;
+    dev->d_open = stdout_open;
+    dev->d_close = stdout_close;
+    dev->d_io = stdout_io;
+    dev->d_ioctl = stdout_ioctl;
+}
+
+void
+dev_init_stdout(void) {
+    struct inode *node;
+    if ((node = dev_create_inode()) == NULL) {
+        panic("stdout: dev_create_node.\n");
+    }
+    stdout_device_init(vop_info(node, device));
+
+    int ret;
+    if ((ret = vfs_add_dev("stdout", node, 0)) != 0) {
+        panic("stdout: vfs_add_dev: %e.\n", ret);
+    }
+}
+
diff --git a/code/lab8/kern/fs/file.c b/code/lab8/kern/fs/file.c
new file mode 100644
index 0000000..df7a0a5
--- /dev/null
+++ b/code/lab8/kern/fs/file.c
@@ -0,0 +1,356 @@
+#include <defs.h>
+#include <string.h>
+#include <vfs.h>
+#include <proc.h>
+#include <file.h>
+#include <unistd.h>
+#include <iobuf.h>
+#include <inode.h>
+#include <stat.h>
+#include <dirent.h>
+#include <error.h>
+#include <assert.h>
+
+#define testfd(fd)                          ((fd) >= 0 && (fd) < FILES_STRUCT_NENTRY)
+
+// get_fd_array - get current process's open files table
+static struct file *
+get_fd_array(void) {
+    struct files_struct *filesp = current->filesp;
+    assert(filesp != NULL && files_count(filesp) > 0);
+    return filesp->fd_array;
+}
+
+// fd_array_init - initialize the open files table
+void
+fd_array_init(struct file *fd_array) {
+    int fd;
+    struct file *file = fd_array;
+    for (fd = 0; fd < FILES_STRUCT_NENTRY; fd ++, file ++) {
+        atomic_set(&(file->open_count), 0);
+        file->status = FD_NONE, file->fd = fd;
+    }
+}
+
+// fs_array_alloc - allocate a free file item (with FD_NONE status) in open files table
+static int
+fd_array_alloc(int fd, struct file **file_store) {
+//    panic("debug");
+    struct file *file = get_fd_array();
+    if (fd == NO_FD) {
+        for (fd = 0; fd < FILES_STRUCT_NENTRY; fd ++, file ++) {
+            if (file->status == FD_NONE) {
+                goto found;
+            }
+        }
+        return -E_MAX_OPEN;
+    }
+    else {
+        if (testfd(fd)) {
+            file += fd;
+            if (file->status == FD_NONE) {
+                goto found;
+            }
+            return -E_BUSY;
+        }
+        return -E_INVAL;
+    }
+found:
+    assert(fopen_count(file) == 0);
+    file->status = FD_INIT, file->node = NULL;
+    *file_store = file;
+    return 0;
+}
+
+// fd_array_free - free a file item in open files table
+static void
+fd_array_free(struct file *file) {
+    assert(file->status == FD_INIT || file->status == FD_CLOSED);
+    assert(fopen_count(file) == 0);
+    if (file->status == FD_CLOSED) {
+        vfs_close(file->node);
+    }
+    file->status = FD_NONE;
+}
+
+static void
+fd_array_acquire(struct file *file) {
+    assert(file->status == FD_OPENED);
+    fopen_count_inc(file);
+}
+
+// fd_array_release - file's open_count--; if file's open_count-- == 0 , then call fd_array_free to free this file item
+static void
+fd_array_release(struct file *file) {
+    assert(file->status == FD_OPENED || file->status == FD_CLOSED);
+    assert(fopen_count(file) > 0);
+    if (fopen_count_dec(file) == 0) {
+        fd_array_free(file);
+    }
+}
+
+// fd_array_open - file's open_count++, set status to FD_OPENED
+void
+fd_array_open(struct file *file) {
+    assert(file->status == FD_INIT && file->node != NULL);
+    file->status = FD_OPENED;
+    fopen_count_inc(file);
+}
+
+// fd_array_close - file's open_count--; if file's open_count-- == 0 , then call fd_array_free to free this file item
+void
+fd_array_close(struct file *file) {
+    assert(file->status == FD_OPENED);
+    assert(fopen_count(file) > 0);
+    file->status = FD_CLOSED;
+    if (fopen_count_dec(file) == 0) {
+        fd_array_free(file);
+    }
+}
+
+//fs_array_dup - duplicate file 'from'  to file 'to'
+void
+fd_array_dup(struct file *to, struct file *from) {
+    //cprintf("[fd_array_dup]from fd=%d, to fd=%d\n",from->fd, to->fd);
+    assert(to->status == FD_INIT && from->status == FD_OPENED);
+    to->pos = from->pos;
+    to->readable = from->readable;
+    to->writable = from->writable;
+    struct inode *node = from->node;
+    vop_ref_inc(node), vop_open_inc(node);
+    to->node = node;
+    fd_array_open(to);
+}
+
+// fd2file - use fd as index of fd_array, return the array item (file)
+static inline int
+fd2file(int fd, struct file **file_store) {
+    if (testfd(fd)) {
+        struct file *file = get_fd_array() + fd;
+        if (file->status == FD_OPENED && file->fd == fd) {
+            *file_store = file;
+            return 0;
+        }
+    }
+    return -E_INVAL;
+}
+
+// file_testfd - test file is readble or writable?
+bool
+file_testfd(int fd, bool readable, bool writable) {
+    int ret;
+    struct file *file;
+    if ((ret = fd2file(fd, &file)) != 0) {
+        return 0;
+    }
+    if (readable && !file->readable) {
+        return 0;
+    }
+    if (writable && !file->writable) {
+        return 0;
+    }
+    return 1;
+}
+
+// open file
+int
+file_open(char *path, uint32_t open_flags) {
+    bool readable = 0, writable = 0;
+    switch (open_flags & O_ACCMODE) {
+    case O_RDONLY: readable = 1; break;
+    case O_WRONLY: writable = 1; break;
+    case O_RDWR:
+        readable = writable = 1;
+        break;
+    default:
+        return -E_INVAL;
+    }
+
+    int ret;
+    struct file *file;
+    if ((ret = fd_array_alloc(NO_FD, &file)) != 0) {
+        return ret;
+    }
+
+    struct inode *node;
+    if ((ret = vfs_open(path, open_flags, &node)) != 0) {
+        fd_array_free(file);
+        return ret;
+    }
+
+    file->pos = 0;
+    if (open_flags & O_APPEND) {
+        struct stat __stat, *stat = &__stat;
+        if ((ret = vop_fstat(node, stat)) != 0) {
+            vfs_close(node);
+            fd_array_free(file);
+            return ret;
+        }
+        file->pos = stat->st_size;
+    }
+
+    file->node = node;
+    file->readable = readable;
+    file->writable = writable;
+    fd_array_open(file);
+    return file->fd;
+}
+
+// close file
+int
+file_close(int fd) {
+    int ret;
+    struct file *file;
+    if ((ret = fd2file(fd, &file)) != 0) {
+        return ret;
+    }
+    fd_array_close(file);
+    return 0;
+}
+
+// read file
+int
+file_read(int fd, void *base, size_t len, size_t *copied_store) {
+    int ret;
+    struct file *file;
+    *copied_store = 0;
+    if ((ret = fd2file(fd, &file)) != 0) {
+        return ret;
+    }
+    if (!file->readable) {
+        return -E_INVAL;
+    }
+    fd_array_acquire(file);
+
+    struct iobuf __iob, *iob = iobuf_init(&__iob, base, len, file->pos);
+    ret = vop_read(file->node, iob);
+
+    size_t copied = iobuf_used(iob);
+    if (file->status == FD_OPENED) {
+        file->pos += copied;
+    }
+    *copied_store = copied;
+    fd_array_release(file);
+    return ret;
+}
+
+// write file
+int
+file_write(int fd, void *base, size_t len, size_t *copied_store) {
+    int ret;
+    struct file *file;
+    *copied_store = 0;
+    if ((ret = fd2file(fd, &file)) != 0) {
+        return ret;
+    }
+    if (!file->writable) {
+        return -E_INVAL;
+    }
+    fd_array_acquire(file);
+
+    struct iobuf __iob, *iob = iobuf_init(&__iob, base, len, file->pos);
+    ret = vop_write(file->node, iob);
+
+    size_t copied = iobuf_used(iob);
+    if (file->status == FD_OPENED) {
+        file->pos += copied;
+    }
+    *copied_store = copied;
+    fd_array_release(file);
+    return ret;
+}
+
+// seek file
+int
+file_seek(int fd, off_t pos, int whence) {
+    struct stat __stat, *stat = &__stat;
+    int ret;
+    struct file *file;
+    if ((ret = fd2file(fd, &file)) != 0) {
+        return ret;
+    }
+    fd_array_acquire(file);
+
+    switch (whence) {
+    case LSEEK_SET: break;
+    case LSEEK_CUR: pos += file->pos; break;
+    case LSEEK_END:
+        if ((ret = vop_fstat(file->node, stat)) == 0) {
+            pos += stat->st_size;
+        }
+        break;
+    default: ret = -E_INVAL;
+    }
+
+    if (ret == 0) {
+        if ((ret = vop_tryseek(file->node, pos)) == 0) {
+            file->pos = pos;
+        }
+//    cprintf("file_seek, pos=%d, whence=%d, ret=%d\n", pos, whence, ret);
+    }
+    fd_array_release(file);
+    return ret;
+}
+
+// stat file
+int
+file_fstat(int fd, struct stat *stat) {
+    int ret;
+    struct file *file;
+    if ((ret = fd2file(fd, &file)) != 0) {
+        return ret;
+    }
+    fd_array_acquire(file);
+    ret = vop_fstat(file->node, stat);
+    fd_array_release(file);
+    return ret;
+}
+
+// sync file
+int
+file_fsync(int fd) {
+    int ret;
+    struct file *file;
+    if ((ret = fd2file(fd, &file)) != 0) {
+        return ret;
+    }
+    fd_array_acquire(file);
+    ret = vop_fsync(file->node);
+    fd_array_release(file);
+    return ret;
+}
+
+// get file entry in DIR
+int
+file_getdirentry(int fd, struct dirent *direntp) {
+    int ret;
+    struct file *file;
+    if ((ret = fd2file(fd, &file)) != 0) {
+        return ret;
+    }
+    fd_array_acquire(file);
+
+    struct iobuf __iob, *iob = iobuf_init(&__iob, direntp->name, sizeof(direntp->name), direntp->offset);
+    if ((ret = vop_getdirentry(file->node, iob)) == 0) {
+        direntp->offset += iobuf_used(iob);
+    }
+    fd_array_release(file);
+    return ret;
+}
+
+// duplicate file
+int
+file_dup(int fd1, int fd2) {
+    int ret;
+    struct file *file1, *file2;
+    if ((ret = fd2file(fd1, &file1)) != 0) {
+        return ret;
+    }
+    if ((ret = fd_array_alloc(fd2, &file2)) != 0) {
+        return ret;
+    }
+    fd_array_dup(file2, file1);
+    return file2->fd;
+}
+
+
diff --git a/code/lab8/kern/fs/file.h b/code/lab8/kern/fs/file.h
new file mode 100644
index 0000000..8b58ba8
--- /dev/null
+++ b/code/lab8/kern/fs/file.h
@@ -0,0 +1,60 @@
+#ifndef __KERN_FS_FILE_H__
+#define __KERN_FS_FILE_H__
+
+//#include <types.h>
+#include <fs.h>
+#include <proc.h>
+#include <atomic.h>
+#include <assert.h>
+
+struct inode;
+struct stat;
+struct dirent;
+
+struct file {
+    enum {
+        FD_NONE, FD_INIT, FD_OPENED, FD_CLOSED,
+    } status;
+    bool readable;
+    bool writable;
+    int fd;
+    off_t pos;
+    struct inode *node;
+    atomic_t open_count;
+};
+
+void fd_array_init(struct file *fd_array);
+void fd_array_open(struct file *file);
+void fd_array_close(struct file *file);
+void fd_array_dup(struct file *to, struct file *from);
+bool file_testfd(int fd, bool readable, bool writable);
+
+int file_open(char *path, uint32_t open_flags);
+int file_close(int fd);
+int file_read(int fd, void *base, size_t len, size_t *copied_store);
+int file_write(int fd, void *base, size_t len, size_t *copied_store);
+int file_seek(int fd, off_t pos, int whence);
+int file_fstat(int fd, struct stat *stat);
+int file_fsync(int fd);
+int file_getdirentry(int fd, struct dirent *dirent);
+int file_dup(int fd1, int fd2);
+int file_pipe(int fd[]);
+int file_mkfifo(const char *name, uint32_t open_flags);
+
+static inline int
+fopen_count(struct file *file) {
+    return atomic_read(&(file->open_count));
+}
+
+static inline int
+fopen_count_inc(struct file *file) {
+    return atomic_add_return(&(file->open_count), 1);
+}
+
+static inline int
+fopen_count_dec(struct file *file) {
+    return atomic_sub_return(&(file->open_count), 1);
+}
+
+#endif /* !__KERN_FS_FILE_H__ */
+
diff --git a/code/lab8/kern/fs/fs.c b/code/lab8/kern/fs/fs.c
new file mode 100644
index 0000000..41f157c
--- /dev/null
+++ b/code/lab8/kern/fs/fs.c
@@ -0,0 +1,99 @@
+#include <defs.h>
+#include <kmalloc.h>
+#include <sem.h>
+#include <vfs.h>
+#include <dev.h>
+#include <file.h>
+#include <sfs.h>
+#include <inode.h>
+#include <assert.h>
+//called when init_main proc start
+void
+fs_init(void) {
+    vfs_init();
+    dev_init();
+    sfs_init();
+}
+
+void
+fs_cleanup(void) {
+    vfs_cleanup();
+}
+
+void
+lock_files(struct files_struct *filesp) {
+    down(&(filesp->files_sem));
+}
+
+void
+unlock_files(struct files_struct *filesp) {
+    up(&(filesp->files_sem));
+}
+//Called when a new proc init
+struct files_struct *
+files_create(void) {
+    //cprintf("[files_create]\n");
+    static_assert((int)FILES_STRUCT_NENTRY > 128);
+    struct files_struct *filesp;
+    if ((filesp = kmalloc(sizeof(struct files_struct) + FILES_STRUCT_BUFSIZE)) != NULL) {
+        filesp->pwd = NULL;
+        filesp->fd_array = (void *)(filesp + 1);
+        atomic_set(&(filesp->files_count), 0);
+        sem_init(&(filesp->files_sem), 1);
+        fd_array_init(filesp->fd_array);
+    }
+    return filesp;
+}
+//Called when a proc exit
+void
+files_destroy(struct files_struct *filesp) {
+//    cprintf("[files_destroy]\n");
+    assert(filesp != NULL && files_count(filesp) == 0);
+    if (filesp->pwd != NULL) {
+        vop_ref_dec(filesp->pwd);
+    }
+    int i;
+    struct file *file = filesp->fd_array;
+    for (i = 0; i < FILES_STRUCT_NENTRY; i ++, file ++) {
+        if (file->status == FD_OPENED) {
+            fd_array_close(file);
+        }
+        assert(file->status == FD_NONE);
+    }
+    kfree(filesp);
+}
+
+void
+files_closeall(struct files_struct *filesp) {
+//    cprintf("[files_closeall]\n");
+    assert(filesp != NULL && files_count(filesp) > 0);
+    int i;
+    struct file *file = filesp->fd_array;
+    //skip the stdin & stdout
+    for (i = 2, file += 2; i < FILES_STRUCT_NENTRY; i ++, file ++) {
+        if (file->status == FD_OPENED) {
+            fd_array_close(file);
+        }
+    }
+}
+
+int
+dup_fs(struct files_struct *to, struct files_struct *from) {
+//    cprintf("[dup_fs]\n");
+    assert(to != NULL && from != NULL);
+    assert(files_count(to) == 0 && files_count(from) > 0);
+    if ((to->pwd = from->pwd) != NULL) {
+        vop_ref_inc(to->pwd);
+    }
+    int i;
+    struct file *to_file = to->fd_array, *from_file = from->fd_array;
+    for (i = 0; i < FILES_STRUCT_NENTRY; i ++, to_file ++, from_file ++) {
+        if (from_file->status == FD_OPENED) {
+            /* alloc_fd first */
+            to_file->status = FD_INIT;
+            fd_array_dup(to_file, from_file);
+        }
+    }
+    return 0;
+}
+
diff --git a/code/lab8/kern/fs/fs.h b/code/lab8/kern/fs/fs.h
new file mode 100644
index 0000000..f9acb36
--- /dev/null
+++ b/code/lab8/kern/fs/fs.h
@@ -0,0 +1,59 @@
+#ifndef __KERN_FS_FS_H__
+#define __KERN_FS_FS_H__
+
+#include <defs.h>
+#include <mmu.h>
+#include <sem.h>
+#include <atomic.h>
+
+#define SECTSIZE            512
+#define PAGE_NSECT          (PGSIZE / SECTSIZE)
+
+#define SWAP_DEV_NO         1
+#define DISK0_DEV_NO        2
+#define DISK1_DEV_NO        3
+
+void fs_init(void);
+void fs_cleanup(void);
+
+struct inode;
+struct file;
+
+/*
+ * process's file related informaction
+ */
+struct files_struct {
+    struct inode *pwd;      // inode of present working directory
+    struct file *fd_array;  // opened files array
+    atomic_t files_count;   // the number of opened files
+    semaphore_t files_sem;  // lock protect sem
+};
+
+#define FILES_STRUCT_BUFSIZE                       (PGSIZE - sizeof(struct files_struct))
+#define FILES_STRUCT_NENTRY                        (FILES_STRUCT_BUFSIZE / sizeof(struct file))
+
+void lock_files(struct files_struct *filesp);
+void unlock_files(struct files_struct *filesp);
+
+struct files_struct *files_create(void);
+void files_destroy(struct files_struct *filesp);
+void files_closeall(struct files_struct *filesp);
+int dup_files(struct files_struct *to, struct files_struct *from);
+
+static inline int
+files_count(struct files_struct *filesp) {
+    return atomic_read(&(filesp->files_count));
+}
+
+static inline int
+files_count_inc(struct files_struct *filesp) {
+    return atomic_add_return(&(filesp->files_count), 1);
+}
+
+static inline int
+files_count_dec(struct files_struct *filesp) {
+    return atomic_sub_return(&(filesp->files_count), 1);
+}
+
+#endif /* !__KERN_FS_FS_H__ */
+
diff --git a/code/lab8/kern/fs/iobuf.c b/code/lab8/kern/fs/iobuf.c
new file mode 100644
index 0000000..2d13b2e
--- /dev/null
+++ b/code/lab8/kern/fs/iobuf.c
@@ -0,0 +1,77 @@
+#include <defs.h>
+#include <string.h>
+#include <iobuf.h>
+#include <error.h>
+#include <assert.h>
+
+/* 
+ * iobuf_init - init io buffer struct.
+ *                set up io_base to point to the buffer you want to transfer to, and set io_len to the length of buffer;
+ *                initialize io_offset as desired;
+ *                initialize io_resid to the total amount of data that can be transferred through this io.
+ */
+struct iobuf *
+iobuf_init(struct iobuf *iob, void *base, size_t len, off_t offset) {
+    iob->io_base = base;
+    iob->io_offset = offset;
+    iob->io_len = iob->io_resid = len;
+    return iob;
+}
+
+/* iobuf_move - move data  (iob->io_base ---> data OR  data --> iob->io.base) in memory
+ * @copiedp:  the size of data memcopied
+ *
+ * iobuf_move may be called repeatedly on the same io to transfer
+ * additional data until the available buffer space the io refers to
+ * is exhausted.
+ */
+int
+iobuf_move(struct iobuf *iob, void *data, size_t len, bool m2b, size_t *copiedp) {
+    size_t alen;
+    if ((alen = iob->io_resid) > len) {
+        alen = len;
+    }
+    if (alen > 0) {
+        void *src = iob->io_base, *dst = data;
+        if (m2b) {
+            void *tmp = src;
+            src = dst, dst = tmp;
+        }
+        memmove(dst, src, alen);
+        iobuf_skip(iob, alen), len -= alen;
+    }
+    if (copiedp != NULL) {
+        *copiedp = alen;
+    }
+    return (len == 0) ? 0 : -E_NO_MEM;
+}
+
+/*
+ * iobuf_move_zeros - set io buffer zero
+ * @copiedp:  the size of data memcopied
+ */
+int
+iobuf_move_zeros(struct iobuf *iob, size_t len, size_t *copiedp) {
+    size_t alen;
+    if ((alen = iob->io_resid) > len) {
+        alen = len;
+    }
+    if (alen > 0) {
+        memset(iob->io_base, 0, alen);
+        iobuf_skip(iob, alen), len -= alen;
+    }
+    if (copiedp != NULL) {
+        *copiedp = alen;
+    }
+    return (len == 0) ? 0 : -E_NO_MEM;
+}
+
+/*
+ * iobuf_skip - change the current position of io buffer
+ */
+void
+iobuf_skip(struct iobuf *iob, size_t n) {
+    assert(iob->io_resid >= n);
+    iob->io_base += n, iob->io_offset += n, iob->io_resid -= n;
+}
+
diff --git a/code/lab8/kern/fs/iobuf.h b/code/lab8/kern/fs/iobuf.h
new file mode 100644
index 0000000..8bb668a
--- /dev/null
+++ b/code/lab8/kern/fs/iobuf.h
@@ -0,0 +1,24 @@
+#ifndef __KERN_FS_IOBUF_H__
+#define __KERN_FS_IOBUF_H__
+
+#include <defs.h>
+
+/*
+ * iobuf is a buffer Rd/Wr status record
+ */
+struct iobuf {
+    void *io_base;     // the base addr of buffer (used for Rd/Wr)
+    off_t io_offset;   // current Rd/Wr position in buffer, will have been incremented by the amount transferred
+    size_t io_len;     // the length of buffer  (used for Rd/Wr)
+    size_t io_resid;   // current resident length need to Rd/Wr, will have been decremented by the amount transferred.
+};
+
+#define iobuf_used(iob)                         ((size_t)((iob)->io_len - (iob)->io_resid))
+
+struct iobuf *iobuf_init(struct iobuf *iob, void *base, size_t len, off_t offset);
+int iobuf_move(struct iobuf *iob, void *data, size_t len, bool m2b, size_t *copiedp);
+int iobuf_move_zeros(struct iobuf *iob, size_t len, size_t *copiedp);
+void iobuf_skip(struct iobuf *iob, size_t n);
+
+#endif /* !__KERN_FS_IOBUF_H__ */
+
diff --git a/code/lab8/kern/fs/sfs/bitmap.c b/code/lab8/kern/fs/sfs/bitmap.c
new file mode 100644
index 0000000..c2d1c8d
--- /dev/null
+++ b/code/lab8/kern/fs/sfs/bitmap.c
@@ -0,0 +1,114 @@
+#include <defs.h>
+#include <string.h>
+#include <bitmap.h>
+#include <kmalloc.h>
+#include <error.h>
+#include <assert.h>
+
+#define WORD_TYPE           uint32_t
+#define WORD_BITS           (sizeof(WORD_TYPE) * CHAR_BIT)
+
+struct bitmap {
+    uint32_t nbits;
+    uint32_t nwords;
+    WORD_TYPE *map;
+};
+
+// bitmap_create - allocate a new bitmap object.
+struct bitmap *
+bitmap_create(uint32_t nbits) {
+    static_assert(WORD_BITS != 0);
+    assert(nbits != 0 && nbits + WORD_BITS > nbits);
+
+    struct bitmap *bitmap;
+    if ((bitmap = kmalloc(sizeof(struct bitmap))) == NULL) {
+        return NULL;
+    }
+
+    uint32_t nwords = ROUNDUP_DIV(nbits, WORD_BITS);
+    WORD_TYPE *map;
+    if ((map = kmalloc(sizeof(WORD_TYPE) * nwords)) == NULL) {
+        kfree(bitmap);
+        return NULL;
+    }
+
+    bitmap->nbits = nbits, bitmap->nwords = nwords;
+    bitmap->map = memset(map, 0xFF, sizeof(WORD_TYPE) * nwords);
+
+    /* mark any leftover bits at the end in use(0) */
+    if (nbits != nwords * WORD_BITS) {
+        uint32_t ix = nwords - 1, overbits = nbits - ix * WORD_BITS;
+
+        assert(nbits / WORD_BITS == ix);
+        assert(overbits > 0 && overbits < WORD_BITS);
+
+        for (; overbits < WORD_BITS; overbits ++) {
+            bitmap->map[ix] ^= (1 << overbits);
+        }
+    }
+    return bitmap;
+}
+
+// bitmap_alloc - locate a cleared bit, set it, and return its index.
+int
+bitmap_alloc(struct bitmap *bitmap, uint32_t *index_store) {
+    WORD_TYPE *map = bitmap->map;
+    uint32_t ix, offset, nwords = bitmap->nwords;
+    for (ix = 0; ix < nwords; ix ++) {
+        if (map[ix] != 0) {
+            for (offset = 0; offset < WORD_BITS; offset ++) {
+                WORD_TYPE mask = (1 << offset);
+                if (map[ix] & mask) {
+                    map[ix] ^= mask;
+                    *index_store = ix * WORD_BITS + offset;
+                    return 0;
+                }
+            }
+            assert(0);
+        }
+    }
+    return -E_NO_MEM;
+}
+
+// bitmap_translate - according index, get the related word and mask
+static void
+bitmap_translate(struct bitmap *bitmap, uint32_t index, WORD_TYPE **word, WORD_TYPE *mask) {
+    assert(index < bitmap->nbits);
+    uint32_t ix = index / WORD_BITS, offset = index % WORD_BITS;
+    *word = bitmap->map + ix;
+    *mask = (1 << offset);
+}
+
+// bitmap_test - according index, get the related value (0 OR 1) in the bitmap
+bool
+bitmap_test(struct bitmap *bitmap, uint32_t index) {
+    WORD_TYPE *word, mask;
+    bitmap_translate(bitmap, index, &word, &mask);
+    return (*word & mask);
+}
+
+// bitmap_free - according index, set related bit to 1
+void
+bitmap_free(struct bitmap *bitmap, uint32_t index) {
+    WORD_TYPE *word, mask;
+    bitmap_translate(bitmap, index, &word, &mask);
+    assert(!(*word & mask));
+    *word |= mask;
+}
+
+// bitmap_destroy - free memory contains bitmap
+void
+bitmap_destroy(struct bitmap *bitmap) {
+    kfree(bitmap->map);
+    kfree(bitmap);
+}
+
+// bitmap_getdata - return bitmap->map, return the length of bits to len_store
+void *
+bitmap_getdata(struct bitmap *bitmap, size_t *len_store) {
+    if (len_store != NULL) {
+        *len_store = sizeof(WORD_TYPE) * bitmap->nwords;
+    }
+    return bitmap->map;
+}
+
diff --git a/code/lab8/kern/fs/sfs/bitmap.h b/code/lab8/kern/fs/sfs/bitmap.h
new file mode 100644
index 0000000..4a3a8eb
--- /dev/null
+++ b/code/lab8/kern/fs/sfs/bitmap.h
@@ -0,0 +1,32 @@
+#ifndef __KERN_FS_SFS_BITMAP_H__
+#define __KERN_FS_SFS_BITMAP_H__
+
+#include <defs.h>
+
+
+/*
+ * Fixed-size array of bits. (Intended for storage management.)
+ *
+ * Functions:
+ *     bitmap_create  - allocate a new bitmap object.
+ *                      Returns NULL on error.
+ *     bitmap_getdata - return pointer to raw bit data (for I/O).
+ *     bitmap_alloc   - locate a cleared bit, set it, and return its index.
+ *     bitmap_mark    - set a clear bit by its index.
+ *     bitmap_unmark  - clear a set bit by its index.
+ *     bitmap_isset   - return whether a particular bit is set or not.
+ *     bitmap_destroy - destroy bitmap.
+ */
+
+
+struct bitmap;
+
+struct bitmap *bitmap_create(uint32_t nbits);                     // allocate a new bitmap object.
+int bitmap_alloc(struct bitmap *bitmap, uint32_t *index_store);   // locate a cleared bit, set it, and return its index.
+bool bitmap_test(struct bitmap *bitmap, uint32_t index);          // return whether a particular bit is set or not.
+void bitmap_free(struct bitmap *bitmap, uint32_t index);          // according index, set related bit to 1
+void bitmap_destroy(struct bitmap *bitmap);                       // free memory contains bitmap
+void *bitmap_getdata(struct bitmap *bitmap, size_t *len_store);   // return pointer to raw bit data (for I/O)
+
+#endif /* !__KERN_FS_SFS_BITMAP_H__ */
+
diff --git a/code/lab8/kern/fs/sfs/sfs.c b/code/lab8/kern/fs/sfs/sfs.c
new file mode 100644
index 0000000..c1d7d44
--- /dev/null
+++ b/code/lab8/kern/fs/sfs/sfs.c
@@ -0,0 +1,19 @@
+#include <defs.h>
+#include <sfs.h>
+#include <error.h>
+#include <assert.h>
+
+/*
+ * sfs_init - mount sfs on disk0
+ *
+ * CALL GRAPH:
+ *   kern_init-->fs_init-->sfs_init
+ */
+void
+sfs_init(void) {
+    int ret;
+    if ((ret = sfs_mount("disk0")) != 0) {
+        panic("failed: sfs: sfs_mount: %e.\n", ret);
+    }
+}
+
diff --git a/code/lab8/kern/fs/sfs/sfs.h b/code/lab8/kern/fs/sfs/sfs.h
new file mode 100644
index 0000000..39c1772
--- /dev/null
+++ b/code/lab8/kern/fs/sfs/sfs.h
@@ -0,0 +1,129 @@
+#ifndef __KERN_FS_SFS_SFS_H__
+#define __KERN_FS_SFS_SFS_H__
+
+#include <defs.h>
+#include <mmu.h>
+#include <list.h>
+#include <sem.h>
+#include <unistd.h>
+
+/*
+ * Simple FS (SFS) definitions visible to ucore. This covers the on-disk format
+ * and is used by tools that work on SFS volumes, such as mksfs.
+ */
+
+#define SFS_MAGIC                                   0x2f8dbe2a              /* magic number for sfs */
+#define SFS_BLKSIZE                                 PGSIZE                  /* size of block */
+#define SFS_NDIRECT                                 12                      /* # of direct blocks in inode */
+#define SFS_MAX_INFO_LEN                            31                      /* max length of infomation */
+#define SFS_MAX_FNAME_LEN                           FS_MAX_FNAME_LEN        /* max length of filename */
+#define SFS_MAX_FILE_SIZE                           (1024UL * 1024 * 128)   /* max file size (128M) */
+#define SFS_BLKN_SUPER                              0                       /* block the superblock lives in */
+#define SFS_BLKN_ROOT                               1                       /* location of the root dir inode */
+#define SFS_BLKN_FREEMAP                            2                       /* 1st block of the freemap */
+
+/* # of bits in a block */
+#define SFS_BLKBITS                                 (SFS_BLKSIZE * CHAR_BIT)
+
+/* # of entries in a block */
+#define SFS_BLK_NENTRY                              (SFS_BLKSIZE / sizeof(uint32_t))
+
+/* file types */
+#define SFS_TYPE_INVAL                              0       /* Should not appear on disk */
+#define SFS_TYPE_FILE                               1
+#define SFS_TYPE_DIR                                2
+#define SFS_TYPE_LINK                               3
+
+/*
+ * On-disk superblock
+ */
+struct sfs_super {
+    uint32_t magic;                                 /* magic number, should be SFS_MAGIC */
+    uint32_t blocks;                                /* # of blocks in fs */
+    uint32_t unused_blocks;                         /* # of unused blocks in fs */
+    char info[SFS_MAX_INFO_LEN + 1];                /* infomation for sfs  */
+};
+
+/* inode (on disk) */
+struct sfs_disk_inode {
+    uint32_t size;                                  /* size of the file (in bytes) */
+    uint16_t type;                                  /* one of SYS_TYPE_* above */
+    uint16_t nlinks;                                /* # of hard links to this file */
+    uint32_t blocks;                                /* # of blocks */
+    uint32_t direct[SFS_NDIRECT];                   /* direct blocks */
+    uint32_t indirect;                              /* indirect blocks */
+//    uint32_t db_indirect;                           /* double indirect blocks */
+//   unused
+};
+
+/* file entry (on disk) */
+struct sfs_disk_entry {
+    uint32_t ino;                                   /* inode number */
+    char name[SFS_MAX_FNAME_LEN + 1];               /* file name */
+};
+
+#define sfs_dentry_size                             \
+    sizeof(((struct sfs_disk_entry *)0)->name)
+
+/* inode for sfs */
+struct sfs_inode {
+    struct sfs_disk_inode *din;                     /* on-disk inode */
+    uint32_t ino;                                   /* inode number */
+    bool dirty;                                     /* true if inode modified */
+    int reclaim_count;                              /* kill inode if it hits zero */
+    semaphore_t sem;                                /* semaphore for din */
+    list_entry_t inode_link;                        /* entry for linked-list in sfs_fs */
+    list_entry_t hash_link;                         /* entry for hash linked-list in sfs_fs */
+};
+
+#define le2sin(le, member)                          \
+    to_struct((le), struct sfs_inode, member)
+
+/* filesystem for sfs */
+struct sfs_fs {
+    struct sfs_super super;                         /* on-disk superblock */
+    struct device *dev;                             /* device mounted on */
+    struct bitmap *freemap;                         /* blocks in use are mared 0 */
+    bool super_dirty;                               /* true if super/freemap modified */
+    void *sfs_buffer;                               /* buffer for non-block aligned io */
+    semaphore_t fs_sem;                             /* semaphore for fs */
+    semaphore_t io_sem;                             /* semaphore for io */
+    semaphore_t mutex_sem;                          /* semaphore for link/unlink and rename */
+    list_entry_t inode_list;                        /* inode linked-list */
+    list_entry_t *hash_list;                        /* inode hash linked-list */
+};
+
+/* hash for sfs */
+#define SFS_HLIST_SHIFT                             10
+#define SFS_HLIST_SIZE                              (1 << SFS_HLIST_SHIFT)
+#define sin_hashfn(x)                               (hash32(x, SFS_HLIST_SHIFT))
+
+/* size of freemap (in bits) */
+#define sfs_freemap_bits(super)                     ROUNDUP((super)->blocks, SFS_BLKBITS)
+
+/* size of freemap (in blocks) */
+#define sfs_freemap_blocks(super)                   ROUNDUP_DIV((super)->blocks, SFS_BLKBITS)
+
+struct fs;
+struct inode;
+
+void sfs_init(void);
+int sfs_mount(const char *devname);
+
+void lock_sfs_fs(struct sfs_fs *sfs);
+void lock_sfs_io(struct sfs_fs *sfs);
+void unlock_sfs_fs(struct sfs_fs *sfs);
+void unlock_sfs_io(struct sfs_fs *sfs);
+
+int sfs_rblock(struct sfs_fs *sfs, void *buf, uint32_t blkno, uint32_t nblks);
+int sfs_wblock(struct sfs_fs *sfs, void *buf, uint32_t blkno, uint32_t nblks);
+int sfs_rbuf(struct sfs_fs *sfs, void *buf, size_t len, uint32_t blkno, off_t offset);
+int sfs_wbuf(struct sfs_fs *sfs, void *buf, size_t len, uint32_t blkno, off_t offset);
+int sfs_sync_super(struct sfs_fs *sfs);
+int sfs_sync_freemap(struct sfs_fs *sfs);
+int sfs_clear_block(struct sfs_fs *sfs, uint32_t blkno, uint32_t nblks);
+
+int sfs_load_inode(struct sfs_fs *sfs, struct inode **node_store, uint32_t ino);
+
+#endif /* !__KERN_FS_SFS_SFS_H__ */
+
diff --git a/code/lab8/kern/fs/sfs/sfs_fs.c b/code/lab8/kern/fs/sfs/sfs_fs.c
new file mode 100644
index 0000000..6f4dc19
--- /dev/null
+++ b/code/lab8/kern/fs/sfs/sfs_fs.c
@@ -0,0 +1,258 @@
+#include <defs.h>
+#include <stdio.h>
+#include <string.h>
+#include <kmalloc.h>
+#include <list.h>
+#include <fs.h>
+#include <vfs.h>
+#include <dev.h>
+#include <sfs.h>
+#include <inode.h>
+#include <iobuf.h>
+#include <bitmap.h>
+#include <error.h>
+#include <assert.h>
+
+/*
+ * sfs_sync - sync sfs's superblock and freemap in memroy into disk
+ */
+static int
+sfs_sync(struct fs *fs) {
+    struct sfs_fs *sfs = fsop_info(fs, sfs);
+    lock_sfs_fs(sfs);
+    {
+        list_entry_t *list = &(sfs->inode_list), *le = list;
+        while ((le = list_next(le)) != list) {
+            struct sfs_inode *sin = le2sin(le, inode_link);
+            vop_fsync(info2node(sin, sfs_inode));
+        }
+    }
+    unlock_sfs_fs(sfs);
+
+    int ret;
+    if (sfs->super_dirty) {
+        sfs->super_dirty = 0;
+        if ((ret = sfs_sync_super(sfs)) != 0) {
+            sfs->super_dirty = 1;
+            return ret;
+        }
+        if ((ret = sfs_sync_freemap(sfs)) != 0) {
+            sfs->super_dirty = 1;
+            return ret;
+        }
+    }
+    return 0;
+}
+
+/*
+ * sfs_get_root - get the root directory inode  from disk (SFS_BLKN_ROOT,1)
+ */
+static struct inode *
+sfs_get_root(struct fs *fs) {
+    struct inode *node;
+    int ret;
+    if ((ret = sfs_load_inode(fsop_info(fs, sfs), &node, SFS_BLKN_ROOT)) != 0) {
+        panic("load sfs root failed: %e", ret);
+    }
+    return node;
+}
+
+/*
+ * sfs_unmount - unmount sfs, and free the memorys contain sfs->freemap/sfs_buffer/hash_liskt and sfs itself.
+ */
+static int
+sfs_unmount(struct fs *fs) {
+    struct sfs_fs *sfs = fsop_info(fs, sfs);
+    if (!list_empty(&(sfs->inode_list))) {
+        return -E_BUSY;
+    }
+    assert(!sfs->super_dirty);
+    bitmap_destroy(sfs->freemap);
+    kfree(sfs->sfs_buffer);
+    kfree(sfs->hash_list);
+    kfree(sfs);
+    return 0;
+}
+
+/*
+ * sfs_cleanup - when sfs failed, then should call this function to sync sfs by calling sfs_sync
+ *
+ * NOTICE: nouse now.
+ */
+static void
+sfs_cleanup(struct fs *fs) {
+    struct sfs_fs *sfs = fsop_info(fs, sfs);
+    uint32_t blocks = sfs->super.blocks, unused_blocks = sfs->super.unused_blocks;
+    cprintf("sfs: cleanup: '%s' (%d/%d/%d)\n", sfs->super.info,
+            blocks - unused_blocks, unused_blocks, blocks);
+    int i, ret;
+    for (i = 0; i < 32; i ++) {
+        if ((ret = fsop_sync(fs)) == 0) {
+            break;
+        }
+    }
+    if (ret != 0) {
+        warn("sfs: sync error: '%s': %e.\n", sfs->super.info, ret);
+    }
+}
+
+/*
+ * sfs_init_read - used in sfs_do_mount to read disk block(blkno, 1) directly.
+ *
+ * @dev:        the block device
+ * @blkno:      the NO. of disk block
+ * @blk_buffer: the buffer used for read
+ *
+ *      (1) init iobuf
+ *      (2) read dev into iobuf
+ */
+static int
+sfs_init_read(struct device *dev, uint32_t blkno, void *blk_buffer) {
+    struct iobuf __iob, *iob = iobuf_init(&__iob, blk_buffer, SFS_BLKSIZE, blkno * SFS_BLKSIZE);
+    return dop_io(dev, iob, 0);
+}
+
+/*
+ * sfs_init_freemap - used in sfs_do_mount to read freemap data info in disk block(blkno, nblks) directly.
+ *
+ * @dev:        the block device
+ * @bitmap:     the bitmap in memroy
+ * @blkno:      the NO. of disk block
+ * @nblks:      Rd number of disk block
+ * @blk_buffer: the buffer used for read
+ *
+ *      (1) get data addr in bitmap
+ *      (2) read dev into iobuf
+ */
+static int
+sfs_init_freemap(struct device *dev, struct bitmap *freemap, uint32_t blkno, uint32_t nblks, void *blk_buffer) {
+    size_t len;
+    void *data = bitmap_getdata(freemap, &len);
+    assert(data != NULL && len == nblks * SFS_BLKSIZE);
+    while (nblks != 0) {
+        int ret;
+        if ((ret = sfs_init_read(dev, blkno, data)) != 0) {
+            return ret;
+        }
+        blkno ++, nblks --, data += SFS_BLKSIZE;
+    }
+    return 0;
+}
+
+/*
+ * sfs_do_mount - mount sfs file system.
+ *
+ * @dev:        the block device contains sfs file system
+ * @fs_store:   the fs struct in memroy
+ */
+static int
+sfs_do_mount(struct device *dev, struct fs **fs_store) {
+    static_assert(SFS_BLKSIZE >= sizeof(struct sfs_super));
+    static_assert(SFS_BLKSIZE >= sizeof(struct sfs_disk_inode));
+    static_assert(SFS_BLKSIZE >= sizeof(struct sfs_disk_entry));
+
+    if (dev->d_blocksize != SFS_BLKSIZE) {
+        return -E_NA_DEV;
+    }
+
+    /* allocate fs structure */
+    struct fs *fs;
+    if ((fs = alloc_fs(sfs)) == NULL) {
+        return -E_NO_MEM;
+    }
+    struct sfs_fs *sfs = fsop_info(fs, sfs);
+    sfs->dev = dev;
+
+    int ret = -E_NO_MEM;
+
+    void *sfs_buffer;
+    if ((sfs->sfs_buffer = sfs_buffer = kmalloc(SFS_BLKSIZE)) == NULL) {
+        goto failed_cleanup_fs;
+    }
+
+    /* load and check superblock */
+    if ((ret = sfs_init_read(dev, SFS_BLKN_SUPER, sfs_buffer)) != 0) {
+        goto failed_cleanup_sfs_buffer;
+    }
+
+    ret = -E_INVAL;
+
+    struct sfs_super *super = sfs_buffer;
+    if (super->magic != SFS_MAGIC) {
+        cprintf("sfs: wrong magic in superblock. (%08x should be %08x).\n",
+                super->magic, SFS_MAGIC);
+        goto failed_cleanup_sfs_buffer;
+    }
+    if (super->blocks > dev->d_blocks) {
+        cprintf("sfs: fs has %u blocks, device has %u blocks.\n",
+                super->blocks, dev->d_blocks);
+        goto failed_cleanup_sfs_buffer;
+    }
+    super->info[SFS_MAX_INFO_LEN] = '\0';
+    sfs->super = *super;
+
+    ret = -E_NO_MEM;
+
+    uint32_t i;
+
+    /* alloc and initialize hash list */
+    list_entry_t *hash_list;
+    if ((sfs->hash_list = hash_list = kmalloc(sizeof(list_entry_t) * SFS_HLIST_SIZE)) == NULL) {
+        goto failed_cleanup_sfs_buffer;
+    }
+    for (i = 0; i < SFS_HLIST_SIZE; i ++) {
+        list_init(hash_list + i);
+    }
+
+    /* load and check freemap */
+    struct bitmap *freemap;
+    uint32_t freemap_size_nbits = sfs_freemap_bits(super);
+    if ((sfs->freemap = freemap = bitmap_create(freemap_size_nbits)) == NULL) {
+        goto failed_cleanup_hash_list;
+    }
+    uint32_t freemap_size_nblks = sfs_freemap_blocks(super);
+    if ((ret = sfs_init_freemap(dev, freemap, SFS_BLKN_FREEMAP, freemap_size_nblks, sfs_buffer)) != 0) {
+        goto failed_cleanup_freemap;
+    }
+
+    uint32_t blocks = sfs->super.blocks, unused_blocks = 0;
+    for (i = 0; i < freemap_size_nbits; i ++) {
+        if (bitmap_test(freemap, i)) {
+            unused_blocks ++;
+        }
+    }
+    assert(unused_blocks == sfs->super.unused_blocks);
+
+    /* and other fields */
+    sfs->super_dirty = 0;
+    sem_init(&(sfs->fs_sem), 1);
+    sem_init(&(sfs->io_sem), 1);
+    sem_init(&(sfs->mutex_sem), 1);
+    list_init(&(sfs->inode_list));
+    cprintf("sfs: mount: '%s' (%d/%d/%d)\n", sfs->super.info,
+            blocks - unused_blocks, unused_blocks, blocks);
+
+    /* link addr of sync/get_root/unmount/cleanup funciton  fs's function pointers*/
+    fs->fs_sync = sfs_sync;
+    fs->fs_get_root = sfs_get_root;
+    fs->fs_unmount = sfs_unmount;
+    fs->fs_cleanup = sfs_cleanup;
+    *fs_store = fs;
+    return 0;
+
+failed_cleanup_freemap:
+    bitmap_destroy(freemap);
+failed_cleanup_hash_list:
+    kfree(hash_list);
+failed_cleanup_sfs_buffer:
+    kfree(sfs_buffer);
+failed_cleanup_fs:
+    kfree(fs);
+    return ret;
+}
+
+int
+sfs_mount(const char *devname) {
+    return vfs_mount(devname, sfs_do_mount);
+}
+
diff --git a/code/lab8/kern/fs/sfs/sfs_inode.c b/code/lab8/kern/fs/sfs/sfs_inode.c
new file mode 100644
index 0000000..0c4108e
--- /dev/null
+++ b/code/lab8/kern/fs/sfs/sfs_inode.c
@@ -0,0 +1,987 @@
+#include <defs.h>
+#include <string.h>
+#include <stdlib.h>
+#include <list.h>
+#include <stat.h>
+#include <kmalloc.h>
+#include <vfs.h>
+#include <dev.h>
+#include <sfs.h>
+#include <inode.h>
+#include <iobuf.h>
+#include <bitmap.h>
+#include <error.h>
+#include <assert.h>
+
+static const struct inode_ops sfs_node_dirops;  // dir operations
+static const struct inode_ops sfs_node_fileops; // file operations
+
+/*
+ * lock_sin - lock the process of inode Rd/Wr
+ */
+static void
+lock_sin(struct sfs_inode *sin) {
+    down(&(sin->sem));
+}
+
+/*
+ * unlock_sin - unlock the process of inode Rd/Wr
+ */
+static void
+unlock_sin(struct sfs_inode *sin) {
+    up(&(sin->sem));
+}
+
+/*
+ * sfs_get_ops - return function addr of fs_node_dirops/sfs_node_fileops
+ */
+static const struct inode_ops *
+sfs_get_ops(uint16_t type) {
+    switch (type) {
+    case SFS_TYPE_DIR:
+        return &sfs_node_dirops;
+    case SFS_TYPE_FILE:
+        return &sfs_node_fileops;
+    }
+    panic("invalid file type %d.\n", type);
+}
+
+/*
+ * sfs_hash_list - return inode entry in sfs->hash_list
+ */
+static list_entry_t *
+sfs_hash_list(struct sfs_fs *sfs, uint32_t ino) {
+    return sfs->hash_list + sin_hashfn(ino);
+}
+
+/*
+ * sfs_set_links - link inode sin in sfs->linked-list AND sfs->hash_link
+ */
+static void
+sfs_set_links(struct sfs_fs *sfs, struct sfs_inode *sin) {
+    list_add(&(sfs->inode_list), &(sin->inode_link));
+    list_add(sfs_hash_list(sfs, sin->ino), &(sin->hash_link));
+}
+
+/*
+ * sfs_remove_links - unlink inode sin in sfs->linked-list AND sfs->hash_link
+ */
+static void
+sfs_remove_links(struct sfs_inode *sin) {
+    list_del(&(sin->inode_link));
+    list_del(&(sin->hash_link));
+}
+
+/*
+ * sfs_block_inuse - check the inode with NO. ino inuse info in bitmap
+ */
+static bool
+sfs_block_inuse(struct sfs_fs *sfs, uint32_t ino) {
+    if (ino != 0 && ino < sfs->super.blocks) {
+        return !bitmap_test(sfs->freemap, ino);
+    }
+    panic("sfs_block_inuse: called out of range (0, %u) %u.\n", sfs->super.blocks, ino);
+}
+
+/*
+ * sfs_block_alloc -  check and get a free disk block
+ */
+static int
+sfs_block_alloc(struct sfs_fs *sfs, uint32_t *ino_store) {
+    int ret;
+    if ((ret = bitmap_alloc(sfs->freemap, ino_store)) != 0) {
+        return ret;
+    }
+    assert(sfs->super.unused_blocks > 0);
+    sfs->super.unused_blocks --, sfs->super_dirty = 1;
+    assert(sfs_block_inuse(sfs, *ino_store));
+    return sfs_clear_block(sfs, *ino_store, 1);
+}
+
+/*
+ * sfs_block_free - set related bits for ino block to 1(means free) in bitmap, add sfs->super.unused_blocks, set superblock dirty *
+ */
+static void
+sfs_block_free(struct sfs_fs *sfs, uint32_t ino) {
+    assert(sfs_block_inuse(sfs, ino));
+    bitmap_free(sfs->freemap, ino);
+    sfs->super.unused_blocks ++, sfs->super_dirty = 1;
+}
+
+/*
+ * sfs_create_inode - alloc a inode in memroy, and init din/ino/dirty/reclian_count/sem fields in sfs_inode in inode
+ */
+static int
+sfs_create_inode(struct sfs_fs *sfs, struct sfs_disk_inode *din, uint32_t ino, struct inode **node_store) {
+    struct inode *node;
+    if ((node = alloc_inode(sfs_inode)) != NULL) {
+        vop_init(node, sfs_get_ops(din->type), info2fs(sfs, sfs));
+        struct sfs_inode *sin = vop_info(node, sfs_inode);
+        sin->din = din, sin->ino = ino, sin->dirty = 0, sin->reclaim_count = 1;
+        sem_init(&(sin->sem), 1);
+        *node_store = node;
+        return 0;
+    }
+    return -E_NO_MEM;
+}
+
+/*
+ * lookup_sfs_nolock - according ino, find related inode
+ *
+ * NOTICE: le2sin, info2node MACRO
+ */
+static struct inode *
+lookup_sfs_nolock(struct sfs_fs *sfs, uint32_t ino) {
+    struct inode *node;
+    list_entry_t *list = sfs_hash_list(sfs, ino), *le = list;
+    while ((le = list_next(le)) != list) {
+        struct sfs_inode *sin = le2sin(le, hash_link);
+        if (sin->ino == ino) {
+            node = info2node(sin, sfs_inode);
+            if (vop_ref_inc(node) == 1) {
+                sin->reclaim_count ++;
+            }
+            return node;
+        }
+    }
+    return NULL;
+}
+
+/*
+ * sfs_load_inode - If the inode isn't existed, load inode related ino disk block data into a new created inode.
+ *                  If the inode is in memory alreadily, then do nothing
+ */
+int
+sfs_load_inode(struct sfs_fs *sfs, struct inode **node_store, uint32_t ino) {
+    lock_sfs_fs(sfs);
+    struct inode *node;
+    if ((node = lookup_sfs_nolock(sfs, ino)) != NULL) {
+        goto out_unlock;
+    }
+
+    int ret = -E_NO_MEM;
+    struct sfs_disk_inode *din;
+    if ((din = kmalloc(sizeof(struct sfs_disk_inode))) == NULL) {
+        goto failed_unlock;
+    }
+
+    assert(sfs_block_inuse(sfs, ino));
+    if ((ret = sfs_rbuf(sfs, din, sizeof(struct sfs_disk_inode), ino, 0)) != 0) {
+        goto failed_cleanup_din;
+    }
+
+    assert(din->nlinks != 0);
+    if ((ret = sfs_create_inode(sfs, din, ino, &node)) != 0) {
+        goto failed_cleanup_din;
+    }
+    sfs_set_links(sfs, vop_info(node, sfs_inode));
+
+out_unlock:
+    unlock_sfs_fs(sfs);
+    *node_store = node;
+    return 0;
+
+failed_cleanup_din:
+    kfree(din);
+failed_unlock:
+    unlock_sfs_fs(sfs);
+    return ret;
+}
+
+/*
+ * sfs_bmap_get_sub_nolock - according entry pointer entp and index, find the index of indrect disk block
+ *                           return the index of indrect disk block to ino_store. no lock protect
+ * @sfs:      sfs file system
+ * @entp:     the pointer of index of entry disk block
+ * @index:    the index of block in indrect block
+ * @create:   BOOL, if the block isn't allocated, if create = 1 the alloc a block,  otherwise just do nothing
+ * @ino_store: 0 OR the index of already inused block or new allocated block.
+ */
+static int
+sfs_bmap_get_sub_nolock(struct sfs_fs *sfs, uint32_t *entp, uint32_t index, bool create, uint32_t *ino_store) {
+    assert(index < SFS_BLK_NENTRY);
+    int ret;
+    uint32_t ent, ino = 0;
+    off_t offset = index * sizeof(uint32_t);  // the offset of entry in entry block
+	// if entry block is existd, read the content of entry block into  sfs->sfs_buffer
+    if ((ent = *entp) != 0) {
+        if ((ret = sfs_rbuf(sfs, &ino, sizeof(uint32_t), ent, offset)) != 0) {
+            return ret;
+        }
+        if (ino != 0 || !create) {
+            goto out;
+        }
+    }
+    else {
+        if (!create) {
+            goto out;
+        }
+		//if entry block isn't existd, allocated a entry block (for indrect block)
+        if ((ret = sfs_block_alloc(sfs, &ent)) != 0) {
+            return ret;
+        }
+    }
+    
+    if ((ret = sfs_block_alloc(sfs, &ino)) != 0) {
+        goto failed_cleanup;
+    }
+    if ((ret = sfs_wbuf(sfs, &ino, sizeof(uint32_t), ent, offset)) != 0) {
+        sfs_block_free(sfs, ino);
+        goto failed_cleanup;
+    }
+
+out:
+    if (ent != *entp) {
+        *entp = ent;
+    }
+    *ino_store = ino;
+    return 0;
+
+failed_cleanup:
+    if (ent != *entp) {
+        sfs_block_free(sfs, ent);
+    }
+    return ret;
+}
+
+/*
+ * sfs_bmap_get_nolock - according sfs_inode and index of block, find the NO. of disk block
+ *                       no lock protect
+ * @sfs:      sfs file system
+ * @sin:      sfs inode in memory
+ * @index:    the index of block in inode
+ * @create:   BOOL, if the block isn't allocated, if create = 1 the alloc a block,  otherwise just do nothing
+ * @ino_store: 0 OR the index of already inused block or new allocated block.
+ */
+static int
+sfs_bmap_get_nolock(struct sfs_fs *sfs, struct sfs_inode *sin, uint32_t index, bool create, uint32_t *ino_store) {
+    struct sfs_disk_inode *din = sin->din;
+    int ret;
+    uint32_t ent, ino;
+	// the index of disk block is in the fist SFS_NDIRECT  direct blocks
+    if (index < SFS_NDIRECT) {
+        if ((ino = din->direct[index]) == 0 && create) {
+            if ((ret = sfs_block_alloc(sfs, &ino)) != 0) {
+                return ret;
+            }
+            din->direct[index] = ino;
+            sin->dirty = 1;
+        }
+        goto out;
+    }
+    // the index of disk block is in the indirect blocks.
+    index -= SFS_NDIRECT;
+    if (index < SFS_BLK_NENTRY) {
+        ent = din->indirect;
+        if ((ret = sfs_bmap_get_sub_nolock(sfs, &ent, index, create, &ino)) != 0) {
+            return ret;
+        }
+        if (ent != din->indirect) {
+            assert(din->indirect == 0);
+            din->indirect = ent;
+            sin->dirty = 1;
+        }
+        goto out;
+    } else {
+		panic ("sfs_bmap_get_nolock - index out of range");
+	}
+out:
+    assert(ino == 0 || sfs_block_inuse(sfs, ino));
+    *ino_store = ino;
+    return 0;
+}
+
+/*
+ * sfs_bmap_free_sub_nolock - set the entry item to 0 (free) in the indirect block
+ */
+static int
+sfs_bmap_free_sub_nolock(struct sfs_fs *sfs, uint32_t ent, uint32_t index) {
+    assert(sfs_block_inuse(sfs, ent) && index < SFS_BLK_NENTRY);
+    int ret;
+    uint32_t ino, zero = 0;
+    off_t offset = index * sizeof(uint32_t);
+    if ((ret = sfs_rbuf(sfs, &ino, sizeof(uint32_t), ent, offset)) != 0) {
+        return ret;
+    }
+    if (ino != 0) {
+        if ((ret = sfs_wbuf(sfs, &zero, sizeof(uint32_t), ent, offset)) != 0) {
+            return ret;
+        }
+        sfs_block_free(sfs, ino);
+    }
+    return 0;
+}
+
+/*
+ * sfs_bmap_free_nolock - free a block with logical index in inode and reset the inode's fields
+ */
+static int
+sfs_bmap_free_nolock(struct sfs_fs *sfs, struct sfs_inode *sin, uint32_t index) {
+    struct sfs_disk_inode *din = sin->din;
+    int ret;
+    uint32_t ent, ino;
+    if (index < SFS_NDIRECT) {
+        if ((ino = din->direct[index]) != 0) {
+			// free the block
+            sfs_block_free(sfs, ino);
+            din->direct[index] = 0;
+            sin->dirty = 1;
+        }
+        return 0;
+    }
+
+    index -= SFS_NDIRECT;
+    if (index < SFS_BLK_NENTRY) {
+        if ((ent = din->indirect) != 0) {
+			// set the entry item to 0 in the indirect block
+            if ((ret = sfs_bmap_free_sub_nolock(sfs, ent, index)) != 0) {
+                return ret;
+            }
+        }
+        return 0;
+    }
+    return 0;
+}
+
+/*
+ * sfs_bmap_load_nolock - according to the DIR's inode and the logical index of block in inode, find the NO. of disk block.
+ * @sfs:      sfs file system
+ * @sin:      sfs inode in memory
+ * @index:    the logical index of disk block in inode
+ * @ino_store:the NO. of disk block
+ */
+static int
+sfs_bmap_load_nolock(struct sfs_fs *sfs, struct sfs_inode *sin, uint32_t index, uint32_t *ino_store) {
+    struct sfs_disk_inode *din = sin->din;
+    assert(index <= din->blocks);
+    int ret;
+    uint32_t ino;
+    bool create = (index == din->blocks);
+    if ((ret = sfs_bmap_get_nolock(sfs, sin, index, create, &ino)) != 0) {
+        return ret;
+    }
+    assert(sfs_block_inuse(sfs, ino));
+    if (create) {
+        din->blocks ++;
+    }
+    if (ino_store != NULL) {
+        *ino_store = ino;
+    }
+    return 0;
+}
+
+/*
+ * sfs_bmap_truncate_nolock - free the disk block at the end of file
+ */
+static int
+sfs_bmap_truncate_nolock(struct sfs_fs *sfs, struct sfs_inode *sin) {
+    struct sfs_disk_inode *din = sin->din;
+    assert(din->blocks != 0);
+    int ret;
+    if ((ret = sfs_bmap_free_nolock(sfs, sin, din->blocks - 1)) != 0) {
+        return ret;
+    }
+    din->blocks --;
+    sin->dirty = 1;
+    return 0;
+}
+
+/*
+ * sfs_dirent_read_nolock - read the file entry from disk block which contains this entry
+ * @sfs:      sfs file system
+ * @sin:      sfs inode in memory
+ * @slot:     the index of file entry
+ * @entry:    file entry
+ */
+static int
+sfs_dirent_read_nolock(struct sfs_fs *sfs, struct sfs_inode *sin, int slot, struct sfs_disk_entry *entry) {
+    assert(sin->din->type == SFS_TYPE_DIR && (slot >= 0 && slot < sin->din->blocks));
+    int ret;
+    uint32_t ino;
+	// according to the DIR's inode and the slot of file entry, find the index of disk block which contains this file entry
+    if ((ret = sfs_bmap_load_nolock(sfs, sin, slot, &ino)) != 0) {
+        return ret;
+    }
+    assert(sfs_block_inuse(sfs, ino));
+	// read the content of file entry in the disk block 
+    if ((ret = sfs_rbuf(sfs, entry, sizeof(struct sfs_disk_entry), ino, 0)) != 0) {
+        return ret;
+    }
+    entry->name[SFS_MAX_FNAME_LEN] = '\0';
+    return 0;
+}
+
+#define sfs_dirent_link_nolock_check(sfs, sin, slot, lnksin, name)                  \
+    do {                                                                            \
+        int err;                                                                    \
+        if ((err = sfs_dirent_link_nolock(sfs, sin, slot, lnksin, name)) != 0) {    \
+            warn("sfs_dirent_link error: %e.\n", err);                              \
+        }                                                                           \
+    } while (0)
+
+#define sfs_dirent_unlink_nolock_check(sfs, sin, slot, lnksin)                      \
+    do {                                                                            \
+        int err;                                                                    \
+        if ((err = sfs_dirent_unlink_nolock(sfs, sin, slot, lnksin)) != 0) {        \
+            warn("sfs_dirent_unlink error: %e.\n", err);                            \
+        }                                                                           \
+    } while (0)
+
+/*
+ * sfs_dirent_search_nolock - read every file entry in the DIR, compare file name with each entry->name
+ *                            If equal, then return slot and NO. of disk of this file's inode
+ * @sfs:        sfs file system
+ * @sin:        sfs inode in memory
+ * @name:       the filename
+ * @ino_store:  NO. of disk of this file (with the filename)'s inode
+ * @slot:       logical index of file entry (NOTICE: each file entry ocupied one  disk block)
+ * @empty_slot: the empty logical index of file entry.
+ */
+static int
+sfs_dirent_search_nolock(struct sfs_fs *sfs, struct sfs_inode *sin, const char *name, uint32_t *ino_store, int *slot, int *empty_slot) {
+    assert(strlen(name) <= SFS_MAX_FNAME_LEN);
+    struct sfs_disk_entry *entry;
+    if ((entry = kmalloc(sizeof(struct sfs_disk_entry))) == NULL) {
+        return -E_NO_MEM;
+    }
+
+#define set_pvalue(x, v)            do { if ((x) != NULL) { *(x) = (v); } } while (0)
+    int ret, i, nslots = sin->din->blocks;
+    set_pvalue(empty_slot, nslots);
+    for (i = 0; i < nslots; i ++) {
+        if ((ret = sfs_dirent_read_nolock(sfs, sin, i, entry)) != 0) {
+            goto out;
+        }
+        if (entry->ino == 0) {
+            set_pvalue(empty_slot, i);
+            continue ;
+        }
+        if (strcmp(name, entry->name) == 0) {
+            set_pvalue(slot, i);
+            set_pvalue(ino_store, entry->ino);
+            goto out;
+        }
+    }
+#undef set_pvalue
+    ret = -E_NOENT;
+out:
+    kfree(entry);
+    return ret;
+}
+
+/*
+ * sfs_dirent_findino_nolock - read all file entries in DIR's inode and find a entry->ino == ino
+ */
+
+static int
+sfs_dirent_findino_nolock(struct sfs_fs *sfs, struct sfs_inode *sin, uint32_t ino, struct sfs_disk_entry *entry) {
+    int ret, i, nslots = sin->din->blocks;
+    for (i = 0; i < nslots; i ++) {
+        if ((ret = sfs_dirent_read_nolock(sfs, sin, i, entry)) != 0) {
+            return ret;
+        }
+        if (entry->ino == ino) {
+            return 0;
+        }
+    }
+    return -E_NOENT;
+}
+
+/*
+ * sfs_lookup_once - find inode corresponding the file name in DIR's sin inode 
+ * @sfs:        sfs file system
+ * @sin:        DIR sfs inode in memory
+ * @name:       the file name in DIR
+ * @node_store: the inode corresponding the file name in DIR
+ * @slot:       the logical index of file entry
+ */
+static int
+sfs_lookup_once(struct sfs_fs *sfs, struct sfs_inode *sin, const char *name, struct inode **node_store, int *slot) {
+    int ret;
+    uint32_t ino;
+    lock_sin(sin);
+    {   // find the NO. of disk block and logical index of file entry
+        ret = sfs_dirent_search_nolock(sfs, sin, name, &ino, slot, NULL);
+    }
+    unlock_sin(sin);
+    if (ret == 0) {
+		// load the content of inode with the the NO. of disk block
+        ret = sfs_load_inode(sfs, node_store, ino);
+    }
+    return ret;
+}
+
+// sfs_opendir - just check the opne_flags, now support readonly
+static int
+sfs_opendir(struct inode *node, uint32_t open_flags) {
+    switch (open_flags & O_ACCMODE) {
+    case O_RDONLY:
+        break;
+    case O_WRONLY:
+    case O_RDWR:
+    default:
+        return -E_ISDIR;
+    }
+    if (open_flags & O_APPEND) {
+        return -E_ISDIR;
+    }
+    return 0;
+}
+
+// sfs_openfile - open file (no use)
+static int
+sfs_openfile(struct inode *node, uint32_t open_flags) {
+    return 0;
+}
+
+// sfs_close - close file
+static int
+sfs_close(struct inode *node) {
+    return vop_fsync(node);
+}
+
+/*  
+ * sfs_io_nolock - Rd/Wr a file contentfrom offset position to offset+ length  disk blocks<-->buffer (in memroy)
+ * @sfs:      sfs file system
+ * @sin:      sfs inode in memory
+ * @buf:      the buffer Rd/Wr
+ * @offset:   the offset of file
+ * @alenp:    the length need to read (is a pointer). and will RETURN the really Rd/Wr lenght
+ * @write:    BOOL, 0 read, 1 write
+ */
+static int
+sfs_io_nolock(struct sfs_fs *sfs, struct sfs_inode *sin, void *buf, off_t offset, size_t *alenp, bool write) {
+    struct sfs_disk_inode *din = sin->din;
+    assert(din->type != SFS_TYPE_DIR);
+    off_t endpos = offset + *alenp, blkoff;
+    *alenp = 0;
+	// calculate the Rd/Wr end position
+    if (offset < 0 || offset >= SFS_MAX_FILE_SIZE || offset > endpos) {
+        return -E_INVAL;
+    }
+    if (offset == endpos) {
+        return 0;
+    }
+    if (endpos > SFS_MAX_FILE_SIZE) {
+        endpos = SFS_MAX_FILE_SIZE;
+    }
+    if (!write) {
+        if (offset >= din->size) {
+            return 0;
+        }
+        if (endpos > din->size) {
+            endpos = din->size;
+        }
+    }
+
+    int (*sfs_buf_op)(struct sfs_fs *sfs, void *buf, size_t len, uint32_t blkno, off_t offset);
+    int (*sfs_block_op)(struct sfs_fs *sfs, void *buf, uint32_t blkno, uint32_t nblks);
+    if (write) {
+        sfs_buf_op = sfs_wbuf, sfs_block_op = sfs_wblock;
+    }
+    else {
+        sfs_buf_op = sfs_rbuf, sfs_block_op = sfs_rblock;
+    }
+
+    int ret = 0;
+    size_t size, alen = 0;
+    uint32_t ino;
+    uint32_t blkno = offset / SFS_BLKSIZE;          // The NO. of Rd/Wr begin block
+    uint32_t nblks = endpos / SFS_BLKSIZE - blkno;  // The size of Rd/Wr blocks
+
+  //LAB8:EXERCISE1 YOUR CODE HINT: call sfs_bmap_load_nolock, sfs_rbuf, sfs_rblock,etc. read different kind of blocks in file
+	/*
+	 * (1) If offset isn't aligned with the first block, Rd/Wr some content from offset to the end of the first block
+	 *       NOTICE: useful function: sfs_bmap_load_nolock, sfs_buf_op
+	 *               Rd/Wr size = (nblks != 0) ? (SFS_BLKSIZE - blkoff) : (endpos - offset)
+	 * (2) Rd/Wr aligned blocks 
+	 *       NOTICE: useful function: sfs_bmap_load_nolock, sfs_block_op
+     * (3) If end position isn't aligned with the last block, Rd/Wr some content from begin to the (endpos % SFS_BLKSIZE) of the last block
+	 *       NOTICE: useful function: sfs_bmap_load_nolock, sfs_buf_op	
+	*/
+out:
+    *alenp = alen;
+    if (offset + alen > sin->din->size) {
+        sin->din->size = offset + alen;
+        sin->dirty = 1;
+    }
+    return ret;
+}
+
+/*
+ * sfs_io - Rd/Wr file. the wrapper of sfs_io_nolock
+            with lock protect
+ */
+static inline int
+sfs_io(struct inode *node, struct iobuf *iob, bool write) {
+    struct sfs_fs *sfs = fsop_info(vop_fs(node), sfs);
+    struct sfs_inode *sin = vop_info(node, sfs_inode);
+    int ret;
+    lock_sin(sin);
+    {
+        size_t alen = iob->io_resid;
+        ret = sfs_io_nolock(sfs, sin, iob->io_base, iob->io_offset, &alen, write);
+        if (alen != 0) {
+            iobuf_skip(iob, alen);
+        }
+    }
+    unlock_sin(sin);
+    return ret;
+}
+
+// sfs_read - read file
+static int
+sfs_read(struct inode *node, struct iobuf *iob) {
+    return sfs_io(node, iob, 0);
+}
+
+// sfs_write - write file
+static int
+sfs_write(struct inode *node, struct iobuf *iob) {
+    return sfs_io(node, iob, 1);
+}
+
+/*
+ * sfs_fstat - Return nlinks/block/size, etc. info about a file. The pointer is a pointer to struct stat;
+ */
+static int
+sfs_fstat(struct inode *node, struct stat *stat) {
+    int ret;
+    memset(stat, 0, sizeof(struct stat));
+    if ((ret = vop_gettype(node, &(stat->st_mode))) != 0) {
+        return ret;
+    }
+    struct sfs_disk_inode *din = vop_info(node, sfs_inode)->din;
+    stat->st_nlinks = din->nlinks;
+    stat->st_blocks = din->blocks;
+    stat->st_size = din->size;
+    return 0;
+}
+
+/*
+ * sfs_fsync - Force any dirty inode info associated with this file to stable storage.
+ */
+static int
+sfs_fsync(struct inode *node) {
+    struct sfs_fs *sfs = fsop_info(vop_fs(node), sfs);
+    struct sfs_inode *sin = vop_info(node, sfs_inode);
+    int ret = 0;
+    if (sin->dirty) {
+        lock_sin(sin);
+        {
+            if (sin->dirty) {
+                sin->dirty = 0;
+                if ((ret = sfs_wbuf(sfs, sin->din, sizeof(struct sfs_disk_inode), sin->ino, 0)) != 0) {
+                    sin->dirty = 1;
+                }
+            }
+        }
+        unlock_sin(sin);
+    }
+    return ret;
+}
+
+/*
+ *sfs_namefile -Compute pathname relative to filesystem root of the file and copy to the specified io buffer.
+ *  
+ */
+static int
+sfs_namefile(struct inode *node, struct iobuf *iob) {
+    struct sfs_disk_entry *entry;
+    if (iob->io_resid <= 2 || (entry = kmalloc(sizeof(struct sfs_disk_entry))) == NULL) {
+        return -E_NO_MEM;
+    }
+
+    struct sfs_fs *sfs = fsop_info(vop_fs(node), sfs);
+    struct sfs_inode *sin = vop_info(node, sfs_inode);
+
+    int ret;
+    char *ptr = iob->io_base + iob->io_resid;
+    size_t alen, resid = iob->io_resid - 2;
+    vop_ref_inc(node);
+    while (1) {
+        struct inode *parent;
+        if ((ret = sfs_lookup_once(sfs, sin, "..", &parent, NULL)) != 0) {
+            goto failed;
+        }
+
+        uint32_t ino = sin->ino;
+        vop_ref_dec(node);
+        if (node == parent) {
+            vop_ref_dec(node);
+            break;
+        }
+
+        node = parent, sin = vop_info(node, sfs_inode);
+        assert(ino != sin->ino && sin->din->type == SFS_TYPE_DIR);
+
+        lock_sin(sin);
+        {
+            ret = sfs_dirent_findino_nolock(sfs, sin, ino, entry);
+        }
+        unlock_sin(sin);
+
+        if (ret != 0) {
+            goto failed;
+        }
+
+        if ((alen = strlen(entry->name) + 1) > resid) {
+            goto failed_nomem;
+        }
+        resid -= alen, ptr -= alen;
+        memcpy(ptr, entry->name, alen - 1);
+        ptr[alen - 1] = '/';
+    }
+    alen = iob->io_resid - resid - 2;
+    ptr = memmove(iob->io_base + 1, ptr, alen);
+    ptr[-1] = '/', ptr[alen] = '\0';
+    iobuf_skip(iob, alen);
+    kfree(entry);
+    return 0;
+
+failed_nomem:
+    ret = -E_NO_MEM;
+failed:
+    vop_ref_dec(node);
+    kfree(entry);
+    return ret;
+}
+
+/*
+ * sfs_getdirentry_sub_noblock - get the content of file entry in DIR
+ */
+static int
+sfs_getdirentry_sub_nolock(struct sfs_fs *sfs, struct sfs_inode *sin, int slot, struct sfs_disk_entry *entry) {
+    int ret, i, nslots = sin->din->blocks;
+    for (i = 0; i < nslots; i ++) {
+        if ((ret = sfs_dirent_read_nolock(sfs, sin, i, entry)) != 0) {
+            return ret;
+        }
+        if (entry->ino != 0) {
+            if (slot == 0) {
+                return 0;
+            }
+            slot --;
+        }
+    }
+    return -E_NOENT;
+}
+
+/*
+ * sfs_getdirentry - according to the iob->io_offset, calculate the dir entry's slot in disk block,
+                     get dir entry content from the disk 
+ */
+static int
+sfs_getdirentry(struct inode *node, struct iobuf *iob) {
+    struct sfs_disk_entry *entry;
+    if ((entry = kmalloc(sizeof(struct sfs_disk_entry))) == NULL) {
+        return -E_NO_MEM;
+    }
+
+    struct sfs_fs *sfs = fsop_info(vop_fs(node), sfs);
+    struct sfs_inode *sin = vop_info(node, sfs_inode);
+
+    int ret, slot;
+    off_t offset = iob->io_offset;
+    if (offset < 0 || offset % sfs_dentry_size != 0) {
+        kfree(entry);
+        return -E_INVAL;
+    }
+    if ((slot = offset / sfs_dentry_size) > sin->din->blocks) {
+        kfree(entry);
+        return -E_NOENT;
+    }
+    lock_sin(sin);
+    if ((ret = sfs_getdirentry_sub_nolock(sfs, sin, slot, entry)) != 0) {
+        unlock_sin(sin);
+        goto out;
+    }
+    unlock_sin(sin);
+    ret = iobuf_move(iob, entry->name, sfs_dentry_size, 1, NULL);
+out:
+    kfree(entry);
+    return ret;
+}
+
+/*
+ * sfs_reclaim - Free all resources inode occupied . Called when inode is no longer in use. 
+ */
+static int
+sfs_reclaim(struct inode *node) {
+    struct sfs_fs *sfs = fsop_info(vop_fs(node), sfs);
+    struct sfs_inode *sin = vop_info(node, sfs_inode);
+
+    int  ret = -E_BUSY;
+    uint32_t ent;
+    lock_sfs_fs(sfs);
+    assert(sin->reclaim_count > 0);
+    if ((-- sin->reclaim_count) != 0 || inode_ref_count(node) != 0) {
+        goto failed_unlock;
+    }
+    if (sin->din->nlinks == 0) {
+        if ((ret = vop_truncate(node, 0)) != 0) {
+            goto failed_unlock;
+        }
+    }
+    if (sin->dirty) {
+        if ((ret = vop_fsync(node)) != 0) {
+            goto failed_unlock;
+        }
+    }
+    sfs_remove_links(sin);
+    unlock_sfs_fs(sfs);
+
+    if (sin->din->nlinks == 0) {
+        sfs_block_free(sfs, sin->ino);
+        if ((ent = sin->din->indirect) != 0) {
+            sfs_block_free(sfs, ent);
+        }
+    }
+    kfree(sin->din);
+    vop_kill(node);
+    return 0;
+
+failed_unlock:
+    unlock_sfs_fs(sfs);
+    return ret;
+}
+
+/*
+ * sfs_gettype - Return type of file. The values for file types are in sfs.h.
+ */
+static int
+sfs_gettype(struct inode *node, uint32_t *type_store) {
+    struct sfs_disk_inode *din = vop_info(node, sfs_inode)->din;
+    switch (din->type) {
+    case SFS_TYPE_DIR:
+        *type_store = S_IFDIR;
+        return 0;
+    case SFS_TYPE_FILE:
+        *type_store = S_IFREG;
+        return 0;
+    case SFS_TYPE_LINK:
+        *type_store = S_IFLNK;
+        return 0;
+    }
+    panic("invalid file type %d.\n", din->type);
+}
+
+/* 
+ * sfs_tryseek - Check if seeking to the specified position within the file is legal.
+ */
+static int
+sfs_tryseek(struct inode *node, off_t pos) {
+    if (pos < 0 || pos >= SFS_MAX_FILE_SIZE) {
+        return -E_INVAL;
+    }
+    struct sfs_inode *sin = vop_info(node, sfs_inode);
+    if (pos > sin->din->size) {
+        return vop_truncate(node, pos);
+    }
+    return 0;
+}
+
+/*
+ * sfs_truncfile : reszie the file with new length
+ */
+static int
+sfs_truncfile(struct inode *node, off_t len) {
+    if (len < 0 || len > SFS_MAX_FILE_SIZE) {
+        return -E_INVAL;
+    }
+    struct sfs_fs *sfs = fsop_info(vop_fs(node), sfs);
+    struct sfs_inode *sin = vop_info(node, sfs_inode);
+    struct sfs_disk_inode *din = sin->din;
+
+    int ret = 0;
+	//new number of disk blocks of file
+    uint32_t nblks, tblks = ROUNDUP_DIV(len, SFS_BLKSIZE);
+    if (din->size == len) {
+        assert(tblks == din->blocks);
+        return 0;
+    }
+
+    lock_sin(sin);
+	// old number of disk blocks of file
+    nblks = din->blocks;
+    if (nblks < tblks) {
+		// try to enlarge the file size by add new disk block at the end of file
+        while (nblks != tblks) {
+            if ((ret = sfs_bmap_load_nolock(sfs, sin, nblks, NULL)) != 0) {
+                goto out_unlock;
+            }
+            nblks ++;
+        }
+    }
+    else if (tblks < nblks) {
+		// try to reduce the file size 
+        while (tblks != nblks) {
+            if ((ret = sfs_bmap_truncate_nolock(sfs, sin)) != 0) {
+                goto out_unlock;
+            }
+            nblks --;
+        }
+    }
+    assert(din->blocks == tblks);
+    din->size = len;
+    sin->dirty = 1;
+
+out_unlock:
+    unlock_sin(sin);
+    return ret;
+}
+
+/*
+ * sfs_lookup - Parse path relative to the passed directory
+ *              DIR, and hand back the inode for the file it
+ *              refers to.
+ */
+static int
+sfs_lookup(struct inode *node, char *path, struct inode **node_store) {
+    struct sfs_fs *sfs = fsop_info(vop_fs(node), sfs);
+    assert(*path != '\0' && *path != '/');
+    vop_ref_inc(node);
+    struct sfs_inode *sin = vop_info(node, sfs_inode);
+    if (sin->din->type != SFS_TYPE_DIR) {
+        vop_ref_dec(node);
+        return -E_NOTDIR;
+    }
+    struct inode *subnode;
+    int ret = sfs_lookup_once(sfs, sin, path, &subnode, NULL);
+
+    vop_ref_dec(node);
+    if (ret != 0) {
+        return ret;
+    }
+    *node_store = subnode;
+    return 0;
+}
+
+// The sfs specific DIR operations correspond to the abstract operations on a inode.
+static const struct inode_ops sfs_node_dirops = {
+    .vop_magic                      = VOP_MAGIC,
+    .vop_open                       = sfs_opendir,
+    .vop_close                      = sfs_close,
+    .vop_fstat                      = sfs_fstat,
+    .vop_fsync                      = sfs_fsync,
+    .vop_namefile                   = sfs_namefile,
+    .vop_getdirentry                = sfs_getdirentry,
+    .vop_reclaim                    = sfs_reclaim,
+    .vop_gettype                    = sfs_gettype,
+    .vop_lookup                     = sfs_lookup,
+};
+/// The sfs specific FILE operations correspond to the abstract operations on a inode.
+static const struct inode_ops sfs_node_fileops = {
+    .vop_magic                      = VOP_MAGIC,
+    .vop_open                       = sfs_openfile,
+    .vop_close                      = sfs_close,
+    .vop_read                       = sfs_read,
+    .vop_write                      = sfs_write,
+    .vop_fstat                      = sfs_fstat,
+    .vop_fsync                      = sfs_fsync,
+    .vop_reclaim                    = sfs_reclaim,
+    .vop_gettype                    = sfs_gettype,
+    .vop_tryseek                    = sfs_tryseek,
+    .vop_truncate                   = sfs_truncfile,
+};
+
diff --git a/code/lab8/kern/fs/sfs/sfs_io.c b/code/lab8/kern/fs/sfs/sfs_io.c
new file mode 100644
index 0000000..f3c705f
--- /dev/null
+++ b/code/lab8/kern/fs/sfs/sfs_io.c
@@ -0,0 +1,167 @@
+#include <defs.h>
+#include <string.h>
+#include <dev.h>
+#include <sfs.h>
+#include <iobuf.h>
+#include <bitmap.h>
+#include <assert.h>
+
+//Basic block-level I/O routines
+
+/* sfs_rwblock_nolock - Basic block-level I/O routine for Rd/Wr one disk block,
+ *                      without lock protect for mutex process on Rd/Wr disk block
+ * @sfs:   sfs_fs which will be process
+ * @buf:   the buffer uesed for Rd/Wr
+ * @blkno: the NO. of disk block
+ * @write: BOOL: Read or Write
+ * @check: BOOL: if check (blono < sfs super.blocks)
+ */
+static int
+sfs_rwblock_nolock(struct sfs_fs *sfs, void *buf, uint32_t blkno, bool write, bool check) {
+    assert((blkno != 0 || !check) && blkno < sfs->super.blocks);
+    struct iobuf __iob, *iob = iobuf_init(&__iob, buf, SFS_BLKSIZE, blkno * SFS_BLKSIZE);
+    return dop_io(sfs->dev, iob, write);
+}
+
+/* sfs_rwblock - Basic block-level I/O routine for Rd/Wr N disk blocks ,
+ *               with lock protect for mutex process on Rd/Wr disk block
+ * @sfs:   sfs_fs which will be process
+ * @buf:   the buffer uesed for Rd/Wr
+ * @blkno: the NO. of disk block
+ * @nblks: Rd/Wr number of disk block
+ * @write: BOOL: Read - 0 or Write - 1
+ */
+static int
+sfs_rwblock(struct sfs_fs *sfs, void *buf, uint32_t blkno, uint32_t nblks, bool write) {
+    int ret = 0;
+    lock_sfs_io(sfs);
+    {
+        while (nblks != 0) {
+            if ((ret = sfs_rwblock_nolock(sfs, buf, blkno, write, 1)) != 0) {
+                break;
+            }
+            blkno ++, nblks --;
+            buf += SFS_BLKSIZE;
+        }
+    }
+    unlock_sfs_io(sfs);
+    return ret;
+}
+
+/* sfs_rblock - The Wrap of sfs_rwblock function for Rd N disk blocks ,
+ *
+ * @sfs:   sfs_fs which will be process
+ * @buf:   the buffer uesed for Rd/Wr
+ * @blkno: the NO. of disk block
+ * @nblks: Rd/Wr number of disk block
+ */
+int
+sfs_rblock(struct sfs_fs *sfs, void *buf, uint32_t blkno, uint32_t nblks) {
+    return sfs_rwblock(sfs, buf, blkno, nblks, 0);
+}
+
+/* sfs_wblock - The Wrap of sfs_rwblock function for Wr N disk blocks ,
+ *
+ * @sfs:   sfs_fs which will be process
+ * @buf:   the buffer uesed for Rd/Wr
+ * @blkno: the NO. of disk block
+ * @nblks: Rd/Wr number of disk block
+ */
+int
+sfs_wblock(struct sfs_fs *sfs, void *buf, uint32_t blkno, uint32_t nblks) {
+    return sfs_rwblock(sfs, buf, blkno, nblks, 1);
+}
+
+/* sfs_rbuf - The Basic block-level I/O routine for  Rd( non-block & non-aligned io) one disk block(using sfs->sfs_buffer)
+ *            with lock protect for mutex process on Rd/Wr disk block
+ * @sfs:    sfs_fs which will be process
+ * @buf:    the buffer uesed for Rd
+ * @len:    the length need to Rd
+ * @blkno:  the NO. of disk block
+ * @offset: the offset in the content of disk block
+ */
+int
+sfs_rbuf(struct sfs_fs *sfs, void *buf, size_t len, uint32_t blkno, off_t offset) {
+    assert(offset >= 0 && offset < SFS_BLKSIZE && offset + len <= SFS_BLKSIZE);
+    int ret;
+    lock_sfs_io(sfs);
+    {
+        if ((ret = sfs_rwblock_nolock(sfs, sfs->sfs_buffer, blkno, 0, 1)) == 0) {
+            memcpy(buf, sfs->sfs_buffer + offset, len);
+        }
+    }
+    unlock_sfs_io(sfs);
+    return ret;
+}
+
+/* sfs_wbuf - The Basic block-level I/O routine for  Wr( non-block & non-aligned io) one disk block(using sfs->sfs_buffer)
+ *            with lock protect for mutex process on Rd/Wr disk block
+ * @sfs:    sfs_fs which will be process
+ * @buf:    the buffer uesed for Wr
+ * @len:    the length need to Wr
+ * @blkno:  the NO. of disk block
+ * @offset: the offset in the content of disk block
+ */
+int
+sfs_wbuf(struct sfs_fs *sfs, void *buf, size_t len, uint32_t blkno, off_t offset) {
+    assert(offset >= 0 && offset < SFS_BLKSIZE && offset + len <= SFS_BLKSIZE);
+    int ret;
+    lock_sfs_io(sfs);
+    {
+        if ((ret = sfs_rwblock_nolock(sfs, sfs->sfs_buffer, blkno, 0, 1)) == 0) {
+            memcpy(sfs->sfs_buffer + offset, buf, len);
+            ret = sfs_rwblock_nolock(sfs, sfs->sfs_buffer, blkno, 1, 1);
+        }
+    }
+    unlock_sfs_io(sfs);
+    return ret;
+}
+
+/*
+ * sfs_sync_super - write sfs->super (in memory) into disk (SFS_BLKN_SUPER, 1) with lock protect.
+ */
+int
+sfs_sync_super(struct sfs_fs *sfs) {
+    int ret;
+    lock_sfs_io(sfs);
+    {
+        memset(sfs->sfs_buffer, 0, SFS_BLKSIZE);
+        memcpy(sfs->sfs_buffer, &(sfs->super), sizeof(sfs->super));
+        ret = sfs_rwblock_nolock(sfs, sfs->sfs_buffer, SFS_BLKN_SUPER, 1, 0);
+    }
+    unlock_sfs_io(sfs);
+    return ret;
+}
+
+/*
+ * sfs_sync_freemap - write sfs bitmap into disk (SFS_BLKN_FREEMAP, nblks)  without lock protect.
+ */
+int
+sfs_sync_freemap(struct sfs_fs *sfs) {
+    uint32_t nblks = sfs_freemap_blocks(&(sfs->super));
+    return sfs_wblock(sfs, bitmap_getdata(sfs->freemap, NULL), SFS_BLKN_FREEMAP, nblks);
+}
+
+/*
+ * sfs_clear_block - write zero info into disk (blkno, nblks)  with lock protect.
+ * @sfs:   sfs_fs which will be process
+ * @blkno: the NO. of disk block
+ * @nblks: Rd/Wr number of disk block
+ */
+int
+sfs_clear_block(struct sfs_fs *sfs, uint32_t blkno, uint32_t nblks) {
+    int ret;
+    lock_sfs_io(sfs);
+    {
+        memset(sfs->sfs_buffer, 0, SFS_BLKSIZE);
+        while (nblks != 0) {
+            if ((ret = sfs_rwblock_nolock(sfs, sfs->sfs_buffer, blkno, 1, 1)) != 0) {
+                break;
+            }
+            blkno ++, nblks --;
+        }
+    }
+    unlock_sfs_io(sfs);
+    return ret;
+}
+
diff --git a/code/lab8/kern/fs/sfs/sfs_lock.c b/code/lab8/kern/fs/sfs/sfs_lock.c
new file mode 100644
index 0000000..6d83ecd
--- /dev/null
+++ b/code/lab8/kern/fs/sfs/sfs_lock.c
@@ -0,0 +1,44 @@
+#include <defs.h>
+#include <sem.h>
+#include <sfs.h>
+
+
+/*
+ * lock_sfs_fs - lock the process of  SFS Filesystem Rd/Wr Disk Block
+ *
+ * called by: sfs_load_inode, sfs_sync, sfs_reclaim
+ */
+void
+lock_sfs_fs(struct sfs_fs *sfs) {
+    down(&(sfs->fs_sem));
+}
+
+/*
+ * lock_sfs_io - lock the process of SFS File Rd/Wr Disk Block
+ *
+ * called by: sfs_rwblock, sfs_clear_block, sfs_sync_super
+ */
+void
+lock_sfs_io(struct sfs_fs *sfs) {
+    down(&(sfs->io_sem));
+}
+
+/*
+ * unlock_sfs_fs - unlock the process of  SFS Filesystem Rd/Wr Disk Block
+ *
+ * called by: sfs_load_inode, sfs_sync, sfs_reclaim
+ */
+void
+unlock_sfs_fs(struct sfs_fs *sfs) {
+    up(&(sfs->fs_sem));
+}
+
+/*
+ * unlock_sfs_io - unlock the process of sfs Rd/Wr Disk Block
+ *
+ * called by: sfs_rwblock sfs_clear_block sfs_sync_super
+ */
+void
+unlock_sfs_io(struct sfs_fs *sfs) {
+    up(&(sfs->io_sem));
+}
diff --git a/code/lab8/kern/fs/swap/swapfs.c b/code/lab8/kern/fs/swap/swapfs.c
new file mode 100644
index 0000000..d9f6090
--- /dev/null
+++ b/code/lab8/kern/fs/swap/swapfs.c
@@ -0,0 +1,27 @@
+#include <swap.h>
+#include <swapfs.h>
+#include <mmu.h>
+#include <fs.h>
+#include <ide.h>
+#include <pmm.h>
+#include <assert.h>
+
+void
+swapfs_init(void) {
+    static_assert((PGSIZE % SECTSIZE) == 0);
+    if (!ide_device_valid(SWAP_DEV_NO)) {
+        panic("swap fs isn't available.\n");
+    }
+    max_swap_offset = ide_device_size(SWAP_DEV_NO) / (PGSIZE / SECTSIZE);
+}
+
+int
+swapfs_read(swap_entry_t entry, struct Page *page) {
+    return ide_read_secs(SWAP_DEV_NO, swap_offset(entry) * PAGE_NSECT, page2kva(page), PAGE_NSECT);
+}
+
+int
+swapfs_write(swap_entry_t entry, struct Page *page) {
+    return ide_write_secs(SWAP_DEV_NO, swap_offset(entry) * PAGE_NSECT, page2kva(page), PAGE_NSECT);
+}
+
diff --git a/code/lab8/kern/fs/swap/swapfs.h b/code/lab8/kern/fs/swap/swapfs.h
new file mode 100644
index 0000000..904fb2e
--- /dev/null
+++ b/code/lab8/kern/fs/swap/swapfs.h
@@ -0,0 +1,12 @@
+#ifndef __KERN_FS_SWAP_SWAPFS_H__
+#define __KERN_FS_SWAP_SWAPFS_H__
+
+#include <memlayout.h>
+#include <swap.h>
+
+void swapfs_init(void);
+int swapfs_read(swap_entry_t entry, struct Page *page);
+int swapfs_write(swap_entry_t entry, struct Page *page);
+
+#endif /* !__KERN_FS_SWAP_SWAPFS_H__ */
+
diff --git a/code/lab8/kern/fs/sysfile.c b/code/lab8/kern/fs/sysfile.c
new file mode 100644
index 0000000..0dd8e58
--- /dev/null
+++ b/code/lab8/kern/fs/sysfile.c
@@ -0,0 +1,317 @@
+#include <defs.h>
+#include <string.h>
+#include <vmm.h>
+#include <proc.h>
+#include <kmalloc.h>
+#include <vfs.h>
+#include <file.h>
+#include <iobuf.h>
+#include <sysfile.h>
+#include <stat.h>
+#include <dirent.h>
+#include <unistd.h>
+#include <error.h>
+#include <assert.h>
+
+#define IOBUF_SIZE                          4096
+
+/* copy_path - copy path name */
+static int
+copy_path(char **to, const char *from) {
+    struct mm_struct *mm = current->mm;
+    char *buffer;
+    if ((buffer = kmalloc(FS_MAX_FPATH_LEN + 1)) == NULL) {
+        return -E_NO_MEM;
+    }
+    lock_mm(mm);
+    if (!copy_string(mm, buffer, from, FS_MAX_FPATH_LEN + 1)) {
+        unlock_mm(mm);
+        goto failed_cleanup;
+    }
+    unlock_mm(mm);
+    *to = buffer;
+    return 0;
+
+failed_cleanup:
+    kfree(buffer);
+    return -E_INVAL;
+}
+
+/* sysfile_open - open file */
+int
+sysfile_open(const char *__path, uint32_t open_flags) {
+    int ret;
+    char *path;
+    if ((ret = copy_path(&path, __path)) != 0) {
+        return ret;
+    }
+    ret = file_open(path, open_flags);
+    kfree(path);
+    return ret;
+}
+
+/* sysfile_close - close file */
+int
+sysfile_close(int fd) {
+    return file_close(fd);
+}
+
+/* sysfile_read - read file */
+int
+sysfile_read(int fd, void *base, size_t len) {
+    struct mm_struct *mm = current->mm;
+    if (len == 0) {
+        return 0;
+    }
+    if (!file_testfd(fd, 1, 0)) {
+        return -E_INVAL;
+    }
+    void *buffer;
+    if ((buffer = kmalloc(IOBUF_SIZE)) == NULL) {
+        return -E_NO_MEM;
+    }
+
+    int ret = 0;
+    size_t copied = 0, alen;
+    while (len != 0) {
+        if ((alen = IOBUF_SIZE) > len) {
+            alen = len;
+        }
+        ret = file_read(fd, buffer, alen, &alen);
+        if (alen != 0) {
+            lock_mm(mm);
+            {
+                if (copy_to_user(mm, base, buffer, alen)) {
+                    assert(len >= alen);
+                    base += alen, len -= alen, copied += alen;
+                }
+                else if (ret == 0) {
+                    ret = -E_INVAL;
+                }
+            }
+            unlock_mm(mm);
+        }
+        if (ret != 0 || alen == 0) {
+            goto out;
+        }
+    }
+
+out:
+    kfree(buffer);
+    if (copied != 0) {
+        return copied;
+    }
+    return ret;
+}
+
+/* sysfile_write - write file */
+int
+sysfile_write(int fd, void *base, size_t len) {
+    struct mm_struct *mm = current->mm;
+    if (len == 0) {
+        return 0;
+    }
+    if (!file_testfd(fd, 0, 1)) {
+        return -E_INVAL;
+    }
+    void *buffer;
+    if ((buffer = kmalloc(IOBUF_SIZE)) == NULL) {
+        return -E_NO_MEM;
+    }
+
+    int ret = 0;
+    size_t copied = 0, alen;
+    while (len != 0) {
+        if ((alen = IOBUF_SIZE) > len) {
+            alen = len;
+        }
+        lock_mm(mm);
+        {
+            if (!copy_from_user(mm, buffer, base, alen, 0)) {
+                ret = -E_INVAL;
+            }
+        }
+        unlock_mm(mm);
+        if (ret == 0) {
+            ret = file_write(fd, buffer, alen, &alen);
+            if (alen != 0) {
+                assert(len >= alen);
+                base += alen, len -= alen, copied += alen;
+            }
+        }
+        if (ret != 0 || alen == 0) {
+            goto out;
+        }
+    }
+
+out:
+    kfree(buffer);
+    if (copied != 0) {
+        return copied;
+    }
+    return ret;
+}
+
+/* sysfile_seek - seek file */
+int
+sysfile_seek(int fd, off_t pos, int whence) {
+    return file_seek(fd, pos, whence);
+}
+
+/* sysfile_fstat - stat file */
+int
+sysfile_fstat(int fd, struct stat *__stat) {
+    struct mm_struct *mm = current->mm;
+    int ret;
+    struct stat __local_stat, *stat = &__local_stat;
+    if ((ret = file_fstat(fd, stat)) != 0) {
+        return ret;
+    }
+
+    lock_mm(mm);
+    {
+        if (!copy_to_user(mm, __stat, stat, sizeof(struct stat))) {
+            ret = -E_INVAL;
+        }
+    }
+    unlock_mm(mm);
+    return ret;
+}
+
+/* sysfile_fsync - sync file */
+int
+sysfile_fsync(int fd) {
+    return file_fsync(fd);
+}
+
+/* sysfile_chdir - change dir */
+int
+sysfile_chdir(const char *__path) {
+    int ret;
+    char *path;
+    if ((ret = copy_path(&path, __path)) != 0) {
+        return ret;
+    }
+    ret = vfs_chdir(path);
+    kfree(path);
+    return ret;
+}
+
+/* sysfile_link - link file */
+int
+sysfile_link(const char *__path1, const char *__path2) {
+    int ret;
+    char *old_path, *new_path;
+    if ((ret = copy_path(&old_path, __path1)) != 0) {
+        return ret;
+    }
+    if ((ret = copy_path(&new_path, __path2)) != 0) {
+        kfree(old_path);
+        return ret;
+    }
+    ret = vfs_link(old_path, new_path);
+    kfree(old_path), kfree(new_path);
+    return ret;
+}
+
+/* sysfile_rename - rename file */
+int
+sysfile_rename(const char *__path1, const char *__path2) {
+    int ret;
+    char *old_path, *new_path;
+    if ((ret = copy_path(&old_path, __path1)) != 0) {
+        return ret;
+    }
+    if ((ret = copy_path(&new_path, __path2)) != 0) {
+        kfree(old_path);
+        return ret;
+    }
+    ret = vfs_rename(old_path, new_path);
+    kfree(old_path), kfree(new_path);
+    return ret;
+}
+
+/* sysfile_unlink - unlink file */
+int
+sysfile_unlink(const char *__path) {
+    int ret;
+    char *path;
+    if ((ret = copy_path(&path, __path)) != 0) {
+        return ret;
+    }
+    ret = vfs_unlink(path);
+    kfree(path);
+    return ret;
+}
+
+/* sysfile_get cwd - get current working directory */
+int
+sysfile_getcwd(char *buf, size_t len) {
+    struct mm_struct *mm = current->mm;
+    if (len == 0) {
+        return -E_INVAL;
+    }
+
+    int ret = -E_INVAL;
+    lock_mm(mm);
+    {
+        if (user_mem_check(mm, (uintptr_t)buf, len, 1)) {
+            struct iobuf __iob, *iob = iobuf_init(&__iob, buf, len, 0);
+            ret = vfs_getcwd(iob);
+        }
+    }
+    unlock_mm(mm);
+    return ret;
+}
+
+/* sysfile_getdirentry - get the file entry in DIR */
+int
+sysfile_getdirentry(int fd, struct dirent *__direntp) {
+    struct mm_struct *mm = current->mm;
+    struct dirent *direntp;
+    if ((direntp = kmalloc(sizeof(struct dirent))) == NULL) {
+        return -E_NO_MEM;
+    }
+
+    int ret = 0;
+    lock_mm(mm);
+    {
+        if (!copy_from_user(mm, &(direntp->offset), &(__direntp->offset), sizeof(direntp->offset), 1)) {
+            ret = -E_INVAL;
+        }
+    }
+    unlock_mm(mm);
+
+    if (ret != 0 || (ret = file_getdirentry(fd, direntp)) != 0) {
+        goto out;
+    }
+
+    lock_mm(mm);
+    {
+        if (!copy_to_user(mm, __direntp, direntp, sizeof(struct dirent))) {
+            ret = -E_INVAL;
+        }
+    }
+    unlock_mm(mm);
+
+out:
+    kfree(direntp);
+    return ret;
+}
+
+/* sysfile_dup -  duplicate fd1 to fd2 */
+int
+sysfile_dup(int fd1, int fd2) {
+    return file_dup(fd1, fd2);
+}
+
+int
+sysfile_pipe(int *fd_store) {
+    return -E_UNIMP;
+}
+
+int
+sysfile_mkfifo(const char *__name, uint32_t open_flags) {
+    return -E_UNIMP;
+}
+
diff --git a/code/lab8/kern/fs/sysfile.h b/code/lab8/kern/fs/sysfile.h
new file mode 100644
index 0000000..bc060e9
--- /dev/null
+++ b/code/lab8/kern/fs/sysfile.h
@@ -0,0 +1,28 @@
+#ifndef __KERN_FS_SYSFILE_H__
+#define __KERN_FS_SYSFILE_H__
+
+#include <defs.h>
+
+struct stat;
+struct dirent;
+
+int sysfile_open(const char *path, uint32_t open_flags);        // Open or create a file. FLAGS/MODE per the syscall.
+int sysfile_close(int fd);                                      // Close a vnode opened  
+int sysfile_read(int fd, void *base, size_t len);               // Read file
+int sysfile_write(int fd, void *base, size_t len);              // Write file
+int sysfile_seek(int fd, off_t pos, int whence);                // Seek file  
+int sysfile_fstat(int fd, struct stat *stat);                   // Stat file 
+int sysfile_fsync(int fd);                                      // Sync file
+int sysfile_chdir(const char *path);                            // change DIR  
+int sysfile_mkdir(const char *path);                            // create DIR
+int sysfile_link(const char *path1, const char *path2);         // set a path1's link as path2
+int sysfile_rename(const char *path1, const char *path2);       // rename file
+int sysfile_unlink(const char *path);                           // unlink a path
+int sysfile_getcwd(char *buf, size_t len);                      // get current working directory
+int sysfile_getdirentry(int fd, struct dirent *direntp);        // get the file entry in DIR 
+int sysfile_dup(int fd1, int fd2);                              // duplicate file
+int sysfile_pipe(int *fd_store);                                // build PIPE   
+int sysfile_mkfifo(const char *name, uint32_t open_flags);      // build named PIPE
+
+#endif /* !__KERN_FS_SYSFILE_H__ */
+
diff --git a/code/lab8/kern/fs/vfs/inode.c b/code/lab8/kern/fs/vfs/inode.c
new file mode 100644
index 0000000..277b0f0
--- /dev/null
+++ b/code/lab8/kern/fs/vfs/inode.c
@@ -0,0 +1,110 @@
+#include <defs.h>
+#include <stdio.h>
+#include <string.h>
+#include <atomic.h>
+#include <vfs.h>
+#include <inode.h>
+#include <error.h>
+#include <assert.h>
+#include <kmalloc.h>
+
+/* *
+ * __alloc_inode - alloc a inode structure and initialize in_type
+ * */
+struct inode *
+__alloc_inode(int type) {
+    struct inode *node;
+    if ((node = kmalloc(sizeof(struct inode))) != NULL) {
+        node->in_type = type;
+    }
+    return node;
+}
+
+/* *
+ * inode_init - initialize a inode structure
+ * invoked by vop_init
+ * */
+void
+inode_init(struct inode *node, const struct inode_ops *ops, struct fs *fs) {
+    atomic_set(&(node->ref_count), 0);
+    atomic_set(&(node->open_count), 0);
+    node->in_ops = ops, node->in_fs = fs;
+    vop_ref_inc(node);
+}
+
+/* *
+ * inode_kill - kill a inode structure
+ * invoked by vop_kill
+ * */
+void
+inode_kill(struct inode *node) {
+    assert(inode_ref_count(node) == 0);
+    assert(inode_open_count(node) == 0);
+    kfree(node);
+}
+
+/* *
+ * inode_ref_inc - increment ref_count
+ * invoked by vop_ref_inc
+ * */
+int
+inode_ref_inc(struct inode *node) {
+    return atomic_add_return(&(node->ref_count), 1);
+}
+
+/* *
+ * inode_ref_dec - decrement ref_count
+ * invoked by vop_ref_dec
+ * calls vop_reclaim if the ref_count hits zero
+ * */
+int
+inode_ref_dec(struct inode *node) {
+    assert(inode_ref_count(node) > 0);
+    int ref_count, ret;
+    if ((ref_count = atomic_sub_return(&(node->ref_count), 1)) == 0) {
+        if ((ret = vop_reclaim(node)) != 0 && ret != -E_BUSY) {
+            cprintf("vfs: warning: vop_reclaim: %e.\n", ret);
+        }
+    }
+    return ref_count;
+}
+
+/* *
+ * inode_open_inc - increment the open_count
+ * invoked by vop_open_inc
+ * */
+int
+inode_open_inc(struct inode *node) {
+    return atomic_add_return(&(node->open_count), 1);
+}
+
+/* *
+ * inode_open_dec - decrement the open_count
+ * invoked by vop_open_dec
+ * calls vop_close if the open_count hits zero
+ * */
+int
+inode_open_dec(struct inode *node) {
+    assert(inode_open_count(node) > 0);
+    int open_count, ret;
+    if ((open_count = atomic_sub_return(&(node->open_count), 1)) == 0) {
+        if ((ret = vop_close(node)) != 0) {
+            cprintf("vfs: warning: vop_close: %e.\n", ret);
+        }
+    }
+    return open_count;
+}
+
+/* *
+ * inode_check - check the various things being valid
+ * called before all vop_* calls
+ * */
+void
+inode_check(struct inode *node, const char *opstr) {
+    assert(node != NULL && node->in_ops != NULL);
+    assert(node->in_ops->vop_magic == VOP_MAGIC);
+    int ref_count = inode_ref_count(node), open_count = inode_open_count(node);
+    assert(ref_count >= open_count && open_count >= 0);
+    assert(ref_count < MAX_INODE_COUNT && open_count < MAX_INODE_COUNT);
+}
+
diff --git a/code/lab8/kern/fs/vfs/inode.h b/code/lab8/kern/fs/vfs/inode.h
new file mode 100644
index 0000000..325981a
--- /dev/null
+++ b/code/lab8/kern/fs/vfs/inode.h
@@ -0,0 +1,248 @@
+#ifndef __KERN_FS_VFS_INODE_H__
+#define __KERN_FS_VFS_INODE_H__
+
+#include <defs.h>
+#include <dev.h>
+#include <sfs.h>
+#include <atomic.h>
+#include <assert.h>
+
+struct stat;
+struct iobuf;
+
+/*
+ * A struct inode is an abstract representation of a file.
+ *
+ * It is an interface that allows the kernel's filesystem-independent 
+ * code to interact usefully with multiple sets of filesystem code.
+ */
+
+/*
+ * Abstract low-level file.
+ *
+ * Note: in_info is Filesystem-specific data, in_type is the inode type
+ *
+ * open_count is managed using VOP_INCOPEN and VOP_DECOPEN by
+ * vfs_open() and vfs_close(). Code above the VFS layer should not
+ * need to worry about it.
+ */
+struct inode {
+    union {
+        struct device __device_info;
+        struct sfs_inode __sfs_inode_info;
+    } in_info;
+    enum {
+        inode_type_device_info = 0x1234,
+        inode_type_sfs_inode_info,
+    } in_type;
+    atomic_t ref_count;
+    atomic_t open_count;
+    struct fs *in_fs;
+    const struct inode_ops *in_ops;
+};
+
+#define __in_type(type)                                             inode_type_##type##_info
+
+#define check_inode_type(node, type)                                ((node)->in_type == __in_type(type))
+
+#define __vop_info(node, type)                                      \
+    ({                                                              \
+        struct inode *__node = (node);                              \
+        assert(__node != NULL && check_inode_type(__node, type));   \
+        &(__node->in_info.__##type##_info);                         \
+     })
+
+#define vop_info(node, type)                                        __vop_info(node, type)
+
+#define info2node(info, type)                                       \
+    to_struct((info), struct inode, in_info.__##type##_info)
+
+struct inode *__alloc_inode(int type);
+
+#define alloc_inode(type)                                           __alloc_inode(__in_type(type))
+
+#define MAX_INODE_COUNT                     0x10000
+
+int inode_ref_inc(struct inode *node);
+int inode_ref_dec(struct inode *node);
+int inode_open_inc(struct inode *node);
+int inode_open_dec(struct inode *node);
+
+void inode_init(struct inode *node, const struct inode_ops *ops, struct fs *fs);
+void inode_kill(struct inode *node);
+
+#define VOP_MAGIC                           0x8c4ba476
+
+/*
+ * Abstract operations on a inode.
+ *
+ * These are used in the form VOP_FOO(inode, args), which are macros
+ * that expands to inode->inode_ops->vop_foo(inode, args). The operations
+ * "foo" are:
+ *
+ *    vop_open        - Called on open() of a file. Can be used to
+ *                      reject illegal or undesired open modes. Note that
+ *                      various operations can be performed without the
+ *                      file actually being opened.
+ *                      The inode need not look at O_CREAT, O_EXCL, or 
+ *                      O_TRUNC, as these are handled in the VFS layer.
+ *
+ *                      VOP_EACHOPEN should not be called directly from
+ *                      above the VFS layer - use vfs_open() to open inodes.
+ *                      This maintains the open count so VOP_LASTCLOSE can
+ *                      be called at the right time.
+ *
+ *    vop_close       - To be called on *last* close() of a file.
+ *
+ *                      VOP_LASTCLOSE should not be called directly from
+ *                      above the VFS layer - use vfs_close() to close
+ *                      inodes opened with vfs_open().
+ *
+ *    vop_reclaim     - Called when inode is no longer in use. Note that
+ *                      this may be substantially after vop_lastclose is
+ *                      called.
+ *
+ *****************************************
+ *
+ *    vop_read        - Read data from file to uio, at offset specified
+ *                      in the uio, updating uio_resid to reflect the
+ *                      amount read, and updating uio_offset to match.
+ *                      Not allowed on directories or symlinks.
+ *
+ *    vop_getdirentry - Read a single filename from a directory into a
+ *                      uio, choosing what name based on the offset
+ *                      field in the uio, and updating that field.
+ *                      Unlike with I/O on regular files, the value of
+ *                      the offset field is not interpreted outside
+ *                      the filesystem and thus need not be a byte
+ *                      count. However, the uio_resid field should be
+ *                      handled in the normal fashion.
+ *                      On non-directory objects, return ENOTDIR.
+ *
+ *    vop_write       - Write data from uio to file at offset specified
+ *                      in the uio, updating uio_resid to reflect the
+ *                      amount written, and updating uio_offset to match.
+ *                      Not allowed on directories or symlinks.
+ *
+ *    vop_ioctl       - Perform ioctl operation OP on file using data
+ *                      DATA. The interpretation of the data is specific
+ *                      to each ioctl.
+ *
+ *    vop_fstat        -Return info about a file. The pointer is a 
+ *                      pointer to struct stat; see stat.h.
+ *
+ *    vop_gettype     - Return type of file. The values for file types
+ *                      are in sfs.h.
+ *
+ *    vop_tryseek     - Check if seeking to the specified position within
+ *                      the file is legal. (For instance, all seeks
+ *                      are illegal on serial port devices, and seeks
+ *                      past EOF on files whose sizes are fixed may be
+ *                      as well.)
+ *
+ *    vop_fsync       - Force any dirty buffers associated with this file
+ *                      to stable storage.
+ *
+ *    vop_truncate    - Forcibly set size of file to the length passed
+ *                      in, discarding any excess blocks.
+ *
+ *    vop_namefile    - Compute pathname relative to filesystem root
+ *                      of the file and copy to the specified io buffer. 
+ *                      Need not work on objects that are not
+ *                      directories.
+ *
+ *****************************************
+ *
+ *    vop_creat       - Create a regular file named NAME in the passed
+ *                      directory DIR. If boolean EXCL is true, fail if
+ *                      the file already exists; otherwise, use the
+ *                      existing file if there is one. Hand back the
+ *                      inode for the file as per vop_lookup.
+ *
+ *****************************************
+ *
+ *    vop_lookup      - Parse PATHNAME relative to the passed directory
+ *                      DIR, and hand back the inode for the file it
+ *                      refers to. May destroy PATHNAME. Should increment
+ *                      refcount on inode handed back.
+ */
+struct inode_ops {
+    unsigned long vop_magic;
+    int (*vop_open)(struct inode *node, uint32_t open_flags);
+    int (*vop_close)(struct inode *node);
+    int (*vop_read)(struct inode *node, struct iobuf *iob);
+    int (*vop_write)(struct inode *node, struct iobuf *iob);
+    int (*vop_fstat)(struct inode *node, struct stat *stat);
+    int (*vop_fsync)(struct inode *node);
+    int (*vop_namefile)(struct inode *node, struct iobuf *iob);
+    int (*vop_getdirentry)(struct inode *node, struct iobuf *iob);
+    int (*vop_reclaim)(struct inode *node);
+    int (*vop_gettype)(struct inode *node, uint32_t *type_store);
+    int (*vop_tryseek)(struct inode *node, off_t pos);
+    int (*vop_truncate)(struct inode *node, off_t len);
+    int (*vop_create)(struct inode *node, const char *name, bool excl, struct inode **node_store);
+    int (*vop_lookup)(struct inode *node, char *path, struct inode **node_store);
+    int (*vop_ioctl)(struct inode *node, int op, void *data);
+};
+
+/*
+ * Consistency check
+ */
+void inode_check(struct inode *node, const char *opstr);
+
+#define __vop_op(node, sym)                                                                         \
+    ({                                                                                              \
+        struct inode *__node = (node);                                                              \
+        assert(__node != NULL && __node->in_ops != NULL && __node->in_ops->vop_##sym != NULL);      \
+        inode_check(__node, #sym);                                                                  \
+        __node->in_ops->vop_##sym;                                                                  \
+     })
+
+#define vop_open(node, open_flags)                                  (__vop_op(node, open)(node, open_flags))
+#define vop_close(node)                                             (__vop_op(node, close)(node))
+#define vop_read(node, iob)                                         (__vop_op(node, read)(node, iob))
+#define vop_write(node, iob)                                        (__vop_op(node, write)(node, iob))
+#define vop_fstat(node, stat)                                       (__vop_op(node, fstat)(node, stat))
+#define vop_fsync(node)                                             (__vop_op(node, fsync)(node))
+#define vop_namefile(node, iob)                                     (__vop_op(node, namefile)(node, iob))
+#define vop_getdirentry(node, iob)                                  (__vop_op(node, getdirentry)(node, iob))
+#define vop_reclaim(node)                                           (__vop_op(node, reclaim)(node))
+#define vop_ioctl(node, op, data)                                   (__vop_op(node, ioctl)(node, op, data))
+#define vop_gettype(node, type_store)                               (__vop_op(node, gettype)(node, type_store))
+#define vop_tryseek(node, pos)                                      (__vop_op(node, tryseek)(node, pos))
+#define vop_truncate(node, len)                                     (__vop_op(node, truncate)(node, len))
+#define vop_create(node, name, excl, node_store)                    (__vop_op(node, create)(node, name, excl, node_store))
+#define vop_lookup(node, path, node_store)                          (__vop_op(node, lookup)(node, path, node_store))
+
+
+#define vop_fs(node)                                                ((node)->in_fs)
+#define vop_init(node, ops, fs)                                     inode_init(node, ops, fs)
+#define vop_kill(node)                                              inode_kill(node)
+
+/*
+ * Reference count manipulation (handled above filesystem level)
+ */
+#define vop_ref_inc(node)                                           inode_ref_inc(node)
+#define vop_ref_dec(node)                                           inode_ref_dec(node)
+/*
+ * Open count manipulation (handled above filesystem level)
+ *
+ * VOP_INCOPEN is called by vfs_open. VOP_DECOPEN is called by vfs_close.
+ * Neither of these should need to be called from above the vfs layer.
+ */
+#define vop_open_inc(node)                                          inode_open_inc(node)
+#define vop_open_dec(node)                                          inode_open_dec(node)
+
+
+static inline int
+inode_ref_count(struct inode *node) {
+    return atomic_read(&(node->ref_count));
+}
+
+static inline int
+inode_open_count(struct inode *node) {
+    return atomic_read(&(node->open_count));
+}
+
+#endif /* !__KERN_FS_VFS_INODE_H__ */
+
diff --git a/code/lab8/kern/fs/vfs/vfs.c b/code/lab8/kern/fs/vfs/vfs.c
new file mode 100644
index 0000000..29e8707
--- /dev/null
+++ b/code/lab8/kern/fs/vfs/vfs.c
@@ -0,0 +1,97 @@
+#include <defs.h>
+#include <stdio.h>
+#include <string.h>
+#include <vfs.h>
+#include <inode.h>
+#include <sem.h>
+#include <kmalloc.h>
+#include <error.h>
+
+static semaphore_t bootfs_sem;
+static struct inode *bootfs_node = NULL;
+
+extern void vfs_devlist_init(void);
+
+// __alloc_fs - allocate memory for fs, and set fs type
+struct fs *
+__alloc_fs(int type) {
+    struct fs *fs;
+    if ((fs = kmalloc(sizeof(struct fs))) != NULL) {
+        fs->fs_type = type;
+    }
+    return fs;
+}
+
+// vfs_init -  vfs initialize
+void
+vfs_init(void) {
+    sem_init(&bootfs_sem, 1);
+    vfs_devlist_init();
+}
+
+// lock_bootfs - lock  for bootfs
+static void
+lock_bootfs(void) {
+    down(&bootfs_sem);
+}
+// ulock_bootfs - ulock for bootfs
+static void
+unlock_bootfs(void) {
+    up(&bootfs_sem);
+}
+
+// change_bootfs - set the new fs inode 
+static void
+change_bootfs(struct inode *node) {
+    struct inode *old;
+    lock_bootfs();
+    {
+        old = bootfs_node, bootfs_node = node;
+    }
+    unlock_bootfs();
+    if (old != NULL) {
+        vop_ref_dec(old);
+    }
+}
+
+// vfs_set_bootfs - change the dir of file system
+int
+vfs_set_bootfs(char *fsname) {
+    struct inode *node = NULL;
+    if (fsname != NULL) {
+        char *s;
+        if ((s = strchr(fsname, ':')) == NULL || s[1] != '\0') {
+            return -E_INVAL;
+        }
+        int ret;
+        if ((ret = vfs_chdir(fsname)) != 0) {
+            return ret;
+        }
+        if ((ret = vfs_get_curdir(&node)) != 0) {
+            return ret;
+        }
+    }
+    change_bootfs(node);
+    return 0;
+}
+
+// vfs_get_bootfs - get the inode of bootfs
+int
+vfs_get_bootfs(struct inode **node_store) {
+    struct inode *node = NULL;
+    if (bootfs_node != NULL) {
+        lock_bootfs();
+        {
+            if ((node = bootfs_node) != NULL) {
+                vop_ref_inc(bootfs_node);
+            }
+        }
+        unlock_bootfs();
+    }
+    if (node == NULL) {
+        return -E_NOENT;
+    }
+    *node_store = node;
+    return 0;
+}
+
diff --git a/code/lab8/kern/fs/vfs/vfs.h b/code/lab8/kern/fs/vfs/vfs.h
new file mode 100644
index 0000000..7ff8a10
--- /dev/null
+++ b/code/lab8/kern/fs/vfs/vfs.h
@@ -0,0 +1,191 @@
+#ifndef __KERN_FS_VFS_VFS_H__
+#define __KERN_FS_VFS_VFS_H__
+
+#include <defs.h>
+#include <fs.h>
+#include <sfs.h>
+
+struct inode;   // abstract structure for an on-disk file (inode.h)
+struct device;  // abstract structure for a device (dev.h)
+struct iobuf;   // kernel or userspace I/O buffer (iobuf.h)
+
+/*
+ * Abstract filesystem. (Or device accessible as a file.)
+ *
+ * Information:
+ *      fs_info   : filesystem-specific data (sfs_fs)
+ *      fs_type   : filesystem type
+ * Operations:
+ *
+ *      fs_sync       - Flush all dirty buffers to disk.
+ *      fs_get_root   - Return root inode of filesystem.
+ *      fs_unmount    - Attempt unmount of filesystem.
+ *      fs_cleanup    - Cleanup of filesystem.???
+ *      
+ *
+ * fs_get_root should increment the refcount of the inode returned.
+ * It should not ever return NULL.
+ *
+ * If fs_unmount returns an error, the filesystem stays mounted, and
+ * consequently the struct fs instance should remain valid. On success,
+ * however, the filesystem object and all storage associated with the
+ * filesystem should have been discarded/released.
+ *
+ */
+struct fs {
+    union {
+        struct sfs_fs __sfs_info;                   
+    } fs_info;                                     // filesystem-specific data 
+    enum {
+        fs_type_sfs_info,
+    } fs_type;                                     // filesystem type 
+    int (*fs_sync)(struct fs *fs);                 // Flush all dirty buffers to disk 
+    struct inode *(*fs_get_root)(struct fs *fs);   // Return root inode of filesystem.
+    int (*fs_unmount)(struct fs *fs);              // Attempt unmount of filesystem.
+    void (*fs_cleanup)(struct fs *fs);             // Cleanup of filesystem.???
+};
+
+#define __fs_type(type)                                             fs_type_##type##_info
+
+#define check_fs_type(fs, type)                                     ((fs)->fs_type == __fs_type(type))
+
+#define __fsop_info(_fs, type) ({                                   \
+            struct fs *__fs = (_fs);                                \
+            assert(__fs != NULL && check_fs_type(__fs, type));      \
+            &(__fs->fs_info.__##type##_info);                       \
+        })
+
+#define fsop_info(fs, type)                 __fsop_info(fs, type)
+
+#define info2fs(info, type)                                         \
+    to_struct((info), struct fs, fs_info.__##type##_info)
+
+struct fs *__alloc_fs(int type);
+
+#define alloc_fs(type)                                              __alloc_fs(__fs_type(type))
+
+// Macros to shorten the calling sequences.
+#define fsop_sync(fs)                       ((fs)->fs_sync(fs))
+#define fsop_get_root(fs)                   ((fs)->fs_get_root(fs))
+#define fsop_unmount(fs)                    ((fs)->fs_unmount(fs))
+#define fsop_cleanup(fs)                    ((fs)->fs_cleanup(fs))
+
+/*
+ * Virtual File System layer functions.
+ *
+ * The VFS layer translates operations on abstract on-disk files or
+ * pathnames to operations on specific files on specific filesystems.
+ */
+void vfs_init(void);
+void vfs_cleanup(void);
+void vfs_devlist_init(void);
+
+/*
+ * VFS layer low-level operations. 
+ * See inode.h for direct operations on inodes.
+ * See fs.h for direct operations on filesystems/devices.
+ *
+ *    vfs_set_curdir   - change current directory of current thread by inode
+ *    vfs_get_curdir   - retrieve inode of current directory of current thread
+ *    vfs_get_root     - get root inode for the filesystem named DEVNAME
+ *    vfs_get_devname  - get mounted device name for the filesystem passed in
+ */
+int vfs_set_curdir(struct inode *dir);
+int vfs_get_curdir(struct inode **dir_store);
+int vfs_get_root(const char *devname, struct inode **root_store);
+const char *vfs_get_devname(struct fs *fs);
+
+
+/*
+ * VFS layer high-level operations on pathnames
+ * Because namei may destroy pathnames, these all may too.
+ *
+ *    vfs_open         - Open or create a file. FLAGS/MODE per the syscall. 
+ *    vfs_close  - Close a inode opened with vfs_open. Does not fail.
+ *                 (See vfspath.c for a discussion of why.)
+ *    vfs_link         - Create a hard link to a file.
+ *    vfs_symlink      - Create a symlink PATH containing contents CONTENTS.
+ *    vfs_readlink     - Read contents of a symlink into a uio.
+ *    vfs_mkdir        - Create a directory. MODE per the syscall.
+ *    vfs_unlink       - Delete a file/directory.
+ *    vfs_rename       - rename a file.
+ *    vfs_chdir  - Change current directory of current thread by name.
+ *    vfs_getcwd - Retrieve name of current directory of current thread.
+ *
+ */
+int vfs_open(char *path, uint32_t open_flags, struct inode **inode_store);
+int vfs_close(struct inode *node);
+int vfs_link(char *old_path, char *new_path);
+int vfs_symlink(char *old_path, char *new_path);
+int vfs_readlink(char *path, struct iobuf *iob);
+int vfs_mkdir(char *path);
+int vfs_unlink(char *path);
+int vfs_rename(char *old_path, char *new_path);
+int vfs_chdir(char *path);
+int vfs_getcwd(struct iobuf *iob);
+
+
+/*
+ * VFS layer mid-level operations.
+ *
+ *    vfs_lookup     - Like VOP_LOOKUP, but takes a full device:path name,
+ *                     or a name relative to the current directory, and
+ *                     goes to the correct filesystem.
+ *    vfs_lookparent - Likewise, for VOP_LOOKPARENT.
+ *
+ * Both of these may destroy the path passed in.
+ */
+int vfs_lookup(char *path, struct inode **node_store);
+int vfs_lookup_parent(char *path, struct inode **node_store, char **endp);
+
+/*
+ * Misc
+ *
+ *    vfs_set_bootfs - Set the filesystem that paths beginning with a
+ *                    slash are sent to. If not set, these paths fail
+ *                    with ENOENT. The argument should be the device
+ *                    name or volume name for the filesystem (such as
+ *                    "lhd0:") but need not have the trailing colon.
+ *
+ *    vfs_get_bootfs - return the inode of the bootfs filesystem. 
+ *
+ *    vfs_add_fs     - Add a hardwired filesystem to the VFS named device
+ *                    list. It will be accessible as "devname:". This is
+ *                    intended for filesystem-devices like emufs, and
+ *                    gizmos like Linux procfs or BSD kernfs, not for
+ *                    mounting filesystems on disk devices.
+ *
+ *    vfs_add_dev    - Add a device to the VFS named device list. If
+ *                    MOUNTABLE is zero, the device will be accessible
+ *                    as "DEVNAME:". If the mountable flag is set, the
+ *                    device will be accessible as "DEVNAMEraw:" and
+ *                    mountable under the name "DEVNAME". Thus, the
+ *                    console, added with MOUNTABLE not set, would be
+ *                    accessed by pathname as "con:", and lhd0, added
+ *                    with mountable set, would be accessed by
+ *                    pathname as "lhd0raw:" and mounted by passing
+ *                    "lhd0" to vfs_mount.
+ *
+ *    vfs_mount      - Attempt to mount a filesystem on a device. The
+ *                    device named by DEVNAME will be looked up and 
+ *                    passed, along with DATA, to the supplied function
+ *                    MOUNTFUNC, which should create a struct fs and
+ *                    return it in RESULT.
+ *
+ *    vfs_unmount    - Unmount the filesystem presently mounted on the
+ *                    specified device.
+ *
+ *    vfs_unmountall - Unmount all mounted filesystems.
+ */
+int vfs_set_bootfs(char *fsname);
+int vfs_get_bootfs(struct inode **node_store);
+
+int vfs_add_fs(const char *devname, struct fs *fs);
+int vfs_add_dev(const char *devname, struct inode *devnode, bool mountable);
+
+int vfs_mount(const char *devname, int (*mountfunc)(struct device *dev, struct fs **fs_store));
+int vfs_unmount(const char *devname);
+int vfs_unmount_all(void);
+
+#endif /* !__KERN_FS_VFS_VFS_H__ */
+
diff --git a/code/lab8/kern/fs/vfs/vfsdev.c b/code/lab8/kern/fs/vfs/vfsdev.c
new file mode 100644
index 0000000..f652618
--- /dev/null
+++ b/code/lab8/kern/fs/vfs/vfsdev.c
@@ -0,0 +1,309 @@
+#include <defs.h>
+#include <stdio.h>
+#include <string.h>
+#include <vfs.h>
+#include <dev.h>
+#include <inode.h>
+#include <sem.h>
+#include <list.h>
+#include <kmalloc.h>
+#include <unistd.h>
+#include <error.h>
+#include <assert.h>
+
+// device info entry in vdev_list 
+typedef struct {
+    const char *devname;
+    struct inode *devnode;
+    struct fs *fs;
+    bool mountable;
+    list_entry_t vdev_link;
+} vfs_dev_t;
+
+#define le2vdev(le, member)                         \
+    to_struct((le), vfs_dev_t, member)
+
+static list_entry_t vdev_list;     // device info list in vfs layer
+static semaphore_t vdev_list_sem;
+
+static void
+lock_vdev_list(void) {
+    down(&vdev_list_sem);
+}
+
+static void
+unlock_vdev_list(void) {
+    up(&vdev_list_sem);
+}
+
+void
+vfs_devlist_init(void) {
+    list_init(&vdev_list);
+    sem_init(&vdev_list_sem, 1);
+}
+
+// vfs_cleanup - finally clean (or sync) fs
+void
+vfs_cleanup(void) {
+    if (!list_empty(&vdev_list)) {
+        lock_vdev_list();
+        {
+            list_entry_t *list = &vdev_list, *le = list;
+            while ((le = list_next(le)) != list) {
+                vfs_dev_t *vdev = le2vdev(le, vdev_link);
+                if (vdev->fs != NULL) {
+                    fsop_cleanup(vdev->fs);
+                }
+            }
+        }
+        unlock_vdev_list();
+    }
+}
+
+/*
+ * vfs_get_root - Given a device name (stdin, stdout, etc.), hand
+ *                back an appropriate inode.
+ */
+int
+vfs_get_root(const char *devname, struct inode **node_store) {
+    assert(devname != NULL);
+    int ret = -E_NO_DEV;
+    if (!list_empty(&vdev_list)) {
+        lock_vdev_list();
+        {
+            list_entry_t *list = &vdev_list, *le = list;
+            while ((le = list_next(le)) != list) {
+                vfs_dev_t *vdev = le2vdev(le, vdev_link);
+                if (strcmp(devname, vdev->devname) == 0) {
+                    struct inode *found = NULL;
+                    if (vdev->fs != NULL) {
+                        found = fsop_get_root(vdev->fs);
+                    }
+                    else if (!vdev->mountable) {
+                        vop_ref_inc(vdev->devnode);
+                        found = vdev->devnode;
+                    }
+                    if (found != NULL) {
+                        ret = 0, *node_store = found;
+                    }
+                    else {
+                        ret = -E_NA_DEV;
+                    }
+                    break;
+                }
+            }
+        }
+        unlock_vdev_list();
+    }
+    return ret;
+}
+
+/*
+ * vfs_get_devname - Given a filesystem, hand back the name of the device it's mounted on.
+ */
+const char *
+vfs_get_devname(struct fs *fs) {
+    assert(fs != NULL);
+    list_entry_t *list = &vdev_list, *le = list;
+    while ((le = list_next(le)) != list) {
+        vfs_dev_t *vdev = le2vdev(le, vdev_link);
+        if (vdev->fs == fs) {
+            return vdev->devname;
+        }
+    }
+    return NULL;
+}
+
+/*
+ * check_devname_confilct - Is there alreadily device which has the same name?
+ */
+static bool
+check_devname_conflict(const char *devname) {
+    list_entry_t *list = &vdev_list, *le = list;
+    while ((le = list_next(le)) != list) {
+        vfs_dev_t *vdev = le2vdev(le, vdev_link);
+        if (strcmp(vdev->devname, devname) == 0) {
+            return 0;
+        }
+    }
+    return 1;
+}
+
+
+/*
+* vfs_do_add - Add a new device to the VFS layer's device table.
+*
+* If "mountable" is set, the device will be treated as one that expects
+* to have a filesystem mounted on it, and a raw device will be created
+* for direct access.
+*/
+static int
+vfs_do_add(const char *devname, struct inode *devnode, struct fs *fs, bool mountable) {
+    assert(devname != NULL);
+    assert((devnode == NULL && !mountable) || (devnode != NULL && check_inode_type(devnode, device)));
+    if (strlen(devname) > FS_MAX_DNAME_LEN) {
+        return -E_TOO_BIG;
+    }
+
+    int ret = -E_NO_MEM;
+    char *s_devname;
+    if ((s_devname = strdup(devname)) == NULL) {
+        return ret;
+    }
+
+    vfs_dev_t *vdev;
+    if ((vdev = kmalloc(sizeof(vfs_dev_t))) == NULL) {
+        goto failed_cleanup_name;
+    }
+
+    ret = -E_EXISTS;
+    lock_vdev_list();
+    if (!check_devname_conflict(s_devname)) {
+        unlock_vdev_list();
+        goto failed_cleanup_vdev;
+    }
+    vdev->devname = s_devname;
+    vdev->devnode = devnode;
+    vdev->mountable = mountable;
+    vdev->fs = fs;
+
+    list_add(&vdev_list, &(vdev->vdev_link));
+    unlock_vdev_list();
+    return 0;
+
+failed_cleanup_vdev:
+    kfree(vdev);
+failed_cleanup_name:
+    kfree(s_devname);
+    return ret;
+}
+
+/*
+ * vfs_add_fs - Add a new fs,  by name. See  vfs_do_add information for the description of
+ *              mountable.
+ */
+int
+vfs_add_fs(const char *devname, struct fs *fs) {
+    return vfs_do_add(devname, NULL, fs, 0);
+}
+
+/*
+ * vfs_add_dev - Add a new device, by name. See  vfs_do_add information for the description of
+ *               mountable.
+ */
+int
+vfs_add_dev(const char *devname, struct inode *devnode, bool mountable) {
+    return vfs_do_add(devname, devnode, NULL, mountable);
+}
+
+/*
+ * find_mount - Look for a mountable device named DEVNAME.
+ *              Should already hold vdev_list lock.
+ */
+static int
+find_mount(const char *devname, vfs_dev_t **vdev_store) {
+    assert(devname != NULL);
+    list_entry_t *list = &vdev_list, *le = list;
+    while ((le = list_next(le)) != list) {
+        vfs_dev_t *vdev = le2vdev(le, vdev_link);
+        if (vdev->mountable && strcmp(vdev->devname, devname) == 0) {
+            *vdev_store = vdev;
+            return 0;
+        }
+    }
+    return -E_NO_DEV;
+}
+
+/*
+ * vfs_mount - Mount a filesystem. Once we've found the device, call MOUNTFUNC to
+ *             set up the filesystem and hand back a struct fs.
+ *
+ * The DATA argument is passed through unchanged to MOUNTFUNC.
+ */
+int
+vfs_mount(const char *devname, int (*mountfunc)(struct device *dev, struct fs **fs_store)) {
+    int ret;
+    lock_vdev_list();
+    vfs_dev_t *vdev;
+    if ((ret = find_mount(devname, &vdev)) != 0) {
+        goto out;
+    }
+    if (vdev->fs != NULL) {
+        ret = -E_BUSY;
+        goto out;
+    }
+    assert(vdev->devname != NULL && vdev->mountable);
+
+    struct device *dev = vop_info(vdev->devnode, device);
+    if ((ret = mountfunc(dev, &(vdev->fs))) == 0) {
+        assert(vdev->fs != NULL);
+        cprintf("vfs: mount %s.\n", vdev->devname);
+    }
+
+out:
+    unlock_vdev_list();
+    return ret;
+}
+
+/*
+ * vfs_unmount - Unmount a filesystem/device by name.
+ *               First calls FSOP_SYNC on the filesystem; then calls FSOP_UNMOUNT.
+ */
+int
+vfs_unmount(const char *devname) {
+    int ret;
+    lock_vdev_list();
+    vfs_dev_t *vdev;
+    if ((ret = find_mount(devname, &vdev)) != 0) {
+        goto out;
+    }
+    if (vdev->fs == NULL) {
+        ret = -E_INVAL;
+        goto out;
+    }
+    assert(vdev->devname != NULL && vdev->mountable);
+
+    if ((ret = fsop_sync(vdev->fs)) != 0) {
+        goto out;
+    }
+    if ((ret = fsop_unmount(vdev->fs)) == 0) {
+        vdev->fs = NULL;
+        cprintf("vfs: unmount %s.\n", vdev->devname);
+    }
+
+out:
+    unlock_vdev_list();
+    return ret;
+}
+
+/*
+ * vfs_unmount_all - Global unmount function.
+ */
+int
+vfs_unmount_all(void) {
+    if (!list_empty(&vdev_list)) {
+        lock_vdev_list();
+        {
+            list_entry_t *list = &vdev_list, *le = list;
+            while ((le = list_next(le)) != list) {
+                vfs_dev_t *vdev = le2vdev(le, vdev_link);
+                if (vdev->mountable && vdev->fs != NULL) {
+                    int ret;
+                    if ((ret = fsop_sync(vdev->fs)) != 0) {
+                        cprintf("vfs: warning: sync failed for %s: %e.\n", vdev->devname, ret);
+                        continue ;
+                    }
+                    if ((ret = fsop_unmount(vdev->fs)) != 0) {
+                        cprintf("vfs: warning: unmount failed for %s: %e.\n", vdev->devname, ret);
+                        continue ;
+                    }
+                    vdev->fs = NULL;
+                    cprintf("vfs: unmount %s.\n", vdev->devname);
+                }
+            }
+        }
+        unlock_vdev_list();
+    }
+    return 0;
+}
+
diff --git a/code/lab8/kern/fs/vfs/vfsfile.c b/code/lab8/kern/fs/vfs/vfsfile.c
new file mode 100644
index 0000000..eb79dca
--- /dev/null
+++ b/code/lab8/kern/fs/vfs/vfsfile.c
@@ -0,0 +1,110 @@
+#include <defs.h>
+#include <string.h>
+#include <vfs.h>
+#include <inode.h>
+#include <unistd.h>
+#include <error.h>
+#include <assert.h>
+
+
+// open file in vfs, get/create inode for file with filename path.
+int
+vfs_open(char *path, uint32_t open_flags, struct inode **node_store) {
+    bool can_write = 0;
+    switch (open_flags & O_ACCMODE) {
+    case O_RDONLY:
+        break;
+    case O_WRONLY:
+    case O_RDWR:
+        can_write = 1;
+        break;
+    default:
+        return -E_INVAL;
+    }
+
+    if (open_flags & O_TRUNC) {
+        if (!can_write) {
+            return -E_INVAL;
+        }
+    }
+
+    int ret; 
+    struct inode *node;
+    bool excl = (open_flags & O_EXCL) != 0;
+    bool create = (open_flags & O_CREAT) != 0;
+    ret = vfs_lookup(path, &node);
+
+    if (ret != 0) {
+        if (ret == -16 && (create)) {
+            char *name;
+            struct inode *dir;
+            if ((ret = vfs_lookup_parent(path, &dir, &name)) != 0) {
+                return ret;
+            }
+            ret = vop_create(dir, name, excl, &node);
+        } else return ret;
+    } else if (excl && create) {
+        return -E_EXISTS;
+    }
+    assert(node != NULL);
+    
+    if ((ret = vop_open(node, open_flags)) != 0) {
+        vop_ref_dec(node);
+        return ret;
+    }
+
+    vop_open_inc(node);
+    if (open_flags & O_TRUNC || create) {
+        if ((ret = vop_truncate(node, 0)) != 0) {
+            vop_open_dec(node);
+            vop_ref_dec(node);
+            return ret;
+        }
+    }
+    *node_store = node;
+    return 0;
+}
+
+// close file in vfs
+int
+vfs_close(struct inode *node) {
+    vop_open_dec(node);
+    vop_ref_dec(node);
+    return 0;
+}
+
+// unimplement
+int
+vfs_unlink(char *path) {
+    return -E_UNIMP;
+}
+
+// unimplement
+int
+vfs_rename(char *old_path, char *new_path) {
+    return -E_UNIMP;
+}
+
+// unimplement
+int
+vfs_link(char *old_path, char *new_path) {
+    return -E_UNIMP;
+}
+
+// unimplement
+int
+vfs_symlink(char *old_path, char *new_path) {
+    return -E_UNIMP;
+}
+
+// unimplement
+int
+vfs_readlink(char *path, struct iobuf *iob) {
+    return -E_UNIMP;
+}
+
+// unimplement
+int
+vfs_mkdir(char *path){
+    return -E_UNIMP;
+}
diff --git a/code/lab8/kern/fs/vfs/vfslookup.c b/code/lab8/kern/fs/vfs/vfslookup.c
new file mode 100644
index 0000000..619261d
--- /dev/null
+++ b/code/lab8/kern/fs/vfs/vfslookup.c
@@ -0,0 +1,101 @@
+#include <defs.h>
+#include <string.h>
+#include <vfs.h>
+#include <inode.h>
+#include <error.h>
+#include <assert.h>
+
+/*
+ * get_device- Common code to pull the device name, if any, off the front of a
+ *             path and choose the inode to begin the name lookup relative to.
+ */
+
+static int
+get_device(char *path, char **subpath, struct inode **node_store) {
+    int i, slash = -1, colon = -1;
+    for (i = 0; path[i] != '\0'; i ++) {
+        if (path[i] == ':') { colon = i; break; }
+        if (path[i] == '/') { slash = i; break; }
+    }
+    if (colon < 0 && slash != 0) {
+        /* *
+         * No colon before a slash, so no device name specified, and the slash isn't leading
+         * or is also absent, so this is a relative path or just a bare filename. Start from
+         * the current directory, and use the whole thing as the subpath.
+         * */
+        *subpath = path;
+        return vfs_get_curdir(node_store);
+    }
+    if (colon > 0) {
+        /* device:path - get root of device's filesystem */
+        path[colon] = '\0';
+
+        /* device:/path - skip slash, treat as device:path */
+        while (path[++ colon] == '/');
+        *subpath = path + colon;
+        return vfs_get_root(path, node_store);
+    }
+
+    /* *
+     * we have either /path or :path
+     * /path is a path relative to the root of the "boot filesystem"
+     * :path is a path relative to the root of the current filesystem
+     * */
+    int ret;
+    if (*path == '/') {
+        if ((ret = vfs_get_bootfs(node_store)) != 0) {
+            return ret;
+        }
+    }
+    else {
+        assert(*path == ':');
+        struct inode *node;
+        if ((ret = vfs_get_curdir(&node)) != 0) {
+            return ret;
+        }
+        /* The current directory may not be a device, so it must have a fs. */
+        assert(node->in_fs != NULL);
+        *node_store = fsop_get_root(node->in_fs);
+        vop_ref_dec(node);
+    }
+
+    /* ///... or :/... */
+    while (*(++ path) == '/');
+    *subpath = path;
+    return 0;
+}
+
+/*
+ * vfs_lookup - get the inode according to the path filename
+ */
+int
+vfs_lookup(char *path, struct inode **node_store) {
+    int ret;
+    struct inode *node;
+    if ((ret = get_device(path, &path, &node)) != 0) {
+        return ret;
+    }
+    if (*path != '\0') {
+        ret = vop_lookup(node, path, node_store);
+        vop_ref_dec(node);
+        return ret;
+    }
+    *node_store = node;
+    return 0;
+}
+
+/*
+ * vfs_lookup_parent - Name-to-vnode translation.
+ *  (In BSD, both of these are subsumed by namei().)
+ */
+int
+vfs_lookup_parent(char *path, struct inode **node_store, char **endp){
+    int ret;
+    struct inode *node;
+    if ((ret = get_device(path, &path, &node)) != 0) {
+        return ret;
+    }
+    *endp = path;
+    *node_store = node;
+    return 0;
+}
diff --git a/code/lab8/kern/fs/vfs/vfspath.c b/code/lab8/kern/fs/vfs/vfspath.c
new file mode 100644
index 0000000..0e164df
--- /dev/null
+++ b/code/lab8/kern/fs/vfs/vfspath.c
@@ -0,0 +1,126 @@
+#include <defs.h>
+#include <string.h>
+#include <vfs.h>
+#include <inode.h>
+#include <iobuf.h>
+#include <stat.h>
+#include <proc.h>
+#include <error.h>
+#include <assert.h>
+
+/*
+ * get_cwd_nolock - retrieve current process's working directory. without lock protect
+ */
+static struct inode *
+get_cwd_nolock(void) {
+    return current->filesp->pwd;
+}
+/*
+ * set_cwd_nolock - set current working directory.
+ */
+static void
+set_cwd_nolock(struct inode *pwd) {
+    current->filesp->pwd = pwd;
+}
+
+/*
+ * lock_cfs - lock the fs related process on current process 
+ */
+static void
+lock_cfs(void) {
+    lock_files(current->filesp);
+}
+/*
+ * unlock_cfs - unlock the fs related process on current process 
+ */
+static void
+unlock_cfs(void) {
+    unlock_files(current->filesp);
+}
+
+/*
+ *  vfs_get_curdir - Get current directory as a inode.
+ */
+int
+vfs_get_curdir(struct inode **dir_store) {
+    struct inode *node;
+    if ((node = get_cwd_nolock()) != NULL) {
+        vop_ref_inc(node);
+        *dir_store = node;
+        return 0;
+    }
+    return -E_NOENT;
+}
+
+/*
+ * vfs_set_curdir - Set current directory as a inode.
+ *                  The passed inode must in fact be a directory.
+ */
+int
+vfs_set_curdir(struct inode *dir) {
+    int ret = 0;
+    lock_cfs();
+    struct inode *old_dir;
+    if ((old_dir = get_cwd_nolock()) != dir) {
+        if (dir != NULL) {
+            uint32_t type;
+            if ((ret = vop_gettype(dir, &type)) != 0) {
+                goto out;
+            }
+            if (!S_ISDIR(type)) {
+                ret = -E_NOTDIR;
+                goto out;
+            }
+            vop_ref_inc(dir);
+        }
+        set_cwd_nolock(dir);
+        if (old_dir != NULL) {
+            vop_ref_dec(old_dir);
+        }
+    }
+out:
+    unlock_cfs();
+    return ret;
+}
+
+/*
+ * vfs_chdir - Set current directory, as a pathname. Use vfs_lookup to translate
+ *             it to a inode.
+ */
+int
+vfs_chdir(char *path) {
+    int ret;
+    struct inode *node;
+    if ((ret = vfs_lookup(path, &node)) == 0) {
+        ret = vfs_set_curdir(node);
+        vop_ref_dec(node);
+    }
+    return ret;
+}
+/*
+ * vfs_getcwd - retrieve current working directory(cwd).
+ */
+int
+vfs_getcwd(struct iobuf *iob) {
+    int ret;
+    struct inode *node;
+    if ((ret = vfs_get_curdir(&node)) != 0) {
+        return ret;
+    }
+    assert(node->in_fs != NULL);
+
+    const char *devname = vfs_get_devname(node->in_fs);
+    if ((ret = iobuf_move(iob, (char *)devname, strlen(devname), 1, NULL)) != 0) {
+        goto out;
+    }
+    char colon = ':';
+    if ((ret = iobuf_move(iob, &colon, sizeof(colon), 1, NULL)) != 0) {
+        goto out;
+    }
+    ret = vop_namefile(node, iob);
+
+out:
+    vop_ref_dec(node);
+    return ret;
+}
+
diff --git a/code/lab8/kern/init/entry.S b/code/lab8/kern/init/entry.S
new file mode 100644
index 0000000..8e37f2a
--- /dev/null
+++ b/code/lab8/kern/init/entry.S
@@ -0,0 +1,49 @@
+#include <mmu.h>
+#include <memlayout.h>
+
+#define REALLOC(x) (x - KERNBASE)
+
+.text
+.globl kern_entry
+kern_entry:
+    # reload temperate gdt (second time) to remap all physical memory
+    # virtual_addr 0~4G=linear_addr&physical_addr -KERNBASE~4G-KERNBASE 
+    lgdt REALLOC(__gdtdesc)
+    movl $KERNEL_DS, %eax
+    movw %ax, %ds
+    movw %ax, %es
+    movw %ax, %ss
+
+    ljmp $KERNEL_CS, $relocated
+
+relocated:
+
+    # set ebp, esp
+    movl $0x0, %ebp
+    # the kernel stack region is from bootstack -- bootstacktop,
+    # the kernel stack size is KSTACKSIZE (8KB)defined in memlayout.h
+    movl $bootstacktop, %esp
+    # now kernel stack is ready , call the first C function
+    call kern_init
+
+# should never get here
+spin:
+    jmp spin
+
+.data
+.align PGSIZE
+    .globl bootstack
+bootstack:
+    .space KSTACKSIZE
+    .globl bootstacktop
+bootstacktop:
+
+.align 4
+__gdt:
+    SEG_NULL
+    SEG_ASM(STA_X | STA_R, - KERNBASE, 0xFFFFFFFF)      # code segment
+    SEG_ASM(STA_W, - KERNBASE, 0xFFFFFFFF)              # data segment
+__gdtdesc:
+    .word 0x17                                          # sizeof(__gdt) - 1
+    .long REALLOC(__gdt)
+
diff --git a/code/lab8/kern/init/init.c b/code/lab8/kern/init/init.c
new file mode 100644
index 0000000..0a95d8b
--- /dev/null
+++ b/code/lab8/kern/init/init.c
@@ -0,0 +1,116 @@
+#include <defs.h>
+#include <stdio.h>
+#include <string.h>
+#include <console.h>
+#include <kdebug.h>
+#include <picirq.h>
+#include <trap.h>
+#include <clock.h>
+#include <intr.h>
+#include <pmm.h>
+#include <vmm.h>
+#include <ide.h>
+#include <swap.h>
+#include <proc.h>
+#include <fs.h>
+
+int kern_init(void) __attribute__((noreturn));
+
+static void lab1_switch_test(void);
+
+int
+kern_init(void) {
+    extern char edata[], end[];
+    memset(edata, 0, end - edata);
+
+    cons_init();                // init the console
+
+    const char *message = "(THU.CST) os is loading ...";
+    cprintf("%s\n\n", message);
+
+    print_kerninfo();
+
+    grade_backtrace();
+
+    pmm_init();                 // init physical memory management
+
+    pic_init();                 // init interrupt controller
+    idt_init();                 // init interrupt descriptor table
+
+    vmm_init();                 // init virtual memory management
+    sched_init();               // init scheduler
+    proc_init();                // init process table
+    
+    ide_init();                 // init ide devices
+    swap_init();                // init swap
+    fs_init();                  // init fs
+    
+    clock_init();               // init clock interrupt
+    intr_enable();              // enable irq interrupt
+
+    //LAB1: CAHLLENGE 1 If you try to do it, uncomment lab1_switch_test()
+    // user/kernel mode switch test
+    //lab1_switch_test();
+    
+    cpu_idle();                 // run idle process
+}
+
+void __attribute__((noinline))
+grade_backtrace2(int arg0, int arg1, int arg2, int arg3) {
+    mon_backtrace(0, NULL, NULL);
+}
+
+void __attribute__((noinline))
+grade_backtrace1(int arg0, int arg1) {
+    grade_backtrace2(arg0, (int)&arg0, arg1, (int)&arg1);
+}
+
+void __attribute__((noinline))
+grade_backtrace0(int arg0, int arg1, int arg2) {
+    grade_backtrace1(arg0, arg2);
+}
+
+void
+grade_backtrace(void) {
+    grade_backtrace0(0, (int)kern_init, 0xffff0000);
+}
+
+static void
+lab1_print_cur_status(void) {
+    static int round = 0;
+    uint16_t reg1, reg2, reg3, reg4;
+    asm volatile (
+            "mov %%cs, %0;"
+            "mov %%ds, %1;"
+            "mov %%es, %2;"
+            "mov %%ss, %3;"
+            : "=m"(reg1), "=m"(reg2), "=m"(reg3), "=m"(reg4));
+    cprintf("%d: @ring %d\n", round, reg1 & 3);
+    cprintf("%d:  cs = %x\n", round, reg1);
+    cprintf("%d:  ds = %x\n", round, reg2);
+    cprintf("%d:  es = %x\n", round, reg3);
+    cprintf("%d:  ss = %x\n", round, reg4);
+    round ++;
+}
+
+static void
+lab1_switch_to_user(void) {
+    //LAB1 CHALLENGE 1 : TODO
+}
+
+static void
+lab1_switch_to_kernel(void) {
+    //LAB1 CHALLENGE 1 :  TODO
+}
+
+static void
+lab1_switch_test(void) {
+    lab1_print_cur_status();
+    cprintf("+++ switch to  user  mode +++\n");
+    lab1_switch_to_user();
+    lab1_print_cur_status();
+    cprintf("+++ switch to kernel mode +++\n");
+    lab1_switch_to_kernel();
+    lab1_print_cur_status();
+}
+
diff --git a/code/lab8/kern/libs/rb_tree.c b/code/lab8/kern/libs/rb_tree.c
new file mode 100644
index 0000000..0a5fcc8
--- /dev/null
+++ b/code/lab8/kern/libs/rb_tree.c
@@ -0,0 +1,528 @@
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <kmalloc.h>
+#include <rb_tree.h>
+#include <assert.h>
+
+/* rb_node_create - create a new rb_node */
+static inline rb_node *
+rb_node_create(void) {
+    return kmalloc(sizeof(rb_node));
+}
+
+/* rb_tree_empty - tests if tree is empty */
+static inline bool
+rb_tree_empty(rb_tree *tree) {
+    rb_node *nil = tree->nil, *root = tree->root;
+    return root->left == nil;
+}
+
+/* *
+ * rb_tree_create - creates a new red-black tree, the 'compare' function
+ * is required and returns 'NULL' if failed.
+ *
+ * Note that, root->left should always point to the node that is the root
+ * of the tree. And nil points to a 'NULL' node which should always be
+ * black and may have arbitrary children and parent node.
+ * */
+rb_tree *
+rb_tree_create(int (*compare)(rb_node *node1, rb_node *node2)) {
+    assert(compare != NULL);
+
+    rb_tree *tree;
+    rb_node *nil, *root;
+
+    if ((tree = kmalloc(sizeof(rb_tree))) == NULL) {
+        goto bad_tree;
+    }
+
+    tree->compare = compare;
+
+    if ((nil = rb_node_create()) == NULL) {
+        goto bad_node_cleanup_tree;
+    }
+
+    nil->parent = nil->left = nil->right = nil;
+    nil->red = 0;
+    tree->nil = nil;
+
+    if ((root = rb_node_create()) == NULL) {
+        goto bad_node_cleanup_nil;
+    }
+
+    root->parent = root->left = root->right = nil;
+    root->red = 0;
+    tree->root = root;
+    return tree;
+
+bad_node_cleanup_nil:
+    kfree(nil);
+bad_node_cleanup_tree:
+    kfree(tree);
+bad_tree:
+    return NULL;
+}
+
+/* *
+ * FUNC_ROTATE - rotates as described in "Introduction to Algorithm".
+ *
+ * For example, FUNC_ROTATE(rb_left_rotate, left, right) can be expaned to a
+ * left-rotate function, which requires an red-black 'tree' and a node 'x'
+ * to be rotated on. Basically, this function, named rb_left_rotate, makes the
+ * parent of 'x' be the left child of 'x', 'x' the parent of its parent before
+ * rotation and finally fixes other nodes accordingly.
+ *
+ * FUNC_ROTATE(xx, left, right) means left-rotate,
+ * and FUNC_ROTATE(xx, right, left) means right-rotate.
+ * */
+#define FUNC_ROTATE(func_name, _left, _right)                   \
+static void                                                     \
+func_name(rb_tree *tree, rb_node *x) {                          \
+    rb_node *nil = tree->nil, *y = x->_right;                   \
+    assert(x != tree->root && x != nil && y != nil);            \
+    x->_right = y->_left;                                       \
+    if (y->_left != nil) {                                      \
+        y->_left->parent = x;                                   \
+    }                                                           \
+    y->parent = x->parent;                                      \
+    if (x == x->parent->_left) {                                \
+        x->parent->_left = y;                                   \
+    }                                                           \
+    else {                                                      \
+        x->parent->_right = y;                                  \
+    }                                                           \
+    y->_left = x;                                               \
+    x->parent = y;                                              \
+    assert(!(nil->red));                                        \
+}
+
+FUNC_ROTATE(rb_left_rotate, left, right);
+FUNC_ROTATE(rb_right_rotate, right, left);
+
+#undef FUNC_ROTATE
+
+#define COMPARE(tree, node1, node2)                             \
+    ((tree))->compare((node1), (node2))
+
+/* *
+ * rb_insert_binary - insert @node to red-black @tree as if it were
+ * a regular binary tree. This function is only intended to be called
+ * by function rb_insert.
+ * */
+static inline void
+rb_insert_binary(rb_tree *tree, rb_node *node) {
+    rb_node *x, *y, *z = node, *nil = tree->nil, *root = tree->root;
+
+    z->left = z->right = nil;
+    y = root, x = y->left;
+    while (x != nil) {
+        y = x;
+        x = (COMPARE(tree, x, node) > 0) ? x->left : x->right;
+    }
+    z->parent = y;
+    if (y == root || COMPARE(tree, y, z) > 0) {
+        y->left = z;
+    }
+    else {
+        y->right = z;
+    }
+}
+
+/* rb_insert - insert a node to red-black tree */
+void
+rb_insert(rb_tree *tree, rb_node *node) {
+    rb_insert_binary(tree, node);
+    node->red = 1;
+
+    rb_node *x = node, *y;
+
+#define RB_INSERT_SUB(_left, _right)                            \
+    do {                                                        \
+        y = x->parent->parent->_right;                          \
+        if (y->red) {                                           \
+            x->parent->red = 0;                                 \
+            y->red = 0;                                         \
+            x->parent->parent->red = 1;                         \
+            x = x->parent->parent;                              \
+        }                                                       \
+        else {                                                  \
+            if (x == x->parent->_right) {                       \
+                x = x->parent;                                  \
+                rb_##_left##_rotate(tree, x);                   \
+            }                                                   \
+            x->parent->red = 0;                                 \
+            x->parent->parent->red = 1;                         \
+            rb_##_right##_rotate(tree, x->parent->parent);      \
+        }                                                       \
+    } while (0)
+
+    while (x->parent->red) {
+        if (x->parent == x->parent->parent->left) {
+            RB_INSERT_SUB(left, right);
+        }
+        else {
+            RB_INSERT_SUB(right, left);
+        }
+    }
+    tree->root->left->red = 0;
+    assert(!(tree->nil->red) && !(tree->root->red));
+
+#undef RB_INSERT_SUB
+}
+
+/* *
+ * rb_tree_successor - returns the successor of @node, or nil
+ * if no successor exists. Make sure that @node must belong to @tree,
+ * and this function should only be called by rb_node_prev.
+ * */
+static inline rb_node *
+rb_tree_successor(rb_tree *tree, rb_node *node) {
+    rb_node *x = node, *y, *nil = tree->nil;
+
+    if ((y = x->right) != nil) {
+        while (y->left != nil) {
+            y = y->left;
+        }
+        return y;
+    }
+    else {
+        y = x->parent;
+        while (x == y->right) {
+            x = y, y = y->parent;
+        }
+        if (y == tree->root) {
+            return nil;
+        }
+        return y;
+    }
+}
+
+/* *
+ * rb_tree_predecessor - returns the predecessor of @node, or nil
+ * if no predecessor exists, likes rb_tree_successor.
+ * */
+static inline rb_node *
+rb_tree_predecessor(rb_tree *tree, rb_node *node) {
+    rb_node *x = node, *y, *nil = tree->nil;
+
+    if ((y = x->left) != nil) {
+        while (y->right != nil) {
+            y = y->right;
+        }
+        return y;
+    }
+    else {
+        y = x->parent;
+        while (x == y->left) {
+            if (y == tree->root) {
+                return nil;
+            }
+            x = y, y = y->parent;
+        }
+        return y;
+    }
+}
+
+/* *
+ * rb_search - returns a node with value 'equal' to @key (according to
+ * function @compare). If there're multiple nodes with value 'equal' to @key,
+ * the functions returns the one highest in the tree.
+ * */
+rb_node *
+rb_search(rb_tree *tree, int (*compare)(rb_node *node, void *key), void *key) {
+    rb_node *nil = tree->nil, *node = tree->root->left;
+    int r;
+    while (node != nil && (r = compare(node, key)) != 0) {
+        node = (r > 0) ? node->left : node->right;
+    }
+    return (node != nil) ? node : NULL;
+}
+
+/* *
+ * rb_delete_fixup - performs rotations and changes colors to restore
+ * red-black properties after a node is deleted.
+ * */
+static void
+rb_delete_fixup(rb_tree *tree, rb_node *node) {
+    rb_node *x = node, *w, *root = tree->root->left;
+
+#define RB_DELETE_FIXUP_SUB(_left, _right)                      \
+    do {                                                        \
+        w = x->parent->_right;                                  \
+        if (w->red) {                                           \
+            w->red = 0;                                         \
+            x->parent->red = 1;                                 \
+            rb_##_left##_rotate(tree, x->parent);               \
+            w = x->parent->_right;                              \
+        }                                                       \
+        if (!w->_left->red && !w->_right->red) {                \
+            w->red = 1;                                         \
+            x = x->parent;                                      \
+        }                                                       \
+        else {                                                  \
+            if (!w->_right->red) {                              \
+                w->_left->red = 0;                              \
+                w->red = 1;                                     \
+                rb_##_right##_rotate(tree, w);                  \
+                w = x->parent->_right;                          \
+            }                                                   \
+            w->red = x->parent->red;                            \
+            x->parent->red = 0;                                 \
+            w->_right->red = 0;                                 \
+            rb_##_left##_rotate(tree, x->parent);               \
+            x = root;                                           \
+        }                                                       \
+    } while (0)
+
+    while (x != root && !x->red) {
+        if (x == x->parent->left) {
+            RB_DELETE_FIXUP_SUB(left, right);
+        }
+        else {
+            RB_DELETE_FIXUP_SUB(right, left);
+        }
+    }
+    x->red = 0;
+
+#undef RB_DELETE_FIXUP_SUB
+}
+
+/* *
+ * rb_delete - deletes @node from @tree, and calls rb_delete_fixup to
+ * restore red-black properties.
+ * */
+void
+rb_delete(rb_tree *tree, rb_node *node) {
+    rb_node *x, *y, *z = node;
+    rb_node *nil = tree->nil, *root = tree->root;
+
+    y = (z->left == nil || z->right == nil) ? z : rb_tree_successor(tree, z);
+    x = (y->left != nil) ? y->left : y->right;
+
+    assert(y != root && y != nil);
+
+    x->parent = y->parent;
+    if (y == y->parent->left) {
+        y->parent->left = x;
+    }
+    else {
+        y->parent->right = x;
+    }
+
+    bool need_fixup = !(y->red);
+
+    if (y != z) {
+        if (z == z->parent->left) {
+            z->parent->left = y;
+        }
+        else {
+            z->parent->right = y;
+        }
+        z->left->parent = z->right->parent = y;
+        *y = *z;
+    }
+    if (need_fixup) {
+        rb_delete_fixup(tree, x);
+    }
+}
+
+/* rb_tree_destroy - destroy a tree and free memory */
+void
+rb_tree_destroy(rb_tree *tree) {
+    kfree(tree->root);
+    kfree(tree->nil);
+    kfree(tree);
+}
+
+/* *
+ * rb_node_prev - returns the predecessor node of @node in @tree,
+ * or 'NULL' if no predecessor exists.
+ * */
+rb_node *
+rb_node_prev(rb_tree *tree, rb_node *node) {
+    rb_node *prev = rb_tree_predecessor(tree, node);
+    return (prev != tree->nil) ? prev : NULL;
+}
+
+/* *
+ * rb_node_next - returns the successor node of @node in @tree,
+ * or 'NULL' if no successor exists.
+ * */
+rb_node *
+rb_node_next(rb_tree *tree, rb_node *node) {
+    rb_node *next = rb_tree_successor(tree, node);
+    return (next != tree->nil) ? next : NULL;
+}
+
+/* rb_node_root - returns the root node of a @tree, or 'NULL' if tree is empty */
+rb_node *
+rb_node_root(rb_tree *tree) {
+    rb_node *node = tree->root->left;
+    return (node != tree->nil) ? node : NULL;
+}
+
+/* rb_node_left - gets the left child of @node, or 'NULL' if no such node */
+rb_node *
+rb_node_left(rb_tree *tree, rb_node *node) {
+    rb_node *left = node->left;
+    return (left != tree->nil) ? left : NULL;
+}
+
+/* rb_node_right - gets the right child of @node, or 'NULL' if no such node */
+rb_node *
+rb_node_right(rb_tree *tree, rb_node *node) {
+    rb_node *right = node->right;
+    return (right != tree->nil) ? right : NULL;
+}
+
+int
+check_tree(rb_tree *tree, rb_node *node) {
+    rb_node *nil = tree->nil;
+    if (node == nil) {
+        assert(!node->red);
+        return 1;
+    }
+    if (node->left != nil) {
+        assert(COMPARE(tree, node, node->left) >= 0);
+        assert(node->left->parent == node);
+    }
+    if (node->right != nil) {
+        assert(COMPARE(tree, node, node->right) <= 0);
+        assert(node->right->parent == node);
+    }
+    if (node->red) {
+        assert(!node->left->red && !node->right->red);
+    }
+    int hb_left = check_tree(tree, node->left);
+    int hb_right = check_tree(tree, node->right);
+    assert(hb_left == hb_right);
+    int hb = hb_left;
+    if (!node->red) {
+        hb ++;
+    }
+    return hb;
+}
+
+static void *
+check_safe_kmalloc(size_t size) {
+    void *ret = kmalloc(size);
+    assert(ret != NULL);
+    return ret;
+}
+
+struct check_data {
+    long data;
+    rb_node rb_link;
+};
+
+#define rbn2data(node)              \
+    (to_struct(node, struct check_data, rb_link))
+
+static inline int
+check_compare1(rb_node *node1, rb_node *node2) {
+    return rbn2data(node1)->data - rbn2data(node2)->data;
+}
+
+static inline int
+check_compare2(rb_node *node, void *key) {
+    return rbn2data(node)->data - (long)key;
+}
+
+void
+check_rb_tree(void) {
+    rb_tree *tree = rb_tree_create(check_compare1);
+    assert(tree != NULL);
+
+    rb_node *nil = tree->nil, *root = tree->root;
+    assert(!nil->red && root->left == nil);
+
+    int total = 1000;
+    struct check_data **all = check_safe_kmalloc(sizeof(struct check_data *) * total);
+
+    long i;
+    for (i = 0; i < total; i ++) {
+        all[i] = check_safe_kmalloc(sizeof(struct check_data));
+        all[i]->data = i;
+    }
+
+    int *mark = check_safe_kmalloc(sizeof(int) * total);
+    memset(mark, 0, sizeof(int) * total);
+
+    for (i = 0; i < total; i ++) {
+        mark[all[i]->data] = 1;
+    }
+    for (i = 0; i < total; i ++) {
+        assert(mark[i] == 1);
+    }
+
+    for (i = 0; i < total; i ++) {
+        int j = (rand() % (total - i)) + i;
+        struct check_data *z = all[i];
+        all[i] = all[j];
+        all[j] = z;
+    }
+
+    memset(mark, 0, sizeof(int) * total);
+    for (i = 0; i < total; i ++) {
+        mark[all[i]->data] = 1;
+    }
+    for (i = 0; i < total; i ++) {
+        assert(mark[i] == 1);
+    }
+
+    for (i = 0; i < total; i ++) {
+        rb_insert(tree, &(all[i]->rb_link));
+        check_tree(tree, root->left);
+    }
+
+    rb_node *node;
+    for (i = 0; i < total; i ++) {
+        node = rb_search(tree, check_compare2, (void *)(all[i]->data));
+        assert(node != NULL && node == &(all[i]->rb_link));
+    }
+
+    for (i = 0; i < total; i ++) {
+        node = rb_search(tree, check_compare2, (void *)i);
+        assert(node != NULL && rbn2data(node)->data == i);
+        rb_delete(tree, node);
+        check_tree(tree, root->left);
+    }
+
+    assert(!nil->red && root->left == nil);
+
+    long max = 32;
+    if (max > total) {
+        max = total;
+    }
+
+    for (i = 0; i < max; i ++) {
+        all[i]->data = max;
+        rb_insert(tree, &(all[i]->rb_link));
+        check_tree(tree, root->left);
+    }
+
+    for (i = 0; i < max; i ++) {
+        node = rb_search(tree, check_compare2, (void *)max);
+        assert(node != NULL && rbn2data(node)->data == max);
+        rb_delete(tree, node);
+        check_tree(tree, root->left);
+    }
+
+    assert(rb_tree_empty(tree));
+
+    for (i = 0; i < total; i ++) {
+        rb_insert(tree, &(all[i]->rb_link));
+        check_tree(tree, root->left);
+    }
+
+    rb_tree_destroy(tree);
+
+    for (i = 0; i < total; i ++) {
+        kfree(all[i]);
+    }
+
+    kfree(mark);
+    kfree(all);
+}
+
diff --git a/code/lab8/kern/libs/rb_tree.h b/code/lab8/kern/libs/rb_tree.h
new file mode 100644
index 0000000..a2aa9aa
--- /dev/null
+++ b/code/lab8/kern/libs/rb_tree.h
@@ -0,0 +1,32 @@
+#ifndef __KERN_LIBS_RB_TREE_H__
+#define __KERN_LIBS_RB_TREE_H__
+
+#include <defs.h>
+
+typedef struct rb_node {
+    bool red;                           // if red = 0, it's a black node
+    struct rb_node *parent;
+    struct rb_node *left, *right;
+} rb_node;
+
+typedef struct rb_tree {
+    // compare function should return -1 if *node1 < *node2, 1 if *node1 > *node2, and 0 otherwise
+    int (*compare)(rb_node *node1, rb_node *node2);
+    struct rb_node *nil, *root;
+} rb_tree;
+
+rb_tree *rb_tree_create(int (*compare)(rb_node *node1, rb_node *node2));
+void rb_tree_destroy(rb_tree *tree);
+void rb_insert(rb_tree *tree, rb_node *node);
+void rb_delete(rb_tree *tree, rb_node *node);
+rb_node *rb_search(rb_tree *tree, int (*compare)(rb_node *node, void *key), void *key);
+rb_node *rb_node_prev(rb_tree *tree, rb_node *node);
+rb_node *rb_node_next(rb_tree *tree, rb_node *node);
+rb_node *rb_node_root(rb_tree *tree);
+rb_node *rb_node_left(rb_tree *tree, rb_node *node);
+rb_node *rb_node_right(rb_tree *tree, rb_node *node);
+
+void check_rb_tree(void);
+
+#endif /* !__KERN_LIBS_RBTREE_H__ */
+
diff --git a/code/lab8/kern/libs/readline.c b/code/lab8/kern/libs/readline.c
new file mode 100644
index 0000000..cc1eddb
--- /dev/null
+++ b/code/lab8/kern/libs/readline.c
@@ -0,0 +1,50 @@
+#include <stdio.h>
+
+#define BUFSIZE 1024
+static char buf[BUFSIZE];
+
+/* *
+ * readline - get a line from stdin
+ * @prompt:     the string to be written to stdout
+ *
+ * The readline() function will write the input string @prompt to
+ * stdout first. If the @prompt is NULL or the empty string,
+ * no prompt is issued.
+ *
+ * This function will keep on reading characters and saving them to buffer
+ * 'buf' until '\n' or '\r' is encountered.
+ *
+ * Note that, if the length of string that will be read is longer than
+ * buffer size, the end of string will be discarded.
+ *
+ * The readline() function returns the text of the line read. If some errors
+ * are happened, NULL is returned. The return value is a global variable,
+ * thus it should be copied before it is used.
+ * */
+char *
+readline(const char *prompt) {
+    if (prompt != NULL) {
+        cprintf("%s", prompt);
+    }
+    int i = 0, c;
+    while (1) {
+        c = getchar();
+        if (c < 0) {
+            return NULL;
+        }
+        else if (c >= ' ' && i < BUFSIZE - 1) {
+            cputchar(c);
+            buf[i ++] = c;
+        }
+        else if (c == '\b' && i > 0) {
+            cputchar(c);
+            i --;
+        }
+        else if (c == '\n' || c == '\r') {
+            cputchar(c);
+            buf[i] = '\0';
+            return buf;
+        }
+    }
+}
+
diff --git a/code/lab8/kern/libs/stdio.c b/code/lab8/kern/libs/stdio.c
new file mode 100644
index 0000000..aaade41
--- /dev/null
+++ b/code/lab8/kern/libs/stdio.c
@@ -0,0 +1,78 @@
+#include <defs.h>
+#include <stdio.h>
+#include <console.h>
+#include <unistd.h>
+/* HIGH level console I/O */
+
+/* *
+ * cputch - writes a single character @c to stdout, and it will
+ * increace the value of counter pointed by @cnt.
+ * */
+static void
+cputch(int c, int *cnt) {
+    cons_putc(c);
+    (*cnt) ++;
+}
+
+/* *
+ * vcprintf - format a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want cprintf() instead.
+ * */
+int
+vcprintf(const char *fmt, va_list ap) {
+    int cnt = 0;
+    vprintfmt((void*)cputch, NO_FD, &cnt, fmt, ap);
+    return cnt;
+}
+
+/* *
+ * cprintf - formats a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ * */
+int
+cprintf(const char *fmt, ...) {
+    va_list ap;
+    int cnt;
+    va_start(ap, fmt);
+    cnt = vcprintf(fmt, ap);
+    va_end(ap);
+    return cnt;
+}
+
+/* cputchar - writes a single character to stdout */
+void
+cputchar(int c) {
+    cons_putc(c);
+}
+
+/* *
+ * cputs- writes the string pointed by @str to stdout and
+ * appends a newline character.
+ * */
+int
+cputs(const char *str) {
+    int cnt = 0;
+    char c;
+    while ((c = *str ++) != '\0') {
+        cputch(c, &cnt);
+    }
+    cputch('\n', &cnt);
+    return cnt;
+}
+
+/* getchar - reads a single non-zero character from stdin */
+int
+getchar(void) {
+    int c;
+    while ((c = cons_getc()) == 0)
+        /* do nothing */;
+    return c;
+}
+
diff --git a/code/lab8/kern/libs/string.c b/code/lab8/kern/libs/string.c
new file mode 100644
index 0000000..4b3548e
--- /dev/null
+++ b/code/lab8/kern/libs/string.c
@@ -0,0 +1,26 @@
+#include <string.h>
+#include <kmalloc.h>
+
+char *
+strdup(const char *src) {
+    char *dst;
+    size_t len = strlen(src);
+    if ((dst = kmalloc(len + 1)) != NULL) {
+        memcpy(dst, src, len);
+        dst[len] = '\0';
+    }
+    return dst;
+}
+
+char *
+stradd(const char *src1, const char *src2) {
+    char *ret, *dst;
+    size_t len1 = strlen(src1), len2 = strlen(src2);
+    if ((ret = dst = kmalloc(len1 + len2 + 1)) != NULL) {
+        memcpy(dst, src1, len1), dst += len1;
+        memcpy(dst, src2, len2), dst += len2;
+        *dst = '\0';
+    }
+    return ret;
+}
+
diff --git a/code/lab8/kern/mm/default_pmm.c b/code/lab8/kern/mm/default_pmm.c
new file mode 100644
index 0000000..770a30f
--- /dev/null
+++ b/code/lab8/kern/mm/default_pmm.c
@@ -0,0 +1,272 @@
+#include <pmm.h>
+#include <list.h>
+#include <string.h>
+#include <default_pmm.h>
+
+/* In the first fit algorithm, the allocator keeps a list of free blocks (known as the free list) and,
+   on receiving a request for memory, scans along the list for the first block that is large enough to
+   satisfy the request. If the chosen block is significantly larger than that requested, then it is 
+   usually split, and the remainder added to the list as another free block.
+   Please see Page 196~198, Section 8.2 of Yan Wei Ming's chinese book "Data Structure -- C programming language"
+*/
+// LAB2 EXERCISE 1: YOUR CODE
+// you should rewrite functions: default_init,default_init_memmap,default_alloc_pages, default_free_pages.
+/*
+ * Details of FFMA
+ * (1) Prepare: In order to implement the First-Fit Mem Alloc (FFMA), we should manage the free mem block use some list.
+ *              The struct free_area_t is used for the management of free mem blocks. At first you should
+ *              be familiar to the struct list in list.h. struct list is a simple doubly linked list implementation.
+ *              You should know howto USE: list_init, list_add(list_add_after), list_add_before, list_del, list_next, list_prev
+ *              Another tricky method is to transform a general list struct to a special struct (such as struct page):
+ *              you can find some MACRO: le2page (in memlayout.h), (in future labs: le2vma (in vmm.h), le2proc (in proc.h),etc.)
+ * (2) default_init: you can reuse the  demo default_init fun to init the free_list and set nr_free to 0.
+ *              free_list is used to record the free mem blocks. nr_free is the total number for free mem blocks.
+ * (3) default_init_memmap:  CALL GRAPH: kern_init --> pmm_init-->page_init-->init_memmap--> pmm_manager->init_memmap
+ *              This fun is used to init a free block (with parameter: addr_base, page_number).
+ *              First you should init each page (in memlayout.h) in this free block, include:
+ *                  p->flags should be set bit PG_property (means this page is valid. In pmm_init fun (in pmm.c),
+ *                  the bit PG_reserved is setted in p->flags)
+ *                  if this page  is free and is not the first page of free block, p->property should be set to 0.
+ *                  if this page  is free and is the first page of free block, p->property should be set to total num of block.
+ *                  p->ref should be 0, because now p is free and no reference.
+ *                  We can use p->page_link to link this page to free_list, (such as: list_add_before(&free_list, &(p->page_link)); )
+ *              Finally, we should sum the number of free mem block: nr_free+=n
+ * (4) default_alloc_pages: search find a first free block (block size >=n) in free list and reszie the free block, return the addr
+ *              of malloced block.
+ *              (4.1) So you should search freelist like this:
+ *                       list_entry_t le = &free_list;
+ *                       while((le=list_next(le)) != &free_list) {
+ *                       ....
+ *                 (4.1.1) In while loop, get the struct page and check the p->property (record the num of free block) >=n?
+ *                       struct Page *p = le2page(le, page_link);
+ *                       if(p->property >= n){ ...
+ *                 (4.1.2) If we find this p, then it' means we find a free block(block size >=n), and the first n pages can be malloced.
+ *                     Some flag bits of this page should be setted: PG_reserved =1, PG_property =0
+ *                     unlink the pages from free_list
+ *                     (4.1.2.1) If (p->property >n), we should re-caluclate number of the the rest of this free block,
+ *                           (such as: le2page(le,page_link))->property = p->property - n;)
+ *                 (4.1.3)  re-caluclate nr_free (number of the the rest of all free block)
+ *                 (4.1.4)  return p
+ *               (4.2) If we can not find a free block (block size >=n), then return NULL
+ * (5) default_free_pages: relink the pages into  free list, maybe merge small free blocks into big free blocks.
+ *               (5.1) according the base addr of withdrawed blocks, search free list, find the correct position
+ *                     (from low to high addr), and insert the pages. (may use list_next, le2page, list_add_before)
+ *               (5.2) reset the fields of pages, such as p->ref, p->flags (PageProperty)
+ *               (5.3) try to merge low addr or high addr blocks. Notice: should change some pages's p->property correctly.
+ */
+free_area_t free_area;
+
+#define free_list (free_area.free_list)
+#define nr_free (free_area.nr_free)
+
+static void
+default_init(void) {
+    list_init(&free_list);
+    nr_free = 0;
+}
+
+static void
+default_init_memmap(struct Page *base, size_t n) {
+    assert(n > 0);
+    struct Page *p = base;
+    for (; p != base + n; p ++) {
+        assert(PageReserved(p));
+        p->flags = p->property = 0;
+        set_page_ref(p, 0);
+    }
+    base->property = n;
+    SetPageProperty(base);
+    nr_free += n;
+    list_add(&free_list, &(base->page_link));
+}
+
+static struct Page *
+default_alloc_pages(size_t n) {
+    assert(n > 0);
+    if (n > nr_free) {
+        return NULL;
+    }
+    struct Page *page = NULL;
+    list_entry_t *le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        if (p->property >= n) {
+            page = p;
+            break;
+        }
+    }
+    if (page != NULL) {
+        list_del(&(page->page_link));
+        if (page->property > n) {
+            struct Page *p = page + n;
+            p->property = page->property - n;
+            list_add(&free_list, &(p->page_link));
+    }
+        nr_free -= n;
+        ClearPageProperty(page);
+    }
+    return page;
+}
+
+static void
+default_free_pages(struct Page *base, size_t n) {
+    assert(n > 0);
+    struct Page *p = base;
+    for (; p != base + n; p ++) {
+        assert(!PageReserved(p) && !PageProperty(p));
+        p->flags = 0;
+        set_page_ref(p, 0);
+    }
+    base->property = n;
+    SetPageProperty(base);
+    list_entry_t *le = list_next(&free_list);
+    while (le != &free_list) {
+        p = le2page(le, page_link);
+        le = list_next(le);
+        if (base + base->property == p) {
+            base->property += p->property;
+            ClearPageProperty(p);
+            list_del(&(p->page_link));
+        }
+        else if (p + p->property == base) {
+            p->property += base->property;
+            ClearPageProperty(base);
+            base = p;
+            list_del(&(p->page_link));
+        }
+    }
+    nr_free += n;
+    list_add(&free_list, &(base->page_link));
+}
+
+static size_t
+default_nr_free_pages(void) {
+    return nr_free;
+}
+
+static void
+basic_check(void) {
+    struct Page *p0, *p1, *p2;
+    p0 = p1 = p2 = NULL;
+    assert((p0 = alloc_page()) != NULL);
+    assert((p1 = alloc_page()) != NULL);
+    assert((p2 = alloc_page()) != NULL);
+
+    assert(p0 != p1 && p0 != p2 && p1 != p2);
+    assert(page_ref(p0) == 0 && page_ref(p1) == 0 && page_ref(p2) == 0);
+
+    assert(page2pa(p0) < npage * PGSIZE);
+    assert(page2pa(p1) < npage * PGSIZE);
+    assert(page2pa(p2) < npage * PGSIZE);
+
+    list_entry_t free_list_store = free_list;
+    list_init(&free_list);
+    assert(list_empty(&free_list));
+
+    unsigned int nr_free_store = nr_free;
+    nr_free = 0;
+
+    assert(alloc_page() == NULL);
+
+    free_page(p0);
+    free_page(p1);
+    free_page(p2);
+    assert(nr_free == 3);
+
+    assert((p0 = alloc_page()) != NULL);
+    assert((p1 = alloc_page()) != NULL);
+    assert((p2 = alloc_page()) != NULL);
+
+    assert(alloc_page() == NULL);
+
+    free_page(p0);
+    assert(!list_empty(&free_list));
+
+    struct Page *p;
+    assert((p = alloc_page()) == p0);
+    assert(alloc_page() == NULL);
+
+    assert(nr_free == 0);
+    free_list = free_list_store;
+    nr_free = nr_free_store;
+
+    free_page(p);
+    free_page(p1);
+    free_page(p2);
+}
+
+// LAB2: below code is used to check the first fit allocation algorithm (your EXERCISE 1) 
+// NOTICE: You SHOULD NOT CHANGE basic_check, default_check functions!
+static void
+default_check(void) {
+    int count = 0, total = 0;
+    list_entry_t *le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        assert(PageProperty(p));
+        count ++, total += p->property;
+    }
+    assert(total == nr_free_pages());
+
+    basic_check();
+
+    struct Page *p0 = alloc_pages(5), *p1, *p2;
+    assert(p0 != NULL);
+    assert(!PageProperty(p0));
+
+    list_entry_t free_list_store = free_list;
+    list_init(&free_list);
+    assert(list_empty(&free_list));
+    assert(alloc_page() == NULL);
+
+    unsigned int nr_free_store = nr_free;
+    nr_free = 0;
+
+    free_pages(p0 + 2, 3);
+    assert(alloc_pages(4) == NULL);
+    assert(PageProperty(p0 + 2) && p0[2].property == 3);
+    assert((p1 = alloc_pages(3)) != NULL);
+    assert(alloc_page() == NULL);
+    assert(p0 + 2 == p1);
+
+    p2 = p0 + 1;
+    free_page(p0);
+    free_pages(p1, 3);
+    assert(PageProperty(p0) && p0->property == 1);
+    assert(PageProperty(p1) && p1->property == 3);
+
+    assert((p0 = alloc_page()) == p2 - 1);
+    free_page(p0);
+    assert((p0 = alloc_pages(2)) == p2 + 1);
+
+    free_pages(p0, 2);
+    free_page(p2);
+
+    assert((p0 = alloc_pages(5)) != NULL);
+    assert(alloc_page() == NULL);
+
+    assert(nr_free == 0);
+    nr_free = nr_free_store;
+
+    free_list = free_list_store;
+    free_pages(p0, 5);
+
+    le = &free_list;
+    while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        count --, total -= p->property;
+    }
+    assert(count == 0);
+    assert(total == 0);
+}
+
+const struct pmm_manager default_pmm_manager = {
+    .name = "default_pmm_manager",
+    .init = default_init,
+    .init_memmap = default_init_memmap,
+    .alloc_pages = default_alloc_pages,
+    .free_pages = default_free_pages,
+    .nr_free_pages = default_nr_free_pages,
+    .check = default_check,
+};
+
diff --git a/code/lab8/kern/mm/default_pmm.h b/code/lab8/kern/mm/default_pmm.h
new file mode 100644
index 0000000..5f4e6fc
--- /dev/null
+++ b/code/lab8/kern/mm/default_pmm.h
@@ -0,0 +1,9 @@
+#ifndef __KERN_MM_DEFAULT_PMM_H__
+#define  __KERN_MM_DEFAULT_PMM_H__
+
+#include <pmm.h>
+
+extern const struct pmm_manager default_pmm_manager;
+extern free_area_t free_area;
+#endif /* ! __KERN_MM_DEFAULT_PMM_H__ */
+
diff --git a/code/lab8/kern/mm/kmalloc.c b/code/lab8/kern/mm/kmalloc.c
new file mode 100644
index 0000000..aa5bb90
--- /dev/null
+++ b/code/lab8/kern/mm/kmalloc.c
@@ -0,0 +1,640 @@
+#include <defs.h>
+#include <list.h>
+#include <memlayout.h>
+#include <assert.h>
+#include <kmalloc.h>
+#include <sync.h>
+#include <pmm.h>
+#include <stdio.h>
+#include <rb_tree.h>
+
+/* The slab allocator used in ucore is based on an algorithm first introduced by 
+   Jeff Bonwick for the SunOS operating system. The paper can be download from 
+   http://citeseer.ist.psu.edu/bonwick94slab.html 
+   An implementation of the Slab Allocator as described in outline in;
+      UNIX Internals: The New Frontiers by Uresh Vahalia
+      Pub: Prentice Hall      ISBN 0-13-101908-2
+   Within a kernel, a considerable amount of memory is allocated for a finite set 
+   of objects such as file descriptors and other common structures. Jeff found that
+   the amount of time required to initialize a regular object in the kernel exceeded
+   the amount of time required to allocate and deallocate it. His conclusion was 
+   that instead of freeing the memory back to a global pool, he would have the memory
+   remain initialized for its intended purpose.
+   In our simple slab implementation, the the high-level organization of the slab 
+   structures is simplied. At the highest level is an array slab_cache[SLAB_CACHE_NUM],
+   and each array element is a slab_cache which has slab chains. Each slab_cache has 
+   two list, one list chains the full allocated slab, and another list chains the notfull 
+   allocated(maybe empty) slab.  And  each slab has fixed number(2^n) of pages. In each 
+   slab, there are a lot of objects (such as ) with same fixed size(32B ~ 128KB). 
+   
+   +----------------------------------+
+   | slab_cache[0] for 0~32B obj      |
+   +----------------------------------+
+   | slab_cache[1] for 33B~64B obj    |-->lists for slabs
+   +----------------------------------+            |  
+   | slab_cache[2] for 65B~128B obj   |            |            
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~            |                 
+   +----------------------------------+            |
+   | slab_cache[12]for 64KB~128KB obj |            |                    
+   +----------------------------------+            |
+                                                   |
+     slabs_full/slabs_not    +---------------------+
+   -<-----------<----------<-+
+   |           |         |
+  slab1       slab2     slab3...
+   |
+   |-------|-------|
+  pages1  pages2   pages3...
+   |
+   |
+   |
+   slab_t+n*bufctl_t+obj1-obj2-obj3...objn  (the size of obj is small)
+   |
+   OR
+   |
+   obj1-obj2-obj3...objn  WITH slab_t+n*bufctl_t in another slab (the size of obj is BIG)
+
+   The important functions are:
+     kmem_cache_grow(kmem_cache_t *cachep)
+     kmem_slab_destroy(kmem_cache_t *cachep, slab_t *slabp)
+     kmalloc(size_t size): used by outside functions need dynamicly get memory
+     kfree(void *objp): used by outside functions need dynamicly release memory
+*/
+  
+#define BUFCTL_END      0xFFFFFFFFL // the signature of the last bufctl
+#define SLAB_LIMIT      0xFFFFFFFEL // the max value of obj number
+
+typedef size_t kmem_bufctl_t; //the index of obj in slab
+
+typedef struct slab_s {
+    list_entry_t slab_link; // the list entry linked to kmem_cache list
+    void *s_mem;            // the kernel virtual address of the first obj in slab 
+    size_t inuse;           // the number of allocated objs
+    size_t offset;          // the first obj's offset value in slab
+    kmem_bufctl_t free;     // the first free obj's index in slab  
+} slab_t;
+
+// get the slab address according to the link element (see list.h)
+#define le2slab(le, member)                 \
+    to_struct((le), slab_t, member)
+
+typedef struct kmem_cache_s kmem_cache_t;
+
+
+struct kmem_cache_s {
+    list_entry_t slabs_full;     // list for fully allocated slabs
+    list_entry_t slabs_notfull;  // list for not-fully allocated slabs
+
+    size_t objsize;              // the fixed size of obj
+    size_t num;                  // number of objs per slab
+    size_t offset;               // this first obj's offset in slab 
+    bool off_slab;               // the control part of slab in slab or not.
+
+    /* order of pages per slab (2^n) */
+    size_t page_order;
+
+    kmem_cache_t *slab_cachep;
+};
+
+#define MIN_SIZE_ORDER          5           // 32
+#define MAX_SIZE_ORDER          17          // 128k
+#define SLAB_CACHE_NUM          (MAX_SIZE_ORDER - MIN_SIZE_ORDER + 1)
+
+static kmem_cache_t slab_cache[SLAB_CACHE_NUM];
+
+static void init_kmem_cache(kmem_cache_t *cachep, size_t objsize, size_t align);
+static void check_slab(void);
+
+
+//slab_init - call init_kmem_cache function to reset the slab_cache array
+static void
+slab_init(void) {
+    size_t i;
+    //the align bit for obj in slab. 2^n could be better for performance
+    size_t align = 16;
+    for (i = 0; i < SLAB_CACHE_NUM; i ++) {
+        init_kmem_cache(slab_cache + i, 1 << (i + MIN_SIZE_ORDER), align);
+    }
+    check_slab();
+}
+
+inline void 
+kmalloc_init(void) {
+    slab_init();
+    cprintf("kmalloc_init() succeeded!\n");
+}
+
+//slab_allocated - summary the total size of allocated objs
+static size_t
+slab_allocated(void) {
+    size_t total = 0;
+    int i;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        for (i = 0; i < SLAB_CACHE_NUM; i ++) {
+            kmem_cache_t *cachep = slab_cache + i;
+            list_entry_t *list, *le;
+            list = le = &(cachep->slabs_full);
+            while ((le = list_next(le)) != list) {
+                total += cachep->num * cachep->objsize;
+            }
+            list = le = &(cachep->slabs_notfull);
+            while ((le = list_next(le)) != list) {
+                slab_t *slabp = le2slab(le, slab_link);
+                total += slabp->inuse * cachep->objsize;
+            }
+        }
+    }
+    local_intr_restore(intr_flag);
+    return total;
+}
+
+inline size_t
+kallocated(void) {
+   return slab_allocated();
+}
+
+// slab_mgmt_size - get the size of slab control area (slab_t+num*kmem_bufctl_t)
+static size_t
+slab_mgmt_size(size_t num, size_t align) {
+    return ROUNDUP(sizeof(slab_t) + num * sizeof(kmem_bufctl_t), align);
+}
+
+// cacahe_estimate - estimate the number of objs in a slab
+static void
+cache_estimate(size_t order, size_t objsize, size_t align, bool off_slab, size_t *remainder, size_t *num) {
+    size_t nr_objs, mgmt_size;
+    size_t slab_size = (PGSIZE << order);
+
+    if (off_slab) {
+        mgmt_size = 0;
+        nr_objs = slab_size / objsize;
+        if (nr_objs > SLAB_LIMIT) {
+            nr_objs = SLAB_LIMIT;
+        }
+    }
+    else {
+        nr_objs = (slab_size - sizeof(slab_t)) / (objsize + sizeof(kmem_bufctl_t));
+        while (slab_mgmt_size(nr_objs, align) + nr_objs * objsize > slab_size) {
+            nr_objs --;
+        }
+        if (nr_objs > SLAB_LIMIT) {
+            nr_objs = SLAB_LIMIT;
+        }
+        mgmt_size = slab_mgmt_size(nr_objs, align);
+    }
+    *num = nr_objs;
+    *remainder = slab_size - nr_objs * objsize - mgmt_size;
+}
+
+// calculate_slab_order - estimate the size(4K~4M) of slab
+// paramemters:
+//   cachep:    the slab_cache
+//   objsize:   the size of obj
+//   align:     align bit for objs
+//   off_slab:  the control part of slab in slab or not
+//   left_over: the size of can not be used area in slab
+static void
+calculate_slab_order(kmem_cache_t *cachep, size_t objsize, size_t align, bool off_slab, size_t *left_over) {
+    size_t order;
+    for (order = 0; order <= KMALLOC_MAX_ORDER; order ++) {
+        size_t num, remainder;
+        cache_estimate(order, objsize, align, off_slab, &remainder, &num);
+        if (num != 0) {
+            if (off_slab) {
+                size_t off_slab_limit = objsize - sizeof(slab_t);
+                off_slab_limit /= sizeof(kmem_bufctl_t);
+                if (num > off_slab_limit) {
+                    panic("off_slab: objsize = %d, num = %d.", objsize, num);
+                }
+            }
+            if (remainder * 8 <= (PGSIZE << order)) {
+                cachep->num = num;
+                cachep->page_order = order;
+                if (left_over != NULL) {
+                    *left_over = remainder;
+                }
+                return ;
+            }
+        }
+    }
+    panic("calculate_slab_over: failed.");
+}
+
+// getorder - find order, should satisfy n <= minest 2^order
+static inline size_t
+getorder(size_t n) {
+    size_t order = MIN_SIZE_ORDER, order_size = (1 << order);
+    for (; order <= MAX_SIZE_ORDER; order ++, order_size <<= 1) {
+        if (n <= order_size) {
+            return order;
+        }
+    }
+    panic("getorder failed. %d\n", n);
+}
+
+// init_kmem_cache - initial a slab_cache cachep according to the obj with the size = objsize
+static void
+init_kmem_cache(kmem_cache_t *cachep, size_t objsize, size_t align) {
+    list_init(&(cachep->slabs_full));
+    list_init(&(cachep->slabs_notfull));
+
+    objsize = ROUNDUP(objsize, align);
+    cachep->objsize = objsize;
+    cachep->off_slab = (objsize >= (PGSIZE >> 3));
+
+    size_t left_over;
+    calculate_slab_order(cachep, objsize, align, cachep->off_slab, &left_over);
+
+    assert(cachep->num > 0);
+
+    size_t mgmt_size = slab_mgmt_size(cachep->num, align);
+
+    if (cachep->off_slab && left_over >= mgmt_size) {
+        cachep->off_slab = 0;
+    }
+
+    if (cachep->off_slab) {
+        cachep->offset = 0;
+        cachep->slab_cachep = slab_cache + (getorder(mgmt_size) - MIN_SIZE_ORDER);
+    }
+    else {
+        cachep->offset = mgmt_size;
+    }
+}
+
+static void *kmem_cache_alloc(kmem_cache_t *cachep);
+
+#define slab_bufctl(slabp)              \
+    ((kmem_bufctl_t*)(((slab_t *)(slabp)) + 1))
+
+// kmem_cache_slabmgmt - get the address of a slab according to page
+//                     - and initialize the slab according to cachep
+static slab_t *
+kmem_cache_slabmgmt(kmem_cache_t *cachep, struct Page *page) {
+    void *objp = page2kva(page);
+    slab_t *slabp;
+    if (cachep->off_slab) {
+        if ((slabp = kmem_cache_alloc(cachep->slab_cachep)) == NULL) {
+            return NULL;
+        }
+    }
+    else {
+        slabp = page2kva(page);
+    }
+    slabp->inuse = 0;
+    slabp->offset = cachep->offset;
+    slabp->s_mem = objp + cachep->offset;
+    return slabp;
+}
+
+#define SET_PAGE_CACHE(page, cachep)                                                \
+    do {                                                                            \
+        struct Page *__page = (struct Page *)(page);                                \
+        kmem_cache_t **__cachepp = (kmem_cache_t **)&(__page->page_link.next);      \
+        *__cachepp = (kmem_cache_t *)(cachep);                                      \
+    } while (0)
+
+#define SET_PAGE_SLAB(page, slabp)                                                  \
+    do {                                                                            \
+        struct Page *__page = (struct Page *)(page);                                \
+        slab_t **__cachepp = (slab_t **)&(__page->page_link.prev);                  \
+        *__cachepp = (slab_t *)(slabp);                                             \
+    } while (0)
+
+// kmem_cache_grow - allocate a new slab by calling alloc_pages
+//                 - set control area in the new slab
+static bool
+kmem_cache_grow(kmem_cache_t *cachep) {
+    struct Page *page = alloc_pages(1 << cachep->page_order);
+    if (page == NULL) {
+        goto failed;
+    }
+
+    slab_t *slabp;
+    if ((slabp = kmem_cache_slabmgmt(cachep, page)) == NULL) {
+        goto oops;
+    }
+
+    size_t order_size = (1 << cachep->page_order);
+    do {
+        //setup this page in the free list (see memlayout.h: struct page)???
+        SET_PAGE_CACHE(page, cachep);
+        SET_PAGE_SLAB(page, slabp);
+    //this page is used for slab
+        SetPageSlab(page);
+        page ++;
+    } while (-- order_size);
+
+    int i;
+    for (i = 0; i < cachep->num; i ++) {
+        slab_bufctl(slabp)[i] = i + 1;
+    }
+    slab_bufctl(slabp)[cachep->num - 1] = BUFCTL_END;
+    slabp->free = 0;
+
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        list_add(&(cachep->slabs_notfull), &(slabp->slab_link));
+    }
+    local_intr_restore(intr_flag);
+    return 1;
+
+oops:
+    free_pages(page, 1 << cachep->page_order);
+failed:
+    return 0;
+}
+
+// kmem_cache_alloc_one - allocate a obj in a slab
+static void * 
+kmem_cache_alloc_one(kmem_cache_t *cachep, slab_t *slabp) {
+    slabp->inuse ++;
+    void *objp = slabp->s_mem + slabp->free * cachep->objsize;
+    slabp->free = slab_bufctl(slabp)[slabp->free];
+
+    if (slabp->free == BUFCTL_END) {
+        list_del(&(slabp->slab_link));
+        list_add(&(cachep->slabs_full), &(slabp->slab_link));
+    }
+    return objp;
+}
+
+// kmem_cache_alloc - call kmem_cache_alloc_one function to allocate a obj
+//                  - if no free obj, try to allocate a slab
+static void *
+kmem_cache_alloc(kmem_cache_t *cachep) {
+    void *objp;
+    bool intr_flag;
+
+try_again:
+    local_intr_save(intr_flag);
+    if (list_empty(&(cachep->slabs_notfull))) {
+        goto alloc_new_slab;
+    }
+    slab_t *slabp = le2slab(list_next(&(cachep->slabs_notfull)), slab_link);
+    objp = kmem_cache_alloc_one(cachep, slabp);
+    local_intr_restore(intr_flag);
+    return objp;
+
+alloc_new_slab:
+    local_intr_restore(intr_flag);
+
+    if (kmem_cache_grow(cachep)) {
+        goto try_again;
+    }
+    return NULL;
+}
+
+// kmalloc - simple interface used by outside functions 
+//         - to allocate a free memory using kmem_cache_alloc function
+void *
+kmalloc(size_t size) {
+    assert(size > 0);
+    size_t order = getorder(size);
+    if (order > MAX_SIZE_ORDER) {
+        return NULL;
+    }
+    return kmem_cache_alloc(slab_cache + (order - MIN_SIZE_ORDER));
+}
+
+static void kmem_cache_free(kmem_cache_t *cachep, void *obj);
+
+// kmem_slab_destroy - call free_pages & kmem_cache_free to free a slab 
+static void
+kmem_slab_destroy(kmem_cache_t *cachep, slab_t *slabp) {
+    struct Page *page = kva2page(slabp->s_mem - slabp->offset);
+
+    struct Page *p = page;
+    size_t order_size = (1 << cachep->page_order);
+    do {
+        assert(PageSlab(p));
+        ClearPageSlab(p);
+        p ++;
+    } while (-- order_size);
+
+    free_pages(page, 1 << cachep->page_order);
+
+    if (cachep->off_slab) {
+        kmem_cache_free(cachep->slab_cachep, slabp);
+    }
+}
+
+// kmem_cache_free_one - free an obj in a slab
+//                     - if slab->inuse==0, then free the slab
+static void
+kmem_cache_free_one(kmem_cache_t *cachep, slab_t *slabp, void *objp) {
+    //should not use divide operator ???
+    size_t objnr = (objp - slabp->s_mem) / cachep->objsize;
+    slab_bufctl(slabp)[objnr] = slabp->free;
+    slabp->free = objnr;
+
+    slabp->inuse --;
+
+    if (slabp->inuse == 0) {
+        list_del(&(slabp->slab_link));
+        kmem_slab_destroy(cachep, slabp);
+    }
+    else if (slabp->inuse == cachep->num -1 ) {
+        list_del(&(slabp->slab_link));
+        list_add(&(cachep->slabs_notfull), &(slabp->slab_link));
+    }
+}
+
+#define GET_PAGE_CACHE(page)                                \
+    (kmem_cache_t *)((page)->page_link.next)
+
+#define GET_PAGE_SLAB(page)                                 \
+    (slab_t *)((page)->page_link.prev)
+
+// kmem_cache_free - call kmem_cache_free_one function to free an obj 
+static void
+kmem_cache_free(kmem_cache_t *cachep, void *objp) {
+    bool intr_flag;
+    struct Page *page = kva2page(objp);
+
+    if (!PageSlab(page)) {
+        panic("not a slab page %08x\n", objp);
+    }
+    local_intr_save(intr_flag);
+    {
+        kmem_cache_free_one(cachep, GET_PAGE_SLAB(page), objp);
+    }
+    local_intr_restore(intr_flag);
+}
+
+// kfree - simple interface used by ooutside functions to free an obj
+void
+kfree(void *objp) {
+    kmem_cache_free(GET_PAGE_CACHE(kva2page(objp)), objp);
+}
+
+static inline void
+check_slab_empty(void) {
+    int i;
+    for (i = 0; i < SLAB_CACHE_NUM; i ++) {
+        kmem_cache_t *cachep = slab_cache + i;
+        assert(list_empty(&(cachep->slabs_full)));
+        assert(list_empty(&(cachep->slabs_notfull)));
+    }
+}
+
+void
+check_slab(void) {
+    int i;
+    void *v0, *v1;
+
+    size_t nr_free_pages_store = nr_free_pages();
+    size_t slab_allocated_store = slab_allocated();
+
+    /* slab must be empty now */
+    check_slab_empty();
+    assert(slab_allocated() == 0);
+
+    kmem_cache_t *cachep0, *cachep1;
+
+    cachep0 = slab_cache;
+    assert(cachep0->objsize == 32 && cachep0->num > 1 && !cachep0->off_slab);
+    assert((v0 = kmalloc(16)) != NULL);
+
+    slab_t *slabp0, *slabp1;
+
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    slabp0 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+    assert(slabp0->inuse == 1 && list_next(&(slabp0->slab_link)) == &(cachep0->slabs_notfull));
+
+    struct Page *p0, *p1;
+    size_t order_size;
+
+
+    p0 = kva2page(slabp0->s_mem - slabp0->offset), p1 = p0;
+    order_size = (1 << cachep0->page_order);
+    for (i = 0; i < cachep0->page_order; i ++, p1 ++) {
+        assert(PageSlab(p1));
+        assert(GET_PAGE_CACHE(p1) == cachep0 && GET_PAGE_SLAB(p1) == slabp0);
+    }
+
+    assert(v0 == slabp0->s_mem);
+    assert((v1 = kmalloc(16)) != NULL && v1 == v0 + 32);
+
+    kfree(v0);
+    assert(slabp0->free == 0);
+    kfree(v1);
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    for (i = 0; i < cachep0->page_order; i ++, p0 ++) {
+        assert(!PageSlab(p0));
+    }
+
+
+    v0 = kmalloc(16);
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    slabp0 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+
+    for (i = 0; i < cachep0->num - 1; i ++) {
+        kmalloc(16);
+    }
+
+    assert(slabp0->inuse == cachep0->num);
+    assert(list_next(&(cachep0->slabs_full)) == &(slabp0->slab_link));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    v1 = kmalloc(16);
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    slabp1 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+
+    kfree(v0);
+    assert(list_empty(&(cachep0->slabs_full)));
+    assert(list_next(&(slabp0->slab_link)) == &(slabp1->slab_link)
+            || list_next(&(slabp1->slab_link)) == &(slabp0->slab_link));
+
+    kfree(v1);
+    assert(!list_empty(&(cachep0->slabs_notfull)));
+    assert(list_next(&(cachep0->slabs_notfull)) == &(slabp0->slab_link));
+    assert(list_next(&(slabp0->slab_link)) == &(cachep0->slabs_notfull));
+
+    v1 = kmalloc(16);
+    assert(v1 == v0);
+    assert(list_next(&(cachep0->slabs_full)) == &(slabp0->slab_link));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    for (i = 0; i < cachep0->num; i ++) {
+        kfree(v1 + i * cachep0->objsize);
+    }
+
+    assert(list_empty(&(cachep0->slabs_full)));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    cachep0 = slab_cache;
+
+    bool has_off_slab = 0;
+    for (i = 0; i < SLAB_CACHE_NUM; i ++, cachep0 ++) {
+        if (cachep0->off_slab) {
+            has_off_slab = 1;
+            cachep1 = cachep0->slab_cachep;
+            if (!cachep1->off_slab) {
+                break;
+            }
+        }
+    }
+
+    if (!has_off_slab) {
+        goto check_pass;
+    }
+
+    assert(cachep0->off_slab && !cachep1->off_slab);
+    assert(cachep1 < cachep0);
+
+    assert(list_empty(&(cachep0->slabs_full)));
+    assert(list_empty(&(cachep0->slabs_notfull)));
+
+    assert(list_empty(&(cachep1->slabs_full)));
+    assert(list_empty(&(cachep1->slabs_notfull)));
+
+    v0 = kmalloc(cachep0->objsize);
+    p0 = kva2page(v0);
+    assert(page2kva(p0) == v0);
+
+    if (cachep0->num == 1) {
+        assert(!list_empty(&(cachep0->slabs_full)));
+        slabp0 = le2slab(list_next(&(cachep0->slabs_full)), slab_link);
+    }
+    else {
+        assert(!list_empty(&(cachep0->slabs_notfull)));
+        slabp0 = le2slab(list_next(&(cachep0->slabs_notfull)), slab_link);
+    }
+
+    assert(slabp0 != NULL);
+
+    if (cachep1->num == 1) {
+        assert(!list_empty(&(cachep1->slabs_full)));
+        slabp1 = le2slab(list_next(&(cachep1->slabs_full)), slab_link);
+    }
+    else {
+        assert(!list_empty(&(cachep1->slabs_notfull)));
+        slabp1 = le2slab(list_next(&(cachep1->slabs_notfull)), slab_link);
+    }
+
+    assert(slabp1 != NULL);
+
+    order_size = (1 << cachep0->page_order);
+    for (i = 0; i < order_size; i ++, p0 ++) {
+        assert(PageSlab(p0));
+        assert(GET_PAGE_CACHE(p0) == cachep0 && GET_PAGE_SLAB(p0) == slabp0);
+    }
+
+    kfree(v0);
+
+check_pass:
+
+    check_rb_tree();
+    check_slab_empty();
+    assert(slab_allocated() == 0);
+    assert(nr_free_pages_store == nr_free_pages());
+    assert(slab_allocated_store == slab_allocated());
+
+    cprintf("check_slab() succeeded!\n");
+}
+
diff --git a/code/lab8/kern/mm/kmalloc.h b/code/lab8/kern/mm/kmalloc.h
new file mode 100644
index 0000000..8617975
--- /dev/null
+++ b/code/lab8/kern/mm/kmalloc.h
@@ -0,0 +1,16 @@
+#ifndef __KERN_MM_SLAB_H__
+#define __KERN_MM_SLAB_H__
+
+#include <defs.h>
+
+#define KMALLOC_MAX_ORDER       10
+
+void kmalloc_init(void);
+
+void *kmalloc(size_t n);
+void kfree(void *objp);
+
+size_t kallocated(void);
+
+#endif /* !__KERN_MM_SLAB_H__ */
+
diff --git a/code/lab8/kern/mm/memlayout.h b/code/lab8/kern/mm/memlayout.h
new file mode 100644
index 0000000..d84bf93
--- /dev/null
+++ b/code/lab8/kern/mm/memlayout.h
@@ -0,0 +1,169 @@
+#ifndef __KERN_MM_MEMLAYOUT_H__
+#define __KERN_MM_MEMLAYOUT_H__
+
+/* This file contains the definitions for memory management in our OS. */
+
+/* global segment number */
+#define SEG_KTEXT   1
+#define SEG_KDATA   2
+#define SEG_UTEXT   3
+#define SEG_UDATA   4
+#define SEG_TSS     5
+
+/* global descrptor numbers */
+#define GD_KTEXT    ((SEG_KTEXT) << 3)      // kernel text
+#define GD_KDATA    ((SEG_KDATA) << 3)      // kernel data
+#define GD_UTEXT    ((SEG_UTEXT) << 3)      // user text
+#define GD_UDATA    ((SEG_UDATA) << 3)      // user data
+#define GD_TSS      ((SEG_TSS) << 3)        // task segment selector
+
+#define DPL_KERNEL  (0)
+#define DPL_USER    (3)
+
+#define KERNEL_CS   ((GD_KTEXT) | DPL_KERNEL)
+#define KERNEL_DS   ((GD_KDATA) | DPL_KERNEL)
+#define USER_CS     ((GD_UTEXT) | DPL_USER)
+#define USER_DS     ((GD_UDATA) | DPL_USER)
+
+/* *
+ * Virtual memory map:                                          Permissions
+ *                                                              kernel/user
+ *
+ *     4G ------------------> +---------------------------------+
+ *                            |                                 |
+ *                            |         Empty Memory (*)        |
+ *                            |                                 |
+ *                            +---------------------------------+ 0xFB000000
+ *                            |   Cur. Page Table (Kern, RW)    | RW/-- PTSIZE
+ *     VPT -----------------> +---------------------------------+ 0xFAC00000
+ *                            |        Invalid Memory (*)       | --/--
+ *     KERNTOP -------------> +---------------------------------+ 0xF8000000
+ *                            |                                 |
+ *                            |    Remapped Physical Memory     | RW/-- KMEMSIZE
+ *                            |                                 |
+ *     KERNBASE ------------> +---------------------------------+ 0xC0000000
+ *                            |        Invalid Memory (*)       | --/--
+ *     USERTOP -------------> +---------------------------------+ 0xB0000000
+ *                            |           User stack            |
+ *                            +---------------------------------+
+ *                            |                                 |
+ *                            :                                 :
+ *                            |         ~~~~~~~~~~~~~~~~        |
+ *                            :                                 :
+ *                            |                                 |
+ *                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ *                            |       User Program & Heap       |
+ *     UTEXT ---------------> +---------------------------------+ 0x00800000
+ *                            |        Invalid Memory (*)       | --/--
+ *                            |  - - - - - - - - - - - - - - -  |
+ *                            |    User STAB Data (optional)    |
+ *     USERBASE, USTAB------> +---------------------------------+ 0x00200000
+ *                            |        Invalid Memory (*)       | --/--
+ *     0 -------------------> +---------------------------------+ 0x00000000
+ * (*) Note: The kernel ensures that "Invalid Memory" is *never* mapped.
+ *     "Empty Memory" is normally unmapped, but user programs may map pages
+ *     there if desired.
+ *
+ * */
+
+/* All physical memory mapped at this address */
+#define KERNBASE            0xC0000000
+#define KMEMSIZE            0x38000000                  // the maximum amount of physical memory
+#define KERNTOP             (KERNBASE + KMEMSIZE)
+
+/* *
+ * Virtual page table. Entry PDX[VPT] in the PD (Page Directory) contains
+ * a pointer to the page directory itself, thereby turning the PD into a page
+ * table, which maps all the PTEs (Page Table Entry) containing the page mappings
+ * for the entire virtual address space into that 4 Meg region starting at VPT.
+ * */
+#define VPT                 0xFAC00000
+
+#define KSTACKPAGE          2                           // # of pages in kernel stack
+#define KSTACKSIZE          (KSTACKPAGE * PGSIZE)       // sizeof kernel stack
+
+#define USERTOP             0xB0000000
+#define USTACKTOP           USERTOP
+#define USTACKPAGE          256                         // # of pages in user stack
+#define USTACKSIZE          (USTACKPAGE * PGSIZE)       // sizeof user stack
+
+#define USERBASE            0x00200000
+#define UTEXT               0x00800000                  // where user programs generally begin
+#define USTAB               USERBASE                    // the location of the user STABS data structure
+
+#define USER_ACCESS(start, end)                     \
+(USERBASE <= (start) && (start) < (end) && (end) <= USERTOP)
+
+#define KERN_ACCESS(start, end)                     \
+(KERNBASE <= (start) && (start) < (end) && (end) <= KERNTOP)
+
+#ifndef __ASSEMBLER__
+
+#include <defs.h>
+#include <atomic.h>
+#include <list.h>
+
+typedef uintptr_t pte_t;
+typedef uintptr_t pde_t;
+typedef pte_t swap_entry_t; //the pte can also be a swap entry
+
+// some constants for bios interrupt 15h AX = 0xE820
+#define E820MAX             20      // number of entries in E820MAP
+#define E820_ARM            1       // address range memory
+#define E820_ARR            2       // address range reserved
+
+struct e820map {
+    int nr_map;
+    struct {
+        uint64_t addr;
+        uint64_t size;
+        uint32_t type;
+    } __attribute__((packed)) map[E820MAX];
+};
+
+/* *
+ * struct Page - Page descriptor structures. Each Page describes one
+ * physical page. In kern/mm/pmm.h, you can find lots of useful functions
+ * that convert Page to other data types, such as phyical address.
+ * */
+struct Page {
+    atomic_t ref;                   // page frame's reference counter
+    uint32_t flags;                 // array of flags that describe the status of the page frame
+    unsigned int property;          // used in buddy system, stores the order (the X in 2^X) of the continuous memory block
+    int zone_num;                   // used in buddy system, the No. of zone which the page belongs to
+    list_entry_t page_link;         // free list link
+    list_entry_t pra_page_link;     // used for pra (page replace algorithm)
+    uintptr_t pra_vaddr;            // used for pra (page replace algorithm)
+};
+
+/* Flags describing the status of a page frame */
+#define PG_reserved                 0       // the page descriptor is reserved for kernel or unusable
+#define PG_property                 1       // the member 'property' is valid
+
+#define SetPageReserved(page)       set_bit(PG_reserved, &((page)->flags))
+#define ClearPageReserved(page)     clear_bit(PG_reserved, &((page)->flags))
+#define PageReserved(page)          test_bit(PG_reserved, &((page)->flags))
+#define SetPageProperty(page)       set_bit(PG_property, &((page)->flags))
+#define ClearPageProperty(page)     clear_bit(PG_property, &((page)->flags))
+#define PageProperty(page)          test_bit(PG_property, &((page)->flags))
+
+// convert list entry to page
+#define le2page(le, member)                 \
+    to_struct((le), struct Page, member)
+
+/* free_area_t - maintains a doubly linked list to record free (unused) pages */
+typedef struct {
+    list_entry_t free_list;         // the list header
+    unsigned int nr_free;           // # of free pages in this free list
+} free_area_t;
+
+/* for slab style kmalloc */
+#define PG_slab                     2       // page frame is included in a slab
+#define SetPageSlab(page)           set_bit(PG_slab, &((page)->flags))
+#define ClearPageSlab(page)         clear_bit(PG_slab, &((page)->flags))
+#define PageSlab(page)              test_bit(PG_slab, &((page)->flags))
+
+#endif /* !__ASSEMBLER__ */
+
+#endif /* !__KERN_MM_MEMLAYOUT_H__ */
+
diff --git a/code/lab8/kern/mm/mmu.h b/code/lab8/kern/mm/mmu.h
new file mode 100644
index 0000000..3858ad9
--- /dev/null
+++ b/code/lab8/kern/mm/mmu.h
@@ -0,0 +1,272 @@
+#ifndef __KERN_MM_MMU_H__
+#define __KERN_MM_MMU_H__
+
+/* Eflags register */
+#define FL_CF           0x00000001  // Carry Flag
+#define FL_PF           0x00000004  // Parity Flag
+#define FL_AF           0x00000010  // Auxiliary carry Flag
+#define FL_ZF           0x00000040  // Zero Flag
+#define FL_SF           0x00000080  // Sign Flag
+#define FL_TF           0x00000100  // Trap Flag
+#define FL_IF           0x00000200  // Interrupt Flag
+#define FL_DF           0x00000400  // Direction Flag
+#define FL_OF           0x00000800  // Overflow Flag
+#define FL_IOPL_MASK    0x00003000  // I/O Privilege Level bitmask
+#define FL_IOPL_0       0x00000000  //   IOPL == 0
+#define FL_IOPL_1       0x00001000  //   IOPL == 1
+#define FL_IOPL_2       0x00002000  //   IOPL == 2
+#define FL_IOPL_3       0x00003000  //   IOPL == 3
+#define FL_NT           0x00004000  // Nested Task
+#define FL_RF           0x00010000  // Resume Flag
+#define FL_VM           0x00020000  // Virtual 8086 mode
+#define FL_AC           0x00040000  // Alignment Check
+#define FL_VIF          0x00080000  // Virtual Interrupt Flag
+#define FL_VIP          0x00100000  // Virtual Interrupt Pending
+#define FL_ID           0x00200000  // ID flag
+
+/* Application segment type bits */
+#define STA_X           0x8         // Executable segment
+#define STA_E           0x4         // Expand down (non-executable segments)
+#define STA_C           0x4         // Conforming code segment (executable only)
+#define STA_W           0x2         // Writeable (non-executable segments)
+#define STA_R           0x2         // Readable (executable segments)
+#define STA_A           0x1         // Accessed
+
+/* System segment type bits */
+#define STS_T16A        0x1         // Available 16-bit TSS
+#define STS_LDT         0x2         // Local Descriptor Table
+#define STS_T16B        0x3         // Busy 16-bit TSS
+#define STS_CG16        0x4         // 16-bit Call Gate
+#define STS_TG          0x5         // Task Gate / Coum Transmitions
+#define STS_IG16        0x6         // 16-bit Interrupt Gate
+#define STS_TG16        0x7         // 16-bit Trap Gate
+#define STS_T32A        0x9         // Available 32-bit TSS
+#define STS_T32B        0xB         // Busy 32-bit TSS
+#define STS_CG32        0xC         // 32-bit Call Gate
+#define STS_IG32        0xE         // 32-bit Interrupt Gate
+#define STS_TG32        0xF         // 32-bit Trap Gate
+
+#ifdef __ASSEMBLER__
+
+#define SEG_NULL                                                \
+    .word 0, 0;                                                 \
+    .byte 0, 0, 0, 0
+
+#define SEG_ASM(type,base,lim)                                  \
+    .word (((lim) >> 12) & 0xffff), ((base) & 0xffff);          \
+    .byte (((base) >> 16) & 0xff), (0x90 | (type)),             \
+        (0xC0 | (((lim) >> 28) & 0xf)), (((base) >> 24) & 0xff)
+
+#else /* not __ASSEMBLER__ */
+
+#include <defs.h>
+
+/* Gate descriptors for interrupts and traps */
+struct gatedesc {
+    unsigned gd_off_15_0 : 16;      // low 16 bits of offset in segment
+    unsigned gd_ss : 16;            // segment selector
+    unsigned gd_args : 5;           // # args, 0 for interrupt/trap gates
+    unsigned gd_rsv1 : 3;           // reserved(should be zero I guess)
+    unsigned gd_type : 4;           // type(STS_{TG,IG32,TG32})
+    unsigned gd_s : 1;              // must be 0 (system)
+    unsigned gd_dpl : 2;            // descriptor(meaning new) privilege level
+    unsigned gd_p : 1;              // Present
+    unsigned gd_off_31_16 : 16;     // high bits of offset in segment
+};
+
+/* *
+ * Set up a normal interrupt/trap gate descriptor
+ *   - istrap: 1 for a trap (= exception) gate, 0 for an interrupt gate
+ *   - sel: Code segment selector for interrupt/trap handler
+ *   - off: Offset in code segment for interrupt/trap handler
+ *   - dpl: Descriptor Privilege Level - the privilege level required
+ *          for software to invoke this interrupt/trap gate explicitly
+ *          using an int instruction.
+ * */
+#define SETGATE(gate, istrap, sel, off, dpl) {               \
+        (gate).gd_off_15_0 = (uint32_t)(off) & 0xffff;      \
+        (gate).gd_ss = (sel);                                \
+        (gate).gd_args = 0;                                 \
+        (gate).gd_rsv1 = 0;                                 \
+        (gate).gd_type = (istrap) ? STS_TG32 : STS_IG32;    \
+        (gate).gd_s = 0;                                    \
+        (gate).gd_dpl = (dpl);                              \
+        (gate).gd_p = 1;                                    \
+        (gate).gd_off_31_16 = (uint32_t)(off) >> 16;        \
+    }
+
+/* Set up a call gate descriptor */
+#define SETCALLGATE(gate, ss, off, dpl) {                   \
+        (gate).gd_off_15_0 = (uint32_t)(off) & 0xffff;      \
+        (gate).gd_ss = (ss);                                \
+        (gate).gd_args = 0;                                 \
+        (gate).gd_rsv1 = 0;                                 \
+        (gate).gd_type = STS_CG32;                          \
+        (gate).gd_s = 0;                                    \
+        (gate).gd_dpl = (dpl);                              \
+        (gate).gd_p = 1;                                    \
+        (gate).gd_off_31_16 = (uint32_t)(off) >> 16;        \
+    }
+
+/* segment descriptors */
+struct segdesc {
+    unsigned sd_lim_15_0 : 16;      // low bits of segment limit
+    unsigned sd_base_15_0 : 16;     // low bits of segment base address
+    unsigned sd_base_23_16 : 8;     // middle bits of segment base address
+    unsigned sd_type : 4;           // segment type (see STS_ constants)
+    unsigned sd_s : 1;              // 0 = system, 1 = application
+    unsigned sd_dpl : 2;            // descriptor Privilege Level
+    unsigned sd_p : 1;              // present
+    unsigned sd_lim_19_16 : 4;      // high bits of segment limit
+    unsigned sd_avl : 1;            // unused (available for software use)
+    unsigned sd_rsv1 : 1;           // reserved
+    unsigned sd_db : 1;             // 0 = 16-bit segment, 1 = 32-bit segment
+    unsigned sd_g : 1;              // granularity: limit scaled by 4K when set
+    unsigned sd_base_31_24 : 8;     // high bits of segment base address
+};
+
+#define SEG_NULL                                            \
+    (struct segdesc) {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+
+#define SEG(type, base, lim, dpl)                           \
+    (struct segdesc) {                                      \
+        ((lim) >> 12) & 0xffff, (base) & 0xffff,            \
+        ((base) >> 16) & 0xff, type, 1, dpl, 1,             \
+        (unsigned)(lim) >> 28, 0, 0, 1, 1,                  \
+        (unsigned) (base) >> 24                             \
+    }
+
+#define SEGTSS(type, base, lim, dpl)                        \
+    (struct segdesc) {                                      \
+        (lim) & 0xffff, (base) & 0xffff,                    \
+        ((base) >> 16) & 0xff, type, 0, dpl, 1,             \
+        (unsigned) (lim) >> 16, 0, 0, 1, 0,                 \
+        (unsigned) (base) >> 24                             \
+    }
+
+/* task state segment format (as described by the Pentium architecture book) */
+struct taskstate {
+    uint32_t ts_link;       // old ts selector
+    uintptr_t ts_esp0;      // stack pointers and segment selectors
+    uint16_t ts_ss0;        // after an increase in privilege level
+    uint16_t ts_padding1;
+    uintptr_t ts_esp1;
+    uint16_t ts_ss1;
+    uint16_t ts_padding2;
+    uintptr_t ts_esp2;
+    uint16_t ts_ss2;
+    uint16_t ts_padding3;
+    uintptr_t ts_cr3;       // page directory base
+    uintptr_t ts_eip;       // saved state from last task switch
+    uint32_t ts_eflags;
+    uint32_t ts_eax;        // more saved state (registers)
+    uint32_t ts_ecx;
+    uint32_t ts_edx;
+    uint32_t ts_ebx;
+    uintptr_t ts_esp;
+    uintptr_t ts_ebp;
+    uint32_t ts_esi;
+    uint32_t ts_edi;
+    uint16_t ts_es;         // even more saved state (segment selectors)
+    uint16_t ts_padding4;
+    uint16_t ts_cs;
+    uint16_t ts_padding5;
+    uint16_t ts_ss;
+    uint16_t ts_padding6;
+    uint16_t ts_ds;
+    uint16_t ts_padding7;
+    uint16_t ts_fs;
+    uint16_t ts_padding8;
+    uint16_t ts_gs;
+    uint16_t ts_padding9;
+    uint16_t ts_ldt;
+    uint16_t ts_padding10;
+    uint16_t ts_t;          // trap on task switch
+    uint16_t ts_iomb;       // i/o map base address
+} __attribute__((packed));
+
+#endif /* !__ASSEMBLER__ */
+
+// A linear address 'la' has a three-part structure as follows:
+//
+// +--------10------+-------10-------+---------12----------+
+// | Page Directory |   Page Table   | Offset within Page  |
+// |      Index     |     Index      |                     |
+// +----------------+----------------+---------------------+
+//  \--- PDX(la) --/ \--- PTX(la) --/ \---- PGOFF(la) ----/
+//  \----------- PPN(la) -----------/
+//
+// The PDX, PTX, PGOFF, and PPN macros decompose linear addresses as shown.
+// To construct a linear address la from PDX(la), PTX(la), and PGOFF(la),
+// use PGADDR(PDX(la), PTX(la), PGOFF(la)).
+
+// page directory index
+#define PDX(la) ((((uintptr_t)(la)) >> PDXSHIFT) & 0x3FF)
+
+// page table index
+#define PTX(la) ((((uintptr_t)(la)) >> PTXSHIFT) & 0x3FF)
+
+// page number field of address
+#define PPN(la) (((uintptr_t)(la)) >> PTXSHIFT)
+
+// offset in page
+#define PGOFF(la) (((uintptr_t)(la)) & 0xFFF)
+
+// construct linear address from indexes and offset
+#define PGADDR(d, t, o) ((uintptr_t)((d) << PDXSHIFT | (t) << PTXSHIFT | (o)))
+
+// address in page table or page directory entry
+#define PTE_ADDR(pte)   ((uintptr_t)(pte) & ~0xFFF)
+#define PDE_ADDR(pde)   PTE_ADDR(pde)
+
+/* page directory and page table constants */
+#define NPDEENTRY       1024                    // page directory entries per page directory
+#define NPTEENTRY       1024                    // page table entries per page table
+
+#define PGSIZE          4096                    // bytes mapped by a page
+#define PGSHIFT         12                      // log2(PGSIZE)
+#define PTSIZE          (PGSIZE * NPTEENTRY)    // bytes mapped by a page directory entry
+#define PTSHIFT         22                      // log2(PTSIZE)
+
+#define PTXSHIFT        12                      // offset of PTX in a linear address
+#define PDXSHIFT        22                      // offset of PDX in a linear address
+
+/* page table/directory entry flags */
+#define PTE_P           0x001                   // Present
+#define PTE_W           0x002                   // Writeable
+#define PTE_U           0x004                   // User
+#define PTE_PWT         0x008                   // Write-Through
+#define PTE_PCD         0x010                   // Cache-Disable
+#define PTE_A           0x020                   // Accessed
+#define PTE_D           0x040                   // Dirty
+#define PTE_PS          0x080                   // Page Size
+#define PTE_MBZ         0x180                   // Bits must be zero
+#define PTE_AVAIL       0xE00                   // Available for software use
+                                                // The PTE_AVAIL bits aren't used by the kernel or interpreted by the
+                                                // hardware, so user processes are allowed to set them arbitrarily.
+
+#define PTE_USER        (PTE_U | PTE_W | PTE_P)
+
+/* Control Register flags */
+#define CR0_PE          0x00000001              // Protection Enable
+#define CR0_MP          0x00000002              // Monitor coProcessor
+#define CR0_EM          0x00000004              // Emulation
+#define CR0_TS          0x00000008              // Task Switched
+#define CR0_ET          0x00000010              // Extension Type
+#define CR0_NE          0x00000020              // Numeric Errror
+#define CR0_WP          0x00010000              // Write Protect
+#define CR0_AM          0x00040000              // Alignment Mask
+#define CR0_NW          0x20000000              // Not Writethrough
+#define CR0_CD          0x40000000              // Cache Disable
+#define CR0_PG          0x80000000              // Paging
+
+#define CR4_PCE         0x00000100              // Performance counter enable
+#define CR4_MCE         0x00000040              // Machine Check Enable
+#define CR4_PSE         0x00000010              // Page Size Extensions
+#define CR4_DE          0x00000008              // Debugging Extensions
+#define CR4_TSD         0x00000004              // Time Stamp Disable
+#define CR4_PVI         0x00000002              // Protected-Mode Virtual Interrupts
+#define CR4_VME         0x00000001              // V86 Mode Extensions
+
+#endif /* !__KERN_MM_MMU_H__ */
+
diff --git a/code/lab8/kern/mm/pmm.c b/code/lab8/kern/mm/pmm.c
new file mode 100644
index 0000000..cc3f28c
--- /dev/null
+++ b/code/lab8/kern/mm/pmm.c
@@ -0,0 +1,759 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <default_pmm.h>
+#include <sync.h>
+#include <error.h>
+#include <swap.h>
+#include <vmm.h>
+#include <kmalloc.h>
+
+/* *
+ * Task State Segment:
+ *
+ * The TSS may reside anywhere in memory. A special segment register called
+ * the Task Register (TR) holds a segment selector that points a valid TSS
+ * segment descriptor which resides in the GDT. Therefore, to use a TSS
+ * the following must be done in function gdt_init:
+ *   - create a TSS descriptor entry in GDT
+ *   - add enough information to the TSS in memory as needed
+ *   - load the TR register with a segment selector for that segment
+ *
+ * There are several fileds in TSS for specifying the new stack pointer when a
+ * privilege level change happens. But only the fields SS0 and ESP0 are useful
+ * in our os kernel.
+ *
+ * The field SS0 contains the stack segment selector for CPL = 0, and the ESP0
+ * contains the new ESP value for CPL = 0. When an interrupt happens in protected
+ * mode, the x86 CPU will look in the TSS for SS0 and ESP0 and load their value
+ * into SS and ESP respectively.
+ * */
+static struct taskstate ts = {0};
+
+// virtual address of physicall page array
+struct Page *pages;
+// amount of physical memory (in pages)
+size_t npage = 0;
+
+// virtual address of boot-time page directory
+pde_t *boot_pgdir = NULL;
+// physical address of boot-time page directory
+uintptr_t boot_cr3;
+
+// physical memory management
+const struct pmm_manager *pmm_manager;
+
+/* *
+ * The page directory entry corresponding to the virtual address range
+ * [VPT, VPT + PTSIZE) points to the page directory itself. Thus, the page
+ * directory is treated as a page table as well as a page directory.
+ *
+ * One result of treating the page directory as a page table is that all PTEs
+ * can be accessed though a "virtual page table" at virtual address VPT. And the
+ * PTE for number n is stored in vpt[n].
+ *
+ * A second consequence is that the contents of the current page directory will
+ * always available at virtual address PGADDR(PDX(VPT), PDX(VPT), 0), to which
+ * vpd is set bellow.
+ * */
+pte_t * const vpt = (pte_t *)VPT;
+pde_t * const vpd = (pde_t *)PGADDR(PDX(VPT), PDX(VPT), 0);
+
+/* *
+ * Global Descriptor Table:
+ *
+ * The kernel and user segments are identical (except for the DPL). To load
+ * the %ss register, the CPL must equal the DPL. Thus, we must duplicate the
+ * segments for the user and the kernel. Defined as follows:
+ *   - 0x0 :  unused (always faults -- for trapping NULL far pointers)
+ *   - 0x8 :  kernel code segment
+ *   - 0x10:  kernel data segment
+ *   - 0x18:  user code segment
+ *   - 0x20:  user data segment
+ *   - 0x28:  defined for tss, initialized in gdt_init
+ * */
+static struct segdesc gdt[] = {
+    SEG_NULL,
+    [SEG_KTEXT] = SEG(STA_X | STA_R, 0x0, 0xFFFFFFFF, DPL_KERNEL),
+    [SEG_KDATA] = SEG(STA_W, 0x0, 0xFFFFFFFF, DPL_KERNEL),
+    [SEG_UTEXT] = SEG(STA_X | STA_R, 0x0, 0xFFFFFFFF, DPL_USER),
+    [SEG_UDATA] = SEG(STA_W, 0x0, 0xFFFFFFFF, DPL_USER),
+    [SEG_TSS]   = SEG_NULL,
+};
+
+static struct pseudodesc gdt_pd = {
+    sizeof(gdt) - 1, (uintptr_t)gdt
+};
+
+static void check_alloc_page(void);
+static void check_pgdir(void);
+static void check_boot_pgdir(void);
+
+/* *
+ * lgdt - load the global descriptor table register and reset the
+ * data/code segement registers for kernel.
+ * */
+static inline void
+lgdt(struct pseudodesc *pd) {
+    asm volatile ("lgdt (%0)" :: "r" (pd));
+    asm volatile ("movw %%ax, %%gs" :: "a" (USER_DS));
+    asm volatile ("movw %%ax, %%fs" :: "a" (USER_DS));
+    asm volatile ("movw %%ax, %%es" :: "a" (KERNEL_DS));
+    asm volatile ("movw %%ax, %%ds" :: "a" (KERNEL_DS));
+    asm volatile ("movw %%ax, %%ss" :: "a" (KERNEL_DS));
+    // reload cs
+    asm volatile ("ljmp %0, $1f\n 1:\n" :: "i" (KERNEL_CS));
+}
+
+/* *
+ * load_esp0 - change the ESP0 in default task state segment,
+ * so that we can use different kernel stack when we trap frame
+ * user to kernel.
+ * */
+void
+load_esp0(uintptr_t esp0) {
+    ts.ts_esp0 = esp0;
+}
+
+/* gdt_init - initialize the default GDT and TSS */
+static void
+gdt_init(void) {
+    // set boot kernel stack and default SS0
+    load_esp0((uintptr_t)bootstacktop);
+    ts.ts_ss0 = KERNEL_DS;
+
+    // initialize the TSS filed of the gdt
+    gdt[SEG_TSS] = SEGTSS(STS_T32A, (uintptr_t)&ts, sizeof(ts), DPL_KERNEL);
+
+    // reload all segment registers
+    lgdt(&gdt_pd);
+
+    // load the TSS
+    ltr(GD_TSS);
+}
+
+//init_pmm_manager - initialize a pmm_manager instance
+static void
+init_pmm_manager(void) {
+    pmm_manager = &default_pmm_manager;
+    cprintf("memory management: %s\n", pmm_manager->name);
+    pmm_manager->init();
+}
+
+//init_memmap - call pmm->init_memmap to build Page struct for free memory  
+static void
+init_memmap(struct Page *base, size_t n) {
+    pmm_manager->init_memmap(base, n);
+}
+
+//alloc_pages - call pmm->alloc_pages to allocate a continuous n*PAGESIZE memory 
+struct Page *
+alloc_pages(size_t n) {
+    struct Page *page=NULL;
+    bool intr_flag;
+    
+    while (1)
+    {
+         local_intr_save(intr_flag);
+         {
+              page = pmm_manager->alloc_pages(n);
+         }
+         local_intr_restore(intr_flag);
+
+         if (page != NULL || n > 1 || swap_init_ok == 0) break;
+         
+         extern struct mm_struct *check_mm_struct;
+         //cprintf("page %x, call swap_out in alloc_pages %d\n",page, n);
+         swap_out(check_mm_struct, n, 0);
+    }
+    //cprintf("n %d,get page %x, No %d in alloc_pages\n",n,page,(page-pages));
+    return page;
+}
+
+//free_pages - call pmm->free_pages to free a continuous n*PAGESIZE memory 
+void
+free_pages(struct Page *base, size_t n) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        pmm_manager->free_pages(base, n);
+    }
+    local_intr_restore(intr_flag);
+}
+
+//nr_free_pages - call pmm->nr_free_pages to get the size (nr*PAGESIZE) 
+//of current free memory
+size_t
+nr_free_pages(void) {
+    size_t ret;
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        ret = pmm_manager->nr_free_pages();
+    }
+    local_intr_restore(intr_flag);
+    return ret;
+}
+
+/* pmm_init - initialize the physical memory management */
+static void
+page_init(void) {
+    struct e820map *memmap = (struct e820map *)(0x8000 + KERNBASE);
+    uint64_t maxpa = 0;
+
+    cprintf("e820map:\n");
+    int i;
+    for (i = 0; i < memmap->nr_map; i ++) {
+        uint64_t begin = memmap->map[i].addr, end = begin + memmap->map[i].size;
+        cprintf("  memory: %08llx, [%08llx, %08llx], type = %d.\n",
+                memmap->map[i].size, begin, end - 1, memmap->map[i].type);
+        if (memmap->map[i].type == E820_ARM) {
+            if (maxpa < end && begin < KMEMSIZE) {
+                maxpa = end;
+            }
+        }
+    }
+    if (maxpa > KMEMSIZE) {
+        maxpa = KMEMSIZE;
+    }
+
+    extern char end[];
+
+    npage = maxpa / PGSIZE;
+    pages = (struct Page *)ROUNDUP((void *)end, PGSIZE);
+
+    for (i = 0; i < npage; i ++) {
+        SetPageReserved(pages + i);
+    }
+
+    uintptr_t freemem = PADDR((uintptr_t)pages + sizeof(struct Page) * npage);
+
+    for (i = 0; i < memmap->nr_map; i ++) {
+        uint64_t begin = memmap->map[i].addr, end = begin + memmap->map[i].size;
+        if (memmap->map[i].type == E820_ARM) {
+            if (begin < freemem) {
+                begin = freemem;
+            }
+            if (end > KMEMSIZE) {
+                end = KMEMSIZE;
+            }
+            if (begin < end) {
+                begin = ROUNDUP(begin, PGSIZE);
+                end = ROUNDDOWN(end, PGSIZE);
+                if (begin < end) {
+                    init_memmap(pa2page(begin), (end - begin) / PGSIZE);
+                }
+            }
+        }
+    }
+}
+
+static void
+enable_paging(void) {
+    lcr3(boot_cr3);
+
+    // turn on paging
+    uint32_t cr0 = rcr0();
+    cr0 |= CR0_PE | CR0_PG | CR0_AM | CR0_WP | CR0_NE | CR0_TS | CR0_EM | CR0_MP;
+    cr0 &= ~(CR0_TS | CR0_EM);
+    lcr0(cr0);
+}
+
+//boot_map_segment - setup&enable the paging mechanism
+// parameters
+//  la:   linear address of this memory need to map (after x86 segment map)
+//  size: memory size
+//  pa:   physical address of this memory
+//  perm: permission of this memory  
+static void
+boot_map_segment(pde_t *pgdir, uintptr_t la, size_t size, uintptr_t pa, uint32_t perm) {
+    assert(PGOFF(la) == PGOFF(pa));
+    size_t n = ROUNDUP(size + PGOFF(la), PGSIZE) / PGSIZE;
+    la = ROUNDDOWN(la, PGSIZE);
+    pa = ROUNDDOWN(pa, PGSIZE);
+    for (; n > 0; n --, la += PGSIZE, pa += PGSIZE) {
+        pte_t *ptep = get_pte(pgdir, la, 1);
+        assert(ptep != NULL);
+        *ptep = pa | PTE_P | perm;
+    }
+}
+
+//boot_alloc_page - allocate one page using pmm->alloc_pages(1) 
+// return value: the kernel virtual address of this allocated page
+//note: this function is used to get the memory for PDT(Page Directory Table)&PT(Page Table)
+static void *
+boot_alloc_page(void) {
+    struct Page *p = alloc_page();
+    if (p == NULL) {
+        panic("boot_alloc_page failed.\n");
+    }
+    return page2kva(p);
+}
+
+//pmm_init - setup a pmm to manage physical memory, build PDT&PT to setup paging mechanism 
+//         - check the correctness of pmm & paging mechanism, print PDT&PT
+void
+pmm_init(void) {
+    //We need to alloc/free the physical memory (granularity is 4KB or other size). 
+    //So a framework of physical memory manager (struct pmm_manager)is defined in pmm.h
+    //First we should init a physical memory manager(pmm) based on the framework.
+    //Then pmm can alloc/free the physical memory. 
+    //Now the first_fit/best_fit/worst_fit/buddy_system pmm are available.
+    init_pmm_manager();
+
+    // detect physical memory space, reserve already used memory,
+    // then use pmm->init_memmap to create free page list
+    page_init();
+
+    //use pmm->check to verify the correctness of the alloc/free function in a pmm
+    check_alloc_page();
+
+    // create boot_pgdir, an initial page directory(Page Directory Table, PDT)
+    boot_pgdir = boot_alloc_page();
+    memset(boot_pgdir, 0, PGSIZE);
+    boot_cr3 = PADDR(boot_pgdir);
+
+    check_pgdir();
+
+    static_assert(KERNBASE % PTSIZE == 0 && KERNTOP % PTSIZE == 0);
+
+    // recursively insert boot_pgdir in itself
+    // to form a virtual page table at virtual address VPT
+    boot_pgdir[PDX(VPT)] = PADDR(boot_pgdir) | PTE_P | PTE_W;
+
+    // map all physical memory to linear memory with base linear addr KERNBASE
+    //linear_addr KERNBASE~KERNBASE+KMEMSIZE = phy_addr 0~KMEMSIZE
+    //But shouldn't use this map until enable_paging() & gdt_init() finished.
+    boot_map_segment(boot_pgdir, KERNBASE, KMEMSIZE, 0, PTE_W);
+
+    //temporary map: 
+    //virtual_addr 3G~3G+4M = linear_addr 0~4M = linear_addr 3G~3G+4M = phy_addr 0~4M     
+    boot_pgdir[0] = boot_pgdir[PDX(KERNBASE)];
+
+    enable_paging();
+
+    //reload gdt(third time,the last time) to map all physical memory
+    //virtual_addr 0~4G=liear_addr 0~4G
+    //then set kernel stack(ss:esp) in TSS, setup TSS in gdt, load TSS
+    gdt_init();
+
+    //disable the map of virtual_addr 0~4M
+    boot_pgdir[0] = 0;
+
+    //now the basic virtual memory map(see memalyout.h) is established.
+    //check the correctness of the basic virtual memory map.
+    check_boot_pgdir();
+
+    print_pgdir();
+    
+    kmalloc_init();
+
+}
+
+//get_pte - get pte and return the kernel virtual address of this pte for la
+//        - if the PT contians this pte didn't exist, alloc a page for PT
+// parameter:
+//  pgdir:  the kernel virtual base address of PDT
+//  la:     the linear address need to map
+//  create: a logical value to decide if alloc a page for PT
+// return vaule: the kernel virtual address of this pte
+pte_t *
+get_pte(pde_t *pgdir, uintptr_t la, bool create) {
+    /* LAB2 EXERCISE 2: YOUR CODE
+     *
+     * If you need to visit a physical address, please use KADDR()
+     * please read pmm.h for useful macros
+     *
+     * Maybe you want help comment, BELOW comments can help you finish the code
+     *
+     * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   PDX(la) = the index of page directory entry of VIRTUAL ADDRESS la.
+     *   KADDR(pa) : takes a physical address and returns the corresponding kernel virtual address.
+     *   set_page_ref(page,1) : means the page be referenced by one time
+     *   page2pa(page): get the physical address of memory which this (struct Page *) page  manages
+     *   struct Page * alloc_page() : allocation a page
+     *   memset(void *s, char c, size_t n) : sets the first n bytes of the memory area pointed by s
+     *                                       to the specified value c.
+     * DEFINEs:
+     *   PTE_P           0x001                   // page table/directory entry flags bit : Present
+     *   PTE_W           0x002                   // page table/directory entry flags bit : Writeable
+     *   PTE_U           0x004                   // page table/directory entry flags bit : User can access
+     */
+#if 0
+    pde_t *pdep = NULL;   // (1) find page directory entry
+    if (0) {              // (2) check if entry is not present
+                          // (3) check if creating is needed, then alloc page for page table
+                          // CAUTION: this page is used for page table, not for common data page
+                          // (4) set page reference
+        uintptr_t pa = 0; // (5) get linear address of page
+                          // (6) clear page content using memset
+                          // (7) set page directory entry's permission
+    }
+    return NULL;          // (8) return page table entry
+#endif
+}
+
+//get_page - get related Page struct for linear address la using PDT pgdir
+struct Page *
+get_page(pde_t *pgdir, uintptr_t la, pte_t **ptep_store) {
+    pte_t *ptep = get_pte(pgdir, la, 0);
+    if (ptep_store != NULL) {
+        *ptep_store = ptep;
+    }
+    if (ptep != NULL && *ptep & PTE_P) {
+        return pa2page(*ptep);
+    }
+    return NULL;
+}
+
+//page_remove_pte - free an Page sturct which is related linear address la
+//                - and clean(invalidate) pte which is related linear address la
+//note: PT is changed, so the TLB need to be invalidate 
+static inline void
+page_remove_pte(pde_t *pgdir, uintptr_t la, pte_t *ptep) {
+    /* LAB2 EXERCISE 3: YOUR CODE
+     *
+     * Please check if ptep is valid, and tlb must be manually updated if mapping is updated
+     *
+     * Maybe you want help comment, BELOW comments can help you finish the code
+     *
+     * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   struct Page *page pte2page(*ptep): get the according page from the value of a ptep
+     *   free_page : free a page
+     *   page_ref_dec(page) : decrease page->ref. NOTICE: ff page->ref == 0 , then this page should be free.
+     *   tlb_invalidate(pde_t *pgdir, uintptr_t la) : Invalidate a TLB entry, but only if the page tables being
+     *                        edited are the ones currently in use by the processor.
+     * DEFINEs:
+     *   PTE_P           0x001                   // page table/directory entry flags bit : Present
+     */
+#if 0
+    if (0) {                      //(1) check if page directory is present
+        struct Page *page = NULL; //(2) find corresponding page to pte
+                                  //(3) decrease page reference
+                                  //(4) and free this page when page reference reachs 0
+                                  //(5) clear second page table entry
+                                  //(6) flush tlb
+    }
+#endif
+}
+
+void
+unmap_range(pde_t *pgdir, uintptr_t start, uintptr_t end) {
+    assert(start % PGSIZE == 0 && end % PGSIZE == 0);
+    assert(USER_ACCESS(start, end));
+
+    do {
+        pte_t *ptep = get_pte(pgdir, start, 0);
+        if (ptep == NULL) {
+            start = ROUNDDOWN(start + PTSIZE, PTSIZE);
+            continue ;
+        }
+        if (*ptep != 0) {
+            page_remove_pte(pgdir, start, ptep);
+        }
+        start += PGSIZE;
+    } while (start != 0 && start < end);
+}
+
+void
+exit_range(pde_t *pgdir, uintptr_t start, uintptr_t end) {
+    assert(start % PGSIZE == 0 && end % PGSIZE == 0);
+    assert(USER_ACCESS(start, end));
+
+    start = ROUNDDOWN(start, PTSIZE);
+    do {
+        int pde_idx = PDX(start);
+        if (pgdir[pde_idx] & PTE_P) {
+            free_page(pde2page(pgdir[pde_idx]));
+            pgdir[pde_idx] = 0;
+        }
+        start += PTSIZE;
+    } while (start != 0 && start < end);
+}
+/* copy_range - copy content of memory (start, end) of one process A to another process B
+ * @to:    the addr of process B's Page Directory
+ * @from:  the addr of process A's Page Directory
+ * @share: flags to indicate to dup OR share. We just use dup method, so it didn't be used.
+ *
+ * CALL GRAPH: copy_mm-->dup_mmap-->copy_range
+ */
+int
+copy_range(pde_t *to, pde_t *from, uintptr_t start, uintptr_t end, bool share) {
+    assert(start % PGSIZE == 0 && end % PGSIZE == 0);
+    assert(USER_ACCESS(start, end));
+    // copy content by page unit.
+    do {
+        //call get_pte to find process A's pte according to the addr start
+        pte_t *ptep = get_pte(from, start, 0), *nptep;
+        if (ptep == NULL) {
+            start = ROUNDDOWN(start + PTSIZE, PTSIZE);
+            continue ;
+        }
+        //call get_pte to find process B's pte according to the addr start. If pte is NULL, just alloc a PT
+        if (*ptep & PTE_P) {
+            if ((nptep = get_pte(to, start, 1)) == NULL) {
+                return -E_NO_MEM;
+            }
+        uint32_t perm = (*ptep & PTE_USER);
+        //get page from ptep
+        struct Page *page = pte2page(*ptep);
+        // alloc a page for process B
+        struct Page *npage=alloc_page();
+        assert(page!=NULL);
+        assert(npage!=NULL);
+        int ret=0;
+        /* LAB5:EXERCISE2 YOUR CODE
+         * replicate content of page to npage, build the map of phy addr of nage with the linear addr start
+         *
+         * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+         * MACROs or Functions:
+         *    page2kva(struct Page *page): return the kernel vritual addr of memory which page managed (SEE pmm.h)
+         *    page_insert: build the map of phy addr of an Page with the linear addr la
+         *    memcpy: typical memory copy function
+         *
+         * (1) find src_kvaddr: the kernel virtual address of page
+         * (2) find dst_kvaddr: the kernel virtual address of npage
+         * (3) memory copy from src_kvaddr to dst_kvaddr, size is PGSIZE
+         * (4) build the map of phy addr of  nage with the linear addr start
+         */
+        assert(ret == 0);
+        }
+        start += PGSIZE;
+    } while (start != 0 && start < end);
+    return 0;
+}
+
+//page_remove - free an Page which is related linear address la and has an validated pte
+void
+page_remove(pde_t *pgdir, uintptr_t la) {
+    pte_t *ptep = get_pte(pgdir, la, 0);
+    if (ptep != NULL) {
+        page_remove_pte(pgdir, la, ptep);
+    }
+}
+
+//page_insert - build the map of phy addr of an Page with the linear addr la
+// paramemters:
+//  pgdir: the kernel virtual base address of PDT
+//  page:  the Page which need to map
+//  la:    the linear address need to map
+//  perm:  the permission of this Page which is setted in related pte
+// return value: always 0
+//note: PT is changed, so the TLB need to be invalidate 
+int
+page_insert(pde_t *pgdir, struct Page *page, uintptr_t la, uint32_t perm) {
+    pte_t *ptep = get_pte(pgdir, la, 1);
+    if (ptep == NULL) {
+        return -E_NO_MEM;
+    }
+    page_ref_inc(page);
+    if (*ptep & PTE_P) {
+        struct Page *p = pte2page(*ptep);
+        if (p == page) {
+            page_ref_dec(page);
+        }
+        else {
+            page_remove_pte(pgdir, la, ptep);
+        }
+    }
+    *ptep = page2pa(page) | PTE_P | perm;
+    tlb_invalidate(pgdir, la);
+    return 0;
+}
+
+// invalidate a TLB entry, but only if the page tables being
+// edited are the ones currently in use by the processor.
+void
+tlb_invalidate(pde_t *pgdir, uintptr_t la) {
+    if (rcr3() == PADDR(pgdir)) {
+        invlpg((void *)la);
+    }
+}
+
+// pgdir_alloc_page - call alloc_page & page_insert functions to 
+//                  - allocate a page size memory & setup an addr map
+//                  - pa<->la with linear address la and the PDT pgdir
+struct Page *
+pgdir_alloc_page(pde_t *pgdir, uintptr_t la, uint32_t perm) {
+    struct Page *page = alloc_page();
+    if (page != NULL) {
+        if (page_insert(pgdir, page, la, perm) != 0) {
+            free_page(page);
+            return NULL;
+        }
+        if (swap_init_ok){
+            if(check_mm_struct!=NULL) {
+                swap_map_swappable(check_mm_struct, la, page, 0);
+                page->pra_vaddr=la;
+                assert(page_ref(page) == 1);
+                //cprintf("get No. %d  page: pra_vaddr %x, pra_link.prev %x, pra_link_next %x in pgdir_alloc_page\n", (page-pages), page->pra_vaddr,page->pra_page_link.prev, page->pra_page_link.next);
+            } 
+            else  {  //now current is existed, should fix it in the future
+                //swap_map_swappable(current->mm, la, page, 0);
+                //page->pra_vaddr=la;
+                //assert(page_ref(page) == 1);
+                //panic("pgdir_alloc_page: no pages. now current is existed, should fix it in the future\n");
+            }
+        }
+
+    }
+
+    return page;
+}
+
+static void
+check_alloc_page(void) {
+    pmm_manager->check();
+    cprintf("check_alloc_page() succeeded!\n");
+}
+
+static void
+check_pgdir(void) {
+    assert(npage <= KMEMSIZE / PGSIZE);
+    assert(boot_pgdir != NULL && (uint32_t)PGOFF(boot_pgdir) == 0);
+    assert(get_page(boot_pgdir, 0x0, NULL) == NULL);
+
+    struct Page *p1, *p2;
+    p1 = alloc_page();
+    assert(page_insert(boot_pgdir, p1, 0x0, 0) == 0);
+
+    pte_t *ptep;
+    assert((ptep = get_pte(boot_pgdir, 0x0, 0)) != NULL);
+    assert(pa2page(*ptep) == p1);
+    assert(page_ref(p1) == 1);
+
+    ptep = &((pte_t *)KADDR(PDE_ADDR(boot_pgdir[0])))[1];
+    assert(get_pte(boot_pgdir, PGSIZE, 0) == ptep);
+
+    p2 = alloc_page();
+    assert(page_insert(boot_pgdir, p2, PGSIZE, PTE_U | PTE_W) == 0);
+    assert((ptep = get_pte(boot_pgdir, PGSIZE, 0)) != NULL);
+    assert(*ptep & PTE_U);
+    assert(*ptep & PTE_W);
+    assert(boot_pgdir[0] & PTE_U);
+    assert(page_ref(p2) == 1);
+
+    assert(page_insert(boot_pgdir, p1, PGSIZE, 0) == 0);
+    assert(page_ref(p1) == 2);
+    assert(page_ref(p2) == 0);
+    assert((ptep = get_pte(boot_pgdir, PGSIZE, 0)) != NULL);
+    assert(pa2page(*ptep) == p1);
+    assert((*ptep & PTE_U) == 0);
+
+    page_remove(boot_pgdir, 0x0);
+    assert(page_ref(p1) == 1);
+    assert(page_ref(p2) == 0);
+
+    page_remove(boot_pgdir, PGSIZE);
+    assert(page_ref(p1) == 0);
+    assert(page_ref(p2) == 0);
+
+    assert(page_ref(pa2page(boot_pgdir[0])) == 1);
+    free_page(pa2page(boot_pgdir[0]));
+    boot_pgdir[0] = 0;
+
+    cprintf("check_pgdir() succeeded!\n");
+}
+
+static void
+check_boot_pgdir(void) {
+    pte_t *ptep;
+    int i;
+    for (i = 0; i < npage; i += PGSIZE) {
+        assert((ptep = get_pte(boot_pgdir, (uintptr_t)KADDR(i), 0)) != NULL);
+        assert(PTE_ADDR(*ptep) == i);
+    }
+
+    assert(PDE_ADDR(boot_pgdir[PDX(VPT)]) == PADDR(boot_pgdir));
+
+    assert(boot_pgdir[0] == 0);
+
+    struct Page *p;
+    p = alloc_page();
+    assert(page_insert(boot_pgdir, p, 0x100, PTE_W) == 0);
+    assert(page_ref(p) == 1);
+    assert(page_insert(boot_pgdir, p, 0x100 + PGSIZE, PTE_W) == 0);
+    assert(page_ref(p) == 2);
+
+    const char *str = "ucore: Hello world!!";
+    strcpy((void *)0x100, str);
+    assert(strcmp((void *)0x100, (void *)(0x100 + PGSIZE)) == 0);
+
+    *(char *)(page2kva(p) + 0x100) = '\0';
+    assert(strlen((const char *)0x100) == 0);
+
+    free_page(p);
+    free_page(pa2page(PDE_ADDR(boot_pgdir[0])));
+    boot_pgdir[0] = 0;
+
+    cprintf("check_boot_pgdir() succeeded!\n");
+}
+
+//perm2str - use string 'u,r,w,-' to present the permission
+static const char *
+perm2str(int perm) {
+    static char str[4];
+    str[0] = (perm & PTE_U) ? 'u' : '-';
+    str[1] = 'r';
+    str[2] = (perm & PTE_W) ? 'w' : '-';
+    str[3] = '\0';
+    return str;
+}
+
+//get_pgtable_items - In [left, right] range of PDT or PT, find a continuous linear addr space
+//                  - (left_store*X_SIZE~right_store*X_SIZE) for PDT or PT
+//                  - X_SIZE=PTSIZE=4M, if PDT; X_SIZE=PGSIZE=4K, if PT
+// paramemters:
+//  left:        no use ???
+//  right:       the high side of table's range
+//  start:       the low side of table's range
+//  table:       the beginning addr of table
+//  left_store:  the pointer of the high side of table's next range
+//  right_store: the pointer of the low side of table's next range
+// return value: 0 - not a invalid item range, perm - a valid item range with perm permission 
+static int
+get_pgtable_items(size_t left, size_t right, size_t start, uintptr_t *table, size_t *left_store, size_t *right_store) {
+    if (start >= right) {
+        return 0;
+    }
+    while (start < right && !(table[start] & PTE_P)) {
+        start ++;
+    }
+    if (start < right) {
+        if (left_store != NULL) {
+            *left_store = start;
+        }
+        int perm = (table[start ++] & PTE_USER);
+        while (start < right && (table[start] & PTE_USER) == perm) {
+            start ++;
+        }
+        if (right_store != NULL) {
+            *right_store = start;
+        }
+        return perm;
+    }
+    return 0;
+}
+
+//print_pgdir - print the PDT&PT
+void
+print_pgdir(void) {
+    cprintf("-------------------- BEGIN --------------------\n");
+    size_t left, right = 0, perm;
+    while ((perm = get_pgtable_items(0, NPDEENTRY, right, vpd, &left, &right)) != 0) {
+        cprintf("PDE(%03x) %08x-%08x %08x %s\n", right - left,
+                left * PTSIZE, right * PTSIZE, (right - left) * PTSIZE, perm2str(perm));
+        size_t l, r = left * NPTEENTRY;
+        while ((perm = get_pgtable_items(left * NPTEENTRY, right * NPTEENTRY, r, vpt, &l, &r)) != 0) {
+            cprintf("  |-- PTE(%05x) %08x-%08x %08x %s\n", r - l,
+                    l * PGSIZE, r * PGSIZE, (r - l) * PGSIZE, perm2str(perm));
+        }
+    }
+    cprintf("--------------------- END ---------------------\n");
+}
diff --git a/code/lab8/kern/mm/pmm.h b/code/lab8/kern/mm/pmm.h
new file mode 100644
index 0000000..1e229a7
--- /dev/null
+++ b/code/lab8/kern/mm/pmm.h
@@ -0,0 +1,145 @@
+#ifndef __KERN_MM_PMM_H__
+#define __KERN_MM_PMM_H__
+
+#include <defs.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <atomic.h>
+#include <assert.h>
+
+// pmm_manager is a physical memory management class. A special pmm manager - XXX_pmm_manager
+// only needs to implement the methods in pmm_manager class, then XXX_pmm_manager can be used
+// by ucore to manage the total physical memory space.
+struct pmm_manager {
+    const char *name;                                 // XXX_pmm_manager's name
+    void (*init)(void);                               // initialize internal description&management data structure
+                                                      // (free block list, number of free block) of XXX_pmm_manager 
+    void (*init_memmap)(struct Page *base, size_t n); // setup description&management data structcure according to
+                                                      // the initial free physical memory space 
+    struct Page *(*alloc_pages)(size_t n);            // allocate >=n pages, depend on the allocation algorithm 
+    void (*free_pages)(struct Page *base, size_t n);  // free >=n pages with "base" addr of Page descriptor structures(memlayout.h)
+    size_t (*nr_free_pages)(void);                    // return the number of free pages 
+    void (*check)(void);                              // check the correctness of XXX_pmm_manager 
+};
+
+extern const struct pmm_manager *pmm_manager;
+extern pde_t *boot_pgdir;
+extern uintptr_t boot_cr3;
+
+void pmm_init(void);
+
+struct Page *alloc_pages(size_t n);
+void free_pages(struct Page *base, size_t n);
+size_t nr_free_pages(void);
+
+#define alloc_page() alloc_pages(1)
+#define free_page(page) free_pages(page, 1)
+
+pte_t *get_pte(pde_t *pgdir, uintptr_t la, bool create);
+struct Page *get_page(pde_t *pgdir, uintptr_t la, pte_t **ptep_store);
+void page_remove(pde_t *pgdir, uintptr_t la);
+int page_insert(pde_t *pgdir, struct Page *page, uintptr_t la, uint32_t perm);
+
+void load_esp0(uintptr_t esp0);
+void tlb_invalidate(pde_t *pgdir, uintptr_t la);
+struct Page *pgdir_alloc_page(pde_t *pgdir, uintptr_t la, uint32_t perm);
+void unmap_range(pde_t *pgdir, uintptr_t start, uintptr_t end);
+void exit_range(pde_t *pgdir, uintptr_t start, uintptr_t end);
+int copy_range(pde_t *to, pde_t *from, uintptr_t start, uintptr_t end, bool share);
+
+void print_pgdir(void);
+
+/* *
+ * PADDR - takes a kernel virtual address (an address that points above KERNBASE),
+ * where the machine's maximum 256MB of physical memory is mapped and returns the
+ * corresponding physical address.  It panics if you pass it a non-kernel virtual address.
+ * */
+#define PADDR(kva) ({                                                   \
+            uintptr_t __m_kva = (uintptr_t)(kva);                       \
+            if (__m_kva < KERNBASE) {                                   \
+                panic("PADDR called with invalid kva %08lx", __m_kva);  \
+            }                                                           \
+            __m_kva - KERNBASE;                                         \
+        })
+
+/* *
+ * KADDR - takes a physical address and returns the corresponding kernel virtual
+ * address. It panics if you pass an invalid physical address.
+ * */
+#define KADDR(pa) ({                                                    \
+            uintptr_t __m_pa = (pa);                                    \
+            size_t __m_ppn = PPN(__m_pa);                               \
+            if (__m_ppn >= npage) {                                     \
+                panic("KADDR called with invalid pa %08lx", __m_pa);    \
+            }                                                           \
+            (void *) (__m_pa + KERNBASE);                               \
+        })
+
+extern struct Page *pages;
+extern size_t npage;
+
+static inline ppn_t
+page2ppn(struct Page *page) {
+    return page - pages;
+}
+
+static inline uintptr_t
+page2pa(struct Page *page) {
+    return page2ppn(page) << PGSHIFT;
+}
+
+static inline struct Page *
+pa2page(uintptr_t pa) {
+    if (PPN(pa) >= npage) {
+        panic("pa2page called with invalid pa");
+    }
+    return &pages[PPN(pa)];
+}
+
+static inline void *
+page2kva(struct Page *page) {
+    return KADDR(page2pa(page));
+}
+
+static inline struct Page *
+kva2page(void *kva) {
+    return pa2page(PADDR(kva));
+}
+
+static inline struct Page *
+pte2page(pte_t pte) {
+    if (!(pte & PTE_P)) {
+        panic("pte2page called with invalid pte");
+    }
+    return pa2page(PTE_ADDR(pte));
+}
+
+static inline struct Page *
+pde2page(pde_t pde) {
+    return pa2page(PDE_ADDR(pde));
+}
+
+static inline int
+page_ref(struct Page *page) {
+    return atomic_read(&(page->ref));
+}
+
+static inline void
+set_page_ref(struct Page *page, int val) {
+    atomic_set(&(page->ref), val);
+}
+
+static inline int
+page_ref_inc(struct Page *page) {
+    return atomic_add_return(&(page->ref), 1);
+}
+
+static inline int
+page_ref_dec(struct Page *page) {
+    return atomic_sub_return(&(page->ref), 1);
+}
+
+extern char bootstack[], bootstacktop[];
+
+#endif /* !__KERN_MM_PMM_H__ */
+
diff --git a/code/lab8/kern/mm/swap.c b/code/lab8/kern/mm/swap.c
new file mode 100644
index 0000000..281889d
--- /dev/null
+++ b/code/lab8/kern/mm/swap.c
@@ -0,0 +1,284 @@
+#include <swap.h>
+#include <swapfs.h>
+#include <swap_fifo.h>
+#include <stdio.h>
+#include <string.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <mmu.h>
+#include <default_pmm.h>
+#include <kdebug.h>
+
+// the valid vaddr for check is between 0~CHECK_VALID_VADDR-1
+#define CHECK_VALID_VIR_PAGE_NUM 5
+#define BEING_CHECK_VALID_VADDR 0X1000
+#define CHECK_VALID_VADDR (CHECK_VALID_VIR_PAGE_NUM+1)*0x1000
+// the max number of valid physical page for check
+#define CHECK_VALID_PHY_PAGE_NUM 4
+// the max access seq number
+#define MAX_SEQ_NO 10
+
+static struct swap_manager *sm;
+size_t max_swap_offset;
+
+volatile int swap_init_ok = 0;
+
+unsigned int swap_page[CHECK_VALID_VIR_PAGE_NUM];
+
+unsigned int swap_in_seq_no[MAX_SEQ_NO],swap_out_seq_no[MAX_SEQ_NO];
+
+static void check_swap(void);
+
+int
+swap_init(void)
+{
+     swapfs_init();
+
+     if (!(1024 <= max_swap_offset && max_swap_offset < MAX_SWAP_OFFSET_LIMIT))
+     {
+          panic("bad max_swap_offset %08x.\n", max_swap_offset);
+     }
+     
+
+     sm = &swap_manager_fifo;
+     int r = sm->init();
+     
+     if (r == 0)
+     {
+          swap_init_ok = 1;
+          cprintf("SWAP: manager = %s\n", sm->name);
+          check_swap();
+     }
+
+     return r;
+}
+
+int
+swap_init_mm(struct mm_struct *mm)
+{
+     return sm->init_mm(mm);
+}
+
+int
+swap_tick_event(struct mm_struct *mm)
+{
+     return sm->tick_event(mm);
+}
+
+int
+swap_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in)
+{
+     return sm->map_swappable(mm, addr, page, swap_in);
+}
+
+int
+swap_set_unswappable(struct mm_struct *mm, uintptr_t addr)
+{
+     return sm->set_unswappable(mm, addr);
+}
+
+volatile unsigned int swap_out_num=0;
+
+int
+swap_out(struct mm_struct *mm, int n, int in_tick)
+{
+     int i;
+     for (i = 0; i != n; ++ i)
+     {
+          uintptr_t v;
+          //struct Page **ptr_page=NULL;
+          struct Page *page;
+          // cprintf("i %d, SWAP: call swap_out_victim\n",i);
+          int r = sm->swap_out_victim(mm, &page, in_tick);
+          if (r != 0) {
+                    cprintf("i %d, swap_out: call swap_out_victim failed\n",i);
+                  break;
+          }          
+          //assert(!PageReserved(page));
+
+          //cprintf("SWAP: choose victim page 0x%08x\n", page);
+          
+          v=page->pra_vaddr; 
+          pte_t *ptep = get_pte(mm->pgdir, v, 0);
+          assert((*ptep & PTE_P) != 0);
+
+          if (swapfs_write( (page->pra_vaddr/PGSIZE+1)<<8, page) != 0) {
+                    cprintf("SWAP: failed to save\n");
+                    sm->map_swappable(mm, v, page, 0);
+                    continue;
+          }
+          else {
+                    cprintf("swap_out: i %d, store page in vaddr 0x%x to disk swap entry %d\n", i, v, page->pra_vaddr/PGSIZE+1);
+                    *ptep = (page->pra_vaddr/PGSIZE+1)<<8;
+                    free_page(page);
+          }
+          
+          tlb_invalidate(mm->pgdir, v);
+     }
+     return i;
+}
+
+int
+swap_in(struct mm_struct *mm, uintptr_t addr, struct Page **ptr_result)
+{
+     struct Page *result = alloc_page();
+     assert(result!=NULL);
+
+     pte_t *ptep = get_pte(mm->pgdir, addr, 0);
+     // cprintf("SWAP: load ptep %x swap entry %d to vaddr 0x%08x, page %x, No %d\n", ptep, (*ptep)>>8, addr, result, (result-pages));
+    
+     int r;
+     if ((r = swapfs_read((*ptep), result)) != 0)
+     {
+        assert(r!=0);
+     }
+     cprintf("swap_in: load disk swap entry %d with swap_page in vadr 0x%x\n", (*ptep)>>8, addr);
+     *ptr_result=result;
+     return 0;
+}
+
+
+
+static inline void
+check_content_set(void)
+{
+     *(unsigned char *)0x1000 = 0x0a;
+     assert(pgfault_num==1);
+     *(unsigned char *)0x1010 = 0x0a;
+     assert(pgfault_num==1);
+     *(unsigned char *)0x2000 = 0x0b;
+     assert(pgfault_num==2);
+     *(unsigned char *)0x2010 = 0x0b;
+     assert(pgfault_num==2);
+     *(unsigned char *)0x3000 = 0x0c;
+     assert(pgfault_num==3);
+     *(unsigned char *)0x3010 = 0x0c;
+     assert(pgfault_num==3);
+     *(unsigned char *)0x4000 = 0x0d;
+     assert(pgfault_num==4);
+     *(unsigned char *)0x4010 = 0x0d;
+     assert(pgfault_num==4);
+}
+
+static inline int
+check_content_access(void)
+{
+    int ret = sm->check_swap();
+    return ret;
+}
+
+struct Page * check_rp[CHECK_VALID_PHY_PAGE_NUM];
+pte_t * check_ptep[CHECK_VALID_PHY_PAGE_NUM];
+unsigned int check_swap_addr[CHECK_VALID_VIR_PAGE_NUM];
+
+extern free_area_t free_area;
+
+#define free_list (free_area.free_list)
+#define nr_free (free_area.nr_free)
+
+static void
+check_swap(void)
+{
+    //backup mem env
+     int ret, count = 0, total = 0, i;
+     list_entry_t *le = &free_list;
+     while ((le = list_next(le)) != &free_list) {
+        struct Page *p = le2page(le, page_link);
+        //assert(PageProperty(p));
+        count ++, total += p->property;
+     }
+     assert(total == nr_free_pages());
+     cprintf("BEGIN check_swap: count %d, total %d\n",count,total);
+     
+     //now we set the phy pages env     
+     struct mm_struct *mm = mm_create();
+     assert(mm != NULL);
+
+     extern struct mm_struct *check_mm_struct;
+     assert(check_mm_struct == NULL);
+
+     check_mm_struct = mm;
+
+     pde_t *pgdir = mm->pgdir = boot_pgdir;
+     assert(pgdir[0] == 0);
+
+     struct vma_struct *vma = vma_create(BEING_CHECK_VALID_VADDR, CHECK_VALID_VADDR, VM_WRITE | VM_READ);
+     assert(vma != NULL);
+
+     insert_vma_struct(mm, vma);
+
+     //setup the temp Page Table vaddr 0~4MB
+     cprintf("setup Page Table for vaddr 0X1000, so alloc a page\n");
+     pte_t *temp_ptep=NULL;
+     temp_ptep = get_pte(mm->pgdir, BEING_CHECK_VALID_VADDR, 1);
+     assert(temp_ptep!= NULL);
+     cprintf("setup Page Table vaddr 0~4MB OVER!\n");
+     
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+          check_rp[i] = alloc_page();
+          assert(check_rp[i] != NULL );
+          assert(!PageProperty(check_rp[i]));
+     }
+     list_entry_t free_list_store = free_list;
+     list_init(&free_list);
+     assert(list_empty(&free_list));
+     
+     //assert(alloc_page() == NULL);
+     
+     unsigned int nr_free_store = nr_free;
+     nr_free = 0;
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+        free_pages(check_rp[i],1);
+     }
+     assert(nr_free==CHECK_VALID_PHY_PAGE_NUM);
+     
+     cprintf("set up init env for check_swap begin!\n");
+     //setup initial vir_page<->phy_page environment for page relpacement algorithm 
+
+     
+     pgfault_num=0;
+     
+     check_content_set();
+     assert( nr_free == 0);         
+     for(i = 0; i<MAX_SEQ_NO ; i++) 
+         swap_out_seq_no[i]=swap_in_seq_no[i]=-1;
+     
+     for (i= 0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+         check_ptep[i]=0;
+         check_ptep[i] = get_pte(pgdir, (i+1)*0x1000, 0);
+         //cprintf("i %d, check_ptep addr %x, value %x\n", i, check_ptep[i], *check_ptep[i]);
+         assert(check_ptep[i] != NULL);
+         assert(pte2page(*check_ptep[i]) == check_rp[i]);
+         assert((*check_ptep[i] & PTE_P));          
+     }
+     cprintf("set up init env for check_swap over!\n");
+     // now access the virt pages to test  page relpacement algorithm 
+     ret=check_content_access();
+     assert(ret==0);
+     
+     //restore kernel mem env
+     for (i=0;i<CHECK_VALID_PHY_PAGE_NUM;i++) {
+         free_pages(check_rp[i],1);
+     } 
+
+     //free_page(pte2page(*temp_ptep));
+    free_page(pa2page(pgdir[0]));
+     pgdir[0] = 0;
+     mm->pgdir = NULL;
+     mm_destroy(mm);
+     check_mm_struct = NULL;
+     
+     nr_free = nr_free_store;
+     free_list = free_list_store;
+
+     
+     le = &free_list;
+     while ((le = list_next(le)) != &free_list) {
+         struct Page *p = le2page(le, page_link);
+         count --, total -= p->property;
+     }
+         cprintf("count is %d, total is %d\n",count,total);
+     //assert(count == 0);
+     
+     cprintf("check_swap() succeeded!\n");
+}
diff --git a/code/lab8/kern/mm/swap.h b/code/lab8/kern/mm/swap.h
new file mode 100644
index 0000000..5d4aea8
--- /dev/null
+++ b/code/lab8/kern/mm/swap.h
@@ -0,0 +1,65 @@
+#ifndef __KERN_MM_SWAP_H__
+#define __KERN_MM_SWAP_H__
+
+#include <defs.h>
+#include <memlayout.h>
+#include <pmm.h>
+#include <vmm.h>
+
+/* *
+ * swap_entry_t
+ * --------------------------------------------
+ * |         offset        |   reserved   | 0 |
+ * --------------------------------------------
+ *           24 bits            7 bits    1 bit
+ * */
+
+#define MAX_SWAP_OFFSET_LIMIT                   (1 << 24)
+
+extern size_t max_swap_offset;
+
+/* *
+ * swap_offset - takes a swap_entry (saved in pte), and returns
+ * the corresponding offset in swap mem_map.
+ * */
+#define swap_offset(entry) ({                                       \
+               size_t __offset = (entry >> 8);                        \
+               if (!(__offset > 0 && __offset < max_swap_offset)) {    \
+                    panic("invalid swap_entry_t = %08x.\n", entry);    \
+               }                                                    \
+               __offset;                                            \
+          })
+
+struct swap_manager
+{
+     const char *name;
+     /* Global initialization for the swap manager */
+     int (*init)            (void);
+     /* Initialize the priv data inside mm_struct */
+     int (*init_mm)         (struct mm_struct *mm);
+     /* Called when tick interrupt occured */
+     int (*tick_event)      (struct mm_struct *mm);
+     /* Called when map a swappable page into the mm_struct */
+     int (*map_swappable)   (struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in);
+     /* When a page is marked as shared, this routine is called to
+      * delete the addr entry from the swap manager */
+     int (*set_unswappable) (struct mm_struct *mm, uintptr_t addr);
+     /* Try to swap out a page, return then victim */
+     int (*swap_out_victim) (struct mm_struct *mm, struct Page **ptr_page, int in_tick);
+     /* check the page relpacement algorithm */
+     int (*check_swap)(void);     
+};
+
+extern volatile int swap_init_ok;
+int swap_init(void);
+int swap_init_mm(struct mm_struct *mm);
+int swap_tick_event(struct mm_struct *mm);
+int swap_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in);
+int swap_set_unswappable(struct mm_struct *mm, uintptr_t addr);
+int swap_out(struct mm_struct *mm, int n, int in_tick);
+int swap_in(struct mm_struct *mm, uintptr_t addr, struct Page **ptr_result);
+
+//#define MEMBER_OFFSET(m,t) ((int)(&((t *)0)->m))
+//#define FROM_MEMBER(m,t,a) ((t *)((char *)(a) - MEMBER_OFFSET(m,t)))
+
+#endif
diff --git a/code/lab8/kern/mm/swap_fifo.c b/code/lab8/kern/mm/swap_fifo.c
new file mode 100644
index 0000000..4cb00c1
--- /dev/null
+++ b/code/lab8/kern/mm/swap_fifo.c
@@ -0,0 +1,136 @@
+#include <defs.h>
+#include <x86.h>
+#include <stdio.h>
+#include <string.h>
+#include <swap.h>
+#include <swap_fifo.h>
+#include <list.h>
+
+/* [wikipedia]The simplest Page Replacement Algorithm(PRA) is a FIFO algorithm. The first-in, first-out
+ * page replacement algorithm is a low-overhead algorithm that requires little book-keeping on
+ * the part of the operating system. The idea is obvious from the name - the operating system
+ * keeps track of all the pages in memory in a queue, with the most recent arrival at the back,
+ * and the earliest arrival in front. When a page needs to be replaced, the page at the front
+ * of the queue (the oldest page) is selected. While FIFO is cheap and intuitive, it performs
+ * poorly in practical application. Thus, it is rarely used in its unmodified form. This
+ * algorithm experiences Belady's anomaly.
+ *
+ * Details of FIFO PRA
+ * (1) Prepare: In order to implement FIFO PRA, we should manage all swappable pages, so we can
+ *              link these pages into pra_list_head according the time order. At first you should
+ *              be familiar to the struct list in list.h. struct list is a simple doubly linked list
+ *              implementation. You should know howto USE: list_init, list_add(list_add_after),
+ *              list_add_before, list_del, list_next, list_prev. Another tricky method is to transform
+ *              a general list struct to a special struct (such as struct page). You can find some MACRO:
+ *              le2page (in memlayout.h), (in future labs: le2vma (in vmm.h), le2proc (in proc.h),etc.
+ */
+
+list_entry_t pra_list_head;
+/*
+ * (2) _fifo_init_mm: init pra_list_head and let  mm->sm_priv point to the addr of pra_list_head.
+ *              Now, From the memory control struct mm_struct, we can access FIFO PRA
+ */
+static int
+_fifo_init_mm(struct mm_struct *mm)
+{     
+     list_init(&pra_list_head);
+     mm->sm_priv = &pra_list_head;
+     //cprintf(" mm->sm_priv %x in fifo_init_mm\n",mm->sm_priv);
+     return 0;
+}
+/*
+ * (3)_fifo_map_swappable: According FIFO PRA, we should link the most recent arrival page at the back of pra_list_head qeueue
+ */
+static int
+_fifo_map_swappable(struct mm_struct *mm, uintptr_t addr, struct Page *page, int swap_in)
+{
+    list_entry_t *head=(list_entry_t*) mm->sm_priv;
+    list_entry_t *entry=&(page->pra_page_link);
+ 
+    assert(entry != NULL && head != NULL);
+    //record the page access situlation
+    /*LAB3 EXERCISE 2: YOUR CODE*/ 
+    //(1)link the most recent arrival page at the back of the pra_list_head qeueue.
+    return 0;
+}
+/*
+ *  (4)_fifo_swap_out_victim: According FIFO PRA, we should unlink the  earliest arrival page in front of pra_list_head qeueue,
+ *                            then set the addr of addr of this page to ptr_page.
+ */
+static int
+_fifo_swap_out_victim(struct mm_struct *mm, struct Page ** ptr_page, int in_tick)
+{
+     list_entry_t *head=(list_entry_t*) mm->sm_priv;
+         assert(head != NULL);
+     assert(in_tick==0);
+     /* Select the victim */
+     /*LAB3 EXERCISE 2: YOUR CODE*/ 
+     //(1)  unlink the  earliest arrival page in front of pra_list_head qeueue
+     //(2)  set the addr of addr of this page to ptr_page
+     return 0;
+}
+
+static int
+_fifo_check_swap(void) {
+    cprintf("write Virt Page c in fifo_check_swap\n");
+    *(unsigned char *)0x3000 = 0x0c;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page a in fifo_check_swap\n");
+    *(unsigned char *)0x1000 = 0x0a;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page d in fifo_check_swap\n");
+    *(unsigned char *)0x4000 = 0x0d;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==4);
+    cprintf("write Virt Page e in fifo_check_swap\n");
+    *(unsigned char *)0x5000 = 0x0e;
+    assert(pgfault_num==5);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==5);
+    cprintf("write Virt Page a in fifo_check_swap\n");
+    *(unsigned char *)0x1000 = 0x0a;
+    assert(pgfault_num==6);
+    cprintf("write Virt Page b in fifo_check_swap\n");
+    *(unsigned char *)0x2000 = 0x0b;
+    assert(pgfault_num==7);
+    cprintf("write Virt Page c in fifo_check_swap\n");
+    *(unsigned char *)0x3000 = 0x0c;
+    assert(pgfault_num==8);
+    cprintf("write Virt Page d in fifo_check_swap\n");
+    *(unsigned char *)0x4000 = 0x0d;
+    assert(pgfault_num==9);
+    return 0;
+}
+
+
+static int
+_fifo_init(void)
+{
+    return 0;
+}
+
+static int
+_fifo_set_unswappable(struct mm_struct *mm, uintptr_t addr)
+{
+    return 0;
+}
+
+static int
+_fifo_tick_event(struct mm_struct *mm)
+{ return 0; }
+
+
+struct swap_manager swap_manager_fifo =
+{
+     .name            = "fifo swap manager",
+     .init            = &_fifo_init,
+     .init_mm         = &_fifo_init_mm,
+     .tick_event      = &_fifo_tick_event,
+     .map_swappable   = &_fifo_map_swappable,
+     .set_unswappable = &_fifo_set_unswappable,
+     .swap_out_victim = &_fifo_swap_out_victim,
+     .check_swap      = &_fifo_check_swap,
+};
diff --git a/code/lab8/kern/mm/swap_fifo.h b/code/lab8/kern/mm/swap_fifo.h
new file mode 100644
index 0000000..1d74269
--- /dev/null
+++ b/code/lab8/kern/mm/swap_fifo.h
@@ -0,0 +1,7 @@
+#ifndef __KERN_MM_SWAP_FIFO_H__
+#define __KERN_MM_SWAP_FIFO_H__
+
+#include <swap.h>
+extern struct swap_manager swap_manager_fifo;
+
+#endif
diff --git a/code/lab8/kern/mm/vmm.c b/code/lab8/kern/mm/vmm.c
new file mode 100644
index 0000000..26a4ab0
--- /dev/null
+++ b/code/lab8/kern/mm/vmm.c
@@ -0,0 +1,530 @@
+#include <vmm.h>
+#include <sync.h>
+#include <string.h>
+#include <assert.h>
+#include <stdio.h>
+#include <error.h>
+#include <pmm.h>
+#include <x86.h>
+#include <swap.h>
+#include <kmalloc.h>
+
+/* 
+  vmm design include two parts: mm_struct (mm) & vma_struct (vma)
+  mm is the memory manager for the set of continuous virtual memory  
+  area which have the same PDT. vma is a continuous virtual memory area.
+  There a linear link list for vma & a redblack link list for vma in mm.
+---------------
+  mm related functions:
+   golbal functions
+     struct mm_struct * mm_create(void)
+     void mm_destroy(struct mm_struct *mm)
+     int do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr)
+--------------
+  vma related functions:
+   global functions
+     struct vma_struct * vma_create (uintptr_t vm_start, uintptr_t vm_end,...)
+     void insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma)
+     struct vma_struct * find_vma(struct mm_struct *mm, uintptr_t addr)
+   local functions
+     inline void check_vma_overlap(struct vma_struct *prev, struct vma_struct *next)
+---------------
+   check correctness functions
+     void check_vmm(void);
+     void check_vma_struct(void);
+     void check_pgfault(void);
+*/
+
+static void check_vmm(void);
+static void check_vma_struct(void);
+static void check_pgfault(void);
+
+// mm_create -  alloc a mm_struct & initialize it.
+struct mm_struct *
+mm_create(void) {
+    struct mm_struct *mm = kmalloc(sizeof(struct mm_struct));
+
+    if (mm != NULL) {
+        list_init(&(mm->mmap_list));
+        mm->mmap_cache = NULL;
+        mm->pgdir = NULL;
+        mm->map_count = 0;
+
+        if (swap_init_ok) swap_init_mm(mm);
+        else mm->sm_priv = NULL;
+        
+        set_mm_count(mm, 0);
+        sem_init(&(mm->mm_sem), 1);
+    }    
+    return mm;
+}
+
+// vma_create - alloc a vma_struct & initialize it. (addr range: vm_start~vm_end)
+struct vma_struct *
+vma_create(uintptr_t vm_start, uintptr_t vm_end, uint32_t vm_flags) {
+    struct vma_struct *vma = kmalloc(sizeof(struct vma_struct));
+
+    if (vma != NULL) {
+        vma->vm_start = vm_start;
+        vma->vm_end = vm_end;
+        vma->vm_flags = vm_flags;
+    }
+    return vma;
+}
+
+
+// find_vma - find a vma  (vma->vm_start <= addr <= vma_vm_end)
+struct vma_struct *
+find_vma(struct mm_struct *mm, uintptr_t addr) {
+    struct vma_struct *vma = NULL;
+    if (mm != NULL) {
+        vma = mm->mmap_cache;
+        if (!(vma != NULL && vma->vm_start <= addr && vma->vm_end > addr)) {
+                bool found = 0;
+                list_entry_t *list = &(mm->mmap_list), *le = list;
+                while ((le = list_next(le)) != list) {
+                    vma = le2vma(le, list_link);
+                    if (addr < vma->vm_end) {
+                        found = 1;
+                        break;
+                    }
+                }
+                if (!found) {
+                    vma = NULL;
+                }
+        }
+        if (vma != NULL) {
+            mm->mmap_cache = vma;
+        }
+    }
+    return vma;
+}
+
+
+// check_vma_overlap - check if vma1 overlaps vma2 ?
+static inline void
+check_vma_overlap(struct vma_struct *prev, struct vma_struct *next) {
+    assert(prev->vm_start < prev->vm_end);
+    assert(prev->vm_end <= next->vm_start);
+    assert(next->vm_start < next->vm_end);
+}
+
+
+// insert_vma_struct -insert vma in mm's list link
+void
+insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma) {
+    assert(vma->vm_start < vma->vm_end);
+    list_entry_t *list = &(mm->mmap_list);
+    list_entry_t *le_prev = list, *le_next;
+
+        list_entry_t *le = list;
+        while ((le = list_next(le)) != list) {
+            struct vma_struct *mmap_prev = le2vma(le, list_link);
+            if (mmap_prev->vm_start > vma->vm_start) {
+                break;
+            }
+            le_prev = le;
+        }
+
+    le_next = list_next(le_prev);
+
+    /* check overlap */
+    if (le_prev != list) {
+        check_vma_overlap(le2vma(le_prev, list_link), vma);
+    }
+    if (le_next != list) {
+        check_vma_overlap(vma, le2vma(le_next, list_link));
+    }
+
+    vma->vm_mm = mm;
+    list_add_after(le_prev, &(vma->list_link));
+
+    mm->map_count ++;
+}
+
+// mm_destroy - free mm and mm internal fields
+void
+mm_destroy(struct mm_struct *mm) {
+    assert(mm_count(mm) == 0);
+
+    list_entry_t *list = &(mm->mmap_list), *le;
+    while ((le = list_next(list)) != list) {
+        list_del(le);
+        kfree(le2vma(le, list_link));  //kfree vma        
+    }
+    kfree(mm); //kfree mm
+    mm=NULL;
+}
+
+int
+mm_map(struct mm_struct *mm, uintptr_t addr, size_t len, uint32_t vm_flags,
+       struct vma_struct **vma_store) {
+    uintptr_t start = ROUNDDOWN(addr, PGSIZE), end = ROUNDUP(addr + len, PGSIZE);
+    if (!USER_ACCESS(start, end)) {
+        return -E_INVAL;
+    }
+
+    assert(mm != NULL);
+
+    int ret = -E_INVAL;
+
+    struct vma_struct *vma;
+    if ((vma = find_vma(mm, start)) != NULL && end > vma->vm_start) {
+        goto out;
+    }
+    ret = -E_NO_MEM;
+
+    if ((vma = vma_create(start, end, vm_flags)) == NULL) {
+        goto out;
+    }
+    insert_vma_struct(mm, vma);
+    if (vma_store != NULL) {
+        *vma_store = vma;
+    }
+    ret = 0;
+
+out:
+    return ret;
+}
+
+int
+dup_mmap(struct mm_struct *to, struct mm_struct *from) {
+    assert(to != NULL && from != NULL);
+    list_entry_t *list = &(from->mmap_list), *le = list;
+    while ((le = list_prev(le)) != list) {
+        struct vma_struct *vma, *nvma;
+        vma = le2vma(le, list_link);
+        nvma = vma_create(vma->vm_start, vma->vm_end, vma->vm_flags);
+        if (nvma == NULL) {
+            return -E_NO_MEM;
+        }
+
+        insert_vma_struct(to, nvma);
+
+        bool share = 0;
+        if (copy_range(to->pgdir, from->pgdir, vma->vm_start, vma->vm_end, share) != 0) {
+            return -E_NO_MEM;
+        }
+    }
+    return 0;
+}
+
+void
+exit_mmap(struct mm_struct *mm) {
+    assert(mm != NULL && mm_count(mm) == 0);
+    pde_t *pgdir = mm->pgdir;
+    list_entry_t *list = &(mm->mmap_list), *le = list;
+    while ((le = list_next(le)) != list) {
+        struct vma_struct *vma = le2vma(le, list_link);
+        unmap_range(pgdir, vma->vm_start, vma->vm_end);
+    }
+    while ((le = list_next(le)) != list) {
+        struct vma_struct *vma = le2vma(le, list_link);
+        exit_range(pgdir, vma->vm_start, vma->vm_end);
+    }
+}
+
+bool
+copy_from_user(struct mm_struct *mm, void *dst, const void *src, size_t len, bool writable) {
+    if (!user_mem_check(mm, (uintptr_t)src, len, writable)) {
+        return 0;
+    }
+    memcpy(dst, src, len);
+    return 1;
+}
+
+bool
+copy_to_user(struct mm_struct *mm, void *dst, const void *src, size_t len) {
+    if (!user_mem_check(mm, (uintptr_t)dst, len, 1)) {
+        return 0;
+    }
+    memcpy(dst, src, len);
+    return 1;
+}
+
+// vmm_init - initialize virtual memory management
+//          - now just call check_vmm to check correctness of vmm
+void
+vmm_init(void) {
+    check_vmm();
+}
+
+// check_vmm - check correctness of vmm
+static void
+check_vmm(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+    
+    check_vma_struct();
+    check_pgfault();
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_vmm() succeeded.\n");
+}
+
+static void
+check_vma_struct(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+
+    struct mm_struct *mm = mm_create();
+    assert(mm != NULL);
+
+    int step1 = 10, step2 = step1 * 10;
+
+    int i;
+    for (i = step1; i >= 0; i --) {
+        struct vma_struct *vma = vma_create(i * 5, i * 5 + 2, 0);
+        assert(vma != NULL);
+        insert_vma_struct(mm, vma);
+    }
+
+    for (i = step1 + 1; i <= step2; i ++) {
+        struct vma_struct *vma = vma_create(i * 5, i * 5 + 2, 0);
+        assert(vma != NULL);
+        insert_vma_struct(mm, vma);
+    }
+
+    list_entry_t *le = list_next(&(mm->mmap_list));
+
+    for (i = 0; i <= step2; i ++) {
+        assert(le != &(mm->mmap_list));
+        struct vma_struct *mmap = le2vma(le, list_link);
+        assert(mmap->vm_start == i * 5 && mmap->vm_end == i * 5 + 2);
+        le = list_next(le);
+    }
+
+    for (i = 0; i < 5 * step2 + 2; i ++) {
+        struct vma_struct *vma = find_vma(mm, i);
+        assert(vma != NULL);
+        int j = i / 5;
+        if (i >= 5 * j + 2) {
+            j ++;
+        }
+        assert(vma->vm_start == j * 5 && vma->vm_end == j * 5 + 2);
+    }
+
+    mm_destroy(mm);
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_vma_struct() succeeded!\n");
+}
+
+struct mm_struct *check_mm_struct;
+
+// check_pgfault - check correctness of pgfault handler
+static void
+check_pgfault(void) {
+    size_t nr_free_pages_store = nr_free_pages();
+
+    check_mm_struct = mm_create();
+    assert(check_mm_struct != NULL);
+
+    struct mm_struct *mm = check_mm_struct;
+    pde_t *pgdir = mm->pgdir = boot_pgdir;
+    assert(pgdir[0] == 0);
+
+    struct vma_struct *vma = vma_create(0, PTSIZE, VM_WRITE);
+    assert(vma != NULL);
+
+    insert_vma_struct(mm, vma);
+
+    uintptr_t addr = 0x100;
+    assert(find_vma(mm, addr) == vma);
+
+    int i, sum = 0;
+    for (i = 0; i < 100; i ++) {
+        *(char *)(addr + i) = i;
+        sum += i;
+    }
+    for (i = 0; i < 100; i ++) {
+        sum -= *(char *)(addr + i);
+    }
+    assert(sum == 0);
+
+    page_remove(pgdir, ROUNDDOWN(addr, PGSIZE));
+    free_page(pa2page(pgdir[0]));
+    pgdir[0] = 0;
+
+    mm->pgdir = NULL;
+    mm_destroy(mm);
+    check_mm_struct = NULL;
+
+    assert(nr_free_pages_store == nr_free_pages());
+
+    cprintf("check_pgfault() succeeded!\n");
+}
+//page fault number
+volatile unsigned int pgfault_num=0;
+
+/* do_pgfault - interrupt handler to process the page fault execption
+ * @mm         : the control struct for a set of vma using the same PDT
+ * @error_code : the error code recorded in trapframe->tf_err which is setted by x86 hardware
+ * @addr       : the addr which causes a memory access exception, (the contents of the CR2 register)
+ *
+ * CALL GRAPH: trap--> trap_dispatch-->pgfault_handler-->do_pgfault
+ * The processor provides ucore's do_pgfault function with two items of information to aid in diagnosing
+ * the exception and recovering from it.
+ *   (1) The contents of the CR2 register. The processor loads the CR2 register with the
+ *       32-bit linear address that generated the exception. The do_pgfault fun can
+ *       use this address to locate the corresponding page directory and page-table
+ *       entries.
+ *   (2) An error code on the kernel stack. The error code for a page fault has a format different from
+ *       that for other exceptions. The error code tells the exception handler three things:
+ *         -- The P flag   (bit 0) indicates whether the exception was due to a not-present page (0)
+ *            or to either an access rights violation or the use of a reserved bit (1).
+ *         -- The W/R flag (bit 1) indicates whether the memory access that caused the exception
+ *            was a read (0) or write (1).
+ *         -- The U/S flag (bit 2) indicates whether the processor was executing at user mode (1)
+ *            or supervisor mode (0) at the time of the exception.
+ */
+int
+do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr) {
+    int ret = -E_INVAL;
+    //try to find a vma which include addr
+    struct vma_struct *vma = find_vma(mm, addr);
+
+    pgfault_num++;
+    //If the addr is in the range of a mm's vma?
+    if (vma == NULL || vma->vm_start > addr) {
+        cprintf("not valid addr %x, and  can not find it in vma\n", addr);
+        goto failed;
+    }
+    //check the error_code
+    switch (error_code & 3) {
+    default:
+            /* error code flag : default is 3 ( W/R=1, P=1): write, present */
+    case 2: /* error code flag : (W/R=1, P=0): write, not present */
+        if (!(vma->vm_flags & VM_WRITE)) {
+            cprintf("do_pgfault failed: error code flag = write AND not present, but the addr's vma cannot write\n");
+            goto failed;
+        }
+        break;
+    case 1: /* error code flag : (W/R=0, P=1): read, present */
+        cprintf("do_pgfault failed: error code flag = read AND present\n");
+        goto failed;
+    case 0: /* error code flag : (W/R=0, P=0): read, not present */
+        if (!(vma->vm_flags & (VM_READ | VM_EXEC))) {
+            cprintf("do_pgfault failed: error code flag = read AND not present, but the addr's vma cannot read or exec\n");
+            goto failed;
+        }
+    }
+    /* IF (write an existed addr ) OR
+     *    (write an non_existed addr && addr is writable) OR
+     *    (read  an non_existed addr && addr is readable)
+     * THEN
+     *    continue process
+     */
+    uint32_t perm = PTE_U;
+    if (vma->vm_flags & VM_WRITE) {
+        perm |= PTE_W;
+    }
+    addr = ROUNDDOWN(addr, PGSIZE);
+
+    ret = -E_NO_MEM;
+
+    pte_t *ptep=NULL;
+    /*LAB3 EXERCISE 1: YOUR CODE
+    * Maybe you want help comment, BELOW comments can help you finish the code
+    *
+    * Some Useful MACROs and DEFINEs, you can use them in below implementation.
+    * MACROs or Functions:
+    *   get_pte : get an pte and return the kernel virtual address of this pte for la
+    *             if the PT contians this pte didn't exist, alloc a page for PT (notice the 3th parameter '1')
+    *   pgdir_alloc_page : call alloc_page & page_insert functions to allocate a page size memory & setup
+    *             an addr map pa<--->la with linear address la and the PDT pgdir
+    * DEFINES:
+    *   VM_WRITE  : If vma->vm_flags & VM_WRITE == 1/0, then the vma is writable/non writable
+    *   PTE_W           0x002                   // page table/directory entry flags bit : Writeable
+    *   PTE_U           0x004                   // page table/directory entry flags bit : User can access
+    * VARIABLES:
+    *   mm->pgdir : the PDT of these vma
+    *
+    */
+#if 0
+    /*LAB3 EXERCISE 1: YOUR CODE*/
+    ptep = ???              //(1) try to find a pte, if pte's PT(Page Table) isn't existed, then create a PT.
+    if (*ptep == 0) {
+                            //(2) if the phy addr isn't exist, then alloc a page & map the phy addr with logical addr
+
+    }
+    else {
+    /*LAB3 EXERCISE 2: YOUR CODE
+    * Now we think this pte is a  swap entry, we should load data from disk to a page with phy addr,
+    * and map the phy addr with logical addr, trigger swap manager to record the access situation of this page.
+    *
+    *  Some Useful MACROs and DEFINEs, you can use them in below implementation.
+    *  MACROs or Functions:
+    *    swap_in(mm, addr, &page) : alloc a memory page, then according to the swap entry in PTE for addr,
+    *                               find the addr of disk page, read the content of disk page into this memroy page
+    *    page_insert : build the map of phy addr of an Page with the linear addr la
+    *    swap_map_swappable : set the page swappable
+    */
+        if(swap_init_ok) {
+            struct Page *page=NULL;
+                                    //(1)According to the mm AND addr, try to load the content of right disk page
+                                    //    into the memory which page managed.
+                                    //(2) According to the mm, addr AND page, setup the map of phy addr <---> logical addr
+                                    //(3) make the page swappable.
+                                    //(4) [NOTICE]: you myabe need to update your lab3's implementation for LAB5's normal execution.
+        }
+        else {
+            cprintf("no swap_init_ok but ptep is %x, failed\n",*ptep);
+            goto failed;
+        }
+   }
+#endif
+   ret = 0;
+failed:
+    return ret;
+}
+
+bool
+user_mem_check(struct mm_struct *mm, uintptr_t addr, size_t len, bool write) {
+    if (mm != NULL) {
+        if (!USER_ACCESS(addr, addr + len)) {
+            return 0;
+        }
+        struct vma_struct *vma;
+        uintptr_t start = addr, end = addr + len;
+        while (start < end) {
+            if ((vma = find_vma(mm, start)) == NULL || start < vma->vm_start) {
+                return 0;
+            }
+            if (!(vma->vm_flags & ((write) ? VM_WRITE : VM_READ))) {
+                return 0;
+            }
+            if (write && (vma->vm_flags & VM_STACK)) {
+                if (start < vma->vm_start + PGSIZE) { //check stack start & size
+                    return 0;
+                }
+            }
+            start = vma->vm_end;
+        }
+        return 1;
+    }
+    return KERN_ACCESS(addr, addr + len);
+}
+
+bool
+copy_string(struct mm_struct *mm, char *dst, const char *src, size_t maxn) {
+    size_t alen, part = ROUNDDOWN((uintptr_t)src + PGSIZE, PGSIZE) - (uintptr_t)src;
+    while (1) {
+        if (part > maxn) {
+            part = maxn;
+        }
+        if (!user_mem_check(mm, (uintptr_t)src, part, 0)) {
+            return 0;
+        }
+        if ((alen = strnlen(src, part)) < part) {
+            memcpy(dst, src, alen + 1);
+            return 1;
+        }
+        if (part == maxn) {
+            return 0;
+        }
+        memcpy(dst, src, part);
+        dst += part, src += part, maxn -= part;
+        part = PGSIZE;
+    }
+}
diff --git a/code/lab8/kern/mm/vmm.h b/code/lab8/kern/mm/vmm.h
new file mode 100644
index 0000000..3296df6
--- /dev/null
+++ b/code/lab8/kern/mm/vmm.h
@@ -0,0 +1,109 @@
+#ifndef __KERN_MM_VMM_H__
+#define __KERN_MM_VMM_H__
+
+#include <defs.h>
+#include <list.h>
+#include <memlayout.h>
+#include <sync.h>
+#include <proc.h>
+#include <sem.h>
+
+//pre define
+struct mm_struct;
+
+// the virtual continuous memory area(vma)
+struct vma_struct {
+    struct mm_struct *vm_mm; // the set of vma using the same PDT 
+    uintptr_t vm_start;      //    start addr of vma    
+    uintptr_t vm_end;        // end addr of vma
+    uint32_t vm_flags;       // flags of vma
+    list_entry_t list_link;  // linear list link which sorted by start addr of vma
+};
+
+#define le2vma(le, member)                  \
+    to_struct((le), struct vma_struct, member)
+
+#define VM_READ                 0x00000001
+#define VM_WRITE                0x00000002
+#define VM_EXEC                 0x00000004
+#define VM_STACK                0x00000008
+
+// the control struct for a set of vma using the same PDT
+struct mm_struct {
+    list_entry_t mmap_list;        // linear list link which sorted by start addr of vma
+    struct vma_struct *mmap_cache; // current accessed vma, used for speed purpose
+    pde_t *pgdir;                  // the PDT of these vma
+    int map_count;                 // the count of these vma
+    void *sm_priv;                 // the private data for swap manager
+    atomic_t mm_count;             // the number ofprocess which shared the mm
+    semaphore_t mm_sem;            // mutex for using dup_mmap fun to duplicat the mm 
+    int locked_by;                 // the lock owner process's pid
+
+};
+
+struct vma_struct *find_vma(struct mm_struct *mm, uintptr_t addr);
+struct vma_struct *vma_create(uintptr_t vm_start, uintptr_t vm_end, uint32_t vm_flags);
+void insert_vma_struct(struct mm_struct *mm, struct vma_struct *vma);
+
+struct mm_struct *mm_create(void);
+void mm_destroy(struct mm_struct *mm);
+
+void vmm_init(void);
+int mm_map(struct mm_struct *mm, uintptr_t addr, size_t len, uint32_t vm_flags,
+           struct vma_struct **vma_store);
+int do_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr);
+
+int mm_unmap(struct mm_struct *mm, uintptr_t addr, size_t len);
+int dup_mmap(struct mm_struct *to, struct mm_struct *from);
+void exit_mmap(struct mm_struct *mm);
+uintptr_t get_unmapped_area(struct mm_struct *mm, size_t len);
+int mm_brk(struct mm_struct *mm, uintptr_t addr, size_t len);
+
+extern volatile unsigned int pgfault_num;
+extern struct mm_struct *check_mm_struct;
+
+bool user_mem_check(struct mm_struct *mm, uintptr_t start, size_t len, bool write);
+bool copy_from_user(struct mm_struct *mm, void *dst, const void *src, size_t len, bool writable);
+bool copy_to_user(struct mm_struct *mm, void *dst, const void *src, size_t len);
+bool copy_string(struct mm_struct *mm, char *dst, const char *src, size_t maxn);
+
+static inline int
+mm_count(struct mm_struct *mm) {
+    return atomic_read(&(mm->mm_count));
+}
+
+static inline void
+set_mm_count(struct mm_struct *mm, int val) {
+    atomic_set(&(mm->mm_count), val);
+}
+
+static inline int
+mm_count_inc(struct mm_struct *mm) {
+    return atomic_add_return(&(mm->mm_count), 1);
+}
+
+static inline int
+mm_count_dec(struct mm_struct *mm) {
+    return atomic_sub_return(&(mm->mm_count), 1);
+}
+
+static inline void
+lock_mm(struct mm_struct *mm) {
+    if (mm != NULL) {
+        down(&(mm->mm_sem));
+        if (current != NULL) {
+            mm->locked_by = current->pid;
+        }
+    }
+}
+
+static inline void
+unlock_mm(struct mm_struct *mm) {
+    if (mm != NULL) {
+        up(&(mm->mm_sem));
+        mm->locked_by = 0;
+    }
+}
+
+#endif /* !__KERN_MM_VMM_H__ */
+
diff --git a/code/lab8/kern/process/entry.S b/code/lab8/kern/process/entry.S
new file mode 100644
index 0000000..7482e23
--- /dev/null
+++ b/code/lab8/kern/process/entry.S
@@ -0,0 +1,10 @@
+.text
+.globl kernel_thread_entry
+kernel_thread_entry:        # void kernel_thread(void)
+
+    pushl %edx              # push arg
+    call *%ebx              # call fn
+
+    pushl %eax              # save the return value of fn(arg)
+    call do_exit            # call do_exit to terminate current thread
+
diff --git a/code/lab8/kern/process/proc.c b/code/lab8/kern/process/proc.c
new file mode 100644
index 0000000..a4c095e
--- /dev/null
+++ b/code/lab8/kern/process/proc.c
@@ -0,0 +1,896 @@
+#include <proc.h>
+#include <kmalloc.h>
+#include <string.h>
+#include <sync.h>
+#include <pmm.h>
+#include <error.h>
+#include <sched.h>
+#include <elf.h>
+#include <vmm.h>
+#include <trap.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <unistd.h>
+#include <fs.h>
+#include <vfs.h>
+#include <sysfile.h>
+
+/* ------------- process/thread mechanism design&implementation -------------
+(an simplified Linux process/thread mechanism )
+introduction:
+  ucore implements a simple process/thread mechanism. process contains the independent memory sapce, at least one threads
+for execution, the kernel data(for management), processor state (for context switch), files(in lab6), etc. ucore needs to
+manage all these details efficiently. In ucore, a thread is just a special kind of process(share process's memory).
+------------------------------
+process state       :     meaning               -- reason
+    PROC_UNINIT     :   uninitialized           -- alloc_proc
+    PROC_SLEEPING   :   sleeping                -- try_free_pages, do_wait, do_sleep
+    PROC_RUNNABLE   :   runnable(maybe running) -- proc_init, wakeup_proc, 
+    PROC_ZOMBIE     :   almost dead             -- do_exit
+
+-----------------------------
+process state changing:
+                                            
+  alloc_proc                                 RUNNING
+      +                                   +--<----<--+
+      +                                   + proc_run +
+      V                                   +-->---->--+ 
+PROC_UNINIT -- proc_init/wakeup_proc --> PROC_RUNNABLE -- try_free_pages/do_wait/do_sleep --> PROC_SLEEPING --
+                                           A      +                                                           +
+                                           |      +--- do_exit --> PROC_ZOMBIE                                +
+                                           +                                                                  + 
+                                           -----------------------wakeup_proc----------------------------------
+-----------------------------
+process relations
+parent:           proc->parent  (proc is children)
+children:         proc->cptr    (proc is parent)
+older sibling:    proc->optr    (proc is younger sibling)
+younger sibling:  proc->yptr    (proc is older sibling)
+-----------------------------
+related syscall for process:
+SYS_exit        : process exit,                           -->do_exit
+SYS_fork        : create child process, dup mm            -->do_fork-->wakeup_proc
+SYS_wait        : wait process                            -->do_wait
+SYS_exec        : after fork, process execute a program   -->load a program and refresh the mm
+SYS_clone       : create child thread                     -->do_fork-->wakeup_proc
+SYS_yield       : process flag itself need resecheduling, -- proc->need_sched=1, then scheduler will rescheule this process
+SYS_sleep       : process sleep                           -->do_sleep 
+SYS_kill        : kill process                            -->do_kill-->proc->flags |= PF_EXITING
+                                                                 -->wakeup_proc-->do_wait-->do_exit   
+SYS_getpid      : get the process's pid
+
+*/
+
+// the process set's list
+list_entry_t proc_list;
+
+#define HASH_SHIFT          10
+#define HASH_LIST_SIZE      (1 << HASH_SHIFT)
+#define pid_hashfn(x)       (hash32(x, HASH_SHIFT))
+
+// has list for process set based on pid
+static list_entry_t hash_list[HASH_LIST_SIZE];
+
+// idle proc
+struct proc_struct *idleproc = NULL;
+// init proc
+struct proc_struct *initproc = NULL;
+// current proc
+struct proc_struct *current = NULL;
+
+static int nr_process = 0;
+
+void kernel_thread_entry(void);
+void forkrets(struct trapframe *tf);
+void switch_to(struct context *from, struct context *to);
+
+// alloc_proc - alloc a proc_struct and init all fields of proc_struct
+static struct proc_struct *
+alloc_proc(void) {
+    struct proc_struct *proc = kmalloc(sizeof(struct proc_struct));
+    if (proc != NULL) {
+    //LAB4:EXERCISE1 YOUR CODE
+    /*
+     * below fields in proc_struct need to be initialized
+     *       enum proc_state state;                      // Process state
+     *       int pid;                                    // Process ID
+     *       int runs;                                   // the running times of Proces
+     *       uintptr_t kstack;                           // Process kernel stack
+     *       volatile bool need_resched;                 // bool value: need to be rescheduled to release CPU?
+     *       struct proc_struct *parent;                 // the parent process
+     *       struct mm_struct *mm;                       // Process's memory management field
+     *       struct context context;                     // Switch here to run process
+     *       struct trapframe *tf;                       // Trap frame for current interrupt
+     *       uintptr_t cr3;                              // CR3 register: the base addr of Page Directroy Table(PDT)
+     *       uint32_t flags;                             // Process flag
+     *       char name[PROC_NAME_LEN + 1];               // Process name
+     */
+    //LAB8:EXERCISE2 YOUR CODE HINT:need add some code to init fs in proc_struct, ...
+    }
+    return proc;
+}
+
+// set_proc_name - set the name of proc
+char *
+set_proc_name(struct proc_struct *proc, const char *name) {
+    memset(proc->name, 0, sizeof(proc->name));
+    return memcpy(proc->name, name, PROC_NAME_LEN);
+}
+
+// get_proc_name - get the name of proc
+char *
+get_proc_name(struct proc_struct *proc) {
+    static char name[PROC_NAME_LEN + 1];
+    memset(name, 0, sizeof(name));
+    return memcpy(name, proc->name, PROC_NAME_LEN);
+}
+
+// set_links - set the relation links of process
+static void
+set_links(struct proc_struct *proc) {
+    list_add(&proc_list, &(proc->list_link));
+    proc->yptr = NULL;
+    if ((proc->optr = proc->parent->cptr) != NULL) {
+        proc->optr->yptr = proc;
+    }
+    proc->parent->cptr = proc;
+    nr_process ++;
+}
+
+// remove_links - clean the relation links of process
+static void
+remove_links(struct proc_struct *proc) {
+    list_del(&(proc->list_link));
+    if (proc->optr != NULL) {
+        proc->optr->yptr = proc->yptr;
+    }
+    if (proc->yptr != NULL) {
+        proc->yptr->optr = proc->optr;
+    }
+    else {
+       proc->parent->cptr = proc->optr;
+    }
+    nr_process --;
+}
+
+// get_pid - alloc a unique pid for process
+static int
+get_pid(void) {
+    static_assert(MAX_PID > MAX_PROCESS);
+    struct proc_struct *proc;
+    list_entry_t *list = &proc_list, *le;
+    static int next_safe = MAX_PID, last_pid = MAX_PID;
+    if (++ last_pid >= MAX_PID) {
+        last_pid = 1;
+        goto inside;
+    }
+    if (last_pid >= next_safe) {
+    inside:
+        next_safe = MAX_PID;
+    repeat:
+        le = list;
+        while ((le = list_next(le)) != list) {
+            proc = le2proc(le, list_link);
+            if (proc->pid == last_pid) {
+                if (++ last_pid >= next_safe) {
+                    if (last_pid >= MAX_PID) {
+                        last_pid = 1;
+                    }
+                    next_safe = MAX_PID;
+                    goto repeat;
+                }
+            }
+            else if (proc->pid > last_pid && next_safe > proc->pid) {
+                next_safe = proc->pid;
+            }
+        }
+    }
+    return last_pid;
+}
+
+// proc_run - make process "proc" running on cpu
+// NOTE: before call switch_to, should load  base addr of "proc"'s new PDT
+void
+proc_run(struct proc_struct *proc) {
+    if (proc != current) {
+        bool intr_flag;
+        struct proc_struct *prev = current, *next = proc;
+        local_intr_save(intr_flag);
+        {
+            current = proc;
+            load_esp0(next->kstack + KSTACKSIZE);
+            lcr3(next->cr3);
+            switch_to(&(prev->context), &(next->context));
+        }
+        local_intr_restore(intr_flag);
+    }
+}
+
+// forkret -- the first kernel entry point of a new thread/process
+// NOTE: the addr of forkret is setted in copy_thread function
+//       after switch_to, the current proc will execute here.
+static void
+forkret(void) {
+    forkrets(current->tf);
+}
+
+// hash_proc - add proc into proc hash_list
+static void
+hash_proc(struct proc_struct *proc) {
+    list_add(hash_list + pid_hashfn(proc->pid), &(proc->hash_link));
+}
+
+// unhash_proc - delete proc from proc hash_list
+static void
+unhash_proc(struct proc_struct *proc) {
+    list_del(&(proc->hash_link));
+}
+
+// find_proc - find proc frome proc hash_list according to pid
+struct proc_struct *
+find_proc(int pid) {
+    if (0 < pid && pid < MAX_PID) {
+        list_entry_t *list = hash_list + pid_hashfn(pid), *le = list;
+        while ((le = list_next(le)) != list) {
+            struct proc_struct *proc = le2proc(le, hash_link);
+            if (proc->pid == pid) {
+                return proc;
+            }
+        }
+    }
+    return NULL;
+}
+
+// kernel_thread - create a kernel thread using "fn" function
+// NOTE: the contents of temp trapframe tf will be copied to 
+//       proc->tf in do_fork-->copy_thread function
+int
+kernel_thread(int (*fn)(void *), void *arg, uint32_t clone_flags) {
+    struct trapframe tf;
+    memset(&tf, 0, sizeof(struct trapframe));
+    tf.tf_cs = KERNEL_CS;
+    tf.tf_ds = tf.tf_es = tf.tf_ss = KERNEL_DS;
+    tf.tf_regs.reg_ebx = (uint32_t)fn;
+    tf.tf_regs.reg_edx = (uint32_t)arg;
+    tf.tf_eip = (uint32_t)kernel_thread_entry;
+    return do_fork(clone_flags | CLONE_VM, 0, &tf);
+}
+
+// setup_kstack - alloc pages with size KSTACKPAGE as process kernel stack
+static int
+setup_kstack(struct proc_struct *proc) {
+    struct Page *page = alloc_pages(KSTACKPAGE);
+    if (page != NULL) {
+        proc->kstack = (uintptr_t)page2kva(page);
+        return 0;
+    }
+    return -E_NO_MEM;
+}
+
+// put_kstack - free the memory space of process kernel stack
+static void
+put_kstack(struct proc_struct *proc) {
+    free_pages(kva2page((void *)(proc->kstack)), KSTACKPAGE);
+}
+
+// setup_pgdir - alloc one page as PDT
+static int
+setup_pgdir(struct mm_struct *mm) {
+    struct Page *page;
+    if ((page = alloc_page()) == NULL) {
+        return -E_NO_MEM;
+    }
+    pde_t *pgdir = page2kva(page);
+    memcpy(pgdir, boot_pgdir, PGSIZE);
+    pgdir[PDX(VPT)] = PADDR(pgdir) | PTE_P | PTE_W;
+    mm->pgdir = pgdir;
+    return 0;
+}
+
+// put_pgdir - free the memory space of PDT
+static void
+put_pgdir(struct mm_struct *mm) {
+    free_page(kva2page(mm->pgdir));
+}
+
+// copy_mm - process "proc" duplicate OR share process "current"'s mm according clone_flags
+//         - if clone_flags & CLONE_VM, then "share" ; else "duplicate"
+static int
+copy_mm(uint32_t clone_flags, struct proc_struct *proc) {
+    struct mm_struct *mm, *oldmm = current->mm;
+
+    /* current is a kernel thread */
+    if (oldmm == NULL) {
+        return 0;
+    }
+    if (clone_flags & CLONE_VM) {
+        mm = oldmm;
+        goto good_mm;
+    }
+
+    int ret = -E_NO_MEM;
+    if ((mm = mm_create()) == NULL) {
+        goto bad_mm;
+    }
+    if (setup_pgdir(mm) != 0) {
+        goto bad_pgdir_cleanup_mm;
+    }
+
+    lock_mm(oldmm);
+    {
+        ret = dup_mmap(mm, oldmm);
+    }
+    unlock_mm(oldmm);
+
+    if (ret != 0) {
+        goto bad_dup_cleanup_mmap;
+    }
+
+good_mm:
+    mm_count_inc(mm);
+    proc->mm = mm;
+    proc->cr3 = PADDR(mm->pgdir);
+    return 0;
+bad_dup_cleanup_mmap:
+    exit_mmap(mm);
+    put_pgdir(mm);
+bad_pgdir_cleanup_mm:
+    mm_destroy(mm);
+bad_mm:
+    return ret;
+}
+
+// copy_thread - setup the trapframe on the  process's kernel stack top and
+//             - setup the kernel entry point and stack of process
+static void
+copy_thread(struct proc_struct *proc, uintptr_t esp, struct trapframe *tf) {
+    proc->tf = (struct trapframe *)(proc->kstack + KSTACKSIZE) - 1;
+    *(proc->tf) = *tf;
+    proc->tf->tf_regs.reg_eax = 0;
+    proc->tf->tf_esp = esp;
+    proc->tf->tf_eflags |= FL_IF;
+
+    proc->context.eip = (uintptr_t)forkret;
+    proc->context.esp = (uintptr_t)(proc->tf);
+}
+
+//copy_fs&put_fs function used by do_fork in LAB8
+static int
+copy_fs(uint32_t clone_flags, struct proc_struct *proc) {
+    struct files_struct *filesp, *old_filesp = current->filesp;
+    assert(old_filesp != NULL);
+
+    if (clone_flags & CLONE_FS) {
+        filesp = old_filesp;
+        goto good_files_struct;
+    }
+
+    int ret = -E_NO_MEM;
+    if ((filesp = files_create()) == NULL) {
+        goto bad_files_struct;
+    }
+
+    if ((ret = dup_fs(filesp, old_filesp)) != 0) {
+        goto bad_dup_cleanup_fs;
+    }
+
+good_files_struct:
+    files_count_inc(filesp);
+    proc->filesp = filesp;
+    return 0;
+
+bad_dup_cleanup_fs:
+    files_destroy(filesp);
+bad_files_struct:
+    return ret;
+}
+
+static void
+put_fs(struct proc_struct *proc) {
+    struct files_struct *filesp = proc->filesp;
+    if (filesp != NULL) {
+        if (files_count_dec(filesp) == 0) {
+            files_destroy(filesp);
+        }
+    }
+}
+
+/* do_fork -     parent process for a new child process
+ * @clone_flags: used to guide how to clone the child process
+ * @stack:       the parent's user stack pointer. if stack==0, It means to fork a kernel thread.
+ * @tf:          the trapframe info, which will be copied to child process's proc->tf
+ */
+int
+do_fork(uint32_t clone_flags, uintptr_t stack, struct trapframe *tf) {
+    int ret = -E_NO_FREE_PROC;
+    struct proc_struct *proc;
+    if (nr_process >= MAX_PROCESS) {
+        goto fork_out;
+    }
+    ret = -E_NO_MEM;
+    //LAB4:EXERCISE2 YOUR CODE
+    //LAB8:EXERCISE2 YOUR CODE  HINT:how to copy the fs in parent's proc_struct?
+    /*
+     * Some Useful MACROs, Functions and DEFINEs, you can use them in below implementation.
+     * MACROs or Functions:
+     *   alloc_proc:   create a proc struct and init fields (lab4:exercise1)
+     *   setup_kstack: alloc pages with size KSTACKPAGE as process kernel stack
+     *   copy_mm:      process "proc" duplicate OR share process "current"'s mm according clone_flags
+     *                 if clone_flags & CLONE_VM, then "share" ; else "duplicate"
+     *   copy_thread:  setup the trapframe on the  process's kernel stack top and
+     *                 setup the kernel entry point and stack of process
+     *   hash_proc:    add proc into proc hash_list
+     *   get_pid:      alloc a unique pid for process
+     *   wakup_proc:   set proc->state = PROC_RUNNABLE
+     * VARIABLES:
+     *   proc_list:    the process set's list
+     *   nr_process:   the number of process set
+     */
+
+    //    1. call alloc_proc to allocate a proc_struct
+    //    2. call setup_kstack to allocate a kernel stack for child process
+    //    3. call copy_mm to dup OR share mm according clone_flag
+    //    4. call copy_thread to setup tf & context in proc_struct
+    //    5. insert proc_struct into hash_list && proc_list
+    //    6. call wakup_proc to make the new child process RUNNABLE
+    //    7. set ret vaule using child proc's pid
+fork_out:
+    return ret;
+
+bad_fork_cleanup_fs:  //for LAB8
+    put_fs(proc);
+bad_fork_cleanup_kstack:
+    put_kstack(proc);
+bad_fork_cleanup_proc:
+    kfree(proc);
+    goto fork_out;
+}
+
+// do_exit - called by sys_exit
+//   1. call exit_mmap & put_pgdir & mm_destroy to free the almost all memory space of process
+//   2. set process' state as PROC_ZOMBIE, then call wakeup_proc(parent) to ask parent reclaim itself.
+//   3. call scheduler to switch to other process
+int
+do_exit(int error_code) {
+    if (current == idleproc) {
+        panic("idleproc exit.\n");
+    }
+    if (current == initproc) {
+        panic("initproc exit.\n");
+    }
+    
+    struct mm_struct *mm = current->mm;
+    if (mm != NULL) {
+        lcr3(boot_cr3);
+        if (mm_count_dec(mm) == 0) {
+            exit_mmap(mm);
+            put_pgdir(mm);
+            mm_destroy(mm);
+        }
+        current->mm = NULL;
+    }
+    put_fs(current); //for LAB8
+    current->state = PROC_ZOMBIE;
+    current->exit_code = error_code;
+    
+    bool intr_flag;
+    struct proc_struct *proc;
+    local_intr_save(intr_flag);
+    {
+        proc = current->parent;
+        if (proc->wait_state == WT_CHILD) {
+            wakeup_proc(proc);
+        }
+        while (current->cptr != NULL) {
+            proc = current->cptr;
+            current->cptr = proc->optr;
+    
+            proc->yptr = NULL;
+            if ((proc->optr = initproc->cptr) != NULL) {
+                initproc->cptr->yptr = proc;
+            }
+            proc->parent = initproc;
+            initproc->cptr = proc;
+            if (proc->state == PROC_ZOMBIE) {
+                if (initproc->wait_state == WT_CHILD) {
+                    wakeup_proc(initproc);
+                }
+            }
+        }
+    }
+    local_intr_restore(intr_flag);
+    
+    schedule();
+    panic("do_exit will not return!! %d.\n", current->pid);
+}
+
+//load_icode_read is used by load_icode in LAB8
+static int
+load_icode_read(int fd, void *buf, size_t len, off_t offset) {
+    int ret;
+    if ((ret = sysfile_seek(fd, offset, LSEEK_SET)) != 0) {
+        return ret;
+    }
+    if ((ret = sysfile_read(fd, buf, len)) != len) {
+        return (ret < 0) ? ret : -1;
+    }
+    return 0;
+}
+
+// load_icode -  called by sys_exec-->do_execve
+  
+static int
+load_icode(int fd, int argc, char **kargv) {
+    /* LAB8:EXERCISE2 YOUR CODE  HINT:how to load the file with handler fd  in to process's memory? how to setup argc/argv?
+     * MACROs or Functions:
+     *  mm_create        - create a mm
+     *  setup_pgdir      - setup pgdir in mm
+     *  load_icode_read  - read raw data content of program file
+     *  mm_map           - build new vma
+     *  pgdir_alloc_page - allocate new memory for  TEXT/DATA/BSS/stack parts
+     *  lcr3             - update Page Directory Addr Register -- CR3
+     */
+	/* (1) create a new mm for current process
+     * (2) create a new PDT, and mm->pgdir= kernel virtual addr of PDT
+     * (3) copy TEXT/DATA/BSS parts in binary to memory space of process
+     *    (3.1) read raw data content in file and resolve elfhdr
+     *    (3.2) read raw data content in file and resolve proghdr based on info in elfhdr
+     *    (3.3) call mm_map to build vma related to TEXT/DATA
+     *    (3.4) callpgdir_alloc_page to allocate page for TEXT/DATA, read contents in file
+     *          and copy them into the new allocated pages
+     *    (3.5) callpgdir_alloc_page to allocate pages for BSS, memset zero in these pages
+     * (4) call mm_map to setup user stack, and put parameters into user stack
+     * (5) setup current process's mm, cr3, reset pgidr (using lcr3 MARCO)
+     * (6) setup uargc and uargv in user stacks
+     * (7) setup trapframe for user environment
+     * (8) if up steps failed, you should cleanup the env.
+     */
+}
+
+// this function isn't very correct in LAB8
+static void
+put_kargv(int argc, char **kargv) {
+    while (argc > 0) {
+        kfree(kargv[-- argc]);
+    }
+}
+
+static int
+copy_kargv(struct mm_struct *mm, int argc, char **kargv, const char **argv) {
+    int i, ret = -E_INVAL;
+    if (!user_mem_check(mm, (uintptr_t)argv, sizeof(const char *) * argc, 0)) {
+        return ret;
+    }
+    for (i = 0; i < argc; i ++) {
+        char *buffer;
+        if ((buffer = kmalloc(EXEC_MAX_ARG_LEN + 1)) == NULL) {
+            goto failed_nomem;
+        }
+        if (!copy_string(mm, buffer, argv[i], EXEC_MAX_ARG_LEN + 1)) {
+            kfree(buffer);
+            goto failed_cleanup;
+        }
+        kargv[i] = buffer;
+    }
+    return 0;
+
+failed_nomem:
+    ret = -E_NO_MEM;
+failed_cleanup:
+    put_kargv(i, kargv);
+    return ret;
+}
+
+// do_execve - call exit_mmap(mm)&pug_pgdir(mm) to reclaim memory space of current process
+//           - call load_icode to setup new memory space accroding binary prog.
+int
+do_execve(const char *name, int argc, const char **argv) {
+    static_assert(EXEC_MAX_ARG_LEN >= FS_MAX_FPATH_LEN);
+    struct mm_struct *mm = current->mm;
+    if (!(argc >= 1 && argc <= EXEC_MAX_ARG_NUM)) {
+        return -E_INVAL;
+    }
+
+    char local_name[PROC_NAME_LEN + 1];
+    memset(local_name, 0, sizeof(local_name));
+    
+    char *kargv[EXEC_MAX_ARG_NUM];
+    const char *path;
+    
+    int ret = -E_INVAL;
+    
+    lock_mm(mm);
+    if (name == NULL) {
+        snprintf(local_name, sizeof(local_name), "<null> %d", current->pid);
+    }
+    else {
+        if (!copy_string(mm, local_name, name, sizeof(local_name))) {
+            unlock_mm(mm);
+            return ret;
+        }
+    }
+    if ((ret = copy_kargv(mm, argc, kargv, argv)) != 0) {
+        unlock_mm(mm);
+        return ret;
+    }
+    path = argv[0];
+    unlock_mm(mm);
+    files_closeall(current->filesp);
+
+    /* sysfile_open will check the first argument path, thus we have to use a user-space pointer, and argv[0] may be incorrect */    
+    int fd;
+    if ((ret = fd = sysfile_open(path, O_RDONLY)) < 0) {
+        goto execve_exit;
+    }
+    if (mm != NULL) {
+        lcr3(boot_cr3);
+        if (mm_count_dec(mm) == 0) {
+            exit_mmap(mm);
+            put_pgdir(mm);
+            mm_destroy(mm);
+        }
+        current->mm = NULL;
+    }
+    ret= -E_NO_MEM;;
+    if ((ret = load_icode(fd, argc, kargv)) != 0) {
+        goto execve_exit;
+    }
+    put_kargv(argc, kargv);
+    set_proc_name(current, local_name);
+    return 0;
+
+execve_exit:
+    put_kargv(argc, kargv);
+    do_exit(ret);
+    panic("already exit: %e.\n", ret);
+}
+
+// do_yield - ask the scheduler to reschedule
+int
+do_yield(void) {
+    current->need_resched = 1;
+    return 0;
+}
+
+// do_wait - wait one OR any children with PROC_ZOMBIE state, and free memory space of kernel stack
+//         - proc struct of this child.
+// NOTE: only after do_wait function, all resources of the child proces are free.
+int
+do_wait(int pid, int *code_store) {
+    struct mm_struct *mm = current->mm;
+    if (code_store != NULL) {
+        if (!user_mem_check(mm, (uintptr_t)code_store, sizeof(int), 1)) {
+            return -E_INVAL;
+        }
+    }
+
+    struct proc_struct *proc;
+    bool intr_flag, haskid;
+repeat:
+    haskid = 0;
+    if (pid != 0) {
+        proc = find_proc(pid);
+        if (proc != NULL && proc->parent == current) {
+            haskid = 1;
+            if (proc->state == PROC_ZOMBIE) {
+                goto found;
+            }
+        }
+    }
+    else {
+        proc = current->cptr;
+        for (; proc != NULL; proc = proc->optr) {
+            haskid = 1;
+            if (proc->state == PROC_ZOMBIE) {
+                goto found;
+            }
+        }
+    }
+    if (haskid) {
+        current->state = PROC_SLEEPING;
+        current->wait_state = WT_CHILD;
+        schedule();
+        if (current->flags & PF_EXITING) {
+            do_exit(-E_KILLED);
+        }
+        goto repeat;
+    }
+    return -E_BAD_PROC;
+
+found:
+    if (proc == idleproc || proc == initproc) {
+        panic("wait idleproc or initproc.\n");
+    }
+    if (code_store != NULL) {
+        *code_store = proc->exit_code;
+    }
+    local_intr_save(intr_flag);
+    {
+        unhash_proc(proc);
+        remove_links(proc);
+    }
+    local_intr_restore(intr_flag);
+    put_kstack(proc);
+    kfree(proc);
+    return 0;
+}
+
+// do_kill - kill process with pid by set this process's flags with PF_EXITING
+int
+do_kill(int pid) {
+    struct proc_struct *proc;
+    if ((proc = find_proc(pid)) != NULL) {
+        if (!(proc->flags & PF_EXITING)) {
+            proc->flags |= PF_EXITING;
+            if (proc->wait_state & WT_INTERRUPTED) {
+                wakeup_proc(proc);
+            }
+            return 0;
+        }
+        return -E_KILLED;
+    }
+    return -E_INVAL;
+}
+
+// kernel_execve - do SYS_exec syscall to exec a user program called by user_main kernel_thread
+static int
+kernel_execve(const char *name, const char **argv) {
+    int argc = 0, ret;
+    while (argv[argc] != NULL) {
+        argc ++;
+    }
+    asm volatile (
+        "int %1;"
+        : "=a" (ret)
+        : "i" (T_SYSCALL), "0" (SYS_exec), "d" (name), "c" (argc), "b" (argv)
+        : "memory");
+    return ret;
+}
+
+#define __KERNEL_EXECVE(name, path, ...) ({                         \
+const char *argv[] = {path, ##__VA_ARGS__, NULL};       \
+                     cprintf("kernel_execve: pid = %d, name = \"%s\".\n",    \
+                             current->pid, name);                            \
+                     kernel_execve(name, argv);                              \
+})
+
+#define KERNEL_EXECVE(x, ...)                   __KERNEL_EXECVE(#x, #x, ##__VA_ARGS__)
+
+#define KERNEL_EXECVE2(x, ...)                  KERNEL_EXECVE(x, ##__VA_ARGS__)
+
+#define __KERNEL_EXECVE3(x, s, ...)             KERNEL_EXECVE(x, #s, ##__VA_ARGS__)
+
+#define KERNEL_EXECVE3(x, s, ...)               __KERNEL_EXECVE3(x, s, ##__VA_ARGS__)
+
+// user_main - kernel thread used to exec a user program
+static int
+user_main(void *arg) {
+#ifdef TEST
+#ifdef TESTSCRIPT
+    KERNEL_EXECVE3(TEST, TESTSCRIPT);
+#else
+    KERNEL_EXECVE2(TEST);
+#endif
+#else
+    KERNEL_EXECVE(sh);
+#endif
+    panic("user_main execve failed.\n");
+}
+
+// init_main - the second kernel thread used to create user_main kernel threads
+static int
+init_main(void *arg) {
+    int ret;
+    if ((ret = vfs_set_bootfs("disk0:")) != 0) {
+        panic("set boot fs failed: %e.\n", ret);
+    }
+    
+    size_t nr_free_pages_store = nr_free_pages();
+    size_t slab_allocated_store = kallocated();
+
+    int pid = kernel_thread(user_main, NULL, 0);
+    if (pid <= 0) {
+        panic("create user_main failed.\n");
+    }
+ extern void check_sync(void);
+    check_sync();                // check philosopher sync problem
+
+    while (do_wait(0, NULL) == 0) {
+        schedule();
+    }
+
+    fs_cleanup();
+        
+    cprintf("all user-mode processes have quit.\n");
+    assert(initproc->cptr == NULL && initproc->yptr == NULL && initproc->optr == NULL);
+    assert(nr_process == 2);
+    assert(list_next(&proc_list) == &(initproc->list_link));
+    assert(list_prev(&proc_list) == &(initproc->list_link));
+    assert(nr_free_pages_store == nr_free_pages());
+    assert(slab_allocated_store == kallocated());
+    cprintf("init check memory pass.\n");
+    return 0;
+}
+
+// proc_init - set up the first kernel thread idleproc "idle" by itself and 
+//           - create the second kernel thread init_main
+void
+proc_init(void) {
+    int i;
+
+    list_init(&proc_list);
+    for (i = 0; i < HASH_LIST_SIZE; i ++) {
+        list_init(hash_list + i);
+    }
+
+    if ((idleproc = alloc_proc()) == NULL) {
+        panic("cannot alloc idleproc.\n");
+    }
+
+    idleproc->pid = 0;
+    idleproc->state = PROC_RUNNABLE;
+    idleproc->kstack = (uintptr_t)bootstack;
+    idleproc->need_resched = 1;
+    
+    if ((idleproc->filesp = files_create()) == NULL) {
+        panic("create filesp (idleproc) failed.\n");
+    }
+    files_count_inc(idleproc->filesp);
+    
+    set_proc_name(idleproc, "idle");
+    nr_process ++;
+
+    current = idleproc;
+
+    int pid = kernel_thread(init_main, NULL, 0);
+    if (pid <= 0) {
+        panic("create init_main failed.\n");
+    }
+
+    initproc = find_proc(pid);
+    set_proc_name(initproc, "init");
+
+    assert(idleproc != NULL && idleproc->pid == 0);
+    assert(initproc != NULL && initproc->pid == 1);
+}
+
+// cpu_idle - at the end of kern_init, the first kernel thread idleproc will do below works
+void
+cpu_idle(void) {
+    while (1) {
+        if (current->need_resched) {
+            schedule();
+        }
+    }
+}
+
+//FOR LAB6, set the process's priority (bigger value will get more CPU time) 
+void
+lab6_set_priority(uint32_t priority)
+{
+    if (priority == 0)
+        current->lab6_priority = 1;
+    else current->lab6_priority = priority;
+}
+
+// do_sleep - set current process state to sleep and add timer with "time"
+//          - then call scheduler. if process run again, delete timer first.
+int
+do_sleep(unsigned int time) {
+    if (time == 0) {
+        return 0;
+    }
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    timer_t __timer, *timer = timer_init(&__timer, current, time);
+    current->state = PROC_SLEEPING;
+    current->wait_state = WT_TIMER;
+    add_timer(timer);
+    local_intr_restore(intr_flag);
+
+    schedule();
+
+    del_timer(timer);
+    return 0;
+}
diff --git a/code/lab8/kern/process/proc.h b/code/lab8/kern/process/proc.h
new file mode 100644
index 0000000..259245a
--- /dev/null
+++ b/code/lab8/kern/process/proc.h
@@ -0,0 +1,105 @@
+#ifndef __KERN_PROCESS_PROC_H__
+#define __KERN_PROCESS_PROC_H__
+
+#include <defs.h>
+#include <list.h>
+#include <trap.h>
+#include <memlayout.h>
+#include <skew_heap.h>
+
+
+// process's state in his life cycle
+enum proc_state {
+    PROC_UNINIT = 0,  // uninitialized
+    PROC_SLEEPING,    // sleeping
+    PROC_RUNNABLE,    // runnable(maybe running)
+    PROC_ZOMBIE,      // almost dead, and wait parent proc to reclaim his resource
+};
+
+// Saved registers for kernel context switches.
+// Don't need to save all the %fs etc. segment registers,
+// because they are constant across kernel contexts.
+// Save all the regular registers so we don't need to care
+// which are caller save, but not the return register %eax.
+// (Not saving %eax just simplifies the switching code.)
+// The layout of context must match code in switch.S.
+struct context {
+    uint32_t eip;
+    uint32_t esp;
+    uint32_t ebx;
+    uint32_t ecx;
+    uint32_t edx;
+    uint32_t esi;
+    uint32_t edi;
+    uint32_t ebp;
+};
+
+#define PROC_NAME_LEN               50
+#define MAX_PROCESS                 4096
+#define MAX_PID                     (MAX_PROCESS * 2)
+
+extern list_entry_t proc_list;
+
+struct inode;
+struct fs_struct;
+
+struct proc_struct {
+    enum proc_state state;                      // Process state
+    int pid;                                    // Process ID
+    int runs;                                   // the running times of Proces
+    uintptr_t kstack;                           // Process kernel stack
+    volatile bool need_resched;                 // bool value: need to be rescheduled to release CPU?
+    struct proc_struct *parent;                 // the parent process
+    struct mm_struct *mm;                       // Process's memory management field
+    struct context context;                     // Switch here to run process
+    struct trapframe *tf;                       // Trap frame for current interrupt
+    uintptr_t cr3;                              // CR3 register: the base addr of Page Directroy Table(PDT)
+    uint32_t flags;                             // Process flag
+    char name[PROC_NAME_LEN + 1];               // Process name
+    list_entry_t list_link;                     // Process link list 
+    list_entry_t hash_link;                     // Process hash list
+    int exit_code;                              // exit code (be sent to parent proc)
+    uint32_t wait_state;                        // waiting state
+    struct proc_struct *cptr, *yptr, *optr;     // relations between processes
+    struct run_queue *rq;                       // running queue contains Process
+    list_entry_t run_link;                      // the entry linked in run queue
+    int time_slice;                             // time slice for occupying the CPU
+    skew_heap_entry_t lab6_run_pool;            // FOR LAB6 ONLY: the entry in the run pool
+    uint32_t lab6_stride;                       // FOR LAB6 ONLY: the current stride of the process 
+    uint32_t lab6_priority;                     // FOR LAB6 ONLY: the priority of process, set by lab6_set_priority(uint32_t)
+    struct files_struct *filesp;                // the file related info(pwd, files_count, files_array, fs_semaphore) of process
+};
+
+#define PF_EXITING                  0x00000001      // getting shutdown
+
+#define WT_INTERRUPTED               0x80000000                    // the wait state could be interrupted
+#define WT_CHILD                    (0x00000001 | WT_INTERRUPTED)  // wait child process
+#define WT_KSEM                      0x00000100                    // wait kernel semaphore
+#define WT_TIMER                    (0x00000002 | WT_INTERRUPTED)  // wait timer
+#define WT_KBD                      (0x00000004 | WT_INTERRUPTED)  // wait the input of keyboard
+
+#define le2proc(le, member)         \
+    to_struct((le), struct proc_struct, member)
+
+extern struct proc_struct *idleproc, *initproc, *current;
+
+void proc_init(void);
+void proc_run(struct proc_struct *proc);
+int kernel_thread(int (*fn)(void *), void *arg, uint32_t clone_flags);
+
+char *set_proc_name(struct proc_struct *proc, const char *name);
+char *get_proc_name(struct proc_struct *proc);
+void cpu_idle(void) __attribute__((noreturn));
+
+struct proc_struct *find_proc(int pid);
+int do_fork(uint32_t clone_flags, uintptr_t stack, struct trapframe *tf);
+int do_exit(int error_code);
+int do_yield(void);
+int do_execve(const char *name, int argc, const char **argv);
+int do_wait(int pid, int *code_store);
+int do_kill(int pid);
+//FOR LAB6, set the process's priority (bigger value will get more CPU time) 
+void lab6_set_priority(uint32_t priority);
+int do_sleep(unsigned int time);
+#endif /* !__KERN_PROCESS_PROC_H__ */
+
diff --git a/code/lab8/kern/process/switch.S b/code/lab8/kern/process/switch.S
new file mode 100644
index 0000000..27b4c8c
--- /dev/null
+++ b/code/lab8/kern/process/switch.S
@@ -0,0 +1,30 @@
+.text
+.globl switch_to
+switch_to:                      # switch_to(from, to)
+
+    # save from's registers
+    movl 4(%esp), %eax          # eax points to from
+    popl 0(%eax)                # save eip !popl
+    movl %esp, 4(%eax)
+    movl %ebx, 8(%eax)
+    movl %ecx, 12(%eax)
+    movl %edx, 16(%eax)
+    movl %esi, 20(%eax)
+    movl %edi, 24(%eax)
+    movl %ebp, 28(%eax)
+
+    # restore to's registers
+    movl 4(%esp), %eax          # not 8(%esp): popped return address already
+                                # eax now points to to
+    movl 28(%eax), %ebp
+    movl 24(%eax), %edi
+    movl 20(%eax), %esi
+    movl 16(%eax), %edx
+    movl 12(%eax), %ecx
+    movl 8(%eax), %ebx
+    movl 4(%eax), %esp
+
+    pushl 0(%eax)               # push eip
+
+    ret
+
diff --git a/code/lab8/kern/schedule/default_sched.c b/code/lab8/kern/schedule/default_sched.c
new file mode 100644
index 0000000..2316990
--- /dev/null
+++ b/code/lab8/kern/schedule/default_sched.c
@@ -0,0 +1,58 @@
+#include <defs.h>
+#include <list.h>
+#include <proc.h>
+#include <assert.h>
+#include <default_sched.h>
+
+static void
+RR_init(struct run_queue *rq) {
+    list_init(&(rq->run_list));
+    rq->proc_num = 0;
+}
+
+static void
+RR_enqueue(struct run_queue *rq, struct proc_struct *proc) {
+    assert(list_empty(&(proc->run_link)));
+    list_add_before(&(rq->run_list), &(proc->run_link));
+    if (proc->time_slice == 0 || proc->time_slice > rq->max_time_slice) {
+        proc->time_slice = rq->max_time_slice;
+    }
+    proc->rq = rq;
+    rq->proc_num ++;
+}
+
+static void
+RR_dequeue(struct run_queue *rq, struct proc_struct *proc) {
+    assert(!list_empty(&(proc->run_link)) && proc->rq == rq);
+    list_del_init(&(proc->run_link));
+    rq->proc_num --;
+}
+
+static struct proc_struct *
+RR_pick_next(struct run_queue *rq) {
+    list_entry_t *le = list_next(&(rq->run_list));
+    if (le != &(rq->run_list)) {
+        return le2proc(le, run_link);
+    }
+    return NULL;
+}
+
+static void
+RR_proc_tick(struct run_queue *rq, struct proc_struct *proc) {
+    if (proc->time_slice > 0) {
+        proc->time_slice --;
+    }
+    if (proc->time_slice == 0) {
+        proc->need_resched = 1;
+    }
+}
+
+struct sched_class default_sched_class = {
+    .name = "RR_scheduler",
+    .init = RR_init,
+    .enqueue = RR_enqueue,
+    .dequeue = RR_dequeue,
+    .pick_next = RR_pick_next,
+    .proc_tick = RR_proc_tick,
+};
+
diff --git a/code/lab8/kern/schedule/default_sched.h b/code/lab8/kern/schedule/default_sched.h
new file mode 100644
index 0000000..2f21fbd
--- /dev/null
+++ b/code/lab8/kern/schedule/default_sched.h
@@ -0,0 +1,9 @@
+#ifndef __KERN_SCHEDULE_SCHED_RR_H__
+#define __KERN_SCHEDULE_SCHED_RR_H__
+
+#include <sched.h>
+
+extern struct sched_class default_sched_class;
+
+#endif /* !__KERN_SCHEDULE_SCHED_RR_H__ */
+
diff --git a/code/lab8/kern/schedule/default_sched_stride_c b/code/lab8/kern/schedule/default_sched_stride_c
new file mode 100644
index 0000000..7075653
--- /dev/null
+++ b/code/lab8/kern/schedule/default_sched_stride_c
@@ -0,0 +1,133 @@
+#include <defs.h>
+#include <list.h>
+#include <proc.h>
+#include <assert.h>
+#include <default_sched.h>
+
+#define USE_SKEW_HEAP 1
+
+/* You should define the BigStride constant here*/
+/* LAB6: YOUR CODE */
+#define BIG_STRIDE    /* you should give a value, and is ??? */
+
+/* The compare function for two skew_heap_node_t's and the
+ * corresponding procs*/
+static int
+proc_stride_comp_f(void *a, void *b)
+{
+     struct proc_struct *p = le2proc(a, lab6_run_pool);
+     struct proc_struct *q = le2proc(b, lab6_run_pool);
+     int32_t c = p->lab6_stride - q->lab6_stride;
+     if (c > 0) return 1;
+     else if (c == 0) return 0;
+     else return -1;
+}
+
+/*
+ * stride_init initializes the run-queue rq with correct assignment for
+ * member variables, including:
+ *
+ *   - run_list: should be a empty list after initialization.
+ *   - lab6_run_pool: NULL
+ *   - proc_num: 0
+ *   - max_time_slice: no need here, the variable would be assigned by the caller.
+ *
+ * hint: see libs/list.h for routines of the list structures.
+ */
+static void
+stride_init(struct run_queue *rq) {
+     /* LAB6: YOUR CODE 
+      * (1) init the ready process list: rq->run_list
+      * (2) init the run pool: rq->lab6_run_pool
+      * (3) set number of process: rq->proc_num to 0       
+      */
+}
+
+/*
+ * stride_enqueue inserts the process ``proc'' into the run-queue
+ * ``rq''. The procedure should verify/initialize the relevant members
+ * of ``proc'', and then put the ``lab6_run_pool'' node into the
+ * queue(since we use priority queue here). The procedure should also
+ * update the meta date in ``rq'' structure.
+ *
+ * proc->time_slice denotes the time slices allocation for the
+ * process, which should set to rq->max_time_slice.
+ * 
+ * hint: see libs/skew_heap.h for routines of the priority
+ * queue structures.
+ */
+static void
+stride_enqueue(struct run_queue *rq, struct proc_struct *proc) {
+     /* LAB6: YOUR CODE 
+      * (1) insert the proc into rq correctly
+      * NOTICE: you can use skew_heap or list. Important functions
+      *         skew_heap_insert: insert a entry into skew_heap
+      *         list_add_before: insert  a entry into the last of list   
+      * (2) recalculate proc->time_slice
+      * (3) set proc->rq pointer to rq
+      * (4) increase rq->proc_num
+      */
+}
+
+/*
+ * stride_dequeue removes the process ``proc'' from the run-queue
+ * ``rq'', the operation would be finished by the skew_heap_remove
+ * operations. Remember to update the ``rq'' structure.
+ *
+ * hint: see libs/skew_heap.h for routines of the priority
+ * queue structures.
+ */
+static void
+stride_dequeue(struct run_queue *rq, struct proc_struct *proc) {
+     /* LAB6: YOUR CODE 
+      * (1) remove the proc from rq correctly
+      * NOTICE: you can use skew_heap or list. Important functions
+      *         skew_heap_remove: remove a entry from skew_heap
+      *         list_del_init: remove a entry from the  list
+      */
+}
+/*
+ * stride_pick_next pick the element from the ``run-queue'', with the
+ * minimum value of stride, and returns the corresponding process
+ * pointer. The process pointer would be calculated by macro le2proc,
+ * see kern/process/proc.h for definition. Return NULL if
+ * there is no process in the queue.
+ *
+ * When one proc structure is selected, remember to update the stride
+ * property of the proc. (stride += BIG_STRIDE / priority)
+ *
+ * hint: see libs/skew_heap.h for routines of the priority
+ * queue structures.
+ */
+static struct proc_struct *
+stride_pick_next(struct run_queue *rq) {
+     /* LAB6: YOUR CODE 
+      * (1) get a  proc_struct pointer p  with the minimum value of stride
+             (1.1) If using skew_heap, we can use le2proc get the p from rq->lab6_run_poll
+             (1.2) If using list, we have to search list to find the p with minimum stride value
+      * (2) update p;s stride value: p->lab6_stride
+      * (3) return p
+      */
+}
+
+/*
+ * stride_proc_tick works with the tick event of current process. You
+ * should check whether the time slices for current process is
+ * exhausted and update the proc struct ``proc''. proc->time_slice
+ * denotes the time slices left for current
+ * process. proc->need_resched is the flag variable for process
+ * switching.
+ */
+static void
+stride_proc_tick(struct run_queue *rq, struct proc_struct *proc) {
+     /* LAB6: YOUR CODE */
+}
+
+struct sched_class default_sched_class = {
+     .name = "stride_scheduler",
+     .init = stride_init,
+     .enqueue = stride_enqueue,
+     .dequeue = stride_dequeue,
+     .pick_next = stride_pick_next,
+     .proc_tick = stride_proc_tick,
+};
diff --git a/code/lab8/kern/schedule/sched.c b/code/lab8/kern/schedule/sched.c
new file mode 100644
index 0000000..e272635
--- /dev/null
+++ b/code/lab8/kern/schedule/sched.c
@@ -0,0 +1,172 @@
+#include <list.h>
+#include <sync.h>
+#include <proc.h>
+#include <sched.h>
+#include <stdio.h>
+#include <assert.h>
+#include <default_sched.h>
+
+static list_entry_t timer_list;
+
+static struct sched_class *sched_class;
+
+static struct run_queue *rq;
+
+static inline void
+sched_class_enqueue(struct proc_struct *proc) {
+    if (proc != idleproc) {
+        sched_class->enqueue(rq, proc);
+    }
+}
+
+static inline void
+sched_class_dequeue(struct proc_struct *proc) {
+    sched_class->dequeue(rq, proc);
+}
+
+static inline struct proc_struct *
+sched_class_pick_next(void) {
+    return sched_class->pick_next(rq);
+}
+
+static void
+sched_class_proc_tick(struct proc_struct *proc) {
+    if (proc != idleproc) {
+        sched_class->proc_tick(rq, proc);
+    }
+    else {
+        proc->need_resched = 1;
+    }
+}
+
+static struct run_queue __rq;
+
+void
+sched_init(void) {
+    list_init(&timer_list);
+
+    sched_class = &default_sched_class;
+
+    rq = &__rq;
+    rq->max_time_slice = 20;
+    sched_class->init(rq);
+
+    cprintf("sched class: %s\n", sched_class->name);
+}
+
+void
+wakeup_proc(struct proc_struct *proc) {
+    assert(proc->state != PROC_ZOMBIE);
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        if (proc->state != PROC_RUNNABLE) {
+            proc->state = PROC_RUNNABLE;
+            proc->wait_state = 0;
+            if (proc != current) {
+                sched_class_enqueue(proc);
+            }
+        }
+        else {
+            warn("wakeup runnable process.\n");
+        }
+    }
+    local_intr_restore(intr_flag);
+}
+
+void
+schedule(void) {
+    bool intr_flag;
+    struct proc_struct *next;
+    local_intr_save(intr_flag);
+    {
+        current->need_resched = 0;
+        if (current->state == PROC_RUNNABLE) {
+            sched_class_enqueue(current);
+        }
+        if ((next = sched_class_pick_next()) != NULL) {
+            sched_class_dequeue(next);
+        }
+        if (next == NULL) {
+            next = idleproc;
+        }
+        next->runs ++;
+        if (next != current) {
+            proc_run(next);
+        }
+    }
+    local_intr_restore(intr_flag);
+}
+
+void
+add_timer(timer_t *timer) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        assert(timer->expires > 0 && timer->proc != NULL);
+        assert(list_empty(&(timer->timer_link)));
+        list_entry_t *le = list_next(&timer_list);
+        while (le != &timer_list) {
+            timer_t *next = le2timer(le, timer_link);
+            if (timer->expires < next->expires) {
+                next->expires -= timer->expires;
+                break;
+            }
+            timer->expires -= next->expires;
+            le = list_next(le);
+        }
+        list_add_before(le, &(timer->timer_link));
+    }
+    local_intr_restore(intr_flag);
+}
+
+void
+del_timer(timer_t *timer) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        if (!list_empty(&(timer->timer_link))) {
+            if (timer->expires != 0) {
+                list_entry_t *le = list_next(&(timer->timer_link));
+                if (le != &timer_list) {
+                    timer_t *next = le2timer(le, timer_link);
+                    next->expires += timer->expires;
+                }
+            }
+            list_del_init(&(timer->timer_link));
+        }
+    }
+    local_intr_restore(intr_flag);
+}
+
+void
+run_timer_list(void) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        list_entry_t *le = list_next(&timer_list);
+        if (le != &timer_list) {
+            timer_t *timer = le2timer(le, timer_link);
+            assert(timer->expires != 0);
+            timer->expires --;
+            while (timer->expires == 0) {
+                le = list_next(le);
+                struct proc_struct *proc = timer->proc;
+                if (proc->wait_state != 0) {
+                    assert(proc->wait_state & WT_INTERRUPTED);
+                }
+                else {
+                    warn("process %d's wait_state == 0.\n", proc->pid);
+                }
+                wakeup_proc(proc);
+                del_timer(timer);
+                if (le == &timer_list) {
+                    break;
+                }
+                timer = le2timer(le, timer_link);
+            }
+        }
+        sched_class_proc_tick(current);
+    }
+    local_intr_restore(intr_flag);
+}
diff --git a/code/lab8/kern/schedule/sched.h b/code/lab8/kern/schedule/sched.h
new file mode 100644
index 0000000..c83a776
--- /dev/null
+++ b/code/lab8/kern/schedule/sched.h
@@ -0,0 +1,70 @@
+#ifndef __KERN_SCHEDULE_SCHED_H__
+#define __KERN_SCHEDULE_SCHED_H__
+
+#include <defs.h>
+#include <list.h>
+#include <skew_heap.h>
+
+struct proc_struct;
+
+typedef struct {
+    unsigned int expires;
+    struct proc_struct *proc;
+    list_entry_t timer_link;
+} timer_t;
+
+#define le2timer(le, member)            \
+to_struct((le), timer_t, member)
+
+static inline timer_t *
+timer_init(timer_t *timer, struct proc_struct *proc, int expires) {
+    timer->expires = expires;
+    timer->proc = proc;
+    list_init(&(timer->timer_link));
+    return timer;
+}
+
+struct run_queue;
+
+// The introduction of scheduling classes is borrrowed from Linux, and makes the 
+// core scheduler quite extensible. These classes (the scheduler modules) encapsulate 
+// the scheduling policies. 
+struct sched_class {
+    // the name of sched_class
+    const char *name;
+    // Init the run queue
+    void (*init)(struct run_queue *rq);
+    // put the proc into runqueue, and this function must be called with rq_lock
+    void (*enqueue)(struct run_queue *rq, struct proc_struct *proc);
+    // get the proc out runqueue, and this function must be called with rq_lock
+    void (*dequeue)(struct run_queue *rq, struct proc_struct *proc);
+    // choose the next runnable task
+    struct proc_struct *(*pick_next)(struct run_queue *rq);
+    // dealer of the time-tick
+    void (*proc_tick)(struct run_queue *rq, struct proc_struct *proc);
+    /* for SMP support in the future
+     *  load_balance
+     *     void (*load_balance)(struct rq* rq);
+     *  get some proc from this rq, used in load_balance,
+     *  return value is the num of gotten proc
+     *  int (*get_proc)(struct rq* rq, struct proc* procs_moved[]);
+     */
+};
+
+struct run_queue {
+    list_entry_t run_list;
+    unsigned int proc_num;
+    int max_time_slice;
+    // For LAB6 ONLY
+    skew_heap_entry_t *lab6_run_pool;
+};
+
+void sched_init(void);
+void wakeup_proc(struct proc_struct *proc);
+void schedule(void);
+void add_timer(timer_t *timer);
+void del_timer(timer_t *timer);
+void run_timer_list(void);
+
+#endif /* !__KERN_SCHEDULE_SCHED_H__ */
+
diff --git a/code/lab8/kern/sync/check_sync.c b/code/lab8/kern/sync/check_sync.c
new file mode 100644
index 0000000..9d48940
--- /dev/null
+++ b/code/lab8/kern/sync/check_sync.c
@@ -0,0 +1,196 @@
+#include <stdio.h>
+#include <proc.h>
+#include <sem.h>
+#include <monitor.h>
+#include <assert.h>
+
+#define N 5 /* 哲学家数目 */
+#define LEFT (i-1+N)%N /* i的左邻号码 */
+#define RIGHT (i+1)%N /* i的右邻号码 */
+#define THINKING 0 /* 哲学家正在思考 */
+#define HUNGRY 1 /* 哲学家想取得叉子 */
+#define EATING 2 /* 哲学家正在吃面 */
+#define TIMES  4 /* 吃4次饭 */
+#define SLEEP_TIME 10
+
+//---------- philosophers problem using semaphore ----------------------
+int state_sema[N]; /* 记录每个人状态的数组 */
+/* 信号量是一个特殊的整型变量 */
+semaphore_t mutex; /* 临界区互斥 */
+semaphore_t s[N]; /* 每个哲学家一个信号量 */
+
+struct proc_struct *philosopher_proc_sema[N];
+
+void phi_test_sema(i) /* i:哲学家号码从0到N-1 */
+{ 
+    if(state_sema[i]==HUNGRY&&state_sema[LEFT]!=EATING
+            &&state_sema[RIGHT]!=EATING)
+    {
+        state_sema[i]=EATING;
+        up(&s[i]);
+    }
+}
+
+void phi_take_forks_sema(int i) /* i:哲学家号码从0到N-1 */
+{ 
+        down(&mutex); /* 进入临界区 */
+        state_sema[i]=HUNGRY; /* 记录下哲学家i饥饿的事实 */
+        phi_test_sema(i); /* 试图得到两只叉子 */
+        up(&mutex); /* 离开临界区 */
+        down(&s[i]); /* 如果得不到叉子就阻塞 */
+}
+
+void phi_put_forks_sema(int i) /* i:哲学家号码从0到N-1 */
+{ 
+        down(&mutex); /* 进入临界区 */
+        state_sema[i]=THINKING; /* 哲学家进餐结束 */
+        phi_test_sema(LEFT); /* 看一下左邻居现在是否能进餐 */
+        phi_test_sema(RIGHT); /* 看一下右邻居现在是否能进餐 */
+        up(&mutex); /* 离开临界区 */
+}
+
+int philosopher_using_semaphore(void * arg) /* i:哲学家号码,从0到N-1 */
+{
+    int i, iter=0;
+    i=(int)arg;
+    cprintf("I am No.%d philosopher_sema\n",i);
+    while(iter++<TIMES)
+    { /* 无限循环 */
+        cprintf("Iter %d, No.%d philosopher_sema is thinking\n",iter,i); /* 哲学家正在思考 */
+        do_sleep(SLEEP_TIME);
+        phi_take_forks_sema(i); 
+        /* 需要两只叉子,或者阻塞 */
+        cprintf("Iter %d, No.%d philosopher_sema is eating\n",iter,i); /* 进餐 */
+        do_sleep(SLEEP_TIME);
+        phi_put_forks_sema(i); 
+        /* 把两把叉子同时放回桌子 */
+    }
+    cprintf("No.%d philosopher_sema quit\n",i);
+    return 0;    
+}
+
+//-----------------philosopher problem using monitor ------------
+/*PSEUDO CODE :philosopher problem using monitor
+ * monitor dp
+ * {
+ *  enum {thinking, hungry, eating} state[5];
+ *  condition self[5];
+ *
+ *  void pickup(int i) {
+ *      state[i] = hungry;
+ *      if ((state[(i+4)%5] != eating) && (state[(i+1)%5] != eating)) {
+ *        state[i] = eating;
+ *      else
+ *         self[i].wait();
+ *   }
+ *
+ *   void putdown(int i) {
+ *      state[i] = thinking;
+ *      if ((state[(i+4)%5] == hungry) && (state[(i+3)%5] != eating)) {
+ *          state[(i+4)%5] = eating;
+ *          self[(i+4)%5].signal();
+ *      }
+ *      if ((state[(i+1)%5] == hungry) && (state[(i+2)%5] != eating)) {
+ *          state[(i+1)%5] = eating;
+ *          self[(i+1)%5].signal();
+ *      }
+ *   }
+ *
+ *   void init() {
+ *      for (int i = 0; i < 5; i++)
+ *         state[i] = thinking;
+ *   }
+ * }
+ */
+
+struct proc_struct *philosopher_proc_condvar[N]; // N philosopher
+int state_condvar[N];                            // the philosopher's state: EATING, HUNGARY, THINKING  
+monitor_t mt, *mtp=&mt;                          // monitor
+
+void phi_test_condvar (i) { 
+    if(state_condvar[i]==HUNGRY&&state_condvar[LEFT]!=EATING
+            &&state_condvar[RIGHT]!=EATING) {
+        cprintf("phi_test_condvar: state_condvar[%d] will eating\n",i);
+        state_condvar[i] = EATING ;
+        cprintf("phi_test_condvar: signal self_cv[%d] \n",i);
+        cond_signal(&mtp->cv[i]) ;
+    }
+}
+
+
+void phi_take_forks_condvar(int i) {
+     down(&(mtp->mutex));
+//--------into routine in monitor--------------
+     // LAB7 EXERCISE1: YOUR CODE
+     // I am hungry
+     // try to get fork
+//--------leave routine in monitor--------------
+      if(mtp->next_count>0)
+         up(&(mtp->next));
+      else
+         up(&(mtp->mutex));
+}
+
+void phi_put_forks_condvar(int i) {
+     down(&(mtp->mutex));
+
+//--------into routine in monitor--------------
+     // LAB7 EXERCISE1: YOUR CODE
+     // I ate over
+     // test left and right neighbors
+//--------leave routine in monitor--------------
+     if(mtp->next_count>0)
+        up(&(mtp->next));
+     else
+        up(&(mtp->mutex));
+}
+
+//---------- philosophers using monitor (condition variable) ----------------------
+int philosopher_using_condvar(void * arg) { /* arg is the No. of philosopher 0~N-1*/
+  
+    int i, iter=0;
+    i=(int)arg;
+    cprintf("I am No.%d philosopher_condvar\n",i);
+    while(iter++<TIMES)
+    { /* iterate*/
+        cprintf("Iter %d, No.%d philosopher_condvar is thinking\n",iter,i); /* thinking*/
+        do_sleep(SLEEP_TIME);
+        phi_take_forks_condvar(i); 
+        /* need two forks, maybe blocked */
+        cprintf("Iter %d, No.%d philosopher_condvar is eating\n",iter,i); /* eating*/
+        do_sleep(SLEEP_TIME);
+        phi_put_forks_condvar(i); 
+        /* return two forks back*/
+    }
+    cprintf("No.%d philosopher_condvar quit\n",i);
+    return 0;    
+}
+
+void check_sync(void){
+
+    int i;
+
+    //check semaphore
+    sem_init(&mutex, 1);
+    for(i=0;i<N;i++){
+        sem_init(&s[i], 0);
+        int pid = kernel_thread(philosopher_using_semaphore, (void *)i, 0);
+        if (pid <= 0) {
+            panic("create No.%d philosopher_using_semaphore failed.\n");
+        }
+        philosopher_proc_sema[i] = find_proc(pid);
+        set_proc_name(philosopher_proc_sema[i], "philosopher_sema_proc");
+    }
+
+    //check condition variable
+    monitor_init(&mt, N);
+    for(i=0;i<N;i++){
+        state_condvar[i]=THINKING;
+        int pid = kernel_thread(philosopher_using_condvar, (void *)i, 0);
+        if (pid <= 0) {
+            panic("create No.%d philosopher_using_condvar failed.\n");
+        }
+        philosopher_proc_condvar[i] = find_proc(pid);
+        set_proc_name(philosopher_proc_condvar[i], "philosopher_condvar_proc");
+    }
+}
diff --git a/code/lab8/kern/sync/monitor.c b/code/lab8/kern/sync/monitor.c
new file mode 100644
index 0000000..f0e8fbc
--- /dev/null
+++ b/code/lab8/kern/sync/monitor.c
@@ -0,0 +1,59 @@
+#include <stdio.h>
+#include <monitor.h>
+#include <kmalloc.h>
+#include <assert.h>
+
+
+// Initialize monitor.
+void     
+monitor_init (monitor_t * mtp, size_t num_cv) {
+    int i;
+    assert(num_cv>0);
+    mtp->next_count = 0;
+    mtp->cv = NULL;
+    sem_init(&(mtp->mutex), 1); //unlocked
+    sem_init(&(mtp->next), 0);
+    mtp->cv =(condvar_t *) kmalloc(sizeof(condvar_t)*num_cv);
+    assert(mtp->cv!=NULL);
+    for(i=0; i<num_cv; i++){
+        mtp->cv[i].count=0;
+        sem_init(&(mtp->cv[i].sem),0);
+        mtp->cv[i].owner=mtp;
+    }
+}
+
+// Unlock one of threads waiting on the condition variable. 
+void 
+cond_signal (condvar_t *cvp) {
+   //LAB7 EXERCISE1: YOUR CODE
+   cprintf("cond_signal begin: cvp %x, cvp->count %d, cvp->owner->next_count %d\n", cvp, cvp->count, cvp->owner->next_count);  
+  /*
+   *      cond_signal(cv) {
+   *          if(cv.count>0) {
+   *             mt.next_count ++;
+   *             signal(cv.sem);
+   *             wait(mt.next);
+   *             mt.next_count--;
+   *          }
+   *       }
+   */
+   cprintf("cond_signal end: cvp %x, cvp->count %d, cvp->owner->next_count %d\n", cvp, cvp->count, cvp->owner->next_count);
+}
+
+// Suspend calling thread on a condition variable waiting for condition Atomically unlocks 
+// mutex and suspends calling thread on conditional variable after waking up locks mutex. Notice: mp is mutex semaphore for monitor's procedures
+void
+cond_wait (condvar_t *cvp) {
+    //LAB7 EXERCISE1: YOUR CODE
+    cprintf("cond_wait begin:  cvp %x, cvp->count %d, cvp->owner->next_count %d\n", cvp, cvp->count, cvp->owner->next_count);
+   /*
+    *         cv.count ++;
+    *         if(mt.next_count>0)
+    *            signal(mt.next)
+    *         else
+    *            signal(mt.mutex);
+    *         wait(cv.sem);
+    *         cv.count --;
+    */
+    cprintf("cond_wait end:  cvp %x, cvp->count %d, cvp->owner->next_count %d\n", cvp, cvp->count, cvp->owner->next_count);
+}
diff --git a/code/lab8/kern/sync/monitor.h b/code/lab8/kern/sync/monitor.h
new file mode 100644
index 0000000..39b9610
--- /dev/null
+++ b/code/lab8/kern/sync/monitor.h
@@ -0,0 +1,90 @@
+#ifndef __KERN_SYNC_MONITOR_CONDVAR_H__
+#define __KERN_SYNC_MOINTOR_CONDVAR_H__
+
+#include <sem.h>
+/* In [OS CONCEPT] 7.7 section, the accurate define and approximate implementation of MONITOR was introduced.
+ * INTRODUCTION:
+ *  Monitors were invented by C. A. R. Hoare and Per Brinch Hansen, and were first implemented in Brinch Hansen's
+ *  Concurrent Pascal language. Generally, a monitor is a language construct and the compiler usually enforces mutual exclusion. Compare this with semaphores, which are usually an OS construct.
+ * DEFNIE & CHARACTERISTIC:
+ *  A monitor is a collection of procedures, variables, and data structures grouped together.
+ *  Processes can call the monitor procedures but cannot access the internal data structures.
+ *  Only one process at a time may be be active in a monitor.
+ *  Condition variables allow for blocking and unblocking.
+ *     cv.wait() blocks a process.
+ *        The process is said to be waiting for (or waiting on) the condition variable cv.
+ *     cv.signal() (also called cv.notify) unblocks a process waiting for the condition variable cv.
+ *        When this occurs, we need to still require that only one process is active in the monitor. This can be done in several ways:
+ *            on some systems the old process (the one executing the signal) leaves the monitor and the new one enters
+ *            on some systems the signal must be the last statement executed inside the monitor.
+ *            on some systems the old process will block until the monitor is available again.
+ *            on some systems the new process (the one unblocked by the signal) will remain blocked until the monitor is available again.
+ *   If a condition variable is signaled with nobody waiting, the signal is lost. Compare this with semaphores, in which a signal will allow a process that executes a wait in the future to no block.
+ *   You should not think of a condition variable as a variable in the traditional sense.
+ *     It does not have a value.
+ *     Think of it as an object in the OOP sense.
+ *     It has two methods, wait and signal that manipulate the calling process.
+ * IMPLEMENTATION:
+ *   monitor mt {
+ *     ----------------variable------------------
+ *     semaphore mutex;
+ *     semaphore next;
+ *     int next_count;
+ *     condvar {int count, sempahore sem}  cv[N];
+ *     other variables in mt;
+ *     --------condvar wait/signal---------------
+ *     cond_wait (cv) {
+ *         cv.count ++;
+ *         if(mt.next_count>0)
+ *            signal(mt.next)
+ *         else
+ *            signal(mt.mutex);
+ *         wait(cv.sem);
+ *         cv.count --;
+ *      }
+ *
+ *      cond_signal(cv) {
+ *          if(cv.count>0) {
+ *             mt.next_count ++;
+ *             signal(cv.sem);
+ *             wait(mt.next);
+ *             mt.next_count--;
+ *          }
+ *       }
+ *     --------routines in monitor---------------
+ *     routineA_in_mt () {
+ *        wait(mt.mutex);
+ *        ...
+ *        real body of routineA
+ *        ...
+ *        if(next_count>0)
+ *            signal(mt.next);
+ *        else
+ *            signal(mt.mutex);
+ *     }
+ */
+
+typedef struct monitor monitor_t;
+
+typedef struct condvar{
+    semaphore_t sem;        // the sem semaphore  is used to down the waiting proc, and the signaling proc should up the waiting proc
+    int count;              // the number of waiters on condvar
+    monitor_t * owner;      // the owner(monitor) of this condvar
+} condvar_t;
+
+typedef struct monitor{
+    semaphore_t mutex;      // the mutex lock for going into the routines in monitor, should be initialized to 1
+    semaphore_t next;       // the next semaphore is used to down the signaling proc itself, and the other OR wakeuped waiting proc should wake up the sleeped signaling proc.
+    int next_count;         // the number of of sleeped signaling proc
+    condvar_t *cv;          // the condvars in monitor
+} monitor_t;
+
+// Initialize variables in monitor.
+void     monitor_init (monitor_t *cvp, size_t num_cv);
+// Unlock one of threads waiting on the condition variable. 
+void     cond_signal (condvar_t *cvp);
+// Suspend calling thread on a condition variable waiting for condition atomically unlock mutex in monitor,
+// and suspends calling thread on conditional variable after waking up locks mutex.
+void     cond_wait (condvar_t *cvp);
+     
+#endif /* !__KERN_SYNC_MONITOR_CONDVAR_H__ */
diff --git a/code/lab8/kern/sync/sem.c b/code/lab8/kern/sync/sem.c
new file mode 100644
index 0000000..62c81db
--- /dev/null
+++ b/code/lab8/kern/sync/sem.c
@@ -0,0 +1,77 @@
+#include <defs.h>
+#include <wait.h>
+#include <atomic.h>
+#include <kmalloc.h>
+#include <sem.h>
+#include <proc.h>
+#include <sync.h>
+#include <assert.h>
+
+void
+sem_init(semaphore_t *sem, int value) {
+    sem->value = value;
+    wait_queue_init(&(sem->wait_queue));
+}
+
+static __noinline void __up(semaphore_t *sem, uint32_t wait_state) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    {
+        wait_t *wait;
+        if ((wait = wait_queue_first(&(sem->wait_queue))) == NULL) {
+            sem->value ++;
+        }
+        else {
+            assert(wait->proc->wait_state == wait_state);
+            wakeup_wait(&(sem->wait_queue), wait, wait_state, 1);
+        }
+    }
+    local_intr_restore(intr_flag);
+}
+
+static __noinline uint32_t __down(semaphore_t *sem, uint32_t wait_state) {
+    bool intr_flag;
+    local_intr_save(intr_flag);
+    if (sem->value > 0) {
+        sem->value --;
+        local_intr_restore(intr_flag);
+        return 0;
+    }
+    wait_t __wait, *wait = &__wait;
+    wait_current_set(&(sem->wait_queue), wait, wait_state);
+    local_intr_restore(intr_flag);
+
+    schedule();
+
+    local_intr_save(intr_flag);
+    wait_current_del(&(sem->wait_queue), wait);
+    local_intr_restore(intr_flag);
+
+    if (wait->wakeup_flags != wait_state) {
+        return wait->wakeup_flags;
+    }
+    return 0;
+}
+
+void
+up(semaphore_t *sem) {
+    __up(sem, WT_KSEM);
+}
+
+void
+down(semaphore_t *sem) {
+    uint32_t flags = __down(sem, WT_KSEM);
+    assert(flags == 0);
+}
+
+bool
+try_down(semaphore_t *sem) {
+    bool intr_flag, ret = 0;
+    local_intr_save(intr_flag);
+    if (sem->value > 0) {
+        sem->value --, ret = 1;
+    }
+    local_intr_restore(intr_flag);
+    return ret;
+}
+
diff --git a/code/lab8/kern/sync/sem.h b/code/lab8/kern/sync/sem.h
new file mode 100644
index 0000000..4450fe7
--- /dev/null
+++ b/code/lab8/kern/sync/sem.h
@@ -0,0 +1,19 @@
+#ifndef __KERN_SYNC_SEM_H__
+#define __KERN_SYNC_SEM_H__
+
+#include <defs.h>
+#include <atomic.h>
+#include <wait.h>
+
+typedef struct {
+    int value;
+    wait_queue_t wait_queue;
+} semaphore_t;
+
+void sem_init(semaphore_t *sem, int value);
+void up(semaphore_t *sem);
+void down(semaphore_t *sem);
+bool try_down(semaphore_t *sem);
+
+#endif /* !__KERN_SYNC_SEM_H__ */
+
diff --git a/code/lab8/kern/sync/sync.h b/code/lab8/kern/sync/sync.h
new file mode 100644
index 0000000..98215f1
--- /dev/null
+++ b/code/lab8/kern/sync/sync.h
@@ -0,0 +1,31 @@
+#ifndef __KERN_SYNC_SYNC_H__
+#define __KERN_SYNC_SYNC_H__
+
+#include <x86.h>
+#include <intr.h>
+#include <mmu.h>
+#include <assert.h>
+#include <atomic.h>
+#include <sched.h>
+
+static inline bool
+__intr_save(void) {
+    if (read_eflags() & FL_IF) {
+        intr_disable();
+        return 1;
+    }
+    return 0;
+}
+
+static inline void
+__intr_restore(bool flag) {
+    if (flag) {
+        intr_enable();
+    }
+}
+
+#define local_intr_save(x)      do { x = __intr_save(); } while (0)
+#define local_intr_restore(x)   __intr_restore(x);
+
+#endif /* !__KERN_SYNC_SYNC_H__ */
+
diff --git a/code/lab8/kern/sync/wait.c b/code/lab8/kern/sync/wait.c
new file mode 100644
index 0000000..6aea172
--- /dev/null
+++ b/code/lab8/kern/sync/wait.c
@@ -0,0 +1,122 @@
+#include <defs.h>
+#include <list.h>
+#include <sync.h>
+#include <wait.h>
+#include <proc.h>
+
+void
+wait_init(wait_t *wait, struct proc_struct *proc) {
+    wait->proc = proc;
+    wait->wakeup_flags = WT_INTERRUPTED;
+    list_init(&(wait->wait_link));
+}
+
+void
+wait_queue_init(wait_queue_t *queue) {
+    list_init(&(queue->wait_head));
+}
+
+void
+wait_queue_add(wait_queue_t *queue, wait_t *wait) {
+    assert(list_empty(&(wait->wait_link)) && wait->proc != NULL);
+    wait->wait_queue = queue;
+    list_add_before(&(queue->wait_head), &(wait->wait_link));
+}
+
+void
+wait_queue_del(wait_queue_t *queue, wait_t *wait) {
+    assert(!list_empty(&(wait->wait_link)) && wait->wait_queue == queue);
+    list_del_init(&(wait->wait_link));
+}
+
+wait_t *
+wait_queue_next(wait_queue_t *queue, wait_t *wait) {
+    assert(!list_empty(&(wait->wait_link)) && wait->wait_queue == queue);
+    list_entry_t *le = list_next(&(wait->wait_link));
+    if (le != &(queue->wait_head)) {
+        return le2wait(le, wait_link);
+    }
+    return NULL;
+}
+
+wait_t *
+wait_queue_prev(wait_queue_t *queue, wait_t *wait) {
+    assert(!list_empty(&(wait->wait_link)) && wait->wait_queue == queue);
+    list_entry_t *le = list_prev(&(wait->wait_link));
+    if (le != &(queue->wait_head)) {
+        return le2wait(le, wait_link);
+    }
+    return NULL;
+}
+
+wait_t *
+wait_queue_first(wait_queue_t *queue) {
+    list_entry_t *le = list_next(&(queue->wait_head));
+    if (le != &(queue->wait_head)) {
+        return le2wait(le, wait_link);
+    }
+    return NULL;
+}
+
+wait_t *
+wait_queue_last(wait_queue_t *queue) {
+    list_entry_t *le = list_prev(&(queue->wait_head));
+    if (le != &(queue->wait_head)) {
+        return le2wait(le, wait_link);
+    }
+    return NULL;
+}
+
+bool
+wait_queue_empty(wait_queue_t *queue) {
+    return list_empty(&(queue->wait_head));
+}
+
+bool
+wait_in_queue(wait_t *wait) {
+    return !list_empty(&(wait->wait_link));
+}
+
+void
+wakeup_wait(wait_queue_t *queue, wait_t *wait, uint32_t wakeup_flags, bool del) {
+    if (del) {
+        wait_queue_del(queue, wait);
+    }
+    wait->wakeup_flags = wakeup_flags;
+    wakeup_proc(wait->proc);
+}
+
+void
+wakeup_first(wait_queue_t *queue, uint32_t wakeup_flags, bool del) {
+    wait_t *wait;
+    if ((wait = wait_queue_first(queue)) != NULL) {
+        wakeup_wait(queue, wait, wakeup_flags, del);
+    }
+}
+
+void
+wakeup_queue(wait_queue_t *queue, uint32_t wakeup_flags, bool del) {
+    wait_t *wait;
+    if ((wait = wait_queue_first(queue)) != NULL) {
+        if (del) {
+            do {
+                wakeup_wait(queue, wait, wakeup_flags, 1);
+            } while ((wait = wait_queue_first(queue)) != NULL);
+        }
+        else {
+            do {
+                wakeup_wait(queue, wait, wakeup_flags, 0);
+            } while ((wait = wait_queue_next(queue, wait)) != NULL);
+        }
+    }
+}
+
+void
+wait_current_set(wait_queue_t *queue, wait_t *wait, uint32_t wait_state) {
+    assert(current != NULL);
+    wait_init(wait, current);
+    current->state = PROC_SLEEPING;
+    current->wait_state = wait_state;
+    wait_queue_add(queue, wait);
+}
+
diff --git a/code/lab8/kern/sync/wait.h b/code/lab8/kern/sync/wait.h
new file mode 100644
index 0000000..46758b7
--- /dev/null
+++ b/code/lab8/kern/sync/wait.h
@@ -0,0 +1,48 @@
+#ifndef __KERN_SYNC_WAIT_H__
+#define __KERN_SYNC_WAIT_H__
+
+#include <list.h>
+
+typedef struct {
+    list_entry_t wait_head;
+} wait_queue_t;
+
+struct proc_struct;
+
+typedef struct {
+    struct proc_struct *proc;
+    uint32_t wakeup_flags;
+    wait_queue_t *wait_queue;
+    list_entry_t wait_link;
+} wait_t;
+
+#define le2wait(le, member)         \
+    to_struct((le), wait_t, member)
+
+void wait_init(wait_t *wait, struct proc_struct *proc);
+void wait_queue_init(wait_queue_t *queue);
+void wait_queue_add(wait_queue_t *queue, wait_t *wait);
+void wait_queue_del(wait_queue_t *queue, wait_t *wait);
+
+wait_t *wait_queue_next(wait_queue_t *queue, wait_t *wait);
+wait_t *wait_queue_prev(wait_queue_t *queue, wait_t *wait);
+wait_t *wait_queue_first(wait_queue_t *queue);
+wait_t *wait_queue_last(wait_queue_t *queue);
+
+bool wait_queue_empty(wait_queue_t *queue);
+bool wait_in_queue(wait_t *wait);
+void wakeup_wait(wait_queue_t *queue, wait_t *wait, uint32_t wakeup_flags, bool del);
+void wakeup_first(wait_queue_t *queue, uint32_t wakeup_flags, bool del);
+void wakeup_queue(wait_queue_t *queue, uint32_t wakeup_flags, bool del);
+
+void wait_current_set(wait_queue_t *queue, wait_t *wait, uint32_t wait_state);
+
+#define wait_current_del(queue, wait)                                       \
+    do {                                                                    \
+        if (wait_in_queue(wait)) {                                          \
+            wait_queue_del(queue, wait);                                    \
+        }                                                                   \
+    } while (0)
+
+#endif /* !__KERN_SYNC_WAIT_H__ */
+
diff --git a/code/lab8/kern/syscall/syscall.c b/code/lab8/kern/syscall/syscall.c
new file mode 100644
index 0000000..673b5eb
--- /dev/null
+++ b/code/lab8/kern/syscall/syscall.c
@@ -0,0 +1,207 @@
+#include <defs.h>
+#include <unistd.h>
+#include <proc.h>
+#include <syscall.h>
+#include <trap.h>
+#include <stdio.h>
+#include <pmm.h>
+#include <assert.h>
+#include <clock.h>
+#include <stat.h>
+#include <dirent.h>
+#include <sysfile.h>
+
+static int
+sys_exit(uint32_t arg[]) {
+    int error_code = (int)arg[0];
+    return do_exit(error_code);
+}
+
+static int
+sys_fork(uint32_t arg[]) {
+    struct trapframe *tf = current->tf;
+    uintptr_t stack = tf->tf_esp;
+    return do_fork(0, stack, tf);
+}
+
+static int
+sys_wait(uint32_t arg[]) {
+    int pid = (int)arg[0];
+    int *store = (int *)arg[1];
+    return do_wait(pid, store);
+}
+
+static int
+sys_exec(uint32_t arg[]) {
+    const char *name = (const char *)arg[0];
+    int argc = (int)arg[1];
+    const char **argv = (const char **)arg[2];
+    return do_execve(name, argc, argv);
+}
+
+static int
+sys_yield(uint32_t arg[]) {
+    return do_yield();
+}
+
+static int
+sys_kill(uint32_t arg[]) {
+    int pid = (int)arg[0];
+    return do_kill(pid);
+}
+
+static int
+sys_getpid(uint32_t arg[]) {
+    return current->pid;
+}
+
+static int
+sys_putc(uint32_t arg[]) {
+    int c = (int)arg[0];
+    cputchar(c);
+    return 0;
+}
+
+static int
+sys_pgdir(uint32_t arg[]) {
+    print_pgdir();
+    return 0;
+}
+
+static uint32_t
+sys_gettime(uint32_t arg[]) {
+    return (int)ticks;
+}
+static uint32_t
+sys_lab6_set_priority(uint32_t arg[])
+{
+    uint32_t priority = (uint32_t)arg[0];
+    lab6_set_priority(priority);
+    return 0;
+}
+
+static int
+sys_sleep(uint32_t arg[]) {
+    unsigned int time = (unsigned int)arg[0];
+    return do_sleep(time);
+}
+
+static int
+sys_open(uint32_t arg[]) {
+    const char *path = (const char *)arg[0];
+    uint32_t open_flags = (uint32_t)arg[1];
+    return sysfile_open(path, open_flags);
+}
+
+static int
+sys_close(uint32_t arg[]) {
+    int fd = (int)arg[0];
+    return sysfile_close(fd);
+}
+
+static int
+sys_read(uint32_t arg[]) {
+    int fd = (int)arg[0];
+    void *base = (void *)arg[1];
+    size_t len = (size_t)arg[2];
+    return sysfile_read(fd, base, len);
+}
+
+static int
+sys_write(uint32_t arg[]) {
+    int fd = (int)arg[0];
+    void *base = (void *)arg[1];
+    size_t len = (size_t)arg[2];
+    return sysfile_write(fd, base, len);
+}
+
+static int
+sys_seek(uint32_t arg[]) {
+    int fd = (int)arg[0];
+    off_t pos = (off_t)arg[1];
+    int whence = (int)arg[2];
+    return sysfile_seek(fd, pos, whence);
+}
+
+static int
+sys_fstat(uint32_t arg[]) {
+    int fd = (int)arg[0];
+    struct stat *stat = (struct stat *)arg[1];
+    return sysfile_fstat(fd, stat);
+}
+
+static int
+sys_fsync(uint32_t arg[]) {
+    int fd = (int)arg[0];
+    return sysfile_fsync(fd);
+}
+
+static int
+sys_getcwd(uint32_t arg[]) {
+    char *buf = (char *)arg[0];
+    size_t len = (size_t)arg[1];
+    return sysfile_getcwd(buf, len);
+}
+
+static int
+sys_getdirentry(uint32_t arg[]) {
+    int fd = (int)arg[0];
+    struct dirent *direntp = (struct dirent *)arg[1];
+    return sysfile_getdirentry(fd, direntp);
+}
+
+static int
+sys_dup(uint32_t arg[]) {
+    int fd1 = (int)arg[0];
+    int fd2 = (int)arg[1];
+    return sysfile_dup(fd1, fd2);
+}
+
+static int (*syscalls[])(uint32_t arg[]) = {
+    [SYS_exit]              sys_exit,
+    [SYS_fork]              sys_fork,
+    [SYS_wait]              sys_wait,
+    [SYS_exec]              sys_exec,
+    [SYS_yield]             sys_yield,
+    [SYS_kill]              sys_kill,
+    [SYS_getpid]            sys_getpid,
+    [SYS_putc]              sys_putc,
+    [SYS_pgdir]             sys_pgdir,
+    [SYS_gettime]           sys_gettime,
+    [SYS_lab6_set_priority] sys_lab6_set_priority,
+    [SYS_sleep]             sys_sleep,
+    [SYS_open]              sys_open,
+    [SYS_close]             sys_close,
+    [SYS_read]              sys_read,
+    [SYS_write]             sys_write,
+    [SYS_seek]              sys_seek,
+    [SYS_fstat]             sys_fstat,
+    [SYS_fsync]             sys_fsync,
+    [SYS_getcwd]            sys_getcwd,
+    [SYS_getdirentry]       sys_getdirentry,
+    [SYS_dup]               sys_dup,
+};
+
+#define NUM_SYSCALLS        ((sizeof(syscalls)) / (sizeof(syscalls[0])))
+
+void
+syscall(void) {
+    struct trapframe *tf = current->tf;
+    uint32_t arg[5];
+    int num = tf->tf_regs.reg_eax;
+    if (num >= 0 && num < NUM_SYSCALLS) {
+        if (syscalls[num] != NULL) {
+            arg[0] = tf->tf_regs.reg_edx;
+            arg[1] = tf->tf_regs.reg_ecx;
+            arg[2] = tf->tf_regs.reg_ebx;
+            arg[3] = tf->tf_regs.reg_edi;
+            arg[4] = tf->tf_regs.reg_esi;
+            tf->tf_regs.reg_eax = syscalls[num](arg);
+            return ;
+        }
+    }
+    print_trapframe(tf);
+    panic("undefined syscall %d, pid = %d, name = %s.\n",
+            num, current->pid, current->name);
+}
+
diff --git a/code/lab8/kern/syscall/syscall.h b/code/lab8/kern/syscall/syscall.h
new file mode 100644
index 0000000..a8fe843
--- /dev/null
+++ b/code/lab8/kern/syscall/syscall.h
@@ -0,0 +1,7 @@
+#ifndef __KERN_SYSCALL_SYSCALL_H__
+#define __KERN_SYSCALL_SYSCALL_H__
+
+void syscall(void);
+
+#endif /* !__KERN_SYSCALL_SYSCALL_H__ */
+
diff --git a/code/lab8/kern/trap/trap.c b/code/lab8/kern/trap/trap.c
new file mode 100644
index 0000000..e8eb143
--- /dev/null
+++ b/code/lab8/kern/trap/trap.c
@@ -0,0 +1,290 @@
+#include <defs.h>
+#include <mmu.h>
+#include <memlayout.h>
+#include <clock.h>
+#include <trap.h>
+#include <x86.h>
+#include <stdio.h>
+#include <assert.h>
+#include <console.h>
+#include <vmm.h>
+#include <swap.h>
+#include <kdebug.h>
+#include <unistd.h>
+#include <syscall.h>
+#include <error.h>
+#include <sched.h>
+#include <sync.h>
+#include <proc.h>
+
+#define TICK_NUM 100
+
+static void print_ticks() {
+    cprintf("%d ticks\n",TICK_NUM);
+#ifdef DEBUG_GRADE
+    cprintf("End of Test.\n");
+    panic("EOT: kernel seems ok.");
+#endif
+}
+
+/* *
+ * Interrupt descriptor table:
+ *
+ * Must be built at run time because shifted function addresses can't
+ * be represented in relocation records.
+ * */
+static struct gatedesc idt[256] = {{0}};
+
+static struct pseudodesc idt_pd = {
+    sizeof(idt) - 1, (uintptr_t)idt
+};
+
+/* idt_init - initialize IDT to each of the entry points in kern/trap/vectors.S */
+void
+idt_init(void) {
+     /* LAB1 YOUR CODE : STEP 2 */
+     /* (1) Where are the entry addrs of each Interrupt Service Routine (ISR)?
+      *     All ISR's entry addrs are stored in __vectors. where is uintptr_t __vectors[] ?
+      *     __vectors[] is in kern/trap/vector.S which is produced by tools/vector.c
+      *     (try "make" command in lab1, then you will find vector.S in kern/trap DIR)
+      *     You can use  "extern uintptr_t __vectors[];" to define this extern variable which will be used later.
+      * (2) Now you should setup the entries of ISR in Interrupt Description Table (IDT).
+      *     Can you see idt[256] in this file? Yes, it's IDT! you can use SETGATE macro to setup each item of IDT
+      * (3) After setup the contents of IDT, you will let CPU know where is the IDT by using 'lidt' instruction.
+      *     You don't know the meaning of this instruction? just google it! and check the libs/x86.h to know more.
+      *     Notice: the argument of lidt is idt_pd. try to find it!
+      */
+     /* LAB5 YOUR CODE */ 
+     //you should update your lab1 code (just add ONE or TWO lines of code), let user app to use syscall to get the service of ucore
+     //so you should setup the syscall interrupt gate in here
+}
+
+static const char *
+trapname(int trapno) {
+    static const char * const excnames[] = {
+        "Divide error",
+        "Debug",
+        "Non-Maskable Interrupt",
+        "Breakpoint",
+        "Overflow",
+        "BOUND Range Exceeded",
+        "Invalid Opcode",
+        "Device Not Available",
+        "Double Fault",
+        "Coprocessor Segment Overrun",
+        "Invalid TSS",
+        "Segment Not Present",
+        "Stack Fault",
+        "General Protection",
+        "Page Fault",
+        "(unknown trap)",
+        "x87 FPU Floating-Point Error",
+        "Alignment Check",
+        "Machine-Check",
+        "SIMD Floating-Point Exception"
+    };
+
+    if (trapno < sizeof(excnames)/sizeof(const char * const)) {
+        return excnames[trapno];
+    }
+    if (trapno >= IRQ_OFFSET && trapno < IRQ_OFFSET + 16) {
+        return "Hardware Interrupt";
+    }
+    return "(unknown trap)";
+}
+
+/* trap_in_kernel - test if trap happened in kernel */
+bool
+trap_in_kernel(struct trapframe *tf) {
+    return (tf->tf_cs == (uint16_t)KERNEL_CS);
+}
+
+static const char *IA32flags[] = {
+    "CF", NULL, "PF", NULL, "AF", NULL, "ZF", "SF",
+    "TF", "IF", "DF", "OF", NULL, NULL, "NT", NULL,
+    "RF", "VM", "AC", "VIF", "VIP", "ID", NULL, NULL,
+};
+
+void
+print_trapframe(struct trapframe *tf) {
+    cprintf("trapframe at %p\n", tf);
+    print_regs(&tf->tf_regs);
+    cprintf("  ds   0x----%04x\n", tf->tf_ds);
+    cprintf("  es   0x----%04x\n", tf->tf_es);
+    cprintf("  fs   0x----%04x\n", tf->tf_fs);
+    cprintf("  gs   0x----%04x\n", tf->tf_gs);
+    cprintf("  trap 0x%08x %s\n", tf->tf_trapno, trapname(tf->tf_trapno));
+    cprintf("  err  0x%08x\n", tf->tf_err);
+    cprintf("  eip  0x%08x\n", tf->tf_eip);
+    cprintf("  cs   0x----%04x\n", tf->tf_cs);
+    cprintf("  flag 0x%08x ", tf->tf_eflags);
+
+    int i, j;
+    for (i = 0, j = 1; i < sizeof(IA32flags) / sizeof(IA32flags[0]); i ++, j <<= 1) {
+        if ((tf->tf_eflags & j) && IA32flags[i] != NULL) {
+            cprintf("%s,", IA32flags[i]);
+        }
+    }
+    cprintf("IOPL=%d\n", (tf->tf_eflags & FL_IOPL_MASK) >> 12);
+
+    if (!trap_in_kernel(tf)) {
+        cprintf("  esp  0x%08x\n", tf->tf_esp);
+        cprintf("  ss   0x----%04x\n", tf->tf_ss);
+    }
+}
+
+void
+print_regs(struct pushregs *regs) {
+    cprintf("  edi  0x%08x\n", regs->reg_edi);
+    cprintf("  esi  0x%08x\n", regs->reg_esi);
+    cprintf("  ebp  0x%08x\n", regs->reg_ebp);
+    cprintf("  oesp 0x%08x\n", regs->reg_oesp);
+    cprintf("  ebx  0x%08x\n", regs->reg_ebx);
+    cprintf("  edx  0x%08x\n", regs->reg_edx);
+    cprintf("  ecx  0x%08x\n", regs->reg_ecx);
+    cprintf("  eax  0x%08x\n", regs->reg_eax);
+}
+
+static inline void
+print_pgfault(struct trapframe *tf) {
+    /* error_code:
+     * bit 0 == 0 means no page found, 1 means protection fault
+     * bit 1 == 0 means read, 1 means write
+     * bit 2 == 0 means kernel, 1 means user
+     * */
+    cprintf("page fault at 0x%08x: %c/%c [%s].\n", rcr2(),
+            (tf->tf_err & 4) ? 'U' : 'K',
+            (tf->tf_err & 2) ? 'W' : 'R',
+            (tf->tf_err & 1) ? "protection fault" : "no page found");
+}
+
+static int
+pgfault_handler(struct trapframe *tf) {
+    extern struct mm_struct *check_mm_struct;
+    if(check_mm_struct !=NULL) { //used for test check_swap
+            print_pgfault(tf);
+        }
+    struct mm_struct *mm;
+    if (check_mm_struct != NULL) {
+        assert(current == idleproc);
+        mm = check_mm_struct;
+    }
+    else {
+        if (current == NULL) {
+            print_trapframe(tf);
+            print_pgfault(tf);
+            panic("unhandled page fault.\n");
+        }
+        mm = current->mm;
+    }
+    return do_pgfault(mm, tf->tf_err, rcr2());
+}
+
+static volatile int in_swap_tick_event = 0;
+extern struct mm_struct *check_mm_struct;
+
+static void
+trap_dispatch(struct trapframe *tf) {
+    char c;
+
+    int ret=0;
+
+    switch (tf->tf_trapno) {
+    case T_PGFLT:  //page fault
+        if ((ret = pgfault_handler(tf)) != 0) {
+            print_trapframe(tf);
+            if (current == NULL) {
+                panic("handle pgfault failed. ret=%d\n", ret);
+            }
+            else {
+                if (trap_in_kernel(tf)) {
+                    panic("handle pgfault failed in kernel mode. ret=%d\n", ret);
+                }
+                cprintf("killed by kernel.\n");
+                panic("handle user mode pgfault failed. ret=%d\n", ret); 
+                do_exit(-E_KILLED);
+            }
+        }
+        break;
+    case T_SYSCALL:
+        syscall();
+        break;
+    case IRQ_OFFSET + IRQ_TIMER:
+#if 0
+    LAB3 : If some page replacement algorithm need tick to change the priority of pages, 
+    then you can add code here. 
+#endif
+        /* LAB1 YOUR CODE : STEP 3 */
+        /* handle the timer interrupt */
+        /* (1) After a timer interrupt, you should record this event using a global variable (increase it), such as ticks in kern/driver/clock.c
+         * (2) Every TICK_NUM cycle, you can print some info using a funciton, such as print_ticks().
+         * (3) Too Simple? Yes, I think so!
+         */
+        /* LAB5 YOUR CODE */
+        /* you should upate you lab1 code (just add ONE or TWO lines of code):
+         *    Every TICK_NUM cycle, you should set current process's current->need_resched = 1
+         */
+  
+        break;
+    case IRQ_OFFSET + IRQ_COM1:
+        c = cons_getc();
+        cprintf("serial [%03d] %c\n", c, c);
+        break;
+    case IRQ_OFFSET + IRQ_KBD:
+        c = cons_getc();
+        cprintf("kbd [%03d] %c\n", c, c);
+        break;
+    //LAB1 CHALLENGE 1 : YOUR CODE you should modify below codes.
+    case T_SWITCH_TOU:
+    case T_SWITCH_TOK:
+        panic("T_SWITCH_** ??\n");
+        break;
+    case IRQ_OFFSET + IRQ_IDE1:
+    case IRQ_OFFSET + IRQ_IDE2:
+        /* do nothing */
+        break;
+    default:
+        print_trapframe(tf);
+        if (current != NULL) {
+            cprintf("unhandled trap.\n");
+            do_exit(-E_KILLED);
+        }
+        // in kernel, it must be a mistake
+        panic("unexpected trap in kernel.\n");
+
+    }
+}
+
+/* *
+ * trap - handles or dispatches an exception/interrupt. if and when trap() returns,
+ * the code in kern/trap/trapentry.S restores the old CPU state saved in the
+ * trapframe and then uses the iret instruction to return from the exception.
+ * */
+void
+trap(struct trapframe *tf) {
+    // dispatch based on what type of trap occurred
+    // used for previous projects
+    if (current == NULL) {
+        trap_dispatch(tf);
+    }
+    else {
+        // keep a trapframe chain in stack
+        struct trapframe *otf = current->tf;
+        current->tf = tf;
+    
+        bool in_kernel = trap_in_kernel(tf);
+    
+        trap_dispatch(tf);
+    
+        current->tf = otf;
+        if (!in_kernel) {
+            if (current->flags & PF_EXITING) {
+                do_exit(-E_KILLED);
+            }
+            if (current->need_resched) {
+                schedule();
+            }
+        }
+    }
+}
+
diff --git a/code/lab8/kern/trap/trap.h b/code/lab8/kern/trap/trap.h
new file mode 100644
index 0000000..e870a6f
--- /dev/null
+++ b/code/lab8/kern/trap/trap.h
@@ -0,0 +1,89 @@
+#ifndef __KERN_TRAP_TRAP_H__
+#define __KERN_TRAP_TRAP_H__
+
+#include <defs.h>
+
+/* Trap Numbers */
+
+/* Processor-defined: */
+#define T_DIVIDE                0   // divide error
+#define T_DEBUG                 1   // debug exception
+#define T_NMI                   2   // non-maskable interrupt
+#define T_BRKPT                 3   // breakpoint
+#define T_OFLOW                 4   // overflow
+#define T_BOUND                 5   // bounds check
+#define T_ILLOP                 6   // illegal opcode
+#define T_DEVICE                7   // device not available
+#define T_DBLFLT                8   // double fault
+// #define T_COPROC             9   // reserved (not used since 486)
+#define T_TSS                   10  // invalid task switch segment
+#define T_SEGNP                 11  // segment not present
+#define T_STACK                 12  // stack exception
+#define T_GPFLT                 13  // general protection fault
+#define T_PGFLT                 14  // page fault
+// #define T_RES                15  // reserved
+#define T_FPERR                 16  // floating point error
+#define T_ALIGN                 17  // aligment check
+#define T_MCHK                  18  // machine check
+#define T_SIMDERR               19  // SIMD floating point error
+
+/* Hardware IRQ numbers. We receive these as (IRQ_OFFSET + IRQ_xx) */
+#define IRQ_OFFSET              32  // IRQ 0 corresponds to int IRQ_OFFSET
+
+#define IRQ_TIMER               0
+#define IRQ_KBD                 1
+#define IRQ_COM1                4
+#define IRQ_IDE1                14
+#define IRQ_IDE2                15
+#define IRQ_ERROR               19
+#define IRQ_SPURIOUS            31
+
+/* *
+ * These are arbitrarily chosen, but with care not to overlap
+ * processor defined exceptions or interrupt vectors.
+ * */
+#define T_SWITCH_TOU                120    // user/kernel switch
+#define T_SWITCH_TOK                121    // user/kernel switch
+
+/* registers as pushed by pushal */
+struct pushregs {
+    uint32_t reg_edi;
+    uint32_t reg_esi;
+    uint32_t reg_ebp;
+    uint32_t reg_oesp;          /* Useless */
+    uint32_t reg_ebx;
+    uint32_t reg_edx;
+    uint32_t reg_ecx;
+    uint32_t reg_eax;
+};
+
+struct trapframe {
+    struct pushregs tf_regs;
+    uint16_t tf_gs;
+    uint16_t tf_padding0;
+    uint16_t tf_fs;
+    uint16_t tf_padding1;
+    uint16_t tf_es;
+    uint16_t tf_padding2;
+    uint16_t tf_ds;
+    uint16_t tf_padding3;
+    uint32_t tf_trapno;
+    /* below here defined by x86 hardware */
+    uint32_t tf_err;
+    uintptr_t tf_eip;
+    uint16_t tf_cs;
+    uint16_t tf_padding4;
+    uint32_t tf_eflags;
+    /* below here only when crossing rings, such as from user to kernel */
+    uintptr_t tf_esp;
+    uint16_t tf_ss;
+    uint16_t tf_padding5;
+} __attribute__((packed));
+
+void idt_init(void);
+void print_trapframe(struct trapframe *tf);
+void print_regs(struct pushregs *regs);
+bool trap_in_kernel(struct trapframe *tf);
+
+#endif /* !__KERN_TRAP_TRAP_H__ */
+
diff --git a/code/lab8/kern/trap/trapentry.S b/code/lab8/kern/trap/trapentry.S
new file mode 100644
index 0000000..3565ec8
--- /dev/null
+++ b/code/lab8/kern/trap/trapentry.S
@@ -0,0 +1,49 @@
+#include <memlayout.h>
+
+# vectors.S sends all traps here.
+.text
+.globl __alltraps
+__alltraps:
+    # push registers to build a trap frame
+    # therefore make the stack look like a struct trapframe
+    pushl %ds
+    pushl %es
+    pushl %fs
+    pushl %gs
+    pushal
+
+    # load GD_KDATA into %ds and %es to set up data segments for kernel
+    movl $GD_KDATA, %eax
+    movw %ax, %ds
+    movw %ax, %es
+
+    # push %esp to pass a pointer to the trapframe as an argument to trap()
+    pushl %esp
+
+    # call trap(tf), where tf=%esp
+    call trap
+
+    # pop the pushed stack pointer
+    popl %esp
+
+    # return falls through to trapret...
+.globl __trapret
+__trapret:
+    # restore registers from stack
+    popal
+
+    # restore %ds, %es, %fs and %gs
+    popl %gs
+    popl %fs
+    popl %es
+    popl %ds
+
+    # get rid of the trap number and error code
+    addl $0x8, %esp
+    iret
+
+.globl forkrets
+forkrets:
+    # set stack to this new process's trapframe
+    movl 4(%esp), %esp
+    jmp __trapret
diff --git a/code/lab8/kern/trap/vectors.S b/code/lab8/kern/trap/vectors.S
new file mode 100644
index 0000000..1d05b4a
--- /dev/null
+++ b/code/lab8/kern/trap/vectors.S
@@ -0,0 +1,1536 @@
+# handler
+.text
+.globl __alltraps
+.globl vector0
+vector0:
+  pushl $0
+  pushl $0
+  jmp __alltraps
+.globl vector1
+vector1:
+  pushl $0
+  pushl $1
+  jmp __alltraps
+.globl vector2
+vector2:
+  pushl $0
+  pushl $2
+  jmp __alltraps
+.globl vector3
+vector3:
+  pushl $0
+  pushl $3
+  jmp __alltraps
+.globl vector4
+vector4:
+  pushl $0
+  pushl $4
+  jmp __alltraps
+.globl vector5
+vector5:
+  pushl $0
+  pushl $5
+  jmp __alltraps
+.globl vector6
+vector6:
+  pushl $0
+  pushl $6
+  jmp __alltraps
+.globl vector7
+vector7:
+  pushl $0
+  pushl $7
+  jmp __alltraps
+.globl vector8
+vector8:
+  pushl $8
+  jmp __alltraps
+.globl vector9
+vector9:
+  pushl $9
+  jmp __alltraps
+.globl vector10
+vector10:
+  pushl $10
+  jmp __alltraps
+.globl vector11
+vector11:
+  pushl $11
+  jmp __alltraps
+.globl vector12
+vector12:
+  pushl $12
+  jmp __alltraps
+.globl vector13
+vector13:
+  pushl $13
+  jmp __alltraps
+.globl vector14
+vector14:
+  pushl $14
+  jmp __alltraps
+.globl vector15
+vector15:
+  pushl $0
+  pushl $15
+  jmp __alltraps
+.globl vector16
+vector16:
+  pushl $0
+  pushl $16
+  jmp __alltraps
+.globl vector17
+vector17:
+  pushl $17
+  jmp __alltraps
+.globl vector18
+vector18:
+  pushl $0
+  pushl $18
+  jmp __alltraps
+.globl vector19
+vector19:
+  pushl $0
+  pushl $19
+  jmp __alltraps
+.globl vector20
+vector20:
+  pushl $0
+  pushl $20
+  jmp __alltraps
+.globl vector21
+vector21:
+  pushl $0
+  pushl $21
+  jmp __alltraps
+.globl vector22
+vector22:
+  pushl $0
+  pushl $22
+  jmp __alltraps
+.globl vector23
+vector23:
+  pushl $0
+  pushl $23
+  jmp __alltraps
+.globl vector24
+vector24:
+  pushl $0
+  pushl $24
+  jmp __alltraps
+.globl vector25
+vector25:
+  pushl $0
+  pushl $25
+  jmp __alltraps
+.globl vector26
+vector26:
+  pushl $0
+  pushl $26
+  jmp __alltraps
+.globl vector27
+vector27:
+  pushl $0
+  pushl $27
+  jmp __alltraps
+.globl vector28
+vector28:
+  pushl $0
+  pushl $28
+  jmp __alltraps
+.globl vector29
+vector29:
+  pushl $0
+  pushl $29
+  jmp __alltraps
+.globl vector30
+vector30:
+  pushl $0
+  pushl $30
+  jmp __alltraps
+.globl vector31
+vector31:
+  pushl $0
+  pushl $31
+  jmp __alltraps
+.globl vector32
+vector32:
+  pushl $0
+  pushl $32
+  jmp __alltraps
+.globl vector33
+vector33:
+  pushl $0
+  pushl $33
+  jmp __alltraps
+.globl vector34
+vector34:
+  pushl $0
+  pushl $34
+  jmp __alltraps
+.globl vector35
+vector35:
+  pushl $0
+  pushl $35
+  jmp __alltraps
+.globl vector36
+vector36:
+  pushl $0
+  pushl $36
+  jmp __alltraps
+.globl vector37
+vector37:
+  pushl $0
+  pushl $37
+  jmp __alltraps
+.globl vector38
+vector38:
+  pushl $0
+  pushl $38
+  jmp __alltraps
+.globl vector39
+vector39:
+  pushl $0
+  pushl $39
+  jmp __alltraps
+.globl vector40
+vector40:
+  pushl $0
+  pushl $40
+  jmp __alltraps
+.globl vector41
+vector41:
+  pushl $0
+  pushl $41
+  jmp __alltraps
+.globl vector42
+vector42:
+  pushl $0
+  pushl $42
+  jmp __alltraps
+.globl vector43
+vector43:
+  pushl $0
+  pushl $43
+  jmp __alltraps
+.globl vector44
+vector44:
+  pushl $0
+  pushl $44
+  jmp __alltraps
+.globl vector45
+vector45:
+  pushl $0
+  pushl $45
+  jmp __alltraps
+.globl vector46
+vector46:
+  pushl $0
+  pushl $46
+  jmp __alltraps
+.globl vector47
+vector47:
+  pushl $0
+  pushl $47
+  jmp __alltraps
+.globl vector48
+vector48:
+  pushl $0
+  pushl $48
+  jmp __alltraps
+.globl vector49
+vector49:
+  pushl $0
+  pushl $49
+  jmp __alltraps
+.globl vector50
+vector50:
+  pushl $0
+  pushl $50
+  jmp __alltraps
+.globl vector51
+vector51:
+  pushl $0
+  pushl $51
+  jmp __alltraps
+.globl vector52
+vector52:
+  pushl $0
+  pushl $52
+  jmp __alltraps
+.globl vector53
+vector53:
+  pushl $0
+  pushl $53
+  jmp __alltraps
+.globl vector54
+vector54:
+  pushl $0
+  pushl $54
+  jmp __alltraps
+.globl vector55
+vector55:
+  pushl $0
+  pushl $55
+  jmp __alltraps
+.globl vector56
+vector56:
+  pushl $0
+  pushl $56
+  jmp __alltraps
+.globl vector57
+vector57:
+  pushl $0
+  pushl $57
+  jmp __alltraps
+.globl vector58
+vector58:
+  pushl $0
+  pushl $58
+  jmp __alltraps
+.globl vector59
+vector59:
+  pushl $0
+  pushl $59
+  jmp __alltraps
+.globl vector60
+vector60:
+  pushl $0
+  pushl $60
+  jmp __alltraps
+.globl vector61
+vector61:
+  pushl $0
+  pushl $61
+  jmp __alltraps
+.globl vector62
+vector62:
+  pushl $0
+  pushl $62
+  jmp __alltraps
+.globl vector63
+vector63:
+  pushl $0
+  pushl $63
+  jmp __alltraps
+.globl vector64
+vector64:
+  pushl $0
+  pushl $64
+  jmp __alltraps
+.globl vector65
+vector65:
+  pushl $0
+  pushl $65
+  jmp __alltraps
+.globl vector66
+vector66:
+  pushl $0
+  pushl $66
+  jmp __alltraps
+.globl vector67
+vector67:
+  pushl $0
+  pushl $67
+  jmp __alltraps
+.globl vector68
+vector68:
+  pushl $0
+  pushl $68
+  jmp __alltraps
+.globl vector69
+vector69:
+  pushl $0
+  pushl $69
+  jmp __alltraps
+.globl vector70
+vector70:
+  pushl $0
+  pushl $70
+  jmp __alltraps
+.globl vector71
+vector71:
+  pushl $0
+  pushl $71
+  jmp __alltraps
+.globl vector72
+vector72:
+  pushl $0
+  pushl $72
+  jmp __alltraps
+.globl vector73
+vector73:
+  pushl $0
+  pushl $73
+  jmp __alltraps
+.globl vector74
+vector74:
+  pushl $0
+  pushl $74
+  jmp __alltraps
+.globl vector75
+vector75:
+  pushl $0
+  pushl $75
+  jmp __alltraps
+.globl vector76
+vector76:
+  pushl $0
+  pushl $76
+  jmp __alltraps
+.globl vector77
+vector77:
+  pushl $0
+  pushl $77
+  jmp __alltraps
+.globl vector78
+vector78:
+  pushl $0
+  pushl $78
+  jmp __alltraps
+.globl vector79
+vector79:
+  pushl $0
+  pushl $79
+  jmp __alltraps
+.globl vector80
+vector80:
+  pushl $0
+  pushl $80
+  jmp __alltraps
+.globl vector81
+vector81:
+  pushl $0
+  pushl $81
+  jmp __alltraps
+.globl vector82
+vector82:
+  pushl $0
+  pushl $82
+  jmp __alltraps
+.globl vector83
+vector83:
+  pushl $0
+  pushl $83
+  jmp __alltraps
+.globl vector84
+vector84:
+  pushl $0
+  pushl $84
+  jmp __alltraps
+.globl vector85
+vector85:
+  pushl $0
+  pushl $85
+  jmp __alltraps
+.globl vector86
+vector86:
+  pushl $0
+  pushl $86
+  jmp __alltraps
+.globl vector87
+vector87:
+  pushl $0
+  pushl $87
+  jmp __alltraps
+.globl vector88
+vector88:
+  pushl $0
+  pushl $88
+  jmp __alltraps
+.globl vector89
+vector89:
+  pushl $0
+  pushl $89
+  jmp __alltraps
+.globl vector90
+vector90:
+  pushl $0
+  pushl $90
+  jmp __alltraps
+.globl vector91
+vector91:
+  pushl $0
+  pushl $91
+  jmp __alltraps
+.globl vector92
+vector92:
+  pushl $0
+  pushl $92
+  jmp __alltraps
+.globl vector93
+vector93:
+  pushl $0
+  pushl $93
+  jmp __alltraps
+.globl vector94
+vector94:
+  pushl $0
+  pushl $94
+  jmp __alltraps
+.globl vector95
+vector95:
+  pushl $0
+  pushl $95
+  jmp __alltraps
+.globl vector96
+vector96:
+  pushl $0
+  pushl $96
+  jmp __alltraps
+.globl vector97
+vector97:
+  pushl $0
+  pushl $97
+  jmp __alltraps
+.globl vector98
+vector98:
+  pushl $0
+  pushl $98
+  jmp __alltraps
+.globl vector99
+vector99:
+  pushl $0
+  pushl $99
+  jmp __alltraps
+.globl vector100
+vector100:
+  pushl $0
+  pushl $100
+  jmp __alltraps
+.globl vector101
+vector101:
+  pushl $0
+  pushl $101
+  jmp __alltraps
+.globl vector102
+vector102:
+  pushl $0
+  pushl $102
+  jmp __alltraps
+.globl vector103
+vector103:
+  pushl $0
+  pushl $103
+  jmp __alltraps
+.globl vector104
+vector104:
+  pushl $0
+  pushl $104
+  jmp __alltraps
+.globl vector105
+vector105:
+  pushl $0
+  pushl $105
+  jmp __alltraps
+.globl vector106
+vector106:
+  pushl $0
+  pushl $106
+  jmp __alltraps
+.globl vector107
+vector107:
+  pushl $0
+  pushl $107
+  jmp __alltraps
+.globl vector108
+vector108:
+  pushl $0
+  pushl $108
+  jmp __alltraps
+.globl vector109
+vector109:
+  pushl $0
+  pushl $109
+  jmp __alltraps
+.globl vector110
+vector110:
+  pushl $0
+  pushl $110
+  jmp __alltraps
+.globl vector111
+vector111:
+  pushl $0
+  pushl $111
+  jmp __alltraps
+.globl vector112
+vector112:
+  pushl $0
+  pushl $112
+  jmp __alltraps
+.globl vector113
+vector113:
+  pushl $0
+  pushl $113
+  jmp __alltraps
+.globl vector114
+vector114:
+  pushl $0
+  pushl $114
+  jmp __alltraps
+.globl vector115
+vector115:
+  pushl $0
+  pushl $115
+  jmp __alltraps
+.globl vector116
+vector116:
+  pushl $0
+  pushl $116
+  jmp __alltraps
+.globl vector117
+vector117:
+  pushl $0
+  pushl $117
+  jmp __alltraps
+.globl vector118
+vector118:
+  pushl $0
+  pushl $118
+  jmp __alltraps
+.globl vector119
+vector119:
+  pushl $0
+  pushl $119
+  jmp __alltraps
+.globl vector120
+vector120:
+  pushl $0
+  pushl $120
+  jmp __alltraps
+.globl vector121
+vector121:
+  pushl $0
+  pushl $121
+  jmp __alltraps
+.globl vector122
+vector122:
+  pushl $0
+  pushl $122
+  jmp __alltraps
+.globl vector123
+vector123:
+  pushl $0
+  pushl $123
+  jmp __alltraps
+.globl vector124
+vector124:
+  pushl $0
+  pushl $124
+  jmp __alltraps
+.globl vector125
+vector125:
+  pushl $0
+  pushl $125
+  jmp __alltraps
+.globl vector126
+vector126:
+  pushl $0
+  pushl $126
+  jmp __alltraps
+.globl vector127
+vector127:
+  pushl $0
+  pushl $127
+  jmp __alltraps
+.globl vector128
+vector128:
+  pushl $0
+  pushl $128
+  jmp __alltraps
+.globl vector129
+vector129:
+  pushl $0
+  pushl $129
+  jmp __alltraps
+.globl vector130
+vector130:
+  pushl $0
+  pushl $130
+  jmp __alltraps
+.globl vector131
+vector131:
+  pushl $0
+  pushl $131
+  jmp __alltraps
+.globl vector132
+vector132:
+  pushl $0
+  pushl $132
+  jmp __alltraps
+.globl vector133
+vector133:
+  pushl $0
+  pushl $133
+  jmp __alltraps
+.globl vector134
+vector134:
+  pushl $0
+  pushl $134
+  jmp __alltraps
+.globl vector135
+vector135:
+  pushl $0
+  pushl $135
+  jmp __alltraps
+.globl vector136
+vector136:
+  pushl $0
+  pushl $136
+  jmp __alltraps
+.globl vector137
+vector137:
+  pushl $0
+  pushl $137
+  jmp __alltraps
+.globl vector138
+vector138:
+  pushl $0
+  pushl $138
+  jmp __alltraps
+.globl vector139
+vector139:
+  pushl $0
+  pushl $139
+  jmp __alltraps
+.globl vector140
+vector140:
+  pushl $0
+  pushl $140
+  jmp __alltraps
+.globl vector141
+vector141:
+  pushl $0
+  pushl $141
+  jmp __alltraps
+.globl vector142
+vector142:
+  pushl $0
+  pushl $142
+  jmp __alltraps
+.globl vector143
+vector143:
+  pushl $0
+  pushl $143
+  jmp __alltraps
+.globl vector144
+vector144:
+  pushl $0
+  pushl $144
+  jmp __alltraps
+.globl vector145
+vector145:
+  pushl $0
+  pushl $145
+  jmp __alltraps
+.globl vector146
+vector146:
+  pushl $0
+  pushl $146
+  jmp __alltraps
+.globl vector147
+vector147:
+  pushl $0
+  pushl $147
+  jmp __alltraps
+.globl vector148
+vector148:
+  pushl $0
+  pushl $148
+  jmp __alltraps
+.globl vector149
+vector149:
+  pushl $0
+  pushl $149
+  jmp __alltraps
+.globl vector150
+vector150:
+  pushl $0
+  pushl $150
+  jmp __alltraps
+.globl vector151
+vector151:
+  pushl $0
+  pushl $151
+  jmp __alltraps
+.globl vector152
+vector152:
+  pushl $0
+  pushl $152
+  jmp __alltraps
+.globl vector153
+vector153:
+  pushl $0
+  pushl $153
+  jmp __alltraps
+.globl vector154
+vector154:
+  pushl $0
+  pushl $154
+  jmp __alltraps
+.globl vector155
+vector155:
+  pushl $0
+  pushl $155
+  jmp __alltraps
+.globl vector156
+vector156:
+  pushl $0
+  pushl $156
+  jmp __alltraps
+.globl vector157
+vector157:
+  pushl $0
+  pushl $157
+  jmp __alltraps
+.globl vector158
+vector158:
+  pushl $0
+  pushl $158
+  jmp __alltraps
+.globl vector159
+vector159:
+  pushl $0
+  pushl $159
+  jmp __alltraps
+.globl vector160
+vector160:
+  pushl $0
+  pushl $160
+  jmp __alltraps
+.globl vector161
+vector161:
+  pushl $0
+  pushl $161
+  jmp __alltraps
+.globl vector162
+vector162:
+  pushl $0
+  pushl $162
+  jmp __alltraps
+.globl vector163
+vector163:
+  pushl $0
+  pushl $163
+  jmp __alltraps
+.globl vector164
+vector164:
+  pushl $0
+  pushl $164
+  jmp __alltraps
+.globl vector165
+vector165:
+  pushl $0
+  pushl $165
+  jmp __alltraps
+.globl vector166
+vector166:
+  pushl $0
+  pushl $166
+  jmp __alltraps
+.globl vector167
+vector167:
+  pushl $0
+  pushl $167
+  jmp __alltraps
+.globl vector168
+vector168:
+  pushl $0
+  pushl $168
+  jmp __alltraps
+.globl vector169
+vector169:
+  pushl $0
+  pushl $169
+  jmp __alltraps
+.globl vector170
+vector170:
+  pushl $0
+  pushl $170
+  jmp __alltraps
+.globl vector171
+vector171:
+  pushl $0
+  pushl $171
+  jmp __alltraps
+.globl vector172
+vector172:
+  pushl $0
+  pushl $172
+  jmp __alltraps
+.globl vector173
+vector173:
+  pushl $0
+  pushl $173
+  jmp __alltraps
+.globl vector174
+vector174:
+  pushl $0
+  pushl $174
+  jmp __alltraps
+.globl vector175
+vector175:
+  pushl $0
+  pushl $175
+  jmp __alltraps
+.globl vector176
+vector176:
+  pushl $0
+  pushl $176
+  jmp __alltraps
+.globl vector177
+vector177:
+  pushl $0
+  pushl $177
+  jmp __alltraps
+.globl vector178
+vector178:
+  pushl $0
+  pushl $178
+  jmp __alltraps
+.globl vector179
+vector179:
+  pushl $0
+  pushl $179
+  jmp __alltraps
+.globl vector180
+vector180:
+  pushl $0
+  pushl $180
+  jmp __alltraps
+.globl vector181
+vector181:
+  pushl $0
+  pushl $181
+  jmp __alltraps
+.globl vector182
+vector182:
+  pushl $0
+  pushl $182
+  jmp __alltraps
+.globl vector183
+vector183:
+  pushl $0
+  pushl $183
+  jmp __alltraps
+.globl vector184
+vector184:
+  pushl $0
+  pushl $184
+  jmp __alltraps
+.globl vector185
+vector185:
+  pushl $0
+  pushl $185
+  jmp __alltraps
+.globl vector186
+vector186:
+  pushl $0
+  pushl $186
+  jmp __alltraps
+.globl vector187
+vector187:
+  pushl $0
+  pushl $187
+  jmp __alltraps
+.globl vector188
+vector188:
+  pushl $0
+  pushl $188
+  jmp __alltraps
+.globl vector189
+vector189:
+  pushl $0
+  pushl $189
+  jmp __alltraps
+.globl vector190
+vector190:
+  pushl $0
+  pushl $190
+  jmp __alltraps
+.globl vector191
+vector191:
+  pushl $0
+  pushl $191
+  jmp __alltraps
+.globl vector192
+vector192:
+  pushl $0
+  pushl $192
+  jmp __alltraps
+.globl vector193
+vector193:
+  pushl $0
+  pushl $193
+  jmp __alltraps
+.globl vector194
+vector194:
+  pushl $0
+  pushl $194
+  jmp __alltraps
+.globl vector195
+vector195:
+  pushl $0
+  pushl $195
+  jmp __alltraps
+.globl vector196
+vector196:
+  pushl $0
+  pushl $196
+  jmp __alltraps
+.globl vector197
+vector197:
+  pushl $0
+  pushl $197
+  jmp __alltraps
+.globl vector198
+vector198:
+  pushl $0
+  pushl $198
+  jmp __alltraps
+.globl vector199
+vector199:
+  pushl $0
+  pushl $199
+  jmp __alltraps
+.globl vector200
+vector200:
+  pushl $0
+  pushl $200
+  jmp __alltraps
+.globl vector201
+vector201:
+  pushl $0
+  pushl $201
+  jmp __alltraps
+.globl vector202
+vector202:
+  pushl $0
+  pushl $202
+  jmp __alltraps
+.globl vector203
+vector203:
+  pushl $0
+  pushl $203
+  jmp __alltraps
+.globl vector204
+vector204:
+  pushl $0
+  pushl $204
+  jmp __alltraps
+.globl vector205
+vector205:
+  pushl $0
+  pushl $205
+  jmp __alltraps
+.globl vector206
+vector206:
+  pushl $0
+  pushl $206
+  jmp __alltraps
+.globl vector207
+vector207:
+  pushl $0
+  pushl $207
+  jmp __alltraps
+.globl vector208
+vector208:
+  pushl $0
+  pushl $208
+  jmp __alltraps
+.globl vector209
+vector209:
+  pushl $0
+  pushl $209
+  jmp __alltraps
+.globl vector210
+vector210:
+  pushl $0
+  pushl $210
+  jmp __alltraps
+.globl vector211
+vector211:
+  pushl $0
+  pushl $211
+  jmp __alltraps
+.globl vector212
+vector212:
+  pushl $0
+  pushl $212
+  jmp __alltraps
+.globl vector213
+vector213:
+  pushl $0
+  pushl $213
+  jmp __alltraps
+.globl vector214
+vector214:
+  pushl $0
+  pushl $214
+  jmp __alltraps
+.globl vector215
+vector215:
+  pushl $0
+  pushl $215
+  jmp __alltraps
+.globl vector216
+vector216:
+  pushl $0
+  pushl $216
+  jmp __alltraps
+.globl vector217
+vector217:
+  pushl $0
+  pushl $217
+  jmp __alltraps
+.globl vector218
+vector218:
+  pushl $0
+  pushl $218
+  jmp __alltraps
+.globl vector219
+vector219:
+  pushl $0
+  pushl $219
+  jmp __alltraps
+.globl vector220
+vector220:
+  pushl $0
+  pushl $220
+  jmp __alltraps
+.globl vector221
+vector221:
+  pushl $0
+  pushl $221
+  jmp __alltraps
+.globl vector222
+vector222:
+  pushl $0
+  pushl $222
+  jmp __alltraps
+.globl vector223
+vector223:
+  pushl $0
+  pushl $223
+  jmp __alltraps
+.globl vector224
+vector224:
+  pushl $0
+  pushl $224
+  jmp __alltraps
+.globl vector225
+vector225:
+  pushl $0
+  pushl $225
+  jmp __alltraps
+.globl vector226
+vector226:
+  pushl $0
+  pushl $226
+  jmp __alltraps
+.globl vector227
+vector227:
+  pushl $0
+  pushl $227
+  jmp __alltraps
+.globl vector228
+vector228:
+  pushl $0
+  pushl $228
+  jmp __alltraps
+.globl vector229
+vector229:
+  pushl $0
+  pushl $229
+  jmp __alltraps
+.globl vector230
+vector230:
+  pushl $0
+  pushl $230
+  jmp __alltraps
+.globl vector231
+vector231:
+  pushl $0
+  pushl $231
+  jmp __alltraps
+.globl vector232
+vector232:
+  pushl $0
+  pushl $232
+  jmp __alltraps
+.globl vector233
+vector233:
+  pushl $0
+  pushl $233
+  jmp __alltraps
+.globl vector234
+vector234:
+  pushl $0
+  pushl $234
+  jmp __alltraps
+.globl vector235
+vector235:
+  pushl $0
+  pushl $235
+  jmp __alltraps
+.globl vector236
+vector236:
+  pushl $0
+  pushl $236
+  jmp __alltraps
+.globl vector237
+vector237:
+  pushl $0
+  pushl $237
+  jmp __alltraps
+.globl vector238
+vector238:
+  pushl $0
+  pushl $238
+  jmp __alltraps
+.globl vector239
+vector239:
+  pushl $0
+  pushl $239
+  jmp __alltraps
+.globl vector240
+vector240:
+  pushl $0
+  pushl $240
+  jmp __alltraps
+.globl vector241
+vector241:
+  pushl $0
+  pushl $241
+  jmp __alltraps
+.globl vector242
+vector242:
+  pushl $0
+  pushl $242
+  jmp __alltraps
+.globl vector243
+vector243:
+  pushl $0
+  pushl $243
+  jmp __alltraps
+.globl vector244
+vector244:
+  pushl $0
+  pushl $244
+  jmp __alltraps
+.globl vector245
+vector245:
+  pushl $0
+  pushl $245
+  jmp __alltraps
+.globl vector246
+vector246:
+  pushl $0
+  pushl $246
+  jmp __alltraps
+.globl vector247
+vector247:
+  pushl $0
+  pushl $247
+  jmp __alltraps
+.globl vector248
+vector248:
+  pushl $0
+  pushl $248
+  jmp __alltraps
+.globl vector249
+vector249:
+  pushl $0
+  pushl $249
+  jmp __alltraps
+.globl vector250
+vector250:
+  pushl $0
+  pushl $250
+  jmp __alltraps
+.globl vector251
+vector251:
+  pushl $0
+  pushl $251
+  jmp __alltraps
+.globl vector252
+vector252:
+  pushl $0
+  pushl $252
+  jmp __alltraps
+.globl vector253
+vector253:
+  pushl $0
+  pushl $253
+  jmp __alltraps
+.globl vector254
+vector254:
+  pushl $0
+  pushl $254
+  jmp __alltraps
+.globl vector255
+vector255:
+  pushl $0
+  pushl $255
+  jmp __alltraps
+
+# vector table
+.data
+.globl __vectors
+__vectors:
+  .long vector0
+  .long vector1
+  .long vector2
+  .long vector3
+  .long vector4
+  .long vector5
+  .long vector6
+  .long vector7
+  .long vector8
+  .long vector9
+  .long vector10
+  .long vector11
+  .long vector12
+  .long vector13
+  .long vector14
+  .long vector15
+  .long vector16
+  .long vector17
+  .long vector18
+  .long vector19
+  .long vector20
+  .long vector21
+  .long vector22
+  .long vector23
+  .long vector24
+  .long vector25
+  .long vector26
+  .long vector27
+  .long vector28
+  .long vector29
+  .long vector30
+  .long vector31
+  .long vector32
+  .long vector33
+  .long vector34
+  .long vector35
+  .long vector36
+  .long vector37
+  .long vector38
+  .long vector39
+  .long vector40
+  .long vector41
+  .long vector42
+  .long vector43
+  .long vector44
+  .long vector45
+  .long vector46
+  .long vector47
+  .long vector48
+  .long vector49
+  .long vector50
+  .long vector51
+  .long vector52
+  .long vector53
+  .long vector54
+  .long vector55
+  .long vector56
+  .long vector57
+  .long vector58
+  .long vector59
+  .long vector60
+  .long vector61
+  .long vector62
+  .long vector63
+  .long vector64
+  .long vector65
+  .long vector66
+  .long vector67
+  .long vector68
+  .long vector69
+  .long vector70
+  .long vector71
+  .long vector72
+  .long vector73
+  .long vector74
+  .long vector75
+  .long vector76
+  .long vector77
+  .long vector78
+  .long vector79
+  .long vector80
+  .long vector81
+  .long vector82
+  .long vector83
+  .long vector84
+  .long vector85
+  .long vector86
+  .long vector87
+  .long vector88
+  .long vector89
+  .long vector90
+  .long vector91
+  .long vector92
+  .long vector93
+  .long vector94
+  .long vector95
+  .long vector96
+  .long vector97
+  .long vector98
+  .long vector99
+  .long vector100
+  .long vector101
+  .long vector102
+  .long vector103
+  .long vector104
+  .long vector105
+  .long vector106
+  .long vector107
+  .long vector108
+  .long vector109
+  .long vector110
+  .long vector111
+  .long vector112
+  .long vector113
+  .long vector114
+  .long vector115
+  .long vector116
+  .long vector117
+  .long vector118
+  .long vector119
+  .long vector120
+  .long vector121
+  .long vector122
+  .long vector123
+  .long vector124
+  .long vector125
+  .long vector126
+  .long vector127
+  .long vector128
+  .long vector129
+  .long vector130
+  .long vector131
+  .long vector132
+  .long vector133
+  .long vector134
+  .long vector135
+  .long vector136
+  .long vector137
+  .long vector138
+  .long vector139
+  .long vector140
+  .long vector141
+  .long vector142
+  .long vector143
+  .long vector144
+  .long vector145
+  .long vector146
+  .long vector147
+  .long vector148
+  .long vector149
+  .long vector150
+  .long vector151
+  .long vector152
+  .long vector153
+  .long vector154
+  .long vector155
+  .long vector156
+  .long vector157
+  .long vector158
+  .long vector159
+  .long vector160
+  .long vector161
+  .long vector162
+  .long vector163
+  .long vector164
+  .long vector165
+  .long vector166
+  .long vector167
+  .long vector168
+  .long vector169
+  .long vector170
+  .long vector171
+  .long vector172
+  .long vector173
+  .long vector174
+  .long vector175
+  .long vector176
+  .long vector177
+  .long vector178
+  .long vector179
+  .long vector180
+  .long vector181
+  .long vector182
+  .long vector183
+  .long vector184
+  .long vector185
+  .long vector186
+  .long vector187
+  .long vector188
+  .long vector189
+  .long vector190
+  .long vector191
+  .long vector192
+  .long vector193
+  .long vector194
+  .long vector195
+  .long vector196
+  .long vector197
+  .long vector198
+  .long vector199
+  .long vector200
+  .long vector201
+  .long vector202
+  .long vector203
+  .long vector204
+  .long vector205
+  .long vector206
+  .long vector207
+  .long vector208
+  .long vector209
+  .long vector210
+  .long vector211
+  .long vector212
+  .long vector213
+  .long vector214
+  .long vector215
+  .long vector216
+  .long vector217
+  .long vector218
+  .long vector219
+  .long vector220
+  .long vector221
+  .long vector222
+  .long vector223
+  .long vector224
+  .long vector225
+  .long vector226
+  .long vector227
+  .long vector228
+  .long vector229
+  .long vector230
+  .long vector231
+  .long vector232
+  .long vector233
+  .long vector234
+  .long vector235
+  .long vector236
+  .long vector237
+  .long vector238
+  .long vector239
+  .long vector240
+  .long vector241
+  .long vector242
+  .long vector243
+  .long vector244
+  .long vector245
+  .long vector246
+  .long vector247
+  .long vector248
+  .long vector249
+  .long vector250
+  .long vector251
+  .long vector252
+  .long vector253
+  .long vector254
+  .long vector255
diff --git a/code/lab8/libs/atomic.h b/code/lab8/libs/atomic.h
new file mode 100644
index 0000000..a3a9525
--- /dev/null
+++ b/code/lab8/libs/atomic.h
@@ -0,0 +1,251 @@
+#ifndef __LIBS_ATOMIC_H__
+#define __LIBS_ATOMIC_H__
+
+/* Atomic operations that C can't guarantee us. Useful for resource counting etc.. */
+
+typedef struct {
+    volatile int counter;
+} atomic_t;
+
+static inline int atomic_read(const atomic_t *v) __attribute__((always_inline));
+static inline void atomic_set(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_add(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_sub(atomic_t *v, int i) __attribute__((always_inline));
+static inline bool atomic_sub_test_zero(atomic_t *v, int i) __attribute__((always_inline));
+static inline void atomic_inc(atomic_t *v) __attribute__((always_inline));
+static inline void atomic_dec(atomic_t *v) __attribute__((always_inline));
+static inline bool atomic_inc_test_zero(atomic_t *v) __attribute__((always_inline));
+static inline bool atomic_dec_test_zero(atomic_t *v) __attribute__((always_inline));
+static inline int atomic_add_return(atomic_t *v, int i) __attribute__((always_inline));
+static inline int atomic_sub_return(atomic_t *v, int i) __attribute__((always_inline));
+
+/* *
+ * atomic_read - read atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically reads the value of @v.
+ * */
+static inline int
+atomic_read(const atomic_t *v) {
+    return v->counter;
+}
+
+/* *
+ * atomic_set - set atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  required value
+ *
+ * Atomically sets the value of @v to @i.
+ * */
+static inline void
+atomic_set(atomic_t *v, int i) {
+    v->counter = i;
+}
+
+/* *
+ * atomic_add - add integer to atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to add
+ *
+ * Atomically adds @i to @v.
+ * */
+static inline void
+atomic_add(atomic_t *v, int i) {
+    asm volatile ("addl %1, %0" : "+m" (v->counter) : "ir" (i));
+}
+
+/* *
+ * atomic_sub - subtract integer from atomic variable
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v.
+ * */
+static inline void
+atomic_sub(atomic_t *v, int i) {
+    asm volatile("subl %1, %0" : "+m" (v->counter) : "ir" (i));
+}
+
+/* *
+ * atomic_sub_test_zero - subtract value from variable and test result
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v and
+ * returns true if the result is zero, or false for all other cases.
+ * */
+static inline bool
+atomic_sub_test_zero(atomic_t *v, int i) {
+    unsigned char c;
+    asm volatile("subl %2, %0; sete %1" : "+m" (v->counter), "=qm" (c) : "ir" (i) : "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_inc - increment atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically increments @v by 1.
+ * */
+static inline void
+atomic_inc(atomic_t *v) {
+    asm volatile("incl %0" : "+m" (v->counter));
+}
+
+/* *
+ * atomic_dec - decrement atomic variable
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically decrements @v by 1.
+ * */
+static inline void
+atomic_dec(atomic_t *v) {
+    asm volatile("decl %0" : "+m" (v->counter));
+}
+
+/* *
+ * atomic_inc_test_zero - increment and test
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically increments @v by 1 and
+ * returns true if the result is zero, or false for all other cases.
+ * */
+static inline bool
+atomic_inc_test_zero(atomic_t *v) {
+    unsigned char c;
+    asm volatile("incl %0; sete %1" : "+m" (v->counter), "=qm" (c) :: "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_dec_test_zero - decrement and test
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically decrements @v by 1 and
+ * returns true if the result is 0, or false for all other cases.
+ * */
+static inline bool
+atomic_dec_test_zero(atomic_t *v) {
+    unsigned char c;
+    asm volatile("decl %0; sete %1" : "+m" (v->counter), "=qm" (c) :: "memory");
+    return c != 0;
+}
+
+/* *
+ * atomic_add_return - add integer and return
+ * @i:  integer value to add
+ * @v:  pointer of type atomic_t
+ *
+ * Atomically adds @i to @v and returns @i + @v
+ * Requires Modern 486+ processor
+ * */
+static inline int
+atomic_add_return(atomic_t *v, int i) {
+    int __i = i;
+    asm volatile("xaddl %0, %1" : "+r" (i), "+m" (v->counter) :: "memory");
+    return i + __i;
+}
+
+/* *
+ * atomic_sub_return - subtract integer and return
+ * @v:  pointer of type atomic_t
+ * @i:  integer value to subtract
+ *
+ * Atomically subtracts @i from @v and returns @v - @i
+ * */
+static inline int
+atomic_sub_return(atomic_t *v, int i) {
+    return atomic_add_return(v, -i);
+}
+
+static inline void set_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline void clear_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline void change_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_set_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_clear_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_and_change_bit(int nr, volatile void *addr) __attribute__((always_inline));
+static inline bool test_bit(int nr, volatile void *addr) __attribute__((always_inline));
+
+/* *
+ * set_bit - Atomically set a bit in memory
+ * @nr:     the bit to set
+ * @addr:   the address to start counting from
+ *
+ * Note that @nr may be almost arbitrarily large; this function is not
+ * restricted to acting on a single-word quantity.
+ * */
+static inline void
+set_bit(int nr, volatile void *addr) {
+    asm volatile ("btsl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * clear_bit - Atomically clears a bit in memory
+ * @nr:     the bit to clear
+ * @addr:   the address to start counting from
+ * */
+static inline void
+clear_bit(int nr, volatile void *addr) {
+    asm volatile ("btrl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * change_bit - Atomically toggle a bit in memory
+ * @nr:     the bit to change
+ * @addr:   the address to start counting from
+ * */
+static inline void
+change_bit(int nr, volatile void *addr) {
+    asm volatile ("btcl %1, %0" :"=m" (*(volatile long *)addr) : "Ir" (nr));
+}
+
+/* *
+ * test_and_set_bit - Atomically set a bit and return its old value
+ * @nr:     the bit to set
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_set_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btsl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_and_clear_bit - Atomically clear a bit and return its old value
+ * @nr:     the bit to clear
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_clear_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btrl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_and_change_bit - Atomically change a bit and return its old value
+ * @nr:     the bit to change
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_and_change_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btcl %2, %1; sbbl %0, %0" : "=r" (oldbit), "=m" (*(volatile long *)addr) : "Ir" (nr) : "memory");
+    return oldbit != 0;
+}
+
+/* *
+ * test_bit - Determine whether a bit is set
+ * @nr:     the bit to test
+ * @addr:   the address to count from
+ * */
+static inline bool
+test_bit(int nr, volatile void *addr) {
+    int oldbit;
+    asm volatile ("btl %2, %1; sbbl %0,%0" : "=r" (oldbit) : "m" (*(volatile long *)addr), "Ir" (nr));
+    return oldbit != 0;
+}
+
+#endif /* !__LIBS_ATOMIC_H__ */
+
diff --git a/code/lab8/libs/defs.h b/code/lab8/libs/defs.h
new file mode 100644
index 0000000..26b7eb2
--- /dev/null
+++ b/code/lab8/libs/defs.h
@@ -0,0 +1,79 @@
+#ifndef __LIBS_DEFS_H__
+#define __LIBS_DEFS_H__
+
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+#define __always_inline inline __attribute__((always_inline))
+#define __noinline __attribute__((noinline))
+#define __noreturn __attribute__((noreturn))
+
+#define CHAR_BIT        8
+
+/* Represents true-or-false values */
+typedef int bool;
+
+/* Explicitly-sized versions of integer types */
+typedef char int8_t;
+typedef unsigned char uint8_t;
+typedef short int16_t;
+typedef unsigned short uint16_t;
+typedef int int32_t;
+typedef unsigned int uint32_t;
+typedef long long int64_t;
+typedef unsigned long long uint64_t;
+
+/* *
+ * Pointers and addresses are 32 bits long.
+ * We use pointer types to represent addresses,
+ * uintptr_t to represent the numerical values of addresses.
+ * */
+typedef int32_t intptr_t;
+typedef uint32_t uintptr_t;
+
+/* size_t is used for memory object sizes */
+typedef uintptr_t size_t;
+
+/* off_t is used for file offsets and lengths */
+typedef intptr_t off_t;
+
+/* used for page numbers */
+typedef size_t ppn_t;
+
+/* *
+ * Rounding operations (efficient when n is a power of 2)
+ * Round down to the nearest multiple of n
+ * */
+#define ROUNDDOWN(a, n) ({                                          \
+            size_t __a = (size_t)(a);                               \
+            (typeof(a))(__a - __a % (n));                           \
+        })
+
+/* Round up to the nearest multiple of n */
+#define ROUNDUP(a, n) ({                                            \
+            size_t __n = (size_t)(n);                               \
+            (typeof(a))(ROUNDDOWN((size_t)(a) + __n - 1, __n));     \
+        })
+
+/* Round up the result of dividing of n */
+#define ROUNDUP_DIV(a, n) ({                                        \
+uint32_t __n = (uint32_t)(n);                           \
+(typeof(a))(((a) + __n - 1) / __n);                     \
+})
+
+/* Return the offset of 'member' relative to the beginning of a struct type */
+#define offsetof(type, member)                                      \
+    ((size_t)(&((type *)0)->member))
+
+/* *
+ * to_struct - get the struct from a ptr
+ * @ptr:    a struct pointer of member
+ * @type:   the type of the struct this is embedded in
+ * @member: the name of the member within the struct
+ * */
+#define to_struct(ptr, type, member)                               \
+    ((type *)((char *)(ptr) - offsetof(type, member)))
+
+#endif /* !__LIBS_DEFS_H__ */
+
diff --git a/code/lab8/libs/dirent.h b/code/lab8/libs/dirent.h
new file mode 100644
index 0000000..429e4fe
--- /dev/null
+++ b/code/lab8/libs/dirent.h
@@ -0,0 +1,13 @@
+#ifndef __LIBS_DIRENT_H__
+#define __LIBS_DIRENT_H__
+
+#include <defs.h>
+#include <unistd.h>
+
+struct dirent {
+    off_t offset;
+    char name[FS_MAX_FNAME_LEN + 1];
+};
+
+#endif /* !__LIBS_DIRENT_H__ */
+
diff --git a/code/lab8/libs/elf.h b/code/lab8/libs/elf.h
new file mode 100644
index 0000000..8678f10
--- /dev/null
+++ b/code/lab8/libs/elf.h
@@ -0,0 +1,48 @@
+#ifndef __LIBS_ELF_H__
+#define __LIBS_ELF_H__
+
+#include <defs.h>
+
+#define ELF_MAGIC   0x464C457FU         // "\x7FELF" in little endian
+
+/* file header */
+struct elfhdr {
+    uint32_t e_magic;     // must equal ELF_MAGIC
+    uint8_t e_elf[12];
+    uint16_t e_type;      // 1=relocatable, 2=executable, 3=shared object, 4=core image
+    uint16_t e_machine;   // 3=x86, 4=68K, etc.
+    uint32_t e_version;   // file version, always 1
+    uint32_t e_entry;     // entry point if executable
+    uint32_t e_phoff;     // file position of program header or 0
+    uint32_t e_shoff;     // file position of section header or 0
+    uint32_t e_flags;     // architecture-specific flags, usually 0
+    uint16_t e_ehsize;    // size of this elf header
+    uint16_t e_phentsize; // size of an entry in program header
+    uint16_t e_phnum;     // number of entries in program header or 0
+    uint16_t e_shentsize; // size of an entry in section header
+    uint16_t e_shnum;     // number of entries in section header or 0
+    uint16_t e_shstrndx;  // section number that contains section name strings
+};
+
+/* program section header */
+struct proghdr {
+    uint32_t p_type;   // loadable code or data, dynamic linking info,etc.
+    uint32_t p_offset; // file offset of segment
+    uint32_t p_va;     // virtual address to map segment
+    uint32_t p_pa;     // physical address, not used
+    uint32_t p_filesz; // size of segment in file
+    uint32_t p_memsz;  // size of segment in memory (bigger if contains bss)
+    uint32_t p_flags;  // read/write/execute bits
+    uint32_t p_align;  // required alignment, invariably hardware page size
+};
+
+/* values for Proghdr::p_type */
+#define ELF_PT_LOAD                     1
+
+/* flag bits for Proghdr::p_flags */
+#define ELF_PF_X                        1
+#define ELF_PF_W                        2
+#define ELF_PF_R                        4
+
+#endif /* !__LIBS_ELF_H__ */
+
diff --git a/code/lab8/libs/error.h b/code/lab8/libs/error.h
new file mode 100644
index 0000000..ddad593
--- /dev/null
+++ b/code/lab8/libs/error.h
@@ -0,0 +1,33 @@
+#ifndef __LIBS_ERROR_H__
+#define __LIBS_ERROR_H__
+
+/* kernel error codes -- keep in sync with list in lib/printfmt.c */
+#define E_UNSPECIFIED       1   // Unspecified or unknown problem
+#define E_BAD_PROC          2   // Process doesn't exist or otherwise
+#define E_INVAL             3   // Invalid parameter
+#define E_NO_MEM            4   // Request failed due to memory shortage
+#define E_NO_FREE_PROC      5   // Attempt to create a new process beyond
+#define E_FAULT             6   // Memory fault
+#define E_SWAP_FAULT        7   // SWAP READ/WRITE fault
+#define E_INVAL_ELF         8   // Invalid elf file
+#define E_KILLED            9   // Process is killed
+#define E_PANIC             10  // Panic Failure
+#define E_TIMEOUT           11  // Timeout
+#define E_TOO_BIG           12  // Argument is Too Big
+#define E_NO_DEV            13  // No such Device
+#define E_NA_DEV            14  // Device Not Available
+#define E_BUSY              15  // Device/File is Busy
+#define E_NOENT             16  // No Such File or Directory
+#define E_ISDIR             17  // Is a Directory
+#define E_NOTDIR            18  // Not a Directory
+#define E_XDEV              19  // Cross Device-Link
+#define E_UNIMP             20  // Unimplemented Feature
+#define E_SEEK              21  // Illegal Seek
+#define E_MAX_OPEN          22  // Too Many Files are Open
+#define E_EXISTS            23  // File/Directory Already Exists
+#define E_NOTEMPTY          24  // Directory is Not Empty
+/* the maximum allowed */
+#define MAXERROR            24
+
+#endif /* !__LIBS_ERROR_H__ */
+
diff --git a/code/lab8/libs/hash.c b/code/lab8/libs/hash.c
new file mode 100644
index 0000000..61bcd88
--- /dev/null
+++ b/code/lab8/libs/hash.c
@@ -0,0 +1,18 @@
+#include <stdlib.h>
+
+/* 2^31 + 2^29 - 2^25 + 2^22 - 2^19 - 2^16 + 1 */
+#define GOLDEN_RATIO_PRIME_32       0x9e370001UL
+
+/* *
+ * hash32 - generate a hash value in the range [0, 2^@bits - 1]
+ * @val:    the input value
+ * @bits:   the number of bits in a return value
+ *
+ * High bits are more random, so we use them.
+ * */
+uint32_t
+hash32(uint32_t val, unsigned int bits) {
+    uint32_t hash = val * GOLDEN_RATIO_PRIME_32;
+    return (hash >> (32 - bits));
+}
+
diff --git a/code/lab8/libs/list.h b/code/lab8/libs/list.h
new file mode 100644
index 0000000..3dbf772
--- /dev/null
+++ b/code/lab8/libs/list.h
@@ -0,0 +1,163 @@
+#ifndef __LIBS_LIST_H__
+#define __LIBS_LIST_H__
+
+#ifndef __ASSEMBLER__
+
+#include <defs.h>
+
+/* *
+ * Simple doubly linked list implementation.
+ *
+ * Some of the internal functions ("__xxx") are useful when manipulating
+ * whole lists rather than single entries, as sometimes we already know
+ * the next/prev entries and we can generate better code by using them
+ * directly rather than using the generic single-entry routines.
+ * */
+
+struct list_entry {
+    struct list_entry *prev, *next;
+};
+
+typedef struct list_entry list_entry_t;
+
+static inline void list_init(list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add_before(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_add_after(list_entry_t *listelm, list_entry_t *elm) __attribute__((always_inline));
+static inline void list_del(list_entry_t *listelm) __attribute__((always_inline));
+static inline void list_del_init(list_entry_t *listelm) __attribute__((always_inline));
+static inline bool list_empty(list_entry_t *list) __attribute__((always_inline));
+static inline list_entry_t *list_next(list_entry_t *listelm) __attribute__((always_inline));
+static inline list_entry_t *list_prev(list_entry_t *listelm) __attribute__((always_inline));
+
+static inline void __list_add(list_entry_t *elm, list_entry_t *prev, list_entry_t *next) __attribute__((always_inline));
+static inline void __list_del(list_entry_t *prev, list_entry_t *next) __attribute__((always_inline));
+
+/* *
+ * list_init - initialize a new entry
+ * @elm:        new entry to be initialized
+ * */
+static inline void
+list_init(list_entry_t *elm) {
+    elm->prev = elm->next = elm;
+}
+
+/* *
+ * list_add - add a new entry
+ * @listelm:    list head to add after
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *after* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add(list_entry_t *listelm, list_entry_t *elm) {
+    list_add_after(listelm, elm);
+}
+
+/* *
+ * list_add_before - add a new entry
+ * @listelm:    list head to add before
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *before* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add_before(list_entry_t *listelm, list_entry_t *elm) {
+    __list_add(elm, listelm->prev, listelm);
+}
+
+/* *
+ * list_add_after - add a new entry
+ * @listelm:    list head to add after
+ * @elm:        new entry to be added
+ *
+ * Insert the new element @elm *after* the element @listelm which
+ * is already in the list.
+ * */
+static inline void
+list_add_after(list_entry_t *listelm, list_entry_t *elm) {
+    __list_add(elm, listelm, listelm->next);
+}
+
+/* *
+ * list_del - deletes entry from list
+ * @listelm:    the element to delete from the list
+ *
+ * Note: list_empty() on @listelm does not return true after this, the entry is
+ * in an undefined state.
+ * */
+static inline void
+list_del(list_entry_t *listelm) {
+    __list_del(listelm->prev, listelm->next);
+}
+
+/* *
+ * list_del_init - deletes entry from list and reinitialize it.
+ * @listelm:    the element to delete from the list.
+ *
+ * Note: list_empty() on @listelm returns true after this.
+ * */
+static inline void
+list_del_init(list_entry_t *listelm) {
+    list_del(listelm);
+    list_init(listelm);
+}
+
+/* *
+ * list_empty - tests whether a list is empty
+ * @list:       the list to test.
+ * */
+static inline bool
+list_empty(list_entry_t *list) {
+    return list->next == list;
+}
+
+/* *
+ * list_next - get the next entry
+ * @listelm:    the list head
+ **/
+static inline list_entry_t *
+list_next(list_entry_t *listelm) {
+    return listelm->next;
+}
+
+/* *
+ * list_prev - get the previous entry
+ * @listelm:    the list head
+ **/
+static inline list_entry_t *
+list_prev(list_entry_t *listelm) {
+    return listelm->prev;
+}
+
+/* *
+ * Insert a new entry between two known consecutive entries.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ * */
+static inline void
+__list_add(list_entry_t *elm, list_entry_t *prev, list_entry_t *next) {
+    prev->next = next->prev = elm;
+    elm->next = next;
+    elm->prev = prev;
+}
+
+/* *
+ * Delete a list entry by making the prev/next entries point to each other.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ * */
+static inline void
+__list_del(list_entry_t *prev, list_entry_t *next) {
+    prev->next = next;
+    next->prev = prev;
+}
+
+#endif /* !__ASSEMBLER__ */
+
+#endif /* !__LIBS_LIST_H__ */
+
diff --git a/code/lab8/libs/printfmt.c b/code/lab8/libs/printfmt.c
new file mode 100644
index 0000000..888690a
--- /dev/null
+++ b/code/lab8/libs/printfmt.c
@@ -0,0 +1,359 @@
+#include <defs.h>
+#include <x86.h>
+#include <error.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+/* *
+ * Space or zero padding and a field width are supported for the numeric
+ * formats only.
+ *
+ * The special format %e takes an integer error code
+ * and prints a string describing the error.
+ * The integer may be positive or negative,
+ * so that -E_NO_MEM and E_NO_MEM are equivalent.
+ * */
+
+static const char * const error_string[MAXERROR + 1] = {
+    [0]                     NULL,
+    [E_UNSPECIFIED]         "unspecified error",
+    [E_BAD_PROC]            "bad process",
+    [E_INVAL]               "invalid parameter",
+    [E_NO_MEM]              "out of memory",
+    [E_NO_FREE_PROC]        "out of processes",
+    [E_FAULT]               "segmentation fault",
+    [E_INVAL_ELF]           "invalid elf file",
+    [E_KILLED]              "process is killed",
+    [E_PANIC]               "panic failure",
+    [E_NO_DEV]              "no such device",
+    [E_NA_DEV]              "device not available",
+    [E_BUSY]                "device/file is busy",
+    [E_NOENT]               "no such file or directory",
+    [E_ISDIR]               "is a directory",
+    [E_NOTDIR]              "not a directory",
+    [E_XDEV]                "cross device link",
+    [E_UNIMP]               "unimplemented feature",
+    [E_SEEK]                "illegal seek",
+    [E_MAX_OPEN]            "too many files are open",
+    [E_EXISTS]              "file or directory already exists",
+    [E_NOTEMPTY]            "directory is not empty",
+};
+
+/* *
+ * printnum - print a number (base <= 16) in reverse order
+ * @putch:      specified putch function, print a single character
+ * @fd:         file descriptor
+ * @putdat:     used by @putch function
+ * @num:        the number will be printed
+ * @base:       base for print, must be in [1, 16]
+ * @width:      maximum number of digits, if the actual width is less than @width, use @padc instead
+ * @padc:       character that padded on the left if the actual width is less than @width
+ * */
+static void
+printnum(void (*putch)(int, void*, int), int fd, void *putdat,
+        unsigned long long num, unsigned base, int width, int padc) {
+    unsigned long long result = num;
+    unsigned mod = do_div(result, base);
+
+    // first recursively print all preceding (more significant) digits
+    if (num >= base) {
+        printnum(putch, fd, putdat, result, base, width - 1, padc);
+    } else {
+        // print any needed pad characters before first digit
+        while (-- width > 0)
+            putch(padc, putdat, fd);
+    }
+    // then print this (the least significant) digit
+    putch("0123456789abcdef"[mod], putdat, fd);
+}
+
+/* *
+ * getuint - get an unsigned int of various possible sizes from a varargs list
+ * @ap:         a varargs list pointer
+ * @lflag:      determines the size of the vararg that @ap points to
+ * */
+static unsigned long long
+getuint(va_list *ap, int lflag) {
+    if (lflag >= 2) {
+        return va_arg(*ap, unsigned long long);
+    }
+    else if (lflag) {
+        return va_arg(*ap, unsigned long);
+    }
+    else {
+        return va_arg(*ap, unsigned int);
+    }
+}
+
+/* *
+ * getint - same as getuint but signed, we can't use getuint because of sign extension
+ * @ap:         a varargs list pointer
+ * @lflag:      determines the size of the vararg that @ap points to
+ * */
+static long long
+getint(va_list *ap, int lflag) {
+    if (lflag >= 2) {
+        return va_arg(*ap, long long);
+    }
+    else if (lflag) {
+        return va_arg(*ap, long);
+    }
+    else {
+        return va_arg(*ap, int);
+    }
+}
+
+/* *
+ * printfmt - format a string and print it by using putch
+ * @putch:      specified putch function, print a single character
+ * @fd:         file descriptor
+ * @putdat:     used by @putch function
+ * @fmt:        the format string to use
+ * */
+void
+printfmt(void (*putch)(int, void*, int), int fd, void *putdat, const char *fmt, ...) {
+    va_list ap;
+
+    va_start(ap, fmt);
+    vprintfmt(putch, fd, putdat, fmt, ap);
+    va_end(ap);
+}
+
+/* *
+ * vprintfmt - format a string and print it by using putch, it's called with a va_list
+ * instead of a variable number of arguments
+ * @fd:         file descriptor
+ * @putch:      specified putch function, print a single character
+ * @putdat:     used by @putch function
+ * @fmt:        the format string to use
+ * @ap:         arguments for the format string
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want printfmt() instead.
+ * */
+void
+vprintfmt(void (*putch)(int, void*, int), int fd, void *putdat, const char *fmt, va_list ap) {
+    register const char *p;
+    register int ch, err;
+    unsigned long long num;
+    int base, width, precision, lflag, altflag;
+
+    while (1) {
+        while ((ch = *(unsigned char *)fmt ++) != '%') {
+            if (ch == '\0') {
+                return;
+            }
+            putch(ch, putdat, fd);
+        }
+
+        // Process a %-escape sequence
+        char padc = ' ';
+        width = precision = -1;
+        lflag = altflag = 0;
+
+    reswitch:
+        switch (ch = *(unsigned char *)fmt ++) {
+
+        // flag to pad on the right
+        case '-':
+            padc = '-';
+            goto reswitch;
+
+        // flag to pad with 0's instead of spaces
+        case '0':
+            padc = '0';
+            goto reswitch;
+
+        // width field
+        case '1' ... '9':
+            for (precision = 0; ; ++ fmt) {
+                precision = precision * 10 + ch - '0';
+                ch = *fmt;
+                if (ch < '0' || ch > '9') {
+                    break;
+                }
+            }
+            goto process_precision;
+
+        case '*':
+            precision = va_arg(ap, int);
+            goto process_precision;
+
+        case '.':
+            if (width < 0)
+                width = 0;
+            goto reswitch;
+
+        case '#':
+            altflag = 1;
+            goto reswitch;
+
+        process_precision:
+            if (width < 0)
+                width = precision, precision = -1;
+            goto reswitch;
+
+        // long flag (doubled for long long)
+        case 'l':
+            lflag ++;
+            goto reswitch;
+
+        // character
+        case 'c':
+            putch(va_arg(ap, int), putdat, fd);
+            break;
+
+        // error message
+        case 'e':
+            err = va_arg(ap, int);
+            if (err < 0) {
+                err = -err;
+            }
+            if (err > MAXERROR || (p = error_string[err]) == NULL) {
+                printfmt(putch, fd, putdat, "error %d", err);
+            }
+            else {
+                printfmt(putch, fd, putdat, "%s", p);
+            }
+            break;
+
+        // string
+        case 's':
+            if ((p = va_arg(ap, char *)) == NULL) {
+                p = "(null)";
+            }
+            if (width > 0 && padc != '-') {
+                for (width -= strnlen(p, precision); width > 0; width --) {
+                    putch(padc, putdat, fd);
+                }
+            }
+            for (; (ch = *p ++) != '\0' && (precision < 0 || -- precision >= 0); width --) {
+                if (altflag && (ch < ' ' || ch > '~')) {
+                    putch('?', putdat, fd);
+                }
+                else {
+                    putch(ch, putdat, fd);
+                }
+            }
+            for (; width > 0; width --) {
+                putch(' ', putdat, fd);
+            }
+            break;
+
+        // (signed) decimal
+        case 'd':
+            num = getint(&ap, lflag);
+            if ((long long)num < 0) {
+                putch('-', putdat, fd);
+                num = -(long long)num;
+            }
+            base = 10;
+            goto number;
+
+        // unsigned decimal
+        case 'u':
+            num = getuint(&ap, lflag);
+            base = 10;
+            goto number;
+
+        // (unsigned) octal
+        case 'o':
+            num = getuint(&ap, lflag);
+            base = 8;
+            goto number;
+
+        // pointer
+        case 'p':
+            putch('0', putdat, fd);
+            putch('x', putdat, fd);
+            num = (unsigned long long)(uintptr_t)va_arg(ap, void *);
+            base = 16;
+            goto number;
+
+        // (unsigned) hexadecimal
+        case 'x':
+            num = getuint(&ap, lflag);
+            base = 16;
+        number:
+            printnum(putch, fd, putdat, num, base, width, padc);
+            break;
+
+        // escaped '%' character
+        case '%':
+            putch(ch, putdat, fd);
+            break;
+
+        // unrecognized escape sequence - just print it literally
+        default:
+            putch('%', putdat, fd);
+            for (fmt --; fmt[-1] != '%'; fmt --)
+                /* do nothing */;
+            break;
+        }
+    }
+}
+
+/* sprintbuf is used to save enough information of a buffer */
+struct sprintbuf {
+    char *buf;          // address pointer points to the first unused memory
+    char *ebuf;         // points the end of the buffer
+    int cnt;            // the number of characters that have been placed in this buffer
+};
+
+/* *
+ * sprintputch - 'print' a single character in a buffer
+ * @ch:         the character will be printed
+ * @b:          the buffer to place the character @ch
+ * */
+static void
+sprintputch(int ch, struct sprintbuf *b) {
+    b->cnt ++;
+    if (b->buf < b->ebuf) {
+        *b->buf ++ = ch;
+    }
+}
+
+/* *
+ * snprintf - format a string and place it in a buffer
+ * @str:        the buffer to place the result into
+ * @size:       the size of buffer, including the trailing null space
+ * @fmt:        the format string to use
+ * */
+int
+snprintf(char *str, size_t size, const char *fmt, ...) {
+    va_list ap;
+    int cnt;
+    va_start(ap, fmt);
+    cnt = vsnprintf(str, size, fmt, ap);
+    va_end(ap);
+    return cnt;
+}
+
+/* *
+ * vsnprintf - format a string and place it in a buffer, it's called with a va_list
+ * instead of a variable number of arguments
+ * @str:        the buffer to place the result into
+ * @size:       the size of buffer, including the trailing null space
+ * @fmt:        the format string to use
+ * @ap:         arguments for the format string
+ *
+ * The return value is the number of characters which would be generated for the
+ * given input, excluding the trailing '\0'.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want snprintf() instead.
+ * */
+int
+vsnprintf(char *str, size_t size, const char *fmt, va_list ap) {
+    struct sprintbuf b = {str, str + size - 1, 0};
+    if (str == NULL || b.buf > b.ebuf) {
+        return -E_INVAL;
+    }
+    // print the string to the buffer
+    vprintfmt((void*)sprintputch, NO_FD, &b, fmt, ap);
+    // null terminate the buffer
+    *b.buf = '\0';
+    return b.cnt;
+}
+
diff --git a/code/lab8/libs/rand.c b/code/lab8/libs/rand.c
new file mode 100644
index 0000000..2a2c4e7
--- /dev/null
+++ b/code/lab8/libs/rand.c
@@ -0,0 +1,26 @@
+#include <x86.h>
+#include <stdlib.h>
+
+static unsigned long long next = 1;
+
+/* *
+ * rand - returns a pseudo-random integer
+ *
+ * The rand() function return a value in the range [0, RAND_MAX].
+ * */
+int
+rand(void) {
+    next = (next * 0x5DEECE66DLL + 0xBLL) & ((1LL << 48) - 1);
+    unsigned long long result = (next >> 12);
+    return (int)do_div(result, RAND_MAX + 1);
+}
+
+/* *
+ * srand - seed the random number generator with the given number
+ * @seed:   the required seed number
+ * */
+void
+srand(unsigned int seed) {
+    next = seed;
+}
+
diff --git a/code/lab8/libs/skew_heap.h b/code/lab8/libs/skew_heap.h
new file mode 100644
index 0000000..0c216b8
--- /dev/null
+++ b/code/lab8/libs/skew_heap.h
@@ -0,0 +1,87 @@
+#ifndef __LIBS_SKEW_HEAP_H__
+#define __LIBS_SKEW_HEAP_H__
+
+struct skew_heap_entry {
+     struct skew_heap_entry *parent, *left, *right;
+};
+
+typedef struct skew_heap_entry skew_heap_entry_t;
+
+typedef int(*compare_f)(void *a, void *b);
+
+static inline void skew_heap_init(skew_heap_entry_t *a) __attribute__((always_inline));
+static inline skew_heap_entry_t *skew_heap_merge(
+     skew_heap_entry_t *a, skew_heap_entry_t *b,
+     compare_f comp);
+static inline skew_heap_entry_t *skew_heap_insert(
+     skew_heap_entry_t *a, skew_heap_entry_t *b,
+     compare_f comp) __attribute__((always_inline));
+static inline skew_heap_entry_t *skew_heap_remove(
+     skew_heap_entry_t *a, skew_heap_entry_t *b,
+     compare_f comp) __attribute__((always_inline));
+
+static inline void
+skew_heap_init(skew_heap_entry_t *a)
+{
+     a->left = a->right = a->parent = NULL;
+}
+
+static inline skew_heap_entry_t *
+skew_heap_merge(skew_heap_entry_t *a, skew_heap_entry_t *b,
+                compare_f comp)
+{
+     if (a == NULL) return b;
+     else if (b == NULL) return a;
+     
+     skew_heap_entry_t *l, *r;
+     if (comp(a, b) == -1)
+     {
+          r = a->left;
+          l = skew_heap_merge(a->right, b, comp);
+          
+          a->left = l;
+          a->right = r;
+          if (l) l->parent = a;
+
+          return a;
+     }
+     else
+     {
+          r = b->left;
+          l = skew_heap_merge(a, b->right, comp);
+          
+          b->left = l;
+          b->right = r;
+          if (l) l->parent = b;
+
+          return b;
+     }
+}
+
+static inline skew_heap_entry_t *
+skew_heap_insert(skew_heap_entry_t *a, skew_heap_entry_t *b,
+                 compare_f comp)
+{
+     skew_heap_init(b);
+     return skew_heap_merge(a, b, comp);
+}
+
+static inline skew_heap_entry_t *
+skew_heap_remove(skew_heap_entry_t *a, skew_heap_entry_t *b,
+                 compare_f comp)
+{
+     skew_heap_entry_t *p   = b->parent;
+     skew_heap_entry_t *rep = skew_heap_merge(b->left, b->right, comp);
+     if (rep) rep->parent = p;
+     
+     if (p)
+     {
+          if (p->left == b)
+               p->left = rep;
+          else p->right = rep;
+          return a;
+     }
+     else return rep;
+}
+
+#endif    /* !__LIBS_SKEW_HEAP_H__ */
diff --git a/code/lab8/libs/stat.h b/code/lab8/libs/stat.h
new file mode 100644
index 0000000..41a392d
--- /dev/null
+++ b/code/lab8/libs/stat.h
@@ -0,0 +1,27 @@
+#ifndef __LIBS_STAT_H__
+#define __LIBS_STAT_H__
+
+#include <defs.h>
+
+struct stat {
+    uint32_t st_mode;                   // protection mode and file type
+    size_t st_nlinks;                   // number of hard links
+    size_t st_blocks;                   // number of blocks file is using
+    size_t st_size;                     // file size (bytes)
+};
+
+#define S_IFMT          070000          // mask for type of file
+#define S_IFREG         010000          // ordinary regular file
+#define S_IFDIR         020000          // directory
+#define S_IFLNK         030000          // symbolic link
+#define S_IFCHR         040000          // character device
+#define S_IFBLK         050000          // block device
+
+#define S_ISREG(mode)                   (((mode) & S_IFMT) == S_IFREG)      // regular file
+#define S_ISDIR(mode)                   (((mode) & S_IFMT) == S_IFDIR)      // directory
+#define S_ISLNK(mode)                   (((mode) & S_IFMT) == S_IFLNK)      // symlink
+#define S_ISCHR(mode)                   (((mode) & S_IFMT) == S_IFCHR)      // char device
+#define S_ISBLK(mode)                   (((mode) & S_IFMT) == S_IFBLK)      // block device
+
+#endif /* !__LIBS_STAT_H__ */
+
diff --git a/code/lab8/libs/stdarg.h b/code/lab8/libs/stdarg.h
new file mode 100644
index 0000000..f6e0758
--- /dev/null
+++ b/code/lab8/libs/stdarg.h
@@ -0,0 +1,12 @@
+#ifndef __LIBS_STDARG_H__
+#define __LIBS_STDARG_H__
+
+/* compiler provides size of save area */
+typedef __builtin_va_list va_list;
+
+#define va_start(ap, last)              (__builtin_va_start(ap, last))
+#define va_arg(ap, type)                (__builtin_va_arg(ap, type))
+#define va_end(ap)                      /*nothing*/
+
+#endif /* !__LIBS_STDARG_H__ */
+
diff --git a/code/lab8/libs/stdio.h b/code/lab8/libs/stdio.h
new file mode 100644
index 0000000..ab03960
--- /dev/null
+++ b/code/lab8/libs/stdio.h
@@ -0,0 +1,24 @@
+#ifndef __LIBS_STDIO_H__
+#define __LIBS_STDIO_H__
+
+#include <defs.h>
+#include <stdarg.h>
+
+/* kern/libs/stdio.c */
+int cprintf(const char *fmt, ...);
+int vcprintf(const char *fmt, va_list ap);
+void cputchar(int c);
+int cputs(const char *str);
+int getchar(void);
+
+/* kern/libs/readline.c */
+char *readline(const char *prompt);
+
+/* libs/printfmt.c */
+void printfmt(void (*putch)(int, void *, int), int fd, void *putdat, const char *fmt, ...);
+void vprintfmt(void (*putch)(int, void *, int), int fd, void *putdat, const char *fmt, va_list ap);    
+int snprintf(char *str, size_t size, const char *fmt, ...);
+int vsnprintf(char *str, size_t size, const char *fmt, va_list ap);
+
+#endif /* !__LIBS_STDIO_H__ */
+
diff --git a/code/lab8/libs/stdlib.h b/code/lab8/libs/stdlib.h
new file mode 100644
index 0000000..51878ef
--- /dev/null
+++ b/code/lab8/libs/stdlib.h
@@ -0,0 +1,17 @@
+#ifndef __LIBS_STDLIB_H__
+#define __LIBS_STDLIB_H__
+
+#include <defs.h>
+
+/* the largest number rand will return */
+#define RAND_MAX    2147483647UL
+
+/* libs/rand.c */
+int rand(void);
+void srand(unsigned int seed);
+
+/* libs/hash.c */
+uint32_t hash32(uint32_t val, unsigned int bits);
+
+#endif /* !__LIBS_RAND_H__ */
+
diff --git a/code/lab8/libs/string.c b/code/lab8/libs/string.c
new file mode 100644
index 0000000..9180a9a
--- /dev/null
+++ b/code/lab8/libs/string.c
@@ -0,0 +1,380 @@
+#include <string.h>
+#include <x86.h>
+
+/* *
+ * strlen - calculate the length of the string @s, not including
+ * the terminating '\0' character.
+ * @s:      the input string
+ *
+ * The strlen() function returns the length of string @s.
+ * */
+size_t
+strlen(const char *s) {
+    size_t cnt = 0;
+    while (*s ++ != '\0') {
+        cnt ++;
+    }
+    return cnt;
+}
+
+/* *
+ * strnlen - calculate the length of the string @s, not including
+ * the terminating '\0' char acter, but at most @len.
+ * @s:      the input string
+ * @len:    the max-length that function will scan
+ *
+ * Note that, this function looks only at the first @len characters
+ * at @s, and never beyond @s + @len.
+ *
+ * The return value is strlen(s), if that is less than @len, or
+ * @len if there is no '\0' character among the first @len characters
+ * pointed by @s.
+ * */
+size_t
+strnlen(const char *s, size_t len) {
+    size_t cnt = 0;
+    while (cnt < len && *s ++ != '\0') {
+        cnt ++;
+    }
+    return cnt;
+}
+
+/* *
+ * strcat - appends a copy of the @src string to the @dst string. The terminating null
+ * character in @dst is overwritten by the first character of @src, and a new null-character
+ * is appended at the end of the new string formed by the concatenation of both in @dst.
+ * @dst:    pointer to the @dst array, which should be large enough to contain the concatenated
+ *          resulting string.
+ * @src:    string to be appended, this should not overlap @dst
+ * */
+char *
+strcat(char *dst, const char *src) {
+    return strcpy(dst + strlen(dst), src);
+}
+
+/* *
+ * strcpy - copies the string pointed by @src into the array pointed by @dst,
+ * including the terminating null character.
+ * @dst:    pointer to the destination array where the content is to be copied
+ * @src:    string to be copied
+ *
+ * The return value is @dst.
+ *
+ * To avoid overflows, the size of array pointed by @dst should be long enough to
+ * contain the same string as @src (including the terminating null character), and
+ * should not overlap in memory with @src.
+ * */
+char *
+strcpy(char *dst, const char *src) {
+#ifdef __HAVE_ARCH_STRCPY
+    return __strcpy(dst, src);
+#else
+    char *p = dst;
+    while ((*p ++ = *src ++) != '\0')
+        /* nothing */;
+    return dst;
+#endif /* __HAVE_ARCH_STRCPY */
+}
+
+/* *
+ * strncpy - copies the first @len characters of @src to @dst. If the end of string @src
+ * if found before @len characters have been copied, @dst is padded with '\0' until a
+ * total of @len characters have been written to it.
+ * @dst:    pointer to the destination array where the content is to be copied
+ * @src:    string to be copied
+ * @len:    maximum number of characters to be copied from @src
+ *
+ * The return value is @dst
+ * */
+char *
+strncpy(char *dst, const char *src, size_t len) {
+    char *p = dst;
+    while (len > 0) {
+        if ((*p = *src) != '\0') {
+            src ++;
+        }
+        p ++, len --;
+    }
+    return dst;
+}
+
+/* *
+ * strcmp - compares the string @s1 and @s2
+ * @s1:     string to be compared
+ * @s2:     string to be compared
+ *
+ * This function starts comparing the first character of each string. If
+ * they are equal to each other, it continues with the following pairs until
+ * the characters differ or until a terminanting null-character is reached.
+ *
+ * Returns an integral value indicating the relationship between the strings:
+ * - A zero value indicates that both strings are equal;
+ * - A value greater than zero indicates that the first character that does
+ *   not match has a greater value in @s1 than in @s2;
+ * - And a value less than zero indicates the opposite.
+ * */
+int
+strcmp(const char *s1, const char *s2) {
+#ifdef __HAVE_ARCH_STRCMP
+    return __strcmp(s1, s2);
+#else
+    while (*s1 != '\0' && *s1 == *s2) {
+        s1 ++, s2 ++;
+    }
+    return (int)((unsigned char)*s1 - (unsigned char)*s2);
+#endif /* __HAVE_ARCH_STRCMP */
+}
+
+/* *
+ * strncmp - compares up to @n characters of the string @s1 to those of the string @s2
+ * @s1:     string to be compared
+ * @s2:     string to be compared
+ * @n:      maximum number of characters to compare
+ *
+ * This function starts comparing the first character of each string. If
+ * they are equal to each other, it continues with the following pairs until
+ * the characters differ, until a terminating null-character is reached, or
+ * until @n characters match in both strings, whichever happens first.
+ * */
+int
+strncmp(const char *s1, const char *s2, size_t n) {
+    while (n > 0 && *s1 != '\0' && *s1 == *s2) {
+        n --, s1 ++, s2 ++;
+    }
+    return (n == 0) ? 0 : (int)((unsigned char)*s1 - (unsigned char)*s2);
+}
+
+/* *
+ * strchr - locates first occurrence of character in string
+ * @s:      the input string
+ * @c:      character to be located
+ *
+ * The strchr() function returns a pointer to the first occurrence of
+ * character in @s. If the value is not found, the function returns 'NULL'.
+ * */
+char *
+strchr(const char *s, char c) {
+    while (*s != '\0') {
+        if (*s == c) {
+            return (char *)s;
+        }
+        s ++;
+    }
+    return NULL;
+}
+
+/* *
+ * strfind - locates first occurrence of character in string
+ * @s:      the input string
+ * @c:      character to be located
+ *
+ * The strfind() function is like strchr() except that if @c is
+ * not found in @s, then it returns a pointer to the null byte at the
+ * end of @s, rather than 'NULL'.
+ * */
+char *
+strfind(const char *s, char c) {
+    while (*s != '\0') {
+        if (*s == c) {
+            break;
+        }
+        s ++;
+    }
+    return (char *)s;
+}
+
+/* *
+ * strtol - converts string to long integer
+ * @s:      the input string that contains the representation of an integer number
+ * @endptr: reference to an object of type char *, whose value is set by the
+ *          function to the next character in @s after the numerical value. This
+ *          parameter can also be a null pointer, in which case it is not used.
+ * @base:   x
+ *
+ * The function first discards as many whitespace characters as necessary until
+ * the first non-whitespace character is found. Then, starting from this character,
+ * takes as many characters as possible that are valid following a syntax that
+ * depends on the base parameter, and interprets them as a numerical value. Finally,
+ * a pointer to the first character following the integer representation in @s
+ * is stored in the object pointed by @endptr.
+ *
+ * If the value of base is zero, the syntax expected is similar to that of
+ * integer constants, which is formed by a succession of:
+ * - An optional plus or minus sign;
+ * - An optional prefix indicating octal or hexadecimal base ("0" or "0x" respectively)
+ * - A sequence of decimal digits (if no base prefix was specified) or either octal
+ *   or hexadecimal digits if a specific prefix is present
+ *
+ * If the base value is between 2 and 36, the format expected for the integral number
+ * is a succession of the valid digits and/or letters needed to represent integers of
+ * the specified radix (starting from '0' and up to 'z'/'Z' for radix 36). The
+ * sequence may optionally be preceded by a plus or minus sign and, if base is 16,
+ * an optional "0x" or "0X" prefix.
+ *
+ * The strtol() function returns the converted integral number as a long int value.
+ * */
+long
+strtol(const char *s, char **endptr, int base) {
+    int neg = 0;
+    long val = 0;
+
+    // gobble initial whitespace
+    while (*s == ' ' || *s == '\t') {
+        s ++;
+    }
+
+    // plus/minus sign
+    if (*s == '+') {
+        s ++;
+    }
+    else if (*s == '-') {
+        s ++, neg = 1;
+    }
+
+    // hex or octal base prefix
+    if ((base == 0 || base == 16) && (s[0] == '0' && s[1] == 'x')) {
+        s += 2, base = 16;
+    }
+    else if (base == 0 && s[0] == '0') {
+        s ++, base = 8;
+    }
+    else if (base == 0) {
+        base = 10;
+    }
+
+    // digits
+    while (1) {
+        int dig;
+
+        if (*s >= '0' && *s <= '9') {
+            dig = *s - '0';
+        }
+        else if (*s >= 'a' && *s <= 'z') {
+            dig = *s - 'a' + 10;
+        }
+        else if (*s >= 'A' && *s <= 'Z') {
+            dig = *s - 'A' + 10;
+        }
+        else {
+            break;
+        }
+        if (dig >= base) {
+            break;
+        }
+        s ++, val = (val * base) + dig;
+        // we don't properly detect overflow!
+    }
+
+    if (endptr) {
+        *endptr = (char *) s;
+    }
+    return (neg ? -val : val);
+}
+
+/* *
+ * memset - sets the first @n bytes of the memory area pointed by @s
+ * to the specified value @c.
+ * @s:      pointer the the memory area to fill
+ * @c:      value to set
+ * @n:      number of bytes to be set to the value
+ *
+ * The memset() function returns @s.
+ * */
+void *
+memset(void *s, char c, size_t n) {
+#ifdef __HAVE_ARCH_MEMSET
+    return __memset(s, c, n);
+#else
+    char *p = s;
+    while (n -- > 0) {
+        *p ++ = c;
+    }
+    return s;
+#endif /* __HAVE_ARCH_MEMSET */
+}
+
+/* *
+ * memmove - copies the values of @n bytes from the location pointed by @src to
+ * the memory area pointed by @dst. @src and @dst are allowed to overlap.
+ * @dst     pointer to the destination array where the content is to be copied
+ * @src     pointer to the source of data to by copied
+ * @n:      number of bytes to copy
+ *
+ * The memmove() function returns @dst.
+ * */
+void *
+memmove(void *dst, const void *src, size_t n) {
+#ifdef __HAVE_ARCH_MEMMOVE
+    return __memmove(dst, src, n);
+#else
+    const char *s = src;
+    char *d = dst;
+    if (s < d && s + n > d) {
+        s += n, d += n;
+        while (n -- > 0) {
+            *-- d = *-- s;
+        }
+    } else {
+        while (n -- > 0) {
+            *d ++ = *s ++;
+        }
+    }
+    return dst;
+#endif /* __HAVE_ARCH_MEMMOVE */
+}
+
+/* *
+ * memcpy - copies the value of @n bytes from the location pointed by @src to
+ * the memory area pointed by @dst.
+ * @dst     pointer to the destination array where the content is to be copied
+ * @src     pointer to the source of data to by copied
+ * @n:      number of bytes to copy
+ *
+ * The memcpy() returns @dst.
+ *
+ * Note that, the function does not check any terminating null character in @src,
+ * it always copies exactly @n bytes. To avoid overflows, the size of arrays pointed
+ * by both @src and @dst, should be at least @n bytes, and should not overlap
+ * (for overlapping memory area, memmove is a safer approach).
+ * */
+void *
+memcpy(void *dst, const void *src, size_t n) {
+#ifdef __HAVE_ARCH_MEMCPY
+    return __memcpy(dst, src, n);
+#else
+    const char *s = src;
+    char *d = dst;
+    while (n -- > 0) {
+        *d ++ = *s ++;
+    }
+    return dst;
+#endif /* __HAVE_ARCH_MEMCPY */
+}
+
+/* *
+ * memcmp - compares two blocks of memory
+ * @v1:     pointer to block of memory
+ * @v2:     pointer to block of memory
+ * @n:      number of bytes to compare
+ *
+ * The memcmp() functions returns an integral value indicating the
+ * relationship between the content of the memory blocks:
+ * - A zero value indicates that the contents of both memory blocks are equal;
+ * - A value greater than zero indicates that the first byte that does not
+ *   match in both memory blocks has a greater value in @v1 than in @v2
+ *   as if evaluated as unsigned char values;
+ * - And a value less than zero indicates the opposite.
+ * */
+int
+memcmp(const void *v1, const void *v2, size_t n) {
+    const char *s1 = (const char *)v1;
+    const char *s2 = (const char *)v2;
+    while (n -- > 0) {
+        if (*s1 != *s2) {
+            return (int)((unsigned char)*s1 - (unsigned char)*s2);
+        }
+        s1 ++, s2 ++;
+    }
+    return 0;
+}
+
diff --git a/code/lab8/libs/string.h b/code/lab8/libs/string.h
new file mode 100644
index 0000000..76c6f3b
--- /dev/null
+++ b/code/lab8/libs/string.h
@@ -0,0 +1,28 @@
+#ifndef __LIBS_STRING_H__
+#define __LIBS_STRING_H__
+
+#include <defs.h>
+
+size_t strlen(const char *s);
+size_t strnlen(const char *s, size_t len);
+
+char *strcpy(char *dst, const char *src);
+char *strncpy(char *dst, const char *src, size_t len);
+char *strcat(char *dst, const char *src);
+char *strdup(const char *src);
+char *stradd(const char *src1, const char *src2);
+
+int strcmp(const char *s1, const char *s2);
+int strncmp(const char *s1, const char *s2, size_t n);
+
+char *strchr(const char *s, char c);
+char *strfind(const char *s, char c);
+long strtol(const char *s, char **endptr, int base);
+
+void *memset(void *s, char c, size_t n);
+void *memmove(void *dst, const void *src, size_t n);
+void *memcpy(void *dst, const void *src, size_t n);
+int memcmp(const void *v1, const void *v2, size_t n);
+
+#endif /* !__LIBS_STRING_H__ */
+
diff --git a/code/lab8/libs/unistd.h b/code/lab8/libs/unistd.h
new file mode 100644
index 0000000..8599be6
--- /dev/null
+++ b/code/lab8/libs/unistd.h
@@ -0,0 +1,68 @@
+#ifndef __LIBS_UNISTD_H__
+#define __LIBS_UNISTD_H__
+
+#define T_SYSCALL           0x80
+
+/* syscall number */
+#define SYS_exit            1
+#define SYS_fork            2
+#define SYS_wait            3
+#define SYS_exec            4
+#define SYS_clone           5
+#define SYS_yield           10
+#define SYS_sleep           11
+#define SYS_kill            12
+#define SYS_gettime         17
+#define SYS_getpid          18
+#define SYS_mmap            20
+#define SYS_munmap          21
+#define SYS_shmem           22
+#define SYS_putc            30
+#define SYS_pgdir           31
+#define SYS_open            100
+#define SYS_close           101
+#define SYS_read            102
+#define SYS_write           103
+#define SYS_seek            104
+#define SYS_fstat           110
+#define SYS_fsync           111
+#define SYS_getcwd          121
+#define SYS_getdirentry     128
+#define SYS_dup             130
+/* OLNY FOR LAB6 */
+#define SYS_lab6_set_priority 255
+
+/* SYS_fork flags */
+#define CLONE_VM            0x00000100  // set if VM shared between processes
+#define CLONE_THREAD        0x00000200  // thread group
+#define CLONE_FS            0x00000800  // set if shared between processes
+
+/* VFS flags */
+// flags for open: choose one of these
+#define O_RDONLY            0           // open for reading only
+#define O_WRONLY            1           // open for writing only
+#define O_RDWR              2           // open for reading and writing
+// then or in any of these:
+#define O_CREAT             0x00000004  // create file if it does not exist
+#define O_EXCL              0x00000008  // error if O_CREAT and the file exists
+#define O_TRUNC             0x00000010  // truncate file upon open
+#define O_APPEND            0x00000020  // append on each write
+// additonal related definition
+#define O_ACCMODE           3           // mask for O_RDONLY / O_WRONLY / O_RDWR
+
+#define NO_FD               -0x9527     // invalid fd
+
+/* lseek codes */
+#define LSEEK_SET           0           // seek relative to beginning of file
+#define LSEEK_CUR           1           // seek relative to current position in file
+#define LSEEK_END           2           // seek relative to end of file
+
+#define FS_MAX_DNAME_LEN    31
+#define FS_MAX_FNAME_LEN    255
+#define FS_MAX_FPATH_LEN    4095
+
+#define EXEC_MAX_ARG_NUM    32
+#define EXEC_MAX_ARG_LEN    4095
+
+#endif /* !__LIBS_UNISTD_H__ */
+
diff --git a/code/lab8/libs/x86.h b/code/lab8/libs/x86.h
new file mode 100644
index 0000000..b5e7011
--- /dev/null
+++ b/code/lab8/libs/x86.h
@@ -0,0 +1,310 @@
+#ifndef __LIBS_X86_H__
+#define __LIBS_X86_H__
+
+#include <defs.h>
+
+#define do_div(n, base) ({                                          \
+            unsigned long __upper, __low, __high, __mod, __base;    \
+            __base = (base);                                        \
+            asm ("" : "=a" (__low), "=d" (__high) : "A" (n));       \
+            __upper = __high;                                       \
+            if (__high != 0) {                                      \
+                __upper = __high % __base;                          \
+                __high = __high / __base;                           \
+            }                                                       \
+            asm ("divl %2" : "=a" (__low), "=d" (__mod)             \
+                : "rm" (__base), "0" (__low), "1" (__upper));       \
+            asm ("" : "=A" (n) : "a" (__low), "d" (__high));        \
+            __mod;                                                  \
+        })
+
+#define barrier() __asm__ __volatile__ ("" ::: "memory")
+
+static inline uint8_t inb(uint16_t port) __attribute__((always_inline));
+static inline uint16_t inw(uint16_t port) __attribute__((always_inline));
+static inline void insl(uint32_t port, void *addr, int cnt) __attribute__((always_inline));
+static inline void outb(uint16_t port, uint8_t data) __attribute__((always_inline));
+static inline void outw(uint16_t port, uint16_t data) __attribute__((always_inline));
+static inline void outsl(uint32_t port, const void *addr, int cnt) __attribute__((always_inline));
+static inline uint32_t read_ebp(void) __attribute__((always_inline));
+static inline void breakpoint(void) __attribute__((always_inline));
+static inline uint32_t read_dr(unsigned regnum) __attribute__((always_inline));
+static inline void write_dr(unsigned regnum, uint32_t value) __attribute__((always_inline));
+
+/* Pseudo-descriptors used for LGDT, LLDT(not used) and LIDT instructions. */
+struct pseudodesc {
+    uint16_t pd_lim;        // Limit
+    uintptr_t pd_base;      // Base address
+} __attribute__ ((packed));
+
+static inline void lidt(struct pseudodesc *pd) __attribute__((always_inline));
+static inline void sti(void) __attribute__((always_inline));
+static inline void cli(void) __attribute__((always_inline));
+static inline void ltr(uint16_t sel) __attribute__((always_inline));
+static inline uint32_t read_eflags(void) __attribute__((always_inline));
+static inline void write_eflags(uint32_t eflags) __attribute__((always_inline));
+static inline void lcr0(uintptr_t cr0) __attribute__((always_inline));
+static inline void lcr3(uintptr_t cr3) __attribute__((always_inline));
+static inline uintptr_t rcr0(void) __attribute__((always_inline));
+static inline uintptr_t rcr1(void) __attribute__((always_inline));
+static inline uintptr_t rcr2(void) __attribute__((always_inline));
+static inline uintptr_t rcr3(void) __attribute__((always_inline));
+static inline void invlpg(void *addr) __attribute__((always_inline));
+
+static inline uint8_t
+inb(uint16_t port) {
+    uint8_t data;
+    asm volatile ("inb %1, %0" : "=a" (data) : "d" (port) : "memory");
+    return data;
+}
+
+static inline uint16_t
+inw(uint16_t port) {
+    uint16_t data;
+    asm volatile ("inw %1, %0" : "=a" (data) : "d" (port));
+    return data;
+}
+
+static inline void
+insl(uint32_t port, void *addr, int cnt) {
+    asm volatile (
+        "cld;"
+        "repne; insl;"
+        : "=D" (addr), "=c" (cnt)
+        : "d" (port), "0" (addr), "1" (cnt)
+        : "memory", "cc");
+}
+
+static inline void
+outb(uint16_t port, uint8_t data) {
+    asm volatile ("outb %0, %1" :: "a" (data), "d" (port) : "memory");
+}
+
+static inline void
+outw(uint16_t port, uint16_t data) {
+    asm volatile ("outw %0, %1" :: "a" (data), "d" (port) : "memory");
+}
+
+static inline void
+outsl(uint32_t port, const void *addr, int cnt) {
+    asm volatile (
+        "cld;"
+        "repne; outsl;"
+        : "=S" (addr), "=c" (cnt)
+        : "d" (port), "0" (addr), "1" (cnt)
+        : "memory", "cc");
+}
+
+static inline uint32_t
+read_ebp(void) {
+    uint32_t ebp;
+    asm volatile ("movl %%ebp, %0" : "=r" (ebp));
+    return ebp;
+}
+
+static inline void
+breakpoint(void) {
+    asm volatile ("int $3");
+}
+
+static inline uint32_t
+read_dr(unsigned regnum) {
+    uint32_t value = 0;
+    switch (regnum) {
+    case 0: asm volatile ("movl %%db0, %0" : "=r" (value)); break;
+    case 1: asm volatile ("movl %%db1, %0" : "=r" (value)); break;
+    case 2: asm volatile ("movl %%db2, %0" : "=r" (value)); break;
+    case 3: asm volatile ("movl %%db3, %0" : "=r" (value)); break;
+    case 6: asm volatile ("movl %%db6, %0" : "=r" (value)); break;
+    case 7: asm volatile ("movl %%db7, %0" : "=r" (value)); break;
+    }
+    return value;
+}
+
+static void
+write_dr(unsigned regnum, uint32_t value) {
+    switch (regnum) {
+    case 0: asm volatile ("movl %0, %%db0" :: "r" (value)); break;
+    case 1: asm volatile ("movl %0, %%db1" :: "r" (value)); break;
+    case 2: asm volatile ("movl %0, %%db2" :: "r" (value)); break;
+    case 3: asm volatile ("movl %0, %%db3" :: "r" (value)); break;
+    case 6: asm volatile ("movl %0, %%db6" :: "r" (value)); break;
+    case 7: asm volatile ("movl %0, %%db7" :: "r" (value)); break;
+    }
+}
+
+static inline void
+lidt(struct pseudodesc *pd) {
+    asm volatile ("lidt (%0)" :: "r" (pd) : "memory");
+}
+
+static inline void
+sti(void) {
+    asm volatile ("sti");
+}
+
+static inline void
+cli(void) {
+    asm volatile ("cli" ::: "memory");
+}
+
+static inline void
+ltr(uint16_t sel) {
+    asm volatile ("ltr %0" :: "r" (sel) : "memory");
+}
+
+static inline uint32_t
+read_eflags(void) {
+    uint32_t eflags;
+    asm volatile ("pushfl; popl %0" : "=r" (eflags));
+    return eflags;
+}
+
+static inline void
+write_eflags(uint32_t eflags) {
+    asm volatile ("pushl %0; popfl" :: "r" (eflags));
+}
+
+static inline void
+lcr0(uintptr_t cr0) {
+    asm volatile ("mov %0, %%cr0" :: "r" (cr0) : "memory");
+}
+
+static inline void
+lcr3(uintptr_t cr3) {
+    asm volatile ("mov %0, %%cr3" :: "r" (cr3) : "memory");
+}
+
+static inline uintptr_t
+rcr0(void) {
+    uintptr_t cr0;
+    asm volatile ("mov %%cr0, %0" : "=r" (cr0) :: "memory");
+    return cr0;
+}
+
+static inline uintptr_t
+rcr1(void) {
+    uintptr_t cr1;
+    asm volatile ("mov %%cr1, %0" : "=r" (cr1) :: "memory");
+    return cr1;
+}
+
+static inline uintptr_t
+rcr2(void) {
+    uintptr_t cr2;
+    asm volatile ("mov %%cr2, %0" : "=r" (cr2) :: "memory");
+    return cr2;
+}
+
+static inline uintptr_t
+rcr3(void) {
+    uintptr_t cr3;
+    asm volatile ("mov %%cr3, %0" : "=r" (cr3) :: "memory");
+    return cr3;
+}
+
+static inline void
+invlpg(void *addr) {
+    asm volatile ("invlpg (%0)" :: "r" (addr) : "memory");
+}
+
+static inline int __strcmp(const char *s1, const char *s2) __attribute__((always_inline));
+static inline char *__strcpy(char *dst, const char *src) __attribute__((always_inline));
+static inline void *__memset(void *s, char c, size_t n) __attribute__((always_inline));
+static inline void *__memmove(void *dst, const void *src, size_t n) __attribute__((always_inline));
+static inline void *__memcpy(void *dst, const void *src, size_t n) __attribute__((always_inline));
+
+#ifndef __HAVE_ARCH_STRCMP
+#define __HAVE_ARCH_STRCMP
+static inline int
+__strcmp(const char *s1, const char *s2) {
+    int d0, d1, ret;
+    asm volatile (
+        "1: lodsb;"
+        "scasb;"
+        "jne 2f;"
+        "testb %%al, %%al;"
+        "jne 1b;"
+        "xorl %%eax, %%eax;"
+        "jmp 3f;"
+        "2: sbbl %%eax, %%eax;"
+        "orb $1, %%al;"
+        "3:"
+        : "=a" (ret), "=&S" (d0), "=&D" (d1)
+        : "1" (s1), "2" (s2)
+        : "memory");
+    return ret;
+}
+
+#endif /* __HAVE_ARCH_STRCMP */
+
+#ifndef __HAVE_ARCH_STRCPY
+#define __HAVE_ARCH_STRCPY
+static inline char *
+__strcpy(char *dst, const char *src) {
+    int d0, d1, d2;
+    asm volatile (
+        "1: lodsb;"
+        "stosb;"
+        "testb %%al, %%al;"
+        "jne 1b;"
+        : "=&S" (d0), "=&D" (d1), "=&a" (d2)
+        : "0" (src), "1" (dst) : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_STRCPY */
+
+#ifndef __HAVE_ARCH_MEMSET
+#define __HAVE_ARCH_MEMSET
+static inline void *
+__memset(void *s, char c, size_t n) {
+    int d0, d1;
+    asm volatile (
+        "rep; stosb;"
+        : "=&c" (d0), "=&D" (d1)
+        : "0" (n), "a" (c), "1" (s)
+        : "memory");
+    return s;
+}
+#endif /* __HAVE_ARCH_MEMSET */
+
+#ifndef __HAVE_ARCH_MEMMOVE
+#define __HAVE_ARCH_MEMMOVE
+static inline void *
+__memmove(void *dst, const void *src, size_t n) {
+    if (dst < src) {
+        return __memcpy(dst, src, n);
+    }
+    int d0, d1, d2;
+    asm volatile (
+        "std;"
+        "rep; movsb;"
+        "cld;"
+        : "=&c" (d0), "=&S" (d1), "=&D" (d2)
+        : "0" (n), "1" (n - 1 + src), "2" (n - 1 + dst)
+        : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_MEMMOVE */
+
+#ifndef __HAVE_ARCH_MEMCPY
+#define __HAVE_ARCH_MEMCPY
+static inline void *
+__memcpy(void *dst, const void *src, size_t n) {
+    int d0, d1, d2;
+    asm volatile (
+        "rep; movsl;"
+        "movl %4, %%ecx;"
+        "andl $3, %%ecx;"
+        "jz 1f;"
+        "rep; movsb;"
+        "1:"
+        : "=&c" (d0), "=&D" (d1), "=&S" (d2)
+        : "0" (n / 4), "g" (n), "1" (dst), "2" (src)
+        : "memory");
+    return dst;
+}
+#endif /* __HAVE_ARCH_MEMCPY */
+
+#endif /* !__LIBS_X86_H__ */
+
diff --git a/code/lab8/tools/boot.ld b/code/lab8/tools/boot.ld
new file mode 100644
index 0000000..dc732b0
--- /dev/null
+++ b/code/lab8/tools/boot.ld
@@ -0,0 +1,15 @@
+OUTPUT_FORMAT("elf32-i386")
+OUTPUT_ARCH(i386)
+
+SECTIONS {
+    . = 0x7C00;
+
+    .startup : {
+        *bootasm.o(.text)
+    }
+
+    .text : { *(.text) }
+    .data : { *(.data .rodata) }
+    
+    /DISCARD/ : { *(.eh_*) }
+}
diff --git a/code/lab8/tools/function.mk b/code/lab8/tools/function.mk
new file mode 100644
index 0000000..9b8be0c
--- /dev/null
+++ b/code/lab8/tools/function.mk
@@ -0,0 +1,95 @@
+OBJPREFIX	:= __objs_
+
+.SECONDEXPANSION:
+# -------------------- function begin --------------------
+
+# list all files in some directories: (#directories, #types)
+listf = $(filter $(if $(2),$(addprefix %.,$(2)),%),\
+		  $(wildcard $(addsuffix $(SLASH)*,$(1))))
+
+# get .o obj files: (#files[, packet])
+toobj = $(addprefix $(OBJDIR)$(SLASH)$(if $(2),$(2)$(SLASH)),\
+		$(addsuffix .o,$(basename $(1))))
+
+# get .d dependency files: (#files[, packet])
+todep = $(patsubst %.o,%.d,$(call toobj,$(1),$(2)))
+
+totarget = $(addprefix $(BINDIR)$(SLASH),$(1))
+
+# change $(name) to $(OBJPREFIX)$(name): (#names)
+packetname = $(if $(1),$(addprefix $(OBJPREFIX),$(1)),$(OBJPREFIX))
+
+# cc compile template, generate rule for dep, obj: (file, cc[, flags, dir])
+define cc_template
+$$(call todep,$(1),$(4)): $(1) | $$$$(dir $$$$@)
+	@$(2) -I$$(dir $(1)) $(3) -MM $$< -MT "$$(patsubst %.d,%.o,$$@) $$@"> $$@
+$$(call toobj,$(1),$(4)): $(1) | $$$$(dir $$$$@)
+	@echo + cc $$<
+	$(V)$(2) -I$$(dir $(1)) $(3) -c $$< -o $$@
+ALLOBJS += $$(call toobj,$(1),$(4))
+endef
+
+# compile file: (#files, cc[, flags, dir])
+define do_cc_compile
+$$(foreach f,$(1),$$(eval $$(call cc_template,$$(f),$(2),$(3),$(4))))
+endef
+
+# add files to packet: (#files, cc[, flags, packet, dir])
+define do_add_files_to_packet
+__temp_packet__ := $(call packetname,$(4))
+ifeq ($$(origin $$(__temp_packet__)),undefined)
+$$(__temp_packet__) :=
+endif
+__temp_objs__ := $(call toobj,$(1),$(5))
+$$(foreach f,$(1),$$(eval $$(call cc_template,$$(f),$(2),$(3),$(5))))
+$$(__temp_packet__) += $$(__temp_objs__)
+endef
+
+# add objs to packet: (#objs, packet)
+define do_add_objs_to_packet
+__temp_packet__ := $(call packetname,$(2))
+ifeq ($$(origin $$(__temp_packet__)),undefined)
+$$(__temp_packet__) :=
+endif
+$$(__temp_packet__) += $(1)
+endef
+
+# add packets and objs to target (target, #packes, #objs[, cc, flags])
+define do_create_target
+__temp_target__ = $(call totarget,$(1))
+__temp_objs__ = $$(foreach p,$(call packetname,$(2)),$$($$(p))) $(3)
+TARGETS += $$(__temp_target__)
+ifneq ($(4),)
+$$(__temp_target__): $$(__temp_objs__) | $$$$(dir $$$$@)
+	$(V)$(4) $(5) $$^ -o $$@
+else
+$$(__temp_target__): $$(__temp_objs__) | $$$$(dir $$$$@)
+endif
+endef
+
+# finish all
+define do_finish_all
+ALLDEPS = $$(ALLOBJS:.o=.d)
+$$(sort $$(dir $$(ALLOBJS)) $(BINDIR)$(SLASH) $(OBJDIR)$(SLASH)):
+	@$(MKDIR) $$@
+endef
+
+# --------------------  function end  --------------------
+# compile file: (#files, cc[, flags, dir])
+cc_compile = $(eval $(call do_cc_compile,$(1),$(2),$(3),$(4)))
+
+# add files to packet: (#files, cc[, flags, packet, dir])
+add_files = $(eval $(call do_add_files_to_packet,$(1),$(2),$(3),$(4),$(5)))
+
+# add objs to packet: (#objs, packet)
+add_objs = $(eval $(call do_add_objs_to_packet,$(1),$(2)))
+
+# add packets and objs to target (target, #packes, #objs, cc, [, flags])
+create_target = $(eval $(call do_create_target,$(1),$(2),$(3),$(4),$(5)))
+
+read_packet = $(foreach p,$(call packetname,$(1)),$($(p)))
+
+add_dependency = $(eval $(1): $(2))
+
+finish_all = $(eval $(call do_finish_all))
+
diff --git a/code/lab8/tools/gdbinit b/code/lab8/tools/gdbinit
new file mode 100644
index 0000000..df5df85
--- /dev/null
+++ b/code/lab8/tools/gdbinit
@@ -0,0 +1,3 @@
+file bin/kernel
+target remote :1234
+break kern_init
diff --git a/code/lab8/tools/grade.sh b/code/lab8/tools/grade.sh
new file mode 100644
index 0000000..de10321
--- /dev/null
+++ b/code/lab8/tools/grade.sh
@@ -0,0 +1,636 @@
+#!/bin/sh
+
+verbose=false
+if [ "x$1" = "x-v" ]; then
+    verbose=true
+    out=/dev/stdout
+    err=/dev/stderr
+else
+    out=/dev/null
+    err=/dev/null
+fi
+
+## make & makeopts
+if gmake --version > /dev/null 2>&1; then
+    make=gmake;
+else
+    make=make;
+fi
+
+makeopts="--quiet --no-print-directory -j"
+
+make_print() {
+    echo `$make $makeopts print-$1`
+}
+
+## command tools
+awk='awk'
+bc='bc'
+date='date'
+grep='grep'
+rm='rm -f'
+sed='sed'
+
+## symbol table
+sym_table='obj/kernel.sym'
+
+## gdb & gdbopts
+gdb="$(make_print GDB)"
+gdbport='1234'
+
+gdb_in="$(make_print GRADE_GDB_IN)"
+
+## qemu & qemuopts
+qemu="$(make_print qemu)"
+
+qemu_out="$(make_print GRADE_QEMU_OUT)"
+
+if $qemu -nographic -help | grep -q '^-gdb'; then
+    qemugdb="-gdb tcp::$gdbport"
+else
+    qemugdb="-s -p $gdbport"
+fi
+
+## default variables
+default_timeout=30
+default_pts=5
+
+pts=5
+part=0
+part_pos=0
+total=0
+total_pos=0
+
+## default functions
+update_score() {
+    total=`expr $total + $part`
+    total_pos=`expr $total_pos + $part_pos`
+    part=0
+    part_pos=0
+}
+
+get_time() {
+    echo `$date +%s.%N 2> /dev/null`
+}
+
+show_part() {
+    echo "Part $1 Score: $part/$part_pos"
+    echo
+    update_score
+}
+
+show_final() {
+    update_score
+    echo "Total Score: $total/$total_pos"
+    if [ $total -lt $total_pos ]; then
+        exit 1
+    fi
+}
+
+show_time() {
+    t1=$(get_time)
+    time=`echo "scale=1; ($t1-$t0)/1" | $sed 's/.N/.0/g' | $bc 2> /dev/null`
+    echo "(${time}s)"
+}
+
+show_build_tag() {
+    echo "$1:" | $awk '{printf "%-24s ", $0}'
+}
+
+show_check_tag() {
+    echo "$1:" | $awk '{printf "  -%-40s  ", $0}'
+}
+
+show_msg() {
+    echo $1
+    shift
+    if [ $# -gt 0 ]; then
+        echo "$@" | awk '{printf "   %s\n", $0}'
+        echo
+    fi
+}
+
+pass() {
+    show_msg OK "$@"
+    part=`expr $part + $pts`
+    part_pos=`expr $part_pos + $pts`
+}
+
+fail() {
+    show_msg WRONG "$@"
+    part_pos=`expr $part_pos + $pts`
+}
+
+run_qemu() {
+    # Run qemu with serial output redirected to $qemu_out. If $brkfun is non-empty,
+    # wait until $brkfun is reached or $timeout expires, then kill QEMU
+    qemuextra=
+    if [ "$brkfun" ]; then
+        qemuextra="-S $qemugdb"
+    fi
+
+    if [ -z "$timeout" ] || [ $timeout -le 0 ]; then
+        timeout=$default_timeout;
+    fi
+
+    t0=$(get_time)
+    (
+        ulimit -t $timeout
+        exec $qemu -nographic $qemuopts -serial file:$qemu_out -monitor null -no-reboot $qemuextra
+    ) > $out 2> $err &
+    pid=$!
+
+    # wait for QEMU to start
+    sleep 1
+
+    if [ -n "$brkfun" ]; then
+        # find the address of the kernel $brkfun function
+        brkaddr=`$grep " $brkfun\$" $sym_table | $sed -e's/ .*$//g'`
+        (
+            echo "target remote localhost:$gdbport"
+            echo "break *0x$brkaddr"
+            echo "continue"
+        ) > $gdb_in
+
+        $gdb -batch -nx -x $gdb_in > /dev/null 2>&1
+
+        # make sure that QEMU is dead
+        # on OS X, exiting gdb doesn't always exit qemu
+        kill $pid > /dev/null 2>&1
+    fi
+}
+
+build_run() {
+    # usage: build_run <tag> <args>
+    show_build_tag "$1"
+    shift
+
+    if $verbose; then
+        echo "$make $@ ..."
+    fi
+    $make $makeopts $@ 'DEFS+=-DDEBUG_GRADE' > $out 2> $err
+
+    if [ $? -ne 0 ]; then
+        echo $make $@ failed
+        exit 1
+    fi
+
+    # now run qemu and save the output
+    run_qemu
+
+    show_time
+}
+
+check_result() {
+    # usage: check_result <tag> <check> <check args...>
+    show_check_tag "$1"
+    shift
+
+    # give qemu some time to run (for asynchronous mode)
+    if [ ! -s $qemu_out ]; then
+        sleep 4
+    fi
+
+    if [ ! -s $qemu_out ]; then
+        fail > /dev/null
+        echo 'no $qemu_out'
+    else
+        check=$1
+        shift
+        $check "$@"
+    fi
+}
+
+check_regexps() {
+    okay=yes
+    not=0
+    reg=0
+    error=
+    for i do
+        if [ "x$i" = "x!" ]; then
+            not=1
+        elif [ "x$i" = "x-" ]; then
+            reg=1
+        else
+            if [ $reg -ne 0 ]; then
+                $grep '-E' "^$i\$" $qemu_out > /dev/null
+            else
+                $grep '-F' "$i" $qemu_out > /dev/null
+            fi
+            found=$(($? == 0))
+            if [ $found -eq $not ]; then
+                if [ $found -eq 0 ]; then
+                    msg="!! error: missing '$i'"
+                else
+                    msg="!! error: got unexpected line '$i'"
+                fi
+                okay=no
+                if [ -z "$error" ]; then
+                    error="$msg"
+                else
+                    error="$error\n$msg"
+                fi
+            fi
+            not=0
+            reg=0
+        fi
+    done
+    if [ "$okay" = "yes" ]; then
+        pass
+    else
+        fail "$error"
+        if $verbose; then
+            exit 1
+        fi
+    fi
+}
+
+run_test() {
+    # usage: run_test [-tag <tag>] [-prog <prog>] [-Ddef...] [-check <check>] checkargs ...
+    tag=
+    prog=
+    check=check_regexps
+    while true; do
+        select=
+        case $1 in
+            -tag|-prog)
+                select=`expr substr $1 2 ${#1}`
+                eval $select='$2'
+                ;;
+        esac
+        if [ -z "$select" ]; then
+            break
+        fi
+        shift
+        shift
+    done
+    defs=
+    while expr "x$1" : "x-D.*" > /dev/null; do
+        defs="DEFS+='$1' $defs"
+        shift
+    done
+    if [ "x$1" = "x-check" ]; then
+        check=$2
+        shift
+        shift
+    fi
+
+    if [ -z "$prog" ]; then
+        $make $makeopts touch > /dev/null 2>&1
+        args="$defs"
+    else
+        if [ -z "$tag" ]; then
+            tag="$prog"
+        fi
+        args="build-$prog $defs"
+    fi
+
+    build_run "$tag" "$args"
+
+    check_result 'check result' "$check" "$@"
+}
+
+quick_run() {
+    # usage: quick_run <tag> [-Ddef...]
+    tag="$1"
+    shift
+    defs=
+    while expr "x$1" : "x-D.*" > /dev/null; do
+        defs="DEFS+='$1' $defs"
+        shift
+    done
+
+    $make $makeopts touch > /dev/null 2>&1
+    build_run "$tag" "$defs"
+}
+
+quick_check() {
+    # usage: quick_check <tag> checkargs ...
+    tag="$1"
+    shift
+    check_result "$tag" check_regexps "$@"
+}
+
+## kernel image
+osimg=$(make_print ucoreimg)
+
+## swap image
+swapimg=$(make_print swapimg)
+
+## set default qemu-options
+qemuopts="-hda $osimg -drive file=$swapimg,media=disk,cache=writeback"
+
+## set break-function, default is readline
+brkfun=readline
+
+default_check() {
+    pts=7
+    check_regexps "$@"
+
+    pts=3
+    quick_check 'check output'                                  \
+    'memory management: default_pmm_manager'                      \
+    'check_alloc_page() succeeded!'                             \
+    'check_pgdir() succeeded!'                                  \
+    'check_boot_pgdir() succeeded!'				\
+    'PDE(0e0) c0000000-f8000000 38000000 urw'                   \
+    '  |-- PTE(38000) c0000000-f8000000 38000000 -rw'           \
+    'PDE(001) fac00000-fb000000 00400000 -rw'                   \
+    '  |-- PTE(000e0) faf00000-fafe0000 000e0000 urw'           \
+    '  |-- PTE(00001) fafeb000-fafec000 00001000 -rw'		\
+    'check_slab() succeeded!'					\
+    'check_vma_struct() succeeded!'                             \
+    'page fault at 0x00000100: K/W [no page found].'            \
+    'check_pgfault() succeeded!'                                \
+    'check_vmm() succeeded.'					\
+    'page fault at 0x00001000: K/W [no page found].'            \
+    'page fault at 0x00002000: K/W [no page found].'            \
+    'page fault at 0x00003000: K/W [no page found].'            \
+    'page fault at 0x00004000: K/W [no page found].'            \
+    'write Virt Page e in fifo_check_swap'			\
+    'page fault at 0x00005000: K/W [no page found].'		\
+    'page fault at 0x00001000: K/W [no page found]'		\
+    'page fault at 0x00002000: K/W [no page found].'		\
+    'page fault at 0x00003000: K/W [no page found].'		\
+    'page fault at 0x00004000: K/W [no page found].'		\
+    'check_swap() succeeded!'					\
+    '++ setup timer interrupts'
+}
+
+## check now!!
+
+run_test -prog 'badsegment' -check default_check                \
+      - 'kernel_execve: pid = ., name = "badsegment".*'          \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000d General Protection'                    \
+        '  err  0x00000028'                                     \
+      - '  eip  0x008.....'                                     \
+      - '  esp  0xaff.....'                                     \
+        '  cs   0x----001b'                                     \
+        '  ss   0x----0023'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'divzero' -check default_check                   \
+      - 'kernel_execve: pid = ., name = "divzero".*'             \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x00000000 Divide error'                          \
+      - '  eip  0x008.....'                                     \
+      - '  esp  0xaff.....'                                     \
+        '  cs   0x----001b'                                     \
+        '  ss   0x----0023'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'softint' -check default_check                   \
+      - 'kernel_execve: pid = ., name = "softint".*'             \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000d General Protection'                    \
+        '  err  0x00000072'                                     \
+      - '  eip  0x008.....'                                     \
+      - '  esp  0xaff.....'                                     \
+        '  cs   0x----001b'                                     \
+        '  ss   0x----0023'                                     \
+    ! - 'user panic at .*'
+
+pts=10
+
+run_test -prog 'faultread'  -check default_check                                     \
+      - 'kernel_execve: pid = ., name = "faultread".*'           \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000e Page Fault'                            \
+        '  err  0x00000004'                                     \
+      - '  eip  0x008.....'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'faultreadkernel' -check default_check                                \
+      - 'kernel_execve: pid = ., name = "faultreadkernel".*'     \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000e Page Fault'                            \
+        '  err  0x00000005'                                     \
+      - '  eip  0x008.....'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'hello' -check default_check                                          \
+      - 'kernel_execve: pid = ., name = "hello".*'               \
+        'Hello world!!.'                                        \
+      - 'I am process .*'                                       \
+        'hello pass.'
+
+run_test -prog 'testbss' -check default_check                                        \
+      - 'kernel_execve: pid = ., name = "testbss".*'             \
+        'Making sure bss works right...'                        \
+        'Yes, good.  Now doing a wild write off the end...'     \
+        'testbss may pass.'                                     \
+      - 'trapframe at 0xc.......'                               \
+        'trap 0x0000000e Page Fault'                            \
+        '  err  0x00000006'                                     \
+      - '  eip  0x008.....'                                     \
+        'killed by kernel.'                                     \
+    ! - 'user panic at .*'
+
+run_test -prog 'pgdir' -check default_check                                          \
+      - 'kernel_execve: pid = ., name = "pgdir".*'               \
+      - 'I am .*'                                  \
+        'PDE(001) 00800000-00c00000 00400000 urw'               \
+        '  |-- PTE(00002) 00800000-00802000 00002000 ur-'       \
+        '  |-- PTE(00001) 00802000-00803000 00001000 urw'       \
+        'PDE(001) afc00000-b0000000 00400000 urw'               \
+        '  |-- PTE(00004) afffc000-b0000000 00004000 urw'       \
+        'PDE(0e0) c0000000-f8000000 38000000 urw'               \
+        '  |-- PTE(38000) c0000000-f8000000 38000000 -rw'       \
+        'pgdir pass.'
+
+run_test -prog 'yield' -check default_check                                          \
+      - 'kernel_execve: pid = ., name = "yield".*'               \
+        'Hello, I am process 2.'                                \
+      - 'Back in process ., iteration 0.'                       \
+      - 'Back in process ., iteration 1.'                       \
+      - 'Back in process ., iteration 2.'                       \
+      - 'Back in process ., iteration 3.'                       \
+      - 'Back in process ., iteration 4.'                       \
+      - 'All done in process .*'                                \
+        'yield pass.'
+
+
+run_test -prog 'badarg' -check default_check                    \
+      - 'kernel_execve: pid = ., name = "badarg".*'              \
+        'fork ok.'                                              \
+        'badarg pass.'                                          \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+pts=10
+
+run_test -prog 'exit'  -check default_check                                          \
+      - 'kernel_execve: pid = ., name = "exit".*'                \
+        'I am the parent. Forking the child...'                 \
+        'I am the parent, waiting now..'                        \
+        'I am the child.'                                       \
+      - 'waitpid [0-9]+ ok\.'                                   \
+        'exit pass.'                                            \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+run_test -prog 'spin'  -check default_check                                          \
+      - 'kernel_execve: pid = ., name = "spin".*'                \
+        'I am the parent. Forking the child...'                 \
+        'I am the parent. Running the child...'                 \
+        'I am the child. spinning ...'                          \
+        'I am the parent.  Killing the child...'                \
+        'kill returns 0'                                        \
+        'wait returns 0'                                        \
+        'spin may pass.'                                        \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+run_test -prog 'waitkill'  -check default_check                                      \
+      - 'kernel_execve: pid = ., name = "waitkill".*'            \
+        'wait child 1.'                                         \
+        'child 2.'                                              \
+        'child 1.'                                              \
+        'kill parent ok.'                                       \
+        'kill child1 ok.'                                       \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+pts=15
+
+run_test -prog 'forktest'   -check default_check                                     \
+      - 'kernel_execve: pid = ., name = "forktest".*'            \
+        'I am child 31'                                         \
+        'I am child 19'                                         \
+        'I am child 13'                                         \
+        'I am child 0'                                          \
+        'forktest pass.'                                        \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'fork claimed to work [0-9]+ times!'                    \
+    !   'wait stopped early'                                    \
+    !   'wait got too many'                                     \
+    ! - 'user panic at .*'
+
+pts=10
+run_test -prog 'forktree'    -check default_check               \
+      - 'kernel_execve: pid = ., name = "forktree".*'            \
+      - '....: I am '\'''\'                                     \
+      - '....: I am '\''0'\'                                    \
+      - '....: I am '\'''\'                                     \
+      - '....: I am '\''1'\'                                    \
+      - '....: I am '\''0'\'                                    \
+      - '....: I am '\''01'\'                                   \
+      - '....: I am '\''00'\'                                   \
+      - '....: I am '\''11'\'                                   \
+      - '....: I am '\''10'\'                                   \
+      - '....: I am '\''101'\'                                  \
+      - '....: I am '\''100'\'                                  \
+      - '....: I am '\''111'\'                                  \
+      - '....: I am '\''110'\'                                  \
+      - '....: I am '\''001'\'                                  \
+      - '....: I am '\''000'\'                                  \
+      - '....: I am '\''011'\'                                  \
+      - '....: I am '\''010'\'                                  \
+      - '....: I am '\''0101'\'                                 \
+      - '....: I am '\''0100'\'                                 \
+      - '....: I am '\''0111'\'                                 \
+      - '....: I am '\''0110'\'                                 \
+      - '....: I am '\''0001'\'                                 \
+      - '....: I am '\''0000'\'                                 \
+      - '....: I am '\''0011'\'                                 \
+      - '....: I am '\''0010'\'                                 \
+      - '....: I am '\''1101'\'                                 \
+      - '....: I am '\''1100'\'                                 \
+      - '....: I am '\''1111'\'                                 \
+      - '....: I am '\''1110'\'                                 \
+      - '....: I am '\''1001'\'                                 \
+      - '....: I am '\''1000'\'                                 \
+      - '....: I am '\''1011'\'                                 \
+      - '....: I am '\''1010'\'                                 \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'
+
+pts=20
+timeout=150
+run_test -prog 'priority'      -check default_check             \
+	'sched class: stride_scheduler'                         \
+      - 'kernel_execve: pid = ., name = "priority".*'            \
+        'main: fork ok,now need to wait pids.'                  \
+        'stride sched correct result: 1 2 3 4 5'                \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+pts=20
+timeout=240
+
+run_test -prog 'sleep'         -check default_check             \
+      - 'kernel_execve: pid = ., name = "sleep".*'               \
+        'sleep 1 x 100 slices.'                                 \
+        'sleep 3 x 100 slices.'                                 \
+        'sleep 7 x 100 slices.'                                 \
+        'sleep 10 x 100 slices.'                                \
+      - 'use 1... msecs.'                                       \
+        'sleep pass.'                                           \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    !   '  trap 0x0000000e Page Fault'                          \
+    !   'killed by kernel.'                                     \
+    ! - 'user panic at .*'
+
+pts=20
+timeout=240
+run_test -prog 'sleepkill'   -check default_check               \
+      - 'kernel_execve: pid = ., name = "sleepkill".*'           \
+        'sleepkill pass.'                                       \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+pts=40
+timeout=500
+run_test -prog 'matrix'     -check default_check                \
+        'Iter 1, No.0 philosopher_sema is thinking'                  \
+        'Iter 1, No.1 philosopher_sema is thinking'                  \
+        'Iter 1, No.2 philosopher_sema is thinking'                  \
+        'Iter 1, No.3 philosopher_sema is thinking'                  \
+        'Iter 1, No.4 philosopher_sema is thinking'                  \
+        'Iter 1, No.0 philosopher_sema is eating'                  \
+        'Iter 1, No.1 philosopher_sema is eating'                  \
+        'Iter 1, No.2 philosopher_sema is eating'                  \
+        'Iter 1, No.3 philosopher_sema is eating'                  \
+        'Iter 1, No.4 philosopher_sema is eating'                  \
+        'No.0 philosopher_sema quit'                                \
+        'No.1 philosopher_sema quit'                                \
+        'No.2 philosopher_sema quit'                                \
+        'No.3 philosopher_sema quit'                                \
+        'No.4 philosopher_sema quit'                                \
+        'Iter 1, No.0 philosopher_condvar is thinking'                  \
+        'Iter 1, No.1 philosopher_condvar is thinking'                  \
+        'Iter 1, No.2 philosopher_condvar is thinking'                  \
+        'Iter 1, No.3 philosopher_condvar is thinking'                  \
+        'Iter 1, No.4 philosopher_condvar is thinking'                  \
+        'Iter 1, No.0 philosopher_condvar is eating'                  \
+        'Iter 1, No.1 philosopher_condvar is eating'                  \
+        'Iter 1, No.2 philosopher_condvar is eating'                  \
+        'Iter 1, No.3 philosopher_condvar is eating'                  \
+        'Iter 1, No.4 philosopher_condvar is eating'                  \
+        'No.0 philosopher_condvar quit'                                \
+        'No.1 philosopher_condvar quit'                                \
+        'No.2 philosopher_condvar quit'                                \
+        'No.3 philosopher_condvar quit'                                \
+        'No.4 philosopher_condvar quit'                                \
+      - 'kernel_execve: pid = ., name = "matrix".*'              \
+        'fork ok.'                                              \
+        'pid 13 done!.'                                         \
+        'pid 17 done!.'                                         \
+        'pid 23 done!.'                                         \
+        'matrix pass.'                                          \
+        'all user-mode processes have quit.'                    \
+        'init check memory pass.'                               \
+    ! - 'user panic at .*'
+
+## print final-score
+show_final
+
diff --git a/code/lab8/tools/kernel.ld b/code/lab8/tools/kernel.ld
new file mode 100644
index 0000000..1838500
--- /dev/null
+++ b/code/lab8/tools/kernel.ld
@@ -0,0 +1,58 @@
+/* Simple linker script for the ucore kernel.
+   See the GNU ld 'info' manual ("info ld") to learn the syntax. */
+
+OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
+OUTPUT_ARCH(i386)
+ENTRY(kern_entry)
+
+SECTIONS {
+    /* Load the kernel at this address: "." means the current address */
+    . = 0xC0100000;
+
+    .text : {
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+
+    PROVIDE(etext = .); /* Define the 'etext' symbol to this value */
+
+    .rodata : {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+
+    /* Include debugging information in kernel memory */
+    .stab : {
+        PROVIDE(__STAB_BEGIN__ = .);
+        *(.stab);
+        PROVIDE(__STAB_END__ = .);
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    .stabstr : {
+        PROVIDE(__STABSTR_BEGIN__ = .);
+        *(.stabstr);
+        PROVIDE(__STABSTR_END__ = .);
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    /* Adjust the address for the data segment to the next page */
+    . = ALIGN(0x1000);
+
+    /* The data segment */
+    .data : {
+        *(.data)
+    }
+
+    PROVIDE(edata = .);
+
+    .bss : {
+        *(.bss)
+    }
+
+    PROVIDE(end = .);
+
+    /DISCARD/ : {
+        *(.eh_frame .note.GNU-stack)
+    }
+}
diff --git a/code/lab8/tools/mksfs.c b/code/lab8/tools/mksfs.c
new file mode 100644
index 0000000..41d2a0e
--- /dev/null
+++ b/code/lab8/tools/mksfs.c
@@ -0,0 +1,582 @@
+#define _GNU_SOURCE
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <limits.h>
+#include <dirent.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <errno.h>
+#include <assert.h>
+
+typedef int bool;
+
+#define __error(msg, quit, ...)                                                         \
+    do {                                                                                \
+        fprintf(stderr, #msg ": function %s - line %d: ", __FUNCTION__, __LINE__);      \
+        if (errno != 0) {                                                               \
+            fprintf(stderr, "[error] %s: ", strerror(errno));                           \
+        }                                                                               \
+        fprintf(stderr, "\n\t"), fprintf(stderr, __VA_ARGS__);                          \
+        errno = 0;                                                                      \
+        if (quit) {                                                                     \
+            exit(-1);                                                                   \
+        }                                                                               \
+    } while (0)
+
+#define warn(...)           __error(warn, 0, __VA_ARGS__)
+#define bug(...)            __error(bug, 1, __VA_ARGS__)
+
+#define static_assert(x)                                                                \
+    switch (x) {case 0: case (x): ; }
+
+/* 2^31 + 2^29 - 2^25 + 2^22 - 2^19 - 2^16 + 1 */
+#define GOLDEN_RATIO_PRIME_32       0x9e370001UL
+
+#define HASH_SHIFT                              10
+#define HASH_LIST_SIZE                          (1 << HASH_SHIFT)
+
+static inline uint32_t
+__hash32(uint32_t val, unsigned int bits) {
+    uint32_t hash = val * GOLDEN_RATIO_PRIME_32;
+    return (hash >> (32 - bits));
+}
+
+static uint32_t
+hash32(uint32_t val) {
+    return __hash32(val, HASH_SHIFT);
+}
+
+static uint32_t
+hash64(uint64_t val) {
+    return __hash32((uint32_t)val, HASH_SHIFT);
+}
+
+void *
+safe_malloc(size_t size) {
+    void *ret;
+    if ((ret = malloc(size)) == NULL) {
+        bug("malloc %lu bytes failed.\n", (long unsigned)size);
+    }
+    return ret;
+}
+
+char *
+safe_strdup(const char *str) {
+    char *ret;
+    if ((ret = strdup(str)) == NULL) {
+        bug("strdup failed: %s\n", str);
+    }
+    return ret;
+}
+
+struct stat *
+safe_stat(const char *filename) {
+    static struct stat __stat;
+    if (stat(filename, &__stat) != 0) {
+        bug("stat %s failed.\n", filename);
+    }
+    return &__stat;
+}
+
+struct stat *
+safe_fstat(int fd) {
+    static struct stat __stat;
+    if (fstat(fd, &__stat) != 0) {
+        bug("fstat %d failed.\n", fd);
+    }
+    return &__stat;
+}
+
+struct stat *
+safe_lstat(const char *name) {
+    static struct stat __stat;
+    if (lstat(name, &__stat) != 0) {
+        bug("lstat '%s' failed.\n", name);
+    }
+    return &__stat;
+}
+
+void
+safe_fchdir(int fd) {
+    if (fchdir(fd) != 0) {
+        bug("fchdir failed %d.\n", fd);
+    }
+}
+
+#define SFS_MAGIC                               0x2f8dbe2a
+#define SFS_NDIRECT                             12
+#define SFS_BLKSIZE                             4096                                    // 4K
+#define SFS_MAX_NBLKS                           (1024UL * 512)                          // 4K * 512K
+#define SFS_MAX_INFO_LEN                        31
+#define SFS_MAX_FNAME_LEN                       255
+#define SFS_MAX_FILE_SIZE                       (1024UL * 1024 * 128)                   // 128M
+
+#define SFS_BLKBITS                             (SFS_BLKSIZE * CHAR_BIT)
+#define SFS_TYPE_FILE                           1
+#define SFS_TYPE_DIR                            2
+#define SFS_TYPE_LINK                           3
+
+#define SFS_BLKN_SUPER                          0
+#define SFS_BLKN_ROOT                           1
+#define SFS_BLKN_FREEMAP                        2
+
+struct cache_block {
+    uint32_t ino;
+    struct cache_block *hash_next;
+    void *cache;
+};
+
+struct cache_inode {
+    struct inode {
+        uint32_t size;
+        uint16_t type;
+        uint16_t nlinks;
+        uint32_t blocks;
+        uint32_t direct[SFS_NDIRECT];
+        uint32_t indirect;
+        uint32_t db_indirect;
+    } inode;
+    ino_t real;
+    uint32_t ino;
+    uint32_t nblks;
+    struct cache_block *l1, *l2;
+    struct cache_inode *hash_next;
+};
+
+struct sfs_fs {
+    struct {
+        uint32_t magic;
+        uint32_t blocks;
+        uint32_t unused_blocks;
+        char info[SFS_MAX_INFO_LEN + 1];
+    } super;
+    struct subpath {
+        struct subpath *next, *prev;
+        char *subname;
+    } __sp_nil, *sp_root, *sp_end;
+    int imgfd;
+    uint32_t ninos, next_ino;
+    struct cache_inode *root;
+    struct cache_inode *inodes[HASH_LIST_SIZE];
+    struct cache_block *blocks[HASH_LIST_SIZE];
+};
+
+struct sfs_entry {
+    uint32_t ino;
+    char name[SFS_MAX_FNAME_LEN + 1];
+};
+
+static uint32_t
+sfs_alloc_ino(struct sfs_fs *sfs) {
+    if (sfs->next_ino < sfs->ninos) {
+        sfs->super.unused_blocks --;
+        return sfs->next_ino ++;
+    }
+    bug("out of disk space.\n");
+}
+
+static struct cache_block *
+alloc_cache_block(struct sfs_fs *sfs, uint32_t ino) {
+    struct cache_block *cb = safe_malloc(sizeof(struct cache_block));
+    cb->ino = (ino != 0) ? ino : sfs_alloc_ino(sfs);
+    cb->cache = memset(safe_malloc(SFS_BLKSIZE), 0, SFS_BLKSIZE);
+    struct cache_block **head = sfs->blocks + hash32(ino);
+    cb->hash_next = *head, *head = cb;
+    return cb;
+}
+
+struct cache_block *
+search_cache_block(struct sfs_fs *sfs, uint32_t ino) {
+    struct cache_block *cb = sfs->blocks[hash32(ino)];
+    while (cb != NULL && cb->ino != ino) {
+        cb = cb->hash_next;
+    }
+    return cb;
+}
+
+static struct cache_inode *
+alloc_cache_inode(struct sfs_fs *sfs, ino_t real, uint32_t ino, uint16_t type) {
+    struct cache_inode *ci = safe_malloc(sizeof(struct cache_inode));
+    ci->ino = (ino != 0) ? ino : sfs_alloc_ino(sfs);
+    ci->real = real, ci->nblks = 0, ci->l1 = ci->l2 = NULL;
+    struct inode *inode = &(ci->inode);
+    memset(inode, 0, sizeof(struct inode));
+    inode->type = type;
+    struct cache_inode **head = sfs->inodes + hash64(real);
+    ci->hash_next = *head, *head = ci;
+    return ci;
+}
+
+struct cache_inode *
+search_cache_inode(struct sfs_fs *sfs, ino_t real) {
+    struct cache_inode *ci = sfs->inodes[hash64(real)];
+    while (ci != NULL && ci->real != real) {
+        ci = ci->hash_next;
+    }
+    return ci;
+}
+
+struct sfs_fs *
+create_sfs(int imgfd) {
+    uint32_t ninos, next_ino;
+    struct stat *stat = safe_fstat(imgfd);
+    if ((ninos = stat->st_size / SFS_BLKSIZE) > SFS_MAX_NBLKS) {
+        ninos = SFS_MAX_NBLKS;
+        warn("img file is too big (%llu bytes, only use %u blocks).\n",
+                (unsigned long long)stat->st_size, ninos);
+    }
+    if ((next_ino = SFS_BLKN_FREEMAP + (ninos + SFS_BLKBITS - 1) / SFS_BLKBITS) >= ninos) {
+        bug("img file is too small (%llu bytes, %u blocks, bitmap use at least %u blocks).\n",
+                (unsigned long long)stat->st_size, ninos, next_ino - 2);
+    }
+
+    struct sfs_fs *sfs = safe_malloc(sizeof(struct sfs_fs));
+    sfs->super.magic = SFS_MAGIC;
+    sfs->super.blocks = ninos, sfs->super.unused_blocks = ninos - next_ino;
+    snprintf(sfs->super.info, SFS_MAX_INFO_LEN, "simple file system");
+
+    sfs->ninos = ninos, sfs->next_ino = next_ino, sfs->imgfd = imgfd;
+    sfs->sp_root = sfs->sp_end = &(sfs->__sp_nil);
+    sfs->sp_end->prev = sfs->sp_end->next = NULL;
+
+    int i;
+    for (i = 0; i < HASH_LIST_SIZE; i ++) {
+        sfs->inodes[i] = NULL;
+        sfs->blocks[i] = NULL;
+    }
+
+    sfs->root = alloc_cache_inode(sfs, 0, SFS_BLKN_ROOT, SFS_TYPE_DIR);
+    return sfs;
+}
+
+static void
+subpath_push(struct sfs_fs *sfs, const char *subname) {
+    struct subpath *subpath = safe_malloc(sizeof(struct subpath));
+    subpath->subname = safe_strdup(subname);
+    sfs->sp_end->next = subpath;
+    subpath->prev = sfs->sp_end;
+    subpath->next = NULL;
+    sfs->sp_end = subpath;
+}
+
+static void
+subpath_pop(struct sfs_fs *sfs) {
+    assert(sfs->sp_root != sfs->sp_end);
+    struct subpath *subpath = sfs->sp_end;
+    sfs->sp_end = sfs->sp_end->prev, sfs->sp_end->next = NULL;
+    free(subpath->subname), free(subpath);
+}
+
+static void
+subpath_show(FILE *fout, struct sfs_fs *sfs, const char *name) {
+    struct subpath *subpath = sfs->sp_root;
+    fprintf(fout, "current is: /");
+    while ((subpath = subpath->next) != NULL) {
+        fprintf(fout, "%s/", subpath->subname);
+    }
+    if (name != NULL) {
+        fprintf(fout, "%s", name);
+    }
+    fprintf(fout, "\n");
+}
+
+static void
+write_block(struct sfs_fs *sfs, void *data, size_t len, uint32_t ino) {
+    assert(len <= SFS_BLKSIZE && ino < sfs->ninos);
+    static char buffer[SFS_BLKSIZE];
+    if (len != SFS_BLKSIZE) {
+        memset(buffer, 0, sizeof(buffer));
+        data = memcpy(buffer, data, len);
+    }
+    off_t offset = (off_t)ino * SFS_BLKSIZE;
+    ssize_t ret;
+    if ((ret = pwrite(sfs->imgfd, data, SFS_BLKSIZE, offset)) != SFS_BLKSIZE) {
+        bug("write %u block failed: (%d/%d).\n", ino, (int)ret, SFS_BLKSIZE);
+    }
+}
+
+static void
+flush_cache_block(struct sfs_fs *sfs, struct cache_block *cb) {
+    write_block(sfs, cb->cache, SFS_BLKSIZE, cb->ino);
+}
+
+static void
+flush_cache_inode(struct sfs_fs *sfs, struct cache_inode *ci) {
+    write_block(sfs, &(ci->inode), sizeof(ci->inode), ci->ino);
+}
+
+void
+close_sfs(struct sfs_fs *sfs) {
+    static char buffer[SFS_BLKSIZE];
+    uint32_t i, j, ino = SFS_BLKN_FREEMAP;
+    uint32_t ninos = sfs->ninos, next_ino = sfs->next_ino;
+    for (i = 0; i < ninos; ino ++, i += SFS_BLKBITS) {
+        memset(buffer, 0, sizeof(buffer));
+        if (i + SFS_BLKBITS > next_ino) {
+            uint32_t start = 0, end = SFS_BLKBITS;
+            if (i < next_ino) {
+                start = next_ino - i;
+            }
+            if (i + SFS_BLKBITS > ninos) {
+                end = ninos - i;
+            }
+            uint32_t *data = (uint32_t *)buffer;
+            const uint32_t bits = sizeof(bits) * CHAR_BIT;
+            for (j = start; j < end; j ++) {
+                data[j / bits] |= (1 << (j % bits));
+            }
+        }
+        write_block(sfs, buffer, sizeof(buffer), ino);
+    }
+    write_block(sfs, &(sfs->super), sizeof(sfs->super), SFS_BLKN_SUPER);
+
+    for (i = 0; i < HASH_LIST_SIZE; i ++) {
+        struct cache_block *cb = sfs->blocks[i];
+        while (cb != NULL) {
+            flush_cache_block(sfs, cb);
+            cb = cb->hash_next;
+        }
+        struct cache_inode *ci = sfs->inodes[i];
+        while (ci != NULL) {
+            flush_cache_inode(sfs, ci);
+            ci = ci->hash_next;
+        }
+    }
+}
+
+struct sfs_fs *
+open_img(const char *imgname) {
+    const char *expect = ".img", *ext = imgname + strlen(imgname) - strlen(expect);
+    if (ext <= imgname || strcmp(ext, expect) != 0) {
+        bug("invalid .img file name '%s'.\n", imgname);
+    }
+    int imgfd;
+    if ((imgfd = open(imgname, O_WRONLY)) < 0) {
+        bug("open '%s' failed.\n", imgname);
+    }
+    return create_sfs(imgfd);
+}
+
+#define open_bug(sfs, name, ...)                                                        \
+    do {                                                                                \
+        subpath_show(stderr, sfs, name);                                                \
+        bug(__VA_ARGS__);                                                               \
+    } while (0)
+
+#define show_fullpath(sfs, name) subpath_show(stderr, sfs, name)
+
+void open_dir(struct sfs_fs *sfs, struct cache_inode *current, struct cache_inode *parent);
+void open_file(struct sfs_fs *sfs, struct cache_inode *file, const char *filename, int fd);
+void open_link(struct sfs_fs *sfs, struct cache_inode *file, const char *filename);
+
+#define SFS_BLK_NENTRY                          (SFS_BLKSIZE / sizeof(uint32_t))
+#define SFS_L0_NBLKS                            SFS_NDIRECT
+#define SFS_L1_NBLKS                            (SFS_BLK_NENTRY + SFS_L0_NBLKS)
+#define SFS_L2_NBLKS                            (SFS_BLK_NENTRY * SFS_BLK_NENTRY + SFS_L1_NBLKS)
+#define SFS_LN_NBLKS                            (SFS_MAX_FILE_SIZE / SFS_BLKSIZE)
+
+static void
+update_cache(struct sfs_fs *sfs, struct cache_block **cbp, uint32_t *inop) {
+    uint32_t ino = *inop;
+    struct cache_block *cb = *cbp;
+    if (ino == 0) {
+        cb = alloc_cache_block(sfs, 0);
+        ino = cb->ino;
+    }
+    else if (cb == NULL || cb->ino != ino) {
+        cb = search_cache_block(sfs, ino);
+        assert(cb != NULL && cb->ino == ino);
+    }
+    *cbp = cb, *inop = ino;
+}
+
+static void
+append_block(struct sfs_fs *sfs, struct cache_inode *file, size_t size, uint32_t ino, const char *filename) {
+    static_assert(SFS_LN_NBLKS <= SFS_L2_NBLKS);
+    assert(size <= SFS_BLKSIZE);
+    uint32_t nblks = file->nblks;
+    struct inode *inode = &(file->inode);
+    if (nblks >= SFS_LN_NBLKS) {
+        open_bug(sfs, filename, "file is too big.\n");
+    }
+    if (nblks < SFS_L0_NBLKS) {
+        inode->direct[nblks] = ino;
+    }
+    else if (nblks < SFS_L1_NBLKS) {
+        nblks -= SFS_L0_NBLKS;
+        update_cache(sfs, &(file->l1), &(inode->indirect));
+        uint32_t *data = file->l1->cache;
+        data[nblks] = ino;
+    }
+    else if (nblks < SFS_L2_NBLKS) {
+        nblks -= SFS_L1_NBLKS;
+        update_cache(sfs, &(file->l2), &(inode->db_indirect));
+        uint32_t *data2 = file->l2->cache;
+        update_cache(sfs, &(file->l1), &data2[nblks / SFS_BLK_NENTRY]);
+        uint32_t *data1 = file->l1->cache;
+        data1[nblks % SFS_BLK_NENTRY] = ino;
+    }
+    file->nblks ++;
+    inode->size += size;
+    inode->blocks ++;
+}
+
+static void
+add_entry(struct sfs_fs *sfs, struct cache_inode *current, struct cache_inode *file, const char *name) {
+    static struct sfs_entry __entry, *entry = &__entry;
+    assert(current->inode.type == SFS_TYPE_DIR && strlen(name) <= SFS_MAX_FNAME_LEN);
+    entry->ino = file->ino, strcpy(entry->name, name);
+    uint32_t entry_ino = sfs_alloc_ino(sfs);
+    write_block(sfs, entry, sizeof(entry->name), entry_ino);
+    append_block(sfs, current, sizeof(entry->name), entry_ino, name);
+    file->inode.nlinks ++;
+}
+
+static void
+add_dir(struct sfs_fs *sfs, struct cache_inode *parent, const char *dirname, int curfd, int fd, ino_t real) {
+    assert(search_cache_inode(sfs, real) == NULL);
+    struct cache_inode *current = alloc_cache_inode(sfs, real, 0, SFS_TYPE_DIR);
+    safe_fchdir(fd), subpath_push(sfs, dirname);
+    open_dir(sfs, current, parent);
+    safe_fchdir(curfd), subpath_pop(sfs);
+    add_entry(sfs, parent, current, dirname);
+}
+
+static void
+add_file(struct sfs_fs *sfs, struct cache_inode *current, const char *filename, int fd, ino_t real) {
+    struct cache_inode *file;
+    if ((file = search_cache_inode(sfs, real)) == NULL) {
+        file = alloc_cache_inode(sfs, real, 0, SFS_TYPE_FILE);
+        open_file(sfs, file, filename, fd);
+    }
+    add_entry(sfs, current, file, filename);
+}
+
+static void
+add_link(struct sfs_fs *sfs, struct cache_inode *current, const char *filename, ino_t real) {
+    struct cache_inode *file = alloc_cache_inode(sfs, real, 0, SFS_TYPE_LINK);
+    open_link(sfs, file, filename);
+    add_entry(sfs, current, file, filename);
+}
+
+void
+open_dir(struct sfs_fs *sfs, struct cache_inode *current, struct cache_inode *parent) {
+    DIR *dir;
+    if ((dir = opendir(".")) == NULL) {
+        open_bug(sfs, NULL, "opendir failed.\n");
+    }
+    add_entry(sfs, current, current, ".");
+    add_entry(sfs, current, parent, "..");
+    struct dirent *direntp;
+    while ((direntp = readdir(dir)) != NULL) {
+        const char *name = direntp->d_name;
+        if (strcmp(name, ".") == 0 || strcmp(name, "..") == 0) {
+            continue ;
+        }
+        if (name[0] == '.') {
+            continue ;
+        }
+        if (strlen(name) > SFS_MAX_FNAME_LEN) {
+            open_bug(sfs, NULL, "file name is too long: %s\n", name);
+        }
+        struct stat *stat = safe_lstat(name);
+        if (S_ISLNK(stat->st_mode)) {
+            add_link(sfs, current, name, stat->st_ino);
+        }
+        else {
+            int fd;
+            if ((fd = open(name, O_RDONLY)) < 0) {
+                open_bug(sfs, NULL, "open failed: %s\n", name);
+            }
+            if (S_ISDIR(stat->st_mode)) {
+                add_dir(sfs, current, name, dirfd(dir), fd, stat->st_ino);
+            }
+            else if (S_ISREG(stat->st_mode)) {
+                add_file(sfs, current, name, fd, stat->st_ino);
+            }
+            else {
+                char mode = '?';
+                if (S_ISFIFO(stat->st_mode)) mode = 'f';
+                if (S_ISSOCK(stat->st_mode)) mode = 's';
+                if (S_ISCHR(stat->st_mode)) mode = 'c';
+                if (S_ISBLK(stat->st_mode)) mode = 'b';
+                show_fullpath(sfs, NULL);
+                warn("unsupported mode %07x (%c): file %s\n", stat->st_mode, mode, name);
+            }
+            close(fd);
+        }
+    }
+    closedir(dir);
+}
+
+void
+open_file(struct sfs_fs *sfs, struct cache_inode *file, const char *filename, int fd) {
+    static char buffer[SFS_BLKSIZE];
+    ssize_t ret, last = SFS_BLKSIZE;
+    while ((ret = read(fd, buffer, sizeof(buffer))) != 0) {
+        assert(last == SFS_BLKSIZE);
+        uint32_t ino = sfs_alloc_ino(sfs);
+        write_block(sfs, buffer, ret, ino);
+        append_block(sfs, file, ret, ino, filename);
+        last = ret;
+    }
+    if (ret < 0) {
+        open_bug(sfs, filename, "read file failed.\n");
+    }
+}
+
+void
+open_link(struct sfs_fs *sfs, struct cache_inode *file, const char *filename) {
+    static char buffer[SFS_BLKSIZE];
+    uint32_t ino = sfs_alloc_ino(sfs);
+    ssize_t ret = readlink(filename, buffer, sizeof(buffer));
+    if (ret < 0 || ret == SFS_BLKSIZE) {
+        open_bug(sfs, filename, "read link failed, %d", (int)ret);
+    }
+    write_block(sfs, buffer, ret, ino);
+    append_block(sfs, file, ret, ino, filename);
+}
+
+int
+create_img(struct sfs_fs *sfs, const char *home) {
+    int curfd, homefd;
+    if ((curfd = open(".", O_RDONLY)) < 0) {
+        bug("get current fd failed.\n");
+    }
+    if ((homefd = open(home, O_RDONLY | O_NOFOLLOW)) < 0) {
+        bug("open home directory '%s' failed.\n", home);
+    }
+    safe_fchdir(homefd);
+    open_dir(sfs, sfs->root, sfs->root);
+    safe_fchdir(curfd);
+    close(curfd), close(homefd);
+    close_sfs(sfs);
+    return 0;
+}
+
+static void
+static_check(void) {
+    static_assert(sizeof(off_t) == 8);
+    static_assert(sizeof(ino_t) == 8);
+    static_assert(SFS_MAX_NBLKS <= 0x80000000UL);
+    static_assert(SFS_MAX_FILE_SIZE <= 0x80000000UL);
+}
+
+int
+main(int argc, char **argv) {
+    static_check();
+    if (argc != 3) {
+        bug("usage: <input *.img> <input dirname>\n");
+    }
+    const char *imgname = argv[1], *home = argv[2];
+    if (create_img(open_img(imgname), home) != 0) {
+        bug("create img failed.\n");
+    }
+    printf("create %s (%s) successfully.\n", imgname, home);
+    return 0;
+}
+
diff --git a/code/lab8/tools/sign.c b/code/lab8/tools/sign.c
new file mode 100644
index 0000000..9d81bb6
--- /dev/null
+++ b/code/lab8/tools/sign.c
@@ -0,0 +1,43 @@
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+
+int
+main(int argc, char *argv[]) {
+    struct stat st;
+    if (argc != 3) {
+        fprintf(stderr, "Usage: <input filename> <output filename>\n");
+        return -1;
+    }
+    if (stat(argv[1], &st) != 0) {
+        fprintf(stderr, "Error opening file '%s': %s\n", argv[1], strerror(errno));
+        return -1;
+    }
+    printf("'%s' size: %lld bytes\n", argv[1], (long long)st.st_size);
+    if (st.st_size > 510) {
+        fprintf(stderr, "%lld >> 510!!\n", (long long)st.st_size);
+        return -1;
+    }
+    char buf[512];
+    memset(buf, 0, sizeof(buf));
+    FILE *ifp = fopen(argv[1], "rb");
+    int size = fread(buf, 1, st.st_size, ifp);
+    if (size != st.st_size) {
+        fprintf(stderr, "read '%s' error, size is %d.\n", argv[1], size);
+        return -1;
+    }
+    fclose(ifp);
+    buf[510] = 0x55;
+    buf[511] = 0xAA;
+    FILE *ofp = fopen(argv[2], "wb+");
+    size = fwrite(buf, 1, 512, ofp);
+    if (size != 512) {
+        fprintf(stderr, "write '%s' error, size is %d.\n", argv[2], size);
+        return -1;
+    }
+    fclose(ofp);
+    printf("build 512 bytes boot sector: '%s' success!\n", argv[2]);
+    return 0;
+}
+
diff --git a/code/lab8/tools/user.ld b/code/lab8/tools/user.ld
new file mode 100644
index 0000000..c73b6fa
--- /dev/null
+++ b/code/lab8/tools/user.ld
@@ -0,0 +1,71 @@
+/* Simple linker script for ucore user-level programs.
+   See the GNU ld 'info' manual ("info ld") to learn the syntax. */
+
+OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
+OUTPUT_ARCH(i386)
+ENTRY(_start)
+
+SECTIONS {
+    /* Load programs at this address: "." means the current address */
+    . = 0x800020;
+
+    .text : {
+        *(.text .stub .text.* .gnu.linkonce.t.*)
+    }
+
+    PROVIDE(etext = .); /* Define the 'etext' symbol to this value */
+
+    .rodata : {
+        *(.rodata .rodata.* .gnu.linkonce.r.*)
+    }
+
+    /* Adjust the address for the data segment to the next page */
+    . = ALIGN(0x1000);
+
+    .data : {
+        *(.data)
+    }
+
+    PROVIDE(edata = .);
+
+    .bss : {
+        *(.bss)
+    }
+
+    PROVIDE(end = .);
+
+
+    /* Place debugging symbols so that they can be found by
+     * the kernel debugger.
+     * Specifically, the four words at 0x200000 mark the beginning of
+     * the stabs, the end of the stabs, the beginning of the stabs
+     * string table, and the end of the stabs string table, respectively.
+     */
+
+    .stab_info 0x200000 : {
+        LONG(__STAB_BEGIN__);
+        LONG(__STAB_END__);
+        LONG(__STABSTR_BEGIN__);
+        LONG(__STABSTR_END__);
+    }
+
+    .stab : {
+        __STAB_BEGIN__ = DEFINED(__STAB_BEGIN__) ? __STAB_BEGIN__ : .;
+        *(.stab);
+        __STAB_END__ = DEFINED(__STAB_END__) ? __STAB_END__ : .;
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    .stabstr : {
+        __STABSTR_BEGIN__ = DEFINED(__STABSTR_BEGIN__) ? __STABSTR_BEGIN__ : .;
+        *(.stabstr);
+        __STABSTR_END__ = DEFINED(__STABSTR_END__) ? __STABSTR_END__ : .;
+        BYTE(0)     /* Force the linker to allocate space
+                   for this section */
+    }
+
+    /DISCARD/ : {
+        *(.eh_frame .note.GNU-stack .comment)
+    }
+}
diff --git a/code/lab8/tools/vector.c b/code/lab8/tools/vector.c
new file mode 100644
index 0000000..e24d77e
--- /dev/null
+++ b/code/lab8/tools/vector.c
@@ -0,0 +1,29 @@
+#include <stdio.h>
+
+int
+main(void) {
+    printf("# handler\n");
+    printf(".text\n");
+    printf(".globl __alltraps\n");
+
+    int i;
+    for (i = 0; i < 256; i ++) {
+        printf(".globl vector%d\n", i);
+        printf("vector%d:\n", i);
+        if ((i < 8 || i > 14) && i != 17) {
+            printf("  pushl $0\n");
+        }
+        printf("  pushl $%d\n", i);
+        printf("  jmp __alltraps\n");
+    }
+    printf("\n");
+    printf("# vector table\n");
+    printf(".data\n");
+    printf(".globl __vectors\n");
+    printf("__vectors:\n");
+    for (i = 0; i < 256; i ++) {
+        printf("  .long vector%d\n", i);
+    }
+    return 0;
+}
+
diff --git a/code/lab8/user/badarg.c b/code/lab8/user/badarg.c
new file mode 100644
index 0000000..7b4ffad
--- /dev/null
+++ b/code/lab8/user/badarg.c
@@ -0,0 +1,22 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    int pid, exit_code;
+    if ((pid = fork()) == 0) {
+        cprintf("fork ok.\n");
+        int i;
+        for (i = 0; i < 10; i ++) {
+            yield();
+        }
+        exit(0xbeaf);
+    }
+    assert(pid > 0);
+    assert(waitpid(-1, NULL) != 0);
+    assert(waitpid(pid, (void *)0xC0000000) != 0);
+    assert(waitpid(pid, &exit_code) == 0 && exit_code == 0xbeaf);
+    cprintf("badarg pass.\n");
+    return 0;
+}
+
diff --git a/code/lab8/user/badsegment.c b/code/lab8/user/badsegment.c
new file mode 100644
index 0000000..cdd9e99
--- /dev/null
+++ b/code/lab8/user/badsegment.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <ulib.h>
+
+/* try to load the kernel's TSS selector into the DS register */
+
+int
+main(void) {
+    asm volatile("movw $0x28,%ax; movw %ax,%ds");
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab8/user/divzero.c b/code/lab8/user/divzero.c
new file mode 100644
index 0000000..16c23d5
--- /dev/null
+++ b/code/lab8/user/divzero.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int zero;
+
+int
+main(void) {
+    cprintf("value is %d.\n", 1 / zero);
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab8/user/exit.c b/code/lab8/user/exit.c
new file mode 100644
index 0000000..c3ac5f8
--- /dev/null
+++ b/code/lab8/user/exit.c
@@ -0,0 +1,34 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int magic = -0x10384;
+
+int
+main(void) {
+    int pid, code;
+    cprintf("I am the parent. Forking the child...\n");
+    if ((pid = fork()) == 0) {
+        cprintf("I am the child.\n");
+        yield();
+        yield();
+        yield();
+        yield();
+        yield();
+        yield();
+        yield();
+        exit(magic);
+    }
+    else {
+        cprintf("I am parent, fork a child pid %d\n",pid);
+    }
+    assert(pid > 0);
+    cprintf("I am the parent, waiting now..\n");
+
+    assert(waitpid(pid, &code) == 0 && code == magic);
+    assert(waitpid(pid, &code) != 0 && wait() != 0);
+    cprintf("waitpid %d ok.\n", pid);
+
+    cprintf("exit pass.\n");
+    return 0;
+}
+
diff --git a/code/lab8/user/faultread.c b/code/lab8/user/faultread.c
new file mode 100644
index 0000000..6d292e1
--- /dev/null
+++ b/code/lab8/user/faultread.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    cprintf("I read %8x from 0.\n", *(unsigned int *)0);
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab8/user/faultreadkernel.c b/code/lab8/user/faultreadkernel.c
new file mode 100644
index 0000000..53457f6
--- /dev/null
+++ b/code/lab8/user/faultreadkernel.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    cprintf("I read %08x from 0xfac00000!\n", *(unsigned *)0xfac00000);
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab8/user/forktest.c b/code/lab8/user/forktest.c
new file mode 100644
index 0000000..3eda228
--- /dev/null
+++ b/code/lab8/user/forktest.c
@@ -0,0 +1,34 @@
+#include <ulib.h>
+#include <stdio.h>
+
+const int max_child = 32;
+
+int
+main(void) {
+    int n, pid;
+    for (n = 0; n < max_child; n ++) {
+        if ((pid = fork()) == 0) {
+            cprintf("I am child %d\n", n);
+            exit(0);
+        }
+        assert(pid > 0);
+    }
+
+    if (n > max_child) {
+        panic("fork claimed to work %d times!\n", n);
+    }
+
+    for (; n > 0; n --) {
+        if (wait() != 0) {
+            panic("wait stopped early\n");
+        }
+    }
+
+    if (wait() == 0) {
+        panic("wait got too many\n");
+    }
+
+    cprintf("forktest pass.\n");
+    return 0;
+}
+
diff --git a/code/lab8/user/forktree.c b/code/lab8/user/forktree.c
new file mode 100644
index 0000000..93f28bb
--- /dev/null
+++ b/code/lab8/user/forktree.c
@@ -0,0 +1,37 @@
+#include <ulib.h>
+#include <stdio.h>
+#include <string.h>
+
+#define DEPTH 4
+
+void forktree(const char *cur);
+
+void
+forkchild(const char *cur, char branch) {
+    char nxt[DEPTH + 1];
+
+    if (strlen(cur) >= DEPTH)
+        return;
+
+    snprintf(nxt, DEPTH + 1, "%s%c", cur, branch);
+    if (fork() == 0) {
+        forktree(nxt);
+        yield();
+        exit(0);
+    }
+}
+
+void
+forktree(const char *cur) {
+    cprintf("%04x: I am '%s'\n", getpid(), cur);
+
+    forkchild(cur, '0');
+    forkchild(cur, '1');
+}
+
+int
+main(void) {
+    forktree("");
+    return 0;
+}
+
diff --git a/code/lab8/user/hello.c b/code/lab8/user/hello.c
new file mode 100644
index 0000000..0f05251
--- /dev/null
+++ b/code/lab8/user/hello.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    cprintf("Hello world!!.\n");
+    cprintf("I am process %d.\n", getpid());
+    cprintf("hello pass.\n");
+    return 0;
+}
+
diff --git a/code/lab8/user/libs/dir.c b/code/lab8/user/libs/dir.c
new file mode 100644
index 0000000..62d926e
--- /dev/null
+++ b/code/lab8/user/libs/dir.c
@@ -0,0 +1,46 @@
+#include <defs.h>
+#include <string.h>
+#include <syscall.h>
+#include <stat.h>
+#include <dirent.h>
+#include <file.h>
+#include <dir.h>
+#include <error.h>
+#include <unistd.h>
+
+DIR dir, *dirp=&dir;
+DIR *
+opendir(const char *path) {
+
+    if ((dirp->fd = open(path, O_RDONLY)) < 0) {
+        goto failed;
+    }
+    struct stat __stat, *stat = &__stat;
+    if (fstat(dirp->fd, stat) != 0 || !S_ISDIR(stat->st_mode)) {
+        goto failed;
+    }
+    dirp->dirent.offset = 0;
+    return dirp;
+
+failed:
+    return NULL;
+}
+
+struct dirent *
+readdir(DIR *dirp) {
+    if (sys_getdirentry(dirp->fd, &(dirp->dirent)) == 0) {
+        return &(dirp->dirent);
+    }
+    return NULL;
+}
+
+void
+closedir(DIR *dirp) {
+    close(dirp->fd);
+}
+
+int
+getcwd(char *buffer, size_t len) {
+    return sys_getcwd(buffer, len);
+}
+
diff --git a/code/lab8/user/libs/dir.h b/code/lab8/user/libs/dir.h
new file mode 100644
index 0000000..4862492
--- /dev/null
+++ b/code/lab8/user/libs/dir.h
@@ -0,0 +1,19 @@
+#ifndef __USER_LIBS_DIR_H__
+#define __USER_LIBS_DIR_H__
+
+#include <defs.h>
+#include <dirent.h>
+
+typedef struct {
+    int fd;
+    struct dirent dirent;
+} DIR;
+
+DIR *opendir(const char *path);
+struct dirent *readdir(DIR *dirp);
+void closedir(DIR *dirp);
+int chdir(const char *path);
+int getcwd(char *buffer, size_t len);
+
+#endif /* !__USER_LIBS_DIR_H__ */
+
diff --git a/code/lab8/user/libs/file.c b/code/lab8/user/libs/file.c
new file mode 100644
index 0000000..113e078
--- /dev/null
+++ b/code/lab8/user/libs/file.c
@@ -0,0 +1,68 @@
+#include <defs.h>
+#include <string.h>
+#include <syscall.h>
+#include <stdio.h>
+#include <stat.h>
+#include <error.h>
+#include <unistd.h>
+
+int
+open(const char *path, uint32_t open_flags) {
+    return sys_open(path, open_flags);
+}
+
+int
+close(int fd) {
+    return sys_close(fd);
+}
+
+int
+read(int fd, void *base, size_t len) {
+    return sys_read(fd, base, len);
+}
+
+int
+write(int fd, void *base, size_t len) {
+    return sys_write(fd, base, len);
+}
+
+int
+seek(int fd, off_t pos, int whence) {
+    return sys_seek(fd, pos, whence);
+}
+
+int
+fstat(int fd, struct stat *stat) {
+    return sys_fstat(fd, stat);
+}
+
+int
+fsync(int fd) {
+    return sys_fsync(fd);
+}
+
+int
+dup2(int fd1, int fd2) {
+    return sys_dup(fd1, fd2);
+}
+
+static char
+transmode(struct stat *stat) {
+    uint32_t mode = stat->st_mode;
+    if (S_ISREG(mode)) return 'r';
+    if (S_ISDIR(mode)) return 'd';
+    if (S_ISLNK(mode)) return 'l';
+    if (S_ISCHR(mode)) return 'c';
+    if (S_ISBLK(mode)) return 'b';
+    return '-';
+}
+
+void
+print_stat(const char *name, int fd, struct stat *stat) {
+    cprintf("[%03d] %s\n", fd, name);
+    cprintf("    mode    : %c\n", transmode(stat));
+    cprintf("    links   : %lu\n", stat->st_nlinks);
+    cprintf("    blocks  : %lu\n", stat->st_blocks);
+    cprintf("    size    : %lu\n", stat->st_size);
+}
+
diff --git a/code/lab8/user/libs/file.h b/code/lab8/user/libs/file.h
new file mode 100644
index 0000000..fc46fb5
--- /dev/null
+++ b/code/lab8/user/libs/file.h
@@ -0,0 +1,23 @@
+#ifndef __USER_LIBS_FILE_H__
+#define __USER_LIBS_FILE_H__
+
+#include <defs.h>
+
+struct stat;
+
+int open(const char *path, uint32_t open_flags);
+int close(int fd);
+int read(int fd, void *base, size_t len);
+int write(int fd, void *base, size_t len);
+int seek(int fd, off_t pos, int whence);
+int fstat(int fd, struct stat *stat);
+int fsync(int fd);
+int dup(int fd);
+int dup2(int fd1, int fd2);
+int pipe(int *fd_store);
+int mkfifo(const char *name, uint32_t open_flags);
+
+void print_stat(const char *name, int fd, struct stat *stat);
+
+#endif /* !__USER_LIBS_FILE_H__ */
+
diff --git a/code/lab8/user/libs/initcode.S b/code/lab8/user/libs/initcode.S
new file mode 100644
index 0000000..e6b4936
--- /dev/null
+++ b/code/lab8/user/libs/initcode.S
@@ -0,0 +1,24 @@
+.text
+.globl _start
+_start:
+    # set ebp for backtrace
+    movl $0x0, %ebp
+
+    # load argc and argv
+    movl (%esp), %ebx
+    lea 0x4(%esp), %ecx
+
+
+    # move down the esp register
+    # since it may cause page fault in backtrace
+    subl $0x20, %esp
+
+    # save argc and argv on stack
+    pushl %ecx
+    pushl %ebx
+
+    # call user-program function
+    call umain
+1:  jmp 1b
+
+    
diff --git a/code/lab8/user/libs/lock.h b/code/lab8/user/libs/lock.h
new file mode 100644
index 0000000..e221c12
--- /dev/null
+++ b/code/lab8/user/libs/lock.h
@@ -0,0 +1,42 @@
+#ifndef __USER_LIBS_LOCK_H__
+#define __USER_LIBS_LOCK_H__
+
+#include <defs.h>
+#include <atomic.h>
+#include <ulib.h>
+
+#define INIT_LOCK           {0}
+
+typedef volatile bool lock_t;
+
+static inline void
+lock_init(lock_t *l) {
+    *l = 0;
+}
+
+static inline bool
+try_lock(lock_t *l) {
+    return test_and_set_bit(0, l);
+}
+
+static inline void
+lock(lock_t *l) {
+    if (try_lock(l)) {
+        int step = 0;
+        do {
+            yield();
+            if (++ step == 100) {
+                step = 0;
+                sleep(10);
+            }
+        } while (try_lock(l));
+    }
+}
+
+static inline void
+unlock(lock_t *l) {
+    test_and_clear_bit(0, l);
+}
+
+#endif /* !__USER_LIBS_LOCK_H__ */
+
diff --git a/code/lab8/user/libs/panic.c b/code/lab8/user/libs/panic.c
new file mode 100644
index 0000000..783be16
--- /dev/null
+++ b/code/lab8/user/libs/panic.c
@@ -0,0 +1,28 @@
+#include <defs.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <ulib.h>
+#include <error.h>
+
+void
+__panic(const char *file, int line, const char *fmt, ...) {
+    // print the 'message'
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("user panic at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+    exit(-E_PANIC);
+}
+
+void
+__warn(const char *file, int line, const char *fmt, ...) {
+    va_list ap;
+    va_start(ap, fmt);
+    cprintf("user warning at %s:%d:\n    ", file, line);
+    vcprintf(fmt, ap);
+    cprintf("\n");
+    va_end(ap);
+}
+
diff --git a/code/lab8/user/libs/stdio.c b/code/lab8/user/libs/stdio.c
new file mode 100644
index 0000000..56c5499
--- /dev/null
+++ b/code/lab8/user/libs/stdio.c
@@ -0,0 +1,89 @@
+#include <defs.h>
+#include <stdio.h>
+#include <syscall.h>
+#include <file.h>
+#include <ulib.h>
+#include <unistd.h>
+
+/* *
+ * cputch - writes a single character @c to stdout, and it will
+ * increace the value of counter pointed by @cnt.
+ * */
+static void
+cputch(int c, int *cnt) {
+    sys_putc(c);
+    (*cnt) ++;
+}
+
+/* *
+ * vcprintf - format a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ *
+ * Call this function if you are already dealing with a va_list.
+ * Or you probably want cprintf() instead.
+ * */
+int
+vcprintf(const char *fmt, va_list ap) {
+    int cnt = 0;
+    vprintfmt((void*)cputch, NO_FD, &cnt, fmt, ap);
+    return cnt;
+}
+
+/* *
+ * cprintf - formats a string and writes it to stdout
+ *
+ * The return value is the number of characters which would be
+ * written to stdout.
+ * */
+int
+cprintf(const char *fmt, ...) {
+    va_list ap;
+
+    va_start(ap, fmt);
+    int cnt = vcprintf(fmt, ap);
+    va_end(ap);
+
+    return cnt;
+}
+
+/* *
+ * cputs- writes the string pointed by @str to stdout and
+ * appends a newline character.
+ * */
+int
+cputs(const char *str) {
+    int cnt = 0;
+    char c;
+    while ((c = *str ++) != '\0') {
+        cputch(c, &cnt);
+    }
+    cputch('\n', &cnt);
+    return cnt;
+}
+
+
+static void
+fputch(char c, int *cnt, int fd) {
+    write(fd, &c, sizeof(char));
+    (*cnt) ++;
+}
+
+int
+vfprintf(int fd, const char *fmt, va_list ap) {
+    int cnt = 0;
+    vprintfmt((void*)fputch, fd, &cnt, fmt, ap);
+    return cnt;
+}
+
+int
+fprintf(int fd, const char *fmt, ...) {
+    va_list ap;
+
+    va_start(ap, fmt);
+    int cnt = vfprintf(fd, fmt, ap);
+    va_end(ap);
+
+    return cnt;
+}
diff --git a/code/lab8/user/libs/syscall.c b/code/lab8/user/libs/syscall.c
new file mode 100644
index 0000000..d6ae096
--- /dev/null
+++ b/code/lab8/user/libs/syscall.c
@@ -0,0 +1,145 @@
+#include <defs.h>
+#include <unistd.h>
+#include <stdarg.h>
+#include <syscall.h>
+#include <stat.h>
+#include <dirent.h>
+
+
+#define MAX_ARGS            5
+
+static inline int
+syscall(int num, ...) {
+    va_list ap;
+    va_start(ap, num);
+    uint32_t a[MAX_ARGS];
+    int i, ret;
+    for (i = 0; i < MAX_ARGS; i ++) {
+        a[i] = va_arg(ap, uint32_t);
+    }
+    va_end(ap);
+
+    asm volatile (
+        "int %1;"
+        : "=a" (ret)
+        : "i" (T_SYSCALL),
+          "a" (num),
+          "d" (a[0]),
+          "c" (a[1]),
+          "b" (a[2]),
+          "D" (a[3]),
+          "S" (a[4])
+        : "cc", "memory");
+    return ret;
+}
+
+int
+sys_exit(int error_code) {
+    return syscall(SYS_exit, error_code);
+}
+
+int
+sys_fork(void) {
+    return syscall(SYS_fork);
+}
+
+int
+sys_wait(int pid, int *store) {
+    return syscall(SYS_wait, pid, store);
+}
+
+int
+sys_yield(void) {
+    return syscall(SYS_yield);
+}
+
+int
+sys_kill(int pid) {
+    return syscall(SYS_kill, pid);
+}
+
+int
+sys_getpid(void) {
+    return syscall(SYS_getpid);
+}
+
+int
+sys_putc(int c) {
+    return syscall(SYS_putc, c);
+}
+
+int
+sys_pgdir(void) {
+    return syscall(SYS_pgdir);
+}
+
+void
+sys_lab6_set_priority(uint32_t priority)
+{
+    syscall(SYS_lab6_set_priority, priority);
+}
+
+int
+sys_sleep(unsigned int time) {
+    return syscall(SYS_sleep, time);
+}
+
+size_t
+sys_gettime(void) {
+    return syscall(SYS_gettime);
+}
+
+int
+sys_exec(const char *name, int argc, const char **argv) {
+    return syscall(SYS_exec, name, argc, argv);
+}
+
+int
+sys_open(const char *path, uint32_t open_flags) {
+    return syscall(SYS_open, path, open_flags);
+}
+
+int
+sys_close(int fd) {
+    return syscall(SYS_close, fd);
+}
+
+int
+sys_read(int fd, void *base, size_t len) {
+    return syscall(SYS_read, fd, base, len);
+}
+
+int
+sys_write(int fd, void *base, size_t len) {
+    return syscall(SYS_write, fd, base, len);
+}
+
+int
+sys_seek(int fd, off_t pos, int whence) {
+    return syscall(SYS_seek, fd, pos, whence);
+}
+
+int
+sys_fstat(int fd, struct stat *stat) {
+    return syscall(SYS_fstat, fd, stat);
+}
+
+int
+sys_fsync(int fd) {
+    return syscall(SYS_fsync, fd);
+}
+
+int
+sys_getcwd(char *buffer, size_t len) {
+    return syscall(SYS_getcwd, buffer, len);
+}
+
+int
+sys_getdirentry(int fd, struct dirent *dirent) {
+    return syscall(SYS_getdirentry, fd, dirent);
+}
+
+int
+sys_dup(int fd1, int fd2) {
+    return syscall(SYS_dup, fd1, fd2);
+}
diff --git a/code/lab8/user/libs/syscall.h b/code/lab8/user/libs/syscall.h
new file mode 100644
index 0000000..93f700a
--- /dev/null
+++ b/code/lab8/user/libs/syscall.h
@@ -0,0 +1,33 @@
+#ifndef __USER_LIBS_SYSCALL_H__
+#define __USER_LIBS_SYSCALL_H__
+
+int sys_exit(int error_code);
+int sys_fork(void);
+int sys_wait(int pid, int *store);
+int sys_exec(const char *name, int argc, const char **argv);
+int sys_yield(void);
+int sys_kill(int pid);
+int sys_getpid(void);
+int sys_putc(int c);
+int sys_pgdir(void);
+int sys_sleep(unsigned int time);
+size_t sys_gettime(void);
+
+struct stat;
+struct dirent;
+
+int sys_open(const char *path, uint32_t open_flags);
+int sys_close(int fd);
+int sys_read(int fd, void *base, size_t len);
+int sys_write(int fd, void *base, size_t len);
+int sys_seek(int fd, off_t pos, int whence);
+int sys_fstat(int fd, struct stat *stat);
+int sys_fsync(int fd);
+int sys_getcwd(char *buffer, size_t len);
+int sys_getdirentry(int fd, struct dirent *dirent);
+int sys_dup(int fd1, int fd2);
+void sys_lab6_set_priority(uint32_t priority); //only for lab6
+
+
+#endif /* !__USER_LIBS_SYSCALL_H__ */
+
diff --git a/code/lab8/user/libs/ulib.c b/code/lab8/user/libs/ulib.c
new file mode 100644
index 0000000..e855ea0
--- /dev/null
+++ b/code/lab8/user/libs/ulib.c
@@ -0,0 +1,87 @@
+#include <defs.h>
+#include <syscall.h>
+#include <stdio.h>
+#include <ulib.h>
+#include <stat.h>
+#include <string.h>
+#include <lock.h>
+
+static lock_t fork_lock = INIT_LOCK;
+
+void
+lock_fork(void) {
+    lock(&fork_lock);
+}
+
+void
+unlock_fork(void) {
+    unlock(&fork_lock);
+}
+
+void
+exit(int error_code) {
+    sys_exit(error_code);
+    cprintf("BUG: exit failed.\n");
+    while (1);
+}
+
+int
+fork(void) {
+    return sys_fork();
+}
+
+int
+wait(void) {
+    return sys_wait(0, NULL);
+}
+
+int
+waitpid(int pid, int *store) {
+    return sys_wait(pid, store);
+}
+
+void
+yield(void) {
+    sys_yield();
+}
+
+int
+kill(int pid) {
+    return sys_kill(pid);
+}
+
+int
+getpid(void) {
+    return sys_getpid();
+}
+
+//print_pgdir - print the PDT&PT
+void
+print_pgdir(void) {
+    sys_pgdir();
+}
+
+void
+lab6_set_priority(uint32_t priority)
+{
+    sys_lab6_set_priority(priority);
+}
+
+int
+sleep(unsigned int time) {
+    return sys_sleep(time);
+}
+
+unsigned int
+gettime_msec(void) {
+    return (unsigned int)sys_gettime();
+}
+
+int
+__exec(const char *name, const char **argv) {
+    int argc = 0;
+    while (argv[argc] != NULL) {
+        argc ++;
+    }
+    return sys_exec(name, argc, argv);
+}
diff --git a/code/lab8/user/libs/ulib.h b/code/lab8/user/libs/ulib.h
new file mode 100644
index 0000000..baca03b
--- /dev/null
+++ b/code/lab8/user/libs/ulib.h
@@ -0,0 +1,49 @@
+#ifndef __USER_LIBS_ULIB_H__
+#define __USER_LIBS_ULIB_H__
+
+#include <defs.h>
+
+void __warn(const char *file, int line, const char *fmt, ...);
+void __noreturn __panic(const char *file, int line, const char *fmt, ...);
+
+#define warn(...)                                       \
+    __warn(__FILE__, __LINE__, __VA_ARGS__)
+
+#define panic(...)                                      \
+    __panic(__FILE__, __LINE__, __VA_ARGS__)
+
+#define assert(x)                                       \
+    do {                                                \
+        if (!(x)) {                                     \
+            panic("assertion failed: %s", #x);          \
+        }                                               \
+    } while (0)
+
+// static_assert(x) will generate a compile-time error if 'x' is false.
+#define static_assert(x)                                \
+    switch (x) { case 0: case (x): ; }
+
+int fprintf(int fd, const char *fmt, ...);
+
+void __noreturn exit(int error_code);
+int fork(void);
+int wait(void);
+int waitpid(int pid, int *store);
+void yield(void);
+int kill(int pid);
+int getpid(void);
+void print_pgdir(void);
+int sleep(unsigned int time);
+unsigned int gettime_msec(void);
+int __exec(const char *name, const char **argv);
+
+#define __exec0(name, path, ...)                \
+({ const char *argv[] = {path, ##__VA_ARGS__, NULL}; __exec(name, argv); })
+
+#define exec(path, ...)                         __exec0(NULL, path, ##__VA_ARGS__)
+#define nexec(name, path, ...)                  __exec0(name, path, ##__VA_ARGS__)
+
+void lab6_set_priority(uint32_t priority); //only for lab6
+
+#endif /* !__USER_LIBS_ULIB_H__ */
+
diff --git a/code/lab8/user/libs/umain.c b/code/lab8/user/libs/umain.c
new file mode 100644
index 0000000..9bee9ab
--- /dev/null
+++ b/code/lab8/user/libs/umain.c
@@ -0,0 +1,34 @@
+#include <ulib.h>
+#include <unistd.h>
+#include <file.h>
+#include <stat.h>
+
+int main(int argc, char *argv[]);
+
+static int
+initfd(int fd2, const char *path, uint32_t open_flags) {
+    int fd1, ret;
+    if ((fd1 = open(path, open_flags)) < 0) {
+        return fd1;
+    }
+    if (fd1 != fd2) {
+        close(fd2);
+        ret = dup2(fd1, fd2);
+        close(fd1);
+    }
+    return ret;
+}
+
+void
+umain(int argc, char *argv[]) {
+    int fd;
+    if ((fd = initfd(0, "stdin:", O_RDONLY)) < 0) {
+        warn("open <stdin> failed: %e.\n", fd);
+    }
+    if ((fd = initfd(1, "stdout:", O_WRONLY)) < 0) {
+        warn("open <stdout> failed: %e.\n", fd);
+    }
+    int ret = main(argc, argv);
+    exit(ret);
+}
+
diff --git a/code/lab8/user/ls.c b/code/lab8/user/ls.c
new file mode 100644
index 0000000..93a0a8e
--- /dev/null
+++ b/code/lab8/user/ls.c
@@ -0,0 +1,118 @@
+#include <ulib.h>
+#include <stdio.h>
+#include <string.h>
+#include <dir.h>
+#include <file.h>
+#include <stat.h>
+#include <dirent.h>
+#include <unistd.h>
+
+#define printf(...)                     fprintf(1, __VA_ARGS__)
+#define BUFSIZE                         4096
+
+static char
+getmode(uint32_t st_mode) {
+    char mode = '?';
+    if (S_ISREG(st_mode)) mode = '-';
+    if (S_ISDIR(st_mode)) mode = 'd';
+    if (S_ISLNK(st_mode)) mode = 'l';
+    if (S_ISCHR(st_mode)) mode = 'c';
+    if (S_ISBLK(st_mode)) mode = 'b';
+    return mode;
+}
+
+static int
+getstat(const char *name, struct stat *stat) {
+    int fd, ret;
+    if ((fd = open(name, O_RDONLY)) < 0) {
+        return fd;
+    }
+    ret = fstat(fd, stat);
+    close(fd);
+    return ret;
+}
+
+void
+lsstat(struct stat *stat, const char *filename) {
+    printf("   [%c]", getmode(stat->st_mode));
+    printf(" %3d(h)", stat->st_nlinks);
+    printf(" %8d(b)", stat->st_blocks);
+    printf(" %8d(s)", stat->st_size);
+    printf("   %s\n", filename);
+}
+
+int
+lsdir(const char *path) {
+    struct stat __stat, *stat = &__stat;
+    int ret;
+    DIR *dirp = opendir(".");
+    
+    if (dirp == NULL) {
+        return -1;
+    }
+    struct dirent *direntp;
+    while ((direntp = readdir(dirp)) != NULL) {
+        if ((ret = getstat(direntp->name, stat)) != 0) {
+            goto failed;
+        }
+        lsstat(stat, direntp->name);
+    }
+    printf("lsdir: step 4\n");
+    closedir(dirp);
+    return 0;
+failed:
+    closedir(dirp);
+    return ret;
+}
+
+int
+ls(const char *path) {
+    struct stat __stat, *stat = &__stat;
+    int ret, type;
+    if ((ret = getstat(path, stat)) != 0) {
+        return ret;
+    }
+
+    static const char *filetype[] = {
+        " [  file   ]",
+        " [directory]",
+        " [ symlink ]",
+        " [character]",
+        " [  block  ]",
+        " [  ?????  ]",
+    };
+    switch (getmode(stat->st_mode)) {
+    case '0': type = 0; break;
+    case 'd': type = 1; break;
+    case 'l': type = 2; break;
+    case 'c': type = 3; break;
+    case 'b': type = 4; break;
+    default:  type = 5; break;
+    }
+
+    printf(" @ is %s", filetype[type]);
+    printf(" %d(hlinks)", stat->st_nlinks);
+    printf(" %d(blocks)", stat->st_blocks);
+    printf(" %d(bytes) : @'%s'\n", stat->st_size, path);
+    if (S_ISDIR(stat->st_mode)) {
+        return lsdir(path);
+    }
+    return 0;
+}
+
+int
+main(int argc, char **argv) {
+    if (argc == 1) {
+        return ls(".");
+    }
+    else {
+        int i, ret;
+        for (i = 1; i < argc; i ++) {
+            if ((ret = ls(argv[i])) != 0) {
+                return ret;
+            }
+        }
+    }
+    return 0;
+}
+
diff --git a/code/lab8/user/matrix.c b/code/lab8/user/matrix.c
new file mode 100644
index 0000000..c5ec869
--- /dev/null
+++ b/code/lab8/user/matrix.c
@@ -0,0 +1,84 @@
+#include <ulib.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#define MATSIZE     10
+
+static int mata[MATSIZE][MATSIZE];
+static int matb[MATSIZE][MATSIZE];
+static int matc[MATSIZE][MATSIZE];
+
+void
+work(unsigned int times) {
+    int i, j, k, size = MATSIZE;
+    for (i = 0; i < size; i ++) {
+        for (j = 0; j < size; j ++) {
+            mata[i][j] = matb[i][j] = 1;
+        }
+    }
+
+    yield();
+
+    cprintf("pid %d is running (%d times)!.\n", getpid(), times);
+
+    while (times -- > 0) {
+        for (i = 0; i < size; i ++) {
+            for (j = 0; j < size; j ++) {
+                matc[i][j] = 0;
+                for (k = 0; k < size; k ++) {
+                    matc[i][j] += mata[i][k] * matb[k][j];
+                }
+            }
+        }
+        for (i = 0; i < size; i ++) {
+            for (j = 0; j < size; j ++) {
+                mata[i][j] = matb[i][j] = matc[i][j];
+            }
+        }
+    }
+    cprintf("pid %d done!.\n", getpid());
+    exit(0);
+}
+
+const int total = 21;
+
+int
+main(void) {
+    int pids[total];
+    memset(pids, 0, sizeof(pids));
+
+    int i;
+    for (i = 0; i < total; i ++) {
+        if ((pids[i] = fork()) == 0) {
+            srand(i * i);
+            int times = (((unsigned int)rand()) % total);
+            times = (times * times + 10) * 100;
+            work(times);
+        }
+        if (pids[i] < 0) {
+            goto failed;
+        }
+    }
+
+    cprintf("fork ok.\n");
+
+    for (i = 0; i < total; i ++) {
+        if (wait() != 0) {
+            cprintf("wait failed.\n");
+            goto failed;
+        }
+    }
+
+    cprintf("matrix pass.\n");
+    return 0;
+
+failed:
+    for (i = 0; i < total; i ++) {
+        if (pids[i] > 0) {
+            kill(pids[i]);
+        }
+    }
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab8/user/pgdir.c b/code/lab8/user/pgdir.c
new file mode 100644
index 0000000..09fd7e3
--- /dev/null
+++ b/code/lab8/user/pgdir.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    cprintf("I am %d, print pgdir.\n", getpid());
+    print_pgdir();
+    cprintf("pgdir pass.\n");
+    return 0;
+}
+
diff --git a/code/lab8/user/priority.c b/code/lab8/user/priority.c
new file mode 100644
index 0000000..d71147e
--- /dev/null
+++ b/code/lab8/user/priority.c
@@ -0,0 +1,80 @@
+#include <ulib.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#define TOTAL 5
+/* to get enough accuracy, MAX_TIME (the running time of each process) should >1000 mseconds. */
+#define MAX_TIME  2000
+#define SLEEP_TIME 400
+unsigned int acc[TOTAL];
+int status[TOTAL];
+int pids[TOTAL];
+
+static void
+spin_delay(void)
+{
+     int i;
+     volatile int j;
+     for (i = 0; i != 200; ++ i)
+     {
+          j = !j;
+     }
+}
+
+int
+main(void) {
+     int i,time;
+     cprintf("priority process will sleep %d ticks\n",SLEEP_TIME);
+     sleep(SLEEP_TIME);
+     memset(pids, 0, sizeof(pids));
+     lab6_set_priority(TOTAL + 1);
+
+     for (i = 0; i < TOTAL; i ++) {
+          acc[i]=0;
+          if ((pids[i] = fork()) == 0) {
+               lab6_set_priority(i + 1);
+               acc[i] = 0;
+               while (1) {
+                    spin_delay();
+                    ++ acc[i];
+                    if(acc[i]%4000==0) {
+                        if((time=gettime_msec())>MAX_TIME) {
+                            cprintf("child pid %d, acc %d, time %d\n",getpid(),acc[i],time);
+                            exit(acc[i]);
+                        }
+                    }
+               }
+               
+          }
+          if (pids[i] < 0) {
+               goto failed;
+          }
+     }
+
+     cprintf("main: fork ok,now need to wait pids.\n");
+
+     for (i = 0; i < TOTAL; i ++) {
+         status[i]=0;
+         waitpid(pids[i],&status[i]);
+         cprintf("main: pid %d, acc %d, time %d\n",pids[i],status[i],gettime_msec()); 
+     }
+     cprintf("main: wait pids over\n");
+     cprintf("stride sched correct result:");
+     for (i = 0; i < TOTAL; i ++)
+     {
+         cprintf(" %d", (status[i] * 2 / status[0] + 1) / 2);
+     }
+     cprintf("\n");
+
+     return 0;
+
+failed:
+     for (i = 0; i < TOTAL; i ++) {
+          if (pids[i] > 0) {
+               kill(pids[i]);
+          }
+     }
+     panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab8/user/sh.c b/code/lab8/user/sh.c
new file mode 100644
index 0000000..9a652f1
--- /dev/null
+++ b/code/lab8/user/sh.c
@@ -0,0 +1,254 @@
+#include <ulib.h>
+#include <stdio.h>
+#include <string.h>
+#include <dir.h>
+#include <file.h>
+#include <error.h>
+#include <unistd.h>
+
+#define printf(...)                     fprintf(1, __VA_ARGS__)
+#define putc(c)                         printf("%c", c)
+
+#define BUFSIZE                         4096
+#define WHITESPACE                      " \t\r\n"
+#define SYMBOLS                         "<|>&;"
+
+char shcwd[BUFSIZE];
+
+int
+gettoken(char **p1, char **p2) {
+    char *s;
+    if ((s = *p1) == NULL) {
+        return 0;
+    }
+    while (strchr(WHITESPACE, *s) != NULL) {
+        *s ++ = '\0';
+    }
+    if (*s == '\0') {
+        return 0;
+    }
+
+    *p2 = s;
+    int token = 'w';
+    if (strchr(SYMBOLS, *s) != NULL) {
+        token = *s, *s ++ = '\0';
+    }
+    else {
+        bool flag = 0;
+        while (*s != '\0' && (flag || strchr(WHITESPACE SYMBOLS, *s) == NULL)) {
+            if (*s == '"') {
+                *s = ' ', flag = !flag;
+            }
+            s ++;
+        }
+    }
+    *p1 = (*s != '\0' ? s : NULL);
+    return token;
+}
+
+char *
+readline(const char *prompt) {
+    static char buffer[BUFSIZE];
+    if (prompt != NULL) {
+        printf("%s", prompt);
+    }
+    int ret, i = 0;
+    while (1) {
+        char c;
+        if ((ret = read(0, &c, sizeof(char))) < 0) {
+            return NULL;
+        }
+        else if (ret == 0) {
+            if (i > 0) {
+                buffer[i] = '\0';
+                break;
+            }
+            return NULL;
+        }
+
+        if (c == 3) {
+            return NULL;
+        }
+        else if (c >= ' ' && i < BUFSIZE - 1) {
+            putc(c);
+            buffer[i ++] = c;
+        }
+        else if (c == '\b' && i > 0) {
+            putc(c);
+            i --;
+        }
+        else if (c == '\n' || c == '\r') {
+            putc(c);
+            buffer[i] = '\0';
+            break;
+        }
+    }
+    return buffer;
+}
+
+void
+usage(void) {
+    printf("usage: sh [command-file]\n");
+}
+
+int
+reopen(int fd2, const char *filename, uint32_t open_flags) {
+    int ret, fd1;
+    close(fd2);
+    if ((ret = open(filename, open_flags)) >= 0 && ret != fd2) {
+        close(fd2);
+        fd1 = ret, ret = dup2(fd1, fd2);
+        close(fd1);
+    }
+    return ret < 0 ? ret : 0;
+}
+
+int
+testfile(const char *name) {
+    int ret;
+    if ((ret = open(name, O_RDONLY)) < 0) {
+        return ret;
+    }
+    close(ret);
+    return 0;
+}
+
+int
+runcmd(char *cmd) {
+    static char argv0[BUFSIZE];
+    const char *argv[EXEC_MAX_ARG_NUM + 1];
+    char *t;
+    int argc, token, ret, p[2];
+again:
+    argc = 0;
+    while (1) {
+        switch (token = gettoken(&cmd, &t)) {
+        case 'w':
+            if (argc == EXEC_MAX_ARG_NUM) {
+                printf("sh error: too many arguments\n");
+                return -1;
+            }
+            argv[argc ++] = t;
+            break;
+        case '<':
+            if (gettoken(&cmd, &t) != 'w') {
+                printf("sh error: syntax error: < not followed by word\n");
+                return -1;
+            }
+            if ((ret = reopen(0, t, O_RDONLY)) != 0) {
+                return ret;
+            }
+            break;
+        case '>':
+            if (gettoken(&cmd, &t) != 'w') {
+                printf("sh error: syntax error: > not followed by word\n");
+                return -1;
+            }
+            if ((ret = reopen(1, t, O_RDWR | O_TRUNC | O_CREAT)) != 0) {
+                return ret;
+            }
+            break;
+        case '|':
+          //  if ((ret = pipe(p)) != 0) {
+          //      return ret;
+          //  }
+            if ((ret = fork()) == 0) {
+                close(0);
+                if ((ret = dup2(p[0], 0)) < 0) {
+                    return ret;
+                }
+                close(p[0]), close(p[1]);
+                goto again;
+            }
+            else {
+                if (ret < 0) {
+                    return ret;
+                }
+                close(1);
+                if ((ret = dup2(p[1], 1)) < 0) {
+                    return ret;
+                }
+                close(p[0]), close(p[1]);
+                goto runit;
+            }
+            break;
+        case 0:
+            goto runit;
+        case ';':
+            if ((ret = fork()) == 0) {
+                goto runit;
+            }
+            else {
+                if (ret < 0) {
+                    return ret;
+                }
+                waitpid(ret, NULL);
+                goto again;
+            }
+            break;
+        default:
+            printf("sh error: bad return %d from gettoken\n", token);
+            return -1;
+        }
+    }
+
+runit:
+    if (argc == 0) {
+        return 0;
+    }
+    else if (strcmp(argv[0], "cd") == 0) {
+        if (argc != 2) {
+            return -1;
+        }
+        strcpy(shcwd, argv[1]);
+        return 0;
+    }
+    if ((ret = testfile(argv[0])) != 0) {
+        if (ret != -E_NOENT) {
+            return ret;
+        }
+        snprintf(argv0, sizeof(argv0), "/%s", argv[0]);
+        argv[0] = argv0;
+    }
+    argv[argc] = NULL;
+    return __exec(NULL, argv);
+}
+
+int
+main(int argc, char **argv) {
+    printf("user sh is running!!!");
+    int ret, interactive = 1;
+    if (argc == 2) {
+        if ((ret = reopen(0, argv[1], O_RDONLY)) != 0) {
+            return ret;
+        }
+        interactive = 0;
+    }
+    else if (argc > 2) {
+        usage();
+        return -1;
+    }
+    //shcwd = malloc(BUFSIZE);
+    assert(shcwd != NULL);
+
+    char *buffer;
+    while ((buffer = readline((interactive) ? "$ " : NULL)) != NULL) {
+        shcwd[0] = '\0';
+        int pid;
+        if ((pid = fork()) == 0) {
+            ret = runcmd(buffer);
+            exit(ret);
+        }
+        assert(pid >= 0);
+        if (waitpid(pid, &ret) == 0) {
+            if (ret == 0 && shcwd[0] != '\0') {
+                ret = 0;
+            }
+            if (ret != 0) {
+                printf("error: %d - %e\n", ret, ret);
+            }
+        }
+    }
+    return 0;
+}
+
diff --git a/code/lab8/user/sleep.c b/code/lab8/user/sleep.c
new file mode 100644
index 0000000..5bc56e0
--- /dev/null
+++ b/code/lab8/user/sleep.c
@@ -0,0 +1,28 @@
+#include <stdio.h>
+#include <ulib.h>
+
+void
+sleepy(int pid) {
+    int i, time = 100;
+    for (i = 0; i < 10; i ++) {
+        sleep(time);
+        cprintf("sleep %d x %d slices.\n", i + 1, time);
+    }
+    exit(0);
+}
+
+int
+main(void) {
+    unsigned int time = gettime_msec();
+    int pid1, exit_code;
+
+    if ((pid1 = fork()) == 0) {
+        sleepy(pid1);
+    }
+    
+    assert(waitpid(pid1, &exit_code) == 0 && exit_code == 0);
+    cprintf("use %04d msecs.\n", gettime_msec() - time);
+    cprintf("sleep pass.\n");
+    return 0;
+}
+
diff --git a/code/lab8/user/sleepkill.c b/code/lab8/user/sleepkill.c
new file mode 100644
index 0000000..01268a2
--- /dev/null
+++ b/code/lab8/user/sleepkill.c
@@ -0,0 +1,18 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    int pid;
+    if ((pid = fork()) == 0) {
+        sleep(~0);
+        exit(0xdead);
+    }
+    assert(pid > 0);
+
+    sleep(100);
+    assert(kill(pid) == 0);
+    cprintf("sleepkill pass.\n");
+    return 0;
+}
+
diff --git a/code/lab8/user/softint.c b/code/lab8/user/softint.c
new file mode 100644
index 0000000..2f14d15
--- /dev/null
+++ b/code/lab8/user/softint.c
@@ -0,0 +1,9 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    asm volatile("int $14");
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab8/user/spin.c b/code/lab8/user/spin.c
new file mode 100644
index 0000000..91581e5
--- /dev/null
+++ b/code/lab8/user/spin.c
@@ -0,0 +1,29 @@
+#include <stdio.h>
+#include <ulib.h>
+
+int
+main(void) {
+    int pid, ret;
+    cprintf("I am the parent. Forking the child...\n");
+    if ((pid = fork()) == 0) {
+        cprintf("I am the child. spinning ...\n");
+        while (1);
+    }
+    cprintf("I am the parent. Running the child...\n");
+
+    yield();
+    yield();
+    yield();
+
+    cprintf("I am the parent.  Killing the child...\n");
+
+    assert((ret = kill(pid)) == 0);
+    cprintf("kill returns %d\n", ret);
+
+    assert((ret = waitpid(pid, NULL)) == 0);
+    cprintf("wait returns %d\n", ret);
+
+    cprintf("spin may pass.\n");
+    return 0;
+}
+
diff --git a/code/lab8/user/testbss.c b/code/lab8/user/testbss.c
new file mode 100644
index 0000000..14dc6e1
--- /dev/null
+++ b/code/lab8/user/testbss.c
@@ -0,0 +1,33 @@
+#include <stdio.h>
+#include <ulib.h>
+
+#define ARRAYSIZE (1024*1024)
+
+uint32_t bigarray[ARRAYSIZE];
+
+int
+main(void) {
+    cprintf("Making sure bss works right...\n");
+    int i;
+    for (i = 0; i < ARRAYSIZE; i ++) {
+        if (bigarray[i] != 0) {
+            panic("bigarray[%d] isn't cleared!\n", i);
+        }
+    }
+    for (i = 0; i < ARRAYSIZE; i ++) {
+        bigarray[i] = i;
+    }
+    for (i = 0; i < ARRAYSIZE; i ++) {
+        if (bigarray[i] != i) {
+            panic("bigarray[%d] didn't hold its value!\n", i);
+        }
+    }
+
+    cprintf("Yes, good.  Now doing a wild write off the end...\n");
+    cprintf("testbss may pass.\n");
+
+    bigarray[ARRAYSIZE + 1024] = 0;
+    asm volatile ("int $0x14");
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab8/user/waitkill.c b/code/lab8/user/waitkill.c
new file mode 100644
index 0000000..9bb3f80
--- /dev/null
+++ b/code/lab8/user/waitkill.c
@@ -0,0 +1,59 @@
+#include <ulib.h>
+#include <stdio.h>
+
+void
+do_yield(void) {
+    yield();
+    yield();
+    yield();
+    yield();
+    yield();
+    yield();
+}
+
+int parent, pid1, pid2;
+
+void
+loop(void) {
+    cprintf("child 1.\n");
+    while (1);
+}
+
+void
+work(void) {
+    cprintf("child 2.\n");
+    do_yield();
+    if (kill(parent) == 0) {
+        cprintf("kill parent ok.\n");
+        do_yield();
+        if (kill(pid1) == 0) {
+            cprintf("kill child1 ok.\n");
+            exit(0);
+        }
+    }
+    exit(-1);
+}
+
+int
+main(void) {
+    parent = getpid();
+    if ((pid1 = fork()) == 0) {
+        loop();
+    }
+
+    assert(pid1 > 0);
+
+    if ((pid2 = fork()) == 0) {
+        work();
+    }
+    if (pid2 > 0) {
+        cprintf("wait child 1.\n");
+        waitpid(pid1, NULL);
+        panic("waitpid %d returns\n", pid1);
+    }
+    else {
+        kill(pid1);
+    }
+    panic("FAIL: T.T\n");
+}
+
diff --git a/code/lab8/user/yield.c b/code/lab8/user/yield.c
new file mode 100644
index 0000000..a19890d
--- /dev/null
+++ b/code/lab8/user/yield.c
@@ -0,0 +1,16 @@
+#include <ulib.h>
+#include <stdio.h>
+
+int
+main(void) {
+    int i;
+    cprintf("Hello, I am process %d.\n", getpid());
+    for (i = 0; i < 5; i ++) {
+        yield();
+        cprintf("Back in process %d, iteration %d.\n", getpid(), i);
+    }
+    cprintf("All done in process %d.\n", getpid());
+    cprintf("yield pass.\n");
+    return 0;
+}
+
diff --git a/doc/lab0.pdf b/doc/lab0.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..904a594a5b4a615b08d5c85f267131ec8bea726a
GIT binary patch
literal 953677
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

literal 0
HcmV?d00001

diff --git a/doc/lab1.pdf b/doc/lab1.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..bd2155cd99ef73d8b8332ff657801d287151bde0
GIT binary patch
literal 933686
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
ARR910

literal 0
HcmV?d00001

diff --git a/doc/lab2.pdf b/doc/lab2.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..4ab616d4d1e65b56061644748e19044b6b83f50a
GIT binary patch
literal 708103
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
E567f<RsaA1

literal 0
HcmV?d00001

diff --git a/doc/lab3.pdf b/doc/lab3.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..98209fdf35704def3a45b9702ff6418b7c339bb4
GIT binary patch
literal 465307
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%0DC|EqpnP2(sM
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%0AP|B2{B+AEjklPmVjbS=
zjb<eKO;m+dCSPbMGFx*a73<)y`{(x7{f=h&%b8XrLF!i_#+zjjP1s=om5E??jC!XC
zgmB5}AG+^3`L^mR9!3NGklFSUy+|r>$`=`8vL(Wh72HOrT^`Tnq0BL4l2Af``i8?g
zj!BtV+KbZZGcBEA0<q^P%4j0F8>n9^vgul4o@=xjv&8MNMR25E5qSOAAzGOa_;V|E
z61H+Zn^XV%tg(Fis|j~ITjI7K)>NRc_!A1Zt(ZmMO?tEew~;-M2<f_7a&@$^#fy>}
zD^_2-X6H?aFsO3<(eY1BV7aSUE<~rHc13%fwCrmV^_Rf))SYKFTGB1E+CfsIMvV`c
z!=T|o*RWgSfc;--P@49Y5ui>5+orQih5O@~QJillFS@7%%IF51Pw(0q5+tj#%{uS@
z<l2gl^m@uODblc<;anV)vcDIO*Xb_a`mMX?3#rW!iHY0l^Y{Z5ga$V;e|DQt94$#N
zQTMESw0w4~=BDn$Um8dKScpZYP!bTTKN((@N6!)?L-XybDeN%kG{(p7s!8rs3eU!3
zN}TiW*nR7m@}ecq8D(KlUYg}iP5tDxZ-K~(l8mO`UjQqSswLsyPZn>(jzyl7rZg)a
z2HVB#9<gCX!hehTafdl^rP!DMye>(*&qXdkt60-n9CKnE2!He($ieDIWiZB9K^pu)
zSq^thA)Y0>4prvQX6QZGgl8N`<xn=w&?F?v!{!~?mf>*2N6$gb2KAMlKKU-s?zai8
z>zMnZcYxKxLcxCT;|GvjR>>!q_gV-e={kv>Zjs+P!x9u>aqXlspAWn0)zw#*>#g!L
z02QPNJs7|JxT0O7%a2$$`NG|AEiX+PlHWNn>C*igaC5x*<=eY(<dU9=fla~H*Q4)=
zlnAj~%U2TQYz=j+ePQbF`&b`aGd&_(=v!cIyC`jTDjdQRZQKVro?wqHOH0dpY|d2s
z*PfUz&_;!a_o#S(n0W)*_0@`fY`nb7Me>+L(LmsJCQZoFW!baCz14}dpK0w}HHz^Y
z`4bD*!uFt$moMTB3Y-qs+mdR;Q9?Dw9D$4uRx$1#`kSxNDv1HB>1mqkNx!m@QvEcf
zHIqk$PWB3tb9~fKFk!XzL5VB@lVakF7(K&bjI2)a_o4Zr$#+N0Av_ZXOKy`KBK6iG
zW0~`tp4%t_$w-*R?%qUs>zU?Ok@2qTij<zUfkwaYc9l84Da!n&yK~dc0<wDJINodt
z!|#z>Bc#gE$L8BzS=^|u`!~)8R-K|Mp4j2noy%)&O5++$VOQ?QVy_q`@#_)Ns8y7}
z!4!e-K)=-N;9t{*7e)Vp>&RLXT=jQI*Y0QqoU^(hdEqhb5z{U4Z(_@bhmFn8i$&;J
zkou;t>z^@@aeU$k@(h!v;eLcKB|g6l)Oe)%w!A2QMq=x_p{5e04Tj&G*nIx)=SK@C
zC6`vo0aOqXR|o$7=R^?h89kQp=l0tX(eba$%@Wu$o6t7T9{ih~Hg|+9@TY8h82r}6
zd2TwrM_UtG;`i%LPc{RfpQX6mHKl!Of%i-<xfeQEYyvt@+roJt)wbpNhGX;R{Ts?^
zvcCIUn0J6OuuK=^6W6^l91xnvvr4g5LfP$AT^dyK9*(?2DL&{RAwy@pCrV^W4-8t@
z_~y>39L>g0Z^W(>WEUGDH{lh~ZTJP#U;Ng0=K^CKUuX=gq27yPoPFvYZChB98fx{Q
zhb=fi4x)0iVup7#sDJC6hiLqri+kS4c+KkM$q}%`L$RTMB@#EcW}eHXB?s^<vW(|n
zfwK@7<7(4q$DdkKgh9KUxhJ7BwUJ6!_46~6PN4|9w@Gw9Y`df4cMqjYxfsV)N#%+u
z)k-zJ2O;X}8KmV3NRmj|>zAlvR%AIpwqUF*#6Jk)x{nQZPh4;<X?eQpKV#-4o6I6W
zeVY{n3Z|xam00)@W1SpdPIv>8AcfCiqO^n4oMrPk0`)i0TODa5TUgf007`Z(jp1;Q
z@o}Z9>D1GX@wtnNM5d0pfP;miN5Ie*e^gyu*c$F?Rn5pOF%B+flSQgtI@Y5>TUX^z
z7<x6PPw%%d3FP<8+(ZmATQ>`knwY$67rym~J*VFrWox<`cFBoZqsu~$G0mT-7SM``
zphWZHIUUKg075@XL?D%(F}`u~KPFJFdtudo6>o)=Hzwy>h=(ol4=0y8cK0Ne?wvpA
zY3PMA07_rAJknOQ!dr7*9l={KX4#dC2|~G>J|{z+^#3~CNnf$UAD@?$k|e4g2jmey
zW*Em4A^WyC>>$7C7d)fkr6n20S($q>S(^97CpThG-2}a(<5}<oNB%{o1%3IxXmtG0
zs$Vf!^Ra}5<TEJap)uZIq{Q2T?XOR^Z9})vjQ&B~N*Wmu#+_CNyqKLwr5W$lt$$BI
z+F!_@sMupvypU2QjKlL=X<XO1nxqw@4)!AOfD>ik=05k}Rn@~S*`$)l`(3FER>^l1
z4cff%93aVEX{E!)mKw&86u4HGc)whE0##1kF;CV#R|1BIsAIfBW2!ErRm*<;YiCi>
zDoups+s6mik8kAXhBdTjG|SIalwTCf7KpcAhK|$f3zr<qIg6bjIo54nz5WZWbN(B}
z{B^Oju%L!eIx)MmZPF#M-(pxm;$_%#uc<{c*mOS;EjYwr39+?K@xfDOkp4+|=05oC
z<a;%5_kwFyVGrU<bK`q@47&W>C?aafrqA_cWpZ%oBc7dcJy3AOE!RD>DtgVN21a{E
zSsgy3C{GiFjX!^FI0q#q!`JSd<r-%=TZ|bIq;zf!%<!m0dR>kAKH*Yh%+glZp5s*o
z-oF_<m65TyNS3++juNM@Us<e425tdse+Rl^xBVs+cLKQ>q~_&r&#rtK;nUaI<N>c)
z&;Cg6Rs@`c-|}<SGS0s<{F9EqvLBFN&zi`8u+Hvz8l&Y3a*Vtmzmp~sqgh}5IkqL+
z+MlMA^17wOr`hnGwV4*}GN&jlhHl`%qF<~$RJ8s?IQh}*Mce>7<PZM?F^O=)jL`0D
z%6vNZ-?HZ0FSiWn3*@^>@bL4S-)i_1d=wWw2w_hPjmMvP>B_VS=y}T+of%{unvp3K
z=umPBe+Ji@20hJid2>wBxHEsu&qLxdVdBmRB0k5Dq;_FNGQ6Z|>PCWIAZ|c4j6qCp
z?nF?}qa4*}KT=`n*7fHXcTD~`UJoo_2PVN(OfIwEQT(5N&jKai2UC5}qI4kVG!j#c
ztj9(h9DCMi$DSX@@6BoZRg1bVaC&^MtQt4ZH^jHY9W>7z0xGU*aQIf`K@@7-sRKEG
zz334!A(xQVhAN;PCK1qdtDll)c$EJ#oF&Q<QNw+zO}um`Q9{>w*f~;@It|0dnGUbW
zWw_aEpL31s3-jx0sjQIPe{)Ubw`7+=(2p7SbhTVI?3{A@`o?pY6~}a_<8%X#FD;>L
zr)BXt{itNNC%5#bQF8VP()He55)zqsu!G6fr{4wpX+pI4p43U|2_ISYX%%|Ecp1cK
z!2>-Y=F`T$zKGKg`a!(*t?$<&4!ko)Q`u|H)--V^>2Kf1{?pX8FS(p`wPN6FPe6<F
z-izXuLuNlN(Z>w^`k$o}yj%U}8>RspDx!|$D3;!+a|brI_!@Rb1oG1VB!C}5Hg-2E
z=DP0PfPif(e@Rs3pF;L)zjFG~)>y^b-HQ;SppJJJ2Z$M=x$4G%4FgN)L~9gK%OVF&
zhS*@Lk+&D7dQ1Xa_o3YHWiOU+4&i#s7&Av>aYK}OD!K(WofiV(oA&i3a*du9Ty&$B
zW2`AN2KBQEBJ`C>x>TzV*tZ1Dr7JR{-H)2{e$E4T*lEmhO%kgB)z#b`sov6l_y4^<
z9h$S6Ppy-e*_W#<kb$kz&s?UWl$yNpl-ztaYS)WK0?m9gk3eFwj6MDK4*RX2e46fD
zlyW*Q={_cnb*7u1_1}ffWUv0#jBwQYZu+j&ehf|QIt?->JeiTsJ+qfl3GDb<SK0PG
z2C$fXdp0pWGww@i6ziFdgTl0Tkt5{rOTvCZBpow0l>>gnFA-JZi3s?>AvPVqik+Sg
zKw?)yN6Csr@pTFGqW6ybuD>@wAE9`M7^Y^2nr28JIpp*ErnR+sZAO!sPyUUD=@~p}
zI0sq|=_KbyS>+uTy^n@oFBMCu{m@<_k3zjfd`w&nM>bJ%TykQL%sdfMcT<EB<&@<y
zif8qu9>Z7_q&R{96PH=!(RWBT(+BOd5SoL&>OFJKbuPwP01UKiR?M3YIYbffyw~uL
zmw_8r=rUimV1K4?co0mQ!Z(>Ght5G0bGTm7W&Z^$RZu>Zc7>YooHLLRER|Ig)y!+{
z!}cwT*qR~m74&k}kcpb@WfzCed->S^L{3rKX-?V1LO}e~u6zk7$M2m5Nh-PI{R)v5
zE{|f$zC#T0HnjvEJ*S`V$n@8Nca38$km0=Cqc)a7b7Q({N^xSZfYH=tGhMdxkqR+t
zYrbIBK4VFr%?#K{sokyj{?=OV=BMw(f%&I*;lS_naE^D6ILkw5f6x88Pq&UN>tM9C
zx1gw7%!}PqSXUtJ$1Mrn-~mYO^cAJJ&P1Kldsm6#J+6E<#r`4Uy%u-YS(jE2n<y>-
z1ickAnfv|b^XZxHLO!adBo75LV)719ZEDC(7IS)z%w{|<+r)vSq!LOPBv#y)#@C9_
z_#5aMMbYC4zH__fu?5$l;twq={gl@4^Y;Lmr)5PxQ;}H-Q+4yf#a8rdzKZq~Rq-53
z(Wq5*@#<piD0&9pB)S+s@fx&)q5Iez+f2?SrJG$e-7}x^5g6kw5aDHl(#>9zmH^LV
z!2^zFID@q(3t0@)lGh~l6|z6iyG2DwB{Tft7~auz`IegR^x518Q7lJgW`snKSS_9O
zyqWfJzib2Fwq<#a_W=wdmAAUC0L6~!bxsi(G9Tp*f-6`C?^MoX(=oY;JcjKT6FXhc
z{K!*(Ny6RnFUDWIx$vD>D$E1$3F5^|7WeV(-$$5@{kan=?%)vW2(bLlzp<^5(rV{$
zprv2AXP-1idpg_OoE(_Rk#WhmV=RF;rFQ<}EZU+pp02AYRZo8IStom{^mck>T`E=i
zKh%NSG~kP5q?jDbirLJ0S))~rW+n4k!S!43l(Ia^Km(bI!(<jW3bp}gJHCW9?$uoh
z>LR?9e)Db0)*DxiJb#bzKHiqILhfeh;yp3k^s9b_?BVb*;6_6nXzD819OAKMVZtk6
zy-gaFT)+)lOV;?e{PAD>YyN?!d<A}!K4y_relrX^L+J|7{kWwdliQzQ`qM7kyYsl7
zqh?wtTkLG{%@N<GfSV5MKd3A_xAB3w@+-Ou9d*v)v0H5+t_f9=z-O<52WehAoff*~
zG+e45-?QO?5gKOJ_)HOoO89*JIvfH5KjmOMf8J*+z;%eVPFOz<;#uV|Hfwn8EvD>i
zxZ`JlA*|2tN|#%4>1BdmyRz(V<<+0bRh9&GjbJE#{l?8g<EaHUAMgdcYH=+V=_v1$
z`%m`&%+JZxAU+-P>6aMolVv%k3%YMjwy1dl`8f=Jrf$k<BGU{X=Wc#w9#TLQ6xQfV
zfcdvF^hw1W(-4v;KRHzuMPx5+#tQyaOq{qr58(5}ZRX$pkrP6=_H5GcBVN=qaOt5g
z(Pr}&FV42j0sbZRbm-1wdNHTNscwc`1tQK|62(WEp6?R(^%>*cqtf+GL|W`A@hjB~
z#C*-$nA>8i=a-xsg%L?@A~qJUo~$`)HviK}F}aN7F8_0M+0M1KV<L4V4u8MmD43G%
zbI$>x<lg^0?`z~VqK`jCV??wC5K?mBea_w-I?x=T>k@s#kg=NK#2w<qyL^T)*_9)?
zEZZT7q##18w~D4FtRcCtR}0K1XpbGHSiT|#z03Q&A)Lh)0kMJ&$#o_;5>H0rBEiL#
z6(1LubJfnuKk^c_1(kRQ&D=^~sg+}%)yQ~EaEw^Nb>6g%dIov3ZK}-Zx9@_rs<{kL
z+{To-%f?ZDk%@+oJm-(w(i08=qq5+xoty$a$=LE+n|aIc`UT2XE7#6v6^ABQ1t|>+
zZo4DAmG^}sNCs|gfPhua;EZN(nxT1k0qi=l!u7x3=72ME$xZVe+RSt@!#lTqwN#$l
ztKc}E445up?PDz>QESC6ocGpuZKtV&Te^t@oZ&yCdTm*tVw{esJVYxP{8!DnT<bQY
zQ>6KFxL>4EA7kh287o;vr+Y%PbXs=Xgn{w~7^eTOvp_?8_}Z|oCv%58(ThB_r2|GL
zV}3b8^_V5so5f-u6d7`>Rngz#AUCo6410XTeMo-L?(MJBbe`(n7P-bD?OT)&HOo~k
z_a>id7<Fskosx<Qt+)gJm`WxO7hfi-9G3HrbQRnJWa1(XclWHo?S7S&tv#o6dIl+b
zEZVi9pb*&a$bbnaEvS*W$EpHv0R2et!ImIR)?Y!3o4J;ltokL%61m2gFRRY)e8)A7
z-x+vr*ZEF!pMo<PWy~(GK+;~`XFh==?dLHTN|b3?4c%G&G=USIytnXCrRnsHb2HJ1
zc+_Pr&?r=ttYwv?33R@2+IeEhn5-l4Pt6K!Pz`UT^)ufd<iV7z69!CNNMD;%EsX@|
z)yHNh`YWwUb_IR<WnF@NOXR-qX>mzIh3%Sxw9SSS1)Yyyd=@eHRVr^Q%CaSbSufe}
zMR|ypU9Bnj>(l?`(qVjkEas`YQP2Ntjhb`%{_9-I4oFK|hFc=w#mrWr$yoT#GFv~V
zk#fYHImVoSH{-_+E+5yTN^xW+OA3vAHouP+BkABjvcz`6u^hM`r5B9iC5-H!hrx7D
zS3<^7N>*vlOPg3iKmAY3@hTlac}of6#H6U|jzq5d_#+K2ftk0Vf3uy6Jvs3IBo94(
zyoKSSe)5s`C+{^=$MHY70%LKf_Qf3aHX5()M1}kOB|nw6J|NmFPTKVB3WGD=1QS_4
z&UKFPlWsZxKa8DYjHW@mt=s0b&1qZH#<Xo4Z`-zQPTRJoZQHhuw{7gnm%VecPjZs;
zuac_dN$yH2Ppx&=x|&#_0{cgnMuqAlC=a~M=@+!YQ&D60Skm?!?0I#qmVg1=AUZ>0
znk+a}70bfCf<;yd3=*C;iiG+125hkbzPRn|RP2R?3be~Yeb#D4a_ogp+iVc->~P-B
z#eZ_Q4y?Wiy83nVpqJr<r;(Dy)WO2ct7V{Uq}yROB$jGr^H@}Kc&r5!d|&Dpoo)u7
z%Sa#T$IQylSPB`Nf;_dWw5-(mPdX~BhNNX9M`O9K9*7-%=a`CGcD-g>`c4>%Ge2u0
zstflYk{b7_XF$?+<yPX<?4Bb2IbA{2E-QJZm(R9w+=&;zmz<1M8emOL3f2cJ72v4_
z$iQpC9&a^I!IY`yPK&!YAZg%;DY%XtPt;jO*-CkQA5WOfP;~`0_@ReNPyGrD5UfzT
zfMQL&p7C?l`sJ~ik5gt_&}lbvxk?c|g2QbqXN=)22@tK0v>z3`xyrp^1$V9U6--Mh
zNH!(kGM+yPY`i?$9cO;Z@j!KAx0f}V*#QQLPaLcK8c}v5bbC=(si8*+k!V^bw>BWU
zy6uD0R~pzkLUM-Yw=v)!WKX=pRsM)X7$dyds~Z9Gr~D%ot9?8ai}x)VGgJdFPb}FS
z;Hp>6be}~Di&j&9F&oL<p+NIBRoCRfIbTfZQTqst<Uw(GVF4GL!bGd1OS6M@X4##R
zhy-wkh+=Zp67G2@)F)aJk{Gf22BWj*lKP(fzk>cUb49^jEdrP>puEXwf2e2oy5z+>
zJ+WVco8BtrguK#v?X4~fuU;j^Z{As6A7Pd^JHer&reUZ<`)t*|#TGN^Y9J85d0iDW
z@n>epS1P+asAe5aUH{%{=7tqt!Bv<r59&_p@{=M$%(h%ikjipR*5`#j)vNwgt#a{b
z_;vLeRjDb=cKnX-5_!r|`+1gXu#SAWF8Q+6BA8_Or?`F973iYWe5Zc8J@AapukYtl
z424LeLK?nrfIfeKv>XK}1#>_#9WN5JM%F_{r>1|>#01@9HtmjmB9?jZW(k$!NXZz$
zyP98|wMZE=v17FIMxp^cfZp+7$IT#%z;uhDIq&JCOZS500Bq)#^D>k@r0CIt<mWt*
z2e7dN$1J?aX0v^Ni^9bIJV%Y`4yd>xX=u-V3y*2^pCHS`x0YY=#GSc2F;Pp(F)E$}
z4SiCaJK~>JKbAofLwfi3KrGOEn~|Q{ugUT6nEQ%ywWH5eGS&EYu09oKB0EzJ|H&FO
z9V_hzAw%@mDqa}GWpPB|j8nXqVwDf=GhEb`SIOxmD;Gd`MMH7Fn8XUvoGHa^zw$gy
zayB9iuqTpf0l(TAwF`>P2K)2KptJ-Vg0x7YBwM$P)BzvDZ;831hFQAc25j0deHl=M
z<(y}p)f%Wt<@wxOzt{EoII{T2xB3*eYIS6joH_C8#q>z!7o_=}j{xu3=}?rE^0{_P
z<=r(`kGa6c{hcW%<{2EG+iN3V0X=&Fe^NBh8UWp_!ZE1QyHJX}YrB_Giw|GIeG_)`
zE`>AP@i~vewNtpe-sJi$Du0Mw-Xqn7PbgC?;YlLx7%!gow^2Rz!RZ<sEh@){@bs9V
zpaDbh1Xmw4t|%@`e2q$}l5B}3%)rwwf=s=^?no}JT!gn(;j_>+B$|89z@)IVhPOTo
zu1R&ND#6W)?e+lWG}-`1@sB>P!0#YZ7e7yNz-gYpyfRO|UfO0`HZ2*I{J??$1pd`r
zPr6U{%^*)#SVUgqg;sf>l<J>uS_<RRZxOQFIP;}PrVYHVvxl$OHcLN?D>09(j^!pV
zm9U64zi|#dcG-fc@7XpkzwYM(J^KpoK^^nJUM|g{ouHiF#@22#bx_;pb+ff@x2Zuv
zuc#MKN+PA@r+v!B*X#QH9_OYQITAiD_tokTilxlkfZ4*%!8bj!6JdP}z;^Z=i&+~M
zW18<#5*@my@Q8#<wj7Tgs(nT6eu9}#@O42`g{5<KuW~EIo97YSH=MgKFKe>xb4{8F
z<E`2g%9X%hB*zM`6DbMJk>cs4?NK<-zq)zmBB`#%8|$2Y6R)ZEa`Qx`+zKo&g6x>g
z0^71DVl-X0L_KTnDQ91o)+2M=f|PKT5l{H4TKm0=bh;ylP5#U)q7}*j<oVNf&}QiA
z@6*+!FY*SXoF@{4TU4*!B+}s!NNxc+%B8$zR9T>UVM&<U)@fGYPIIhLxwP{gY>a(H
z$ftm!jhuEG{>Us&FcOG&hKfp&dKkfiKn|FbXfr6|&ji$c@-HItJXdF>C-96g7jk3J
z=6&>Xxk)zLg2WDuTW#v0PDvmjS)lV`bLX!bWVU<CF=F(Lo9Lj|`%wo?PtvqfDS~P3
zXn{uaucb-DEW?vGL8r2;V10hgppS8y#4*XmSU9}PGBr(99fISWKCAVKk*R6NFwU1l
zXWu_W4u6{}F^YlNm78FM_IQnMd*i&fiy9*r(cO1?n=CXlT~#2bWG>}EA*`Kccg%L#
z6sJLzNXnd?!>H4GJx;UDbz^@kLT}7B!422=T&;F75t}$%Dy?jDBewduDnuecx_%HY
z<ST#D_SuwWHZmc&Y_Cd)02G3x>)86-jk*~pP40`CGmMrC?JOk-oUGr9?klV^xBN6p
zpTTn^NaNFA1XHk^u9R7%x6cSEjg?|!P<N)Lf+S!KLjHia0zU{6MCNUoS<{`_NpcS0
za55*RYHIqCydXU*7S7I-O|LEi*-Me_ro_byE%BvD*FnK=uIwv0^F@U+zqG62rUR9*
zlNHTt!oo|bW(&vV)MjP^?Uj~eTJP7ifz?${|3sUWodLkE;jECtR35an`s1n8kzAu#
znnXf?P;p`WJsnoLP|X(zgJg3vKvpPyB$I|w>TlPk)*NZHJ%pcD{q=pC_4+fd8QP9j
zKdGmS_Lz)TC?x0=U;Sz*sQy^_@bGDj0P0t^v8hO}Kkum~zR&(I<mi%>ZZ6L-qU2Yi
zt_`=o!_>mg4_!BB)a3vqEcd&gv%Y-LQetKRb~hipwpjJGtd8q*8h8!bI8RtphV87d
zz=+N>ekfh#F_h+c4<2gM>qkUlw4@r;E$Wh^{vZ>ri+PVbb|nYQ2V{a|YR`MK<!Lp_
zouykv#Z~BY5vtGL$_uhJ)WdwUBXTB?bdcXw-LtUZJ*$xCET_MJ)aQWP+$Gf-$95II
zXOpRu9?|Ts=ssrQ<wkXM0vTp+WsclQ-&OM(HlW||nre(37h91{xf_0@R72ig6+Mn?
zk}-iQGGJ$0vFstT>!;z<YF10mnEGDIvrIKvPpY-*RV4Kuo2NYDld9&M7GiZh(?zBQ
z<vd>MBs2U(H-=h5b3ga$3SAkv2{Ig+{KKI%Wqjg&TlH>6C`BvHi<eMgvZc1JoXy|F
zQB%*(6OHY8=j#c-m{I$r!YlmNWd;x|mx^=5Q2riA@`$+H|2^ab$8B+p{Xwm%DHw&@
zS)`%y7lm`mYvkQamwExw^Mus~p?g46ugXaPMPf~HC*sH4PX&zt<^hX#&btzpU)=vf
z2e{2dsCqfX$imT1G;q{O^a{X(xi?74l=sMxV*8dsD?yX-TpA7?3gKN~Da_eo`xT)=
z0RJeBgaB7W7iONE0KY~TZ;2^r(N?b6*WFA<DCG9bHRHg2e$BPLz1n9`?Vi}IL#LZk
z!jEKyYv?gvE~5OEl8D81c|Ou<uB`f)8AHc^U4MQTondBNJm<vQfCl;LhMz=GGe+BH
zrT5H`a1evZ59M=;>a_5}fS?Y3XoPjIyj#|dMna>LuJC>YxUbjRtg(70IT1#F&wF{H
zI8n56pW)4sZJwf~F<sHSi`@{80N3kzE-1PuYTOeHucIw-RoTAPIgROV8AnxX98ZcM
zC;T_AS-m~gLBv9N&TlbQToK1u72^O0I4mdk&R9=tJgz2|Z_&lscNw`jI`f;#;gODX
zVKwNtna=^FV-=&-VsU|{;dh(lXW}qpQ@LXRk2d-nIPz0TIsHAmmnW^28``@QX3f2D
z)nXu}f?*F82W`clqx7Aa$4{8{QoC`kXCdeta@$kYoh3L$dW20Wx9-&OLz=RR=C_Zm
z1@EWrHi<Q}MA?Eu02yF8OR^!(WO?p(*lrI9eDsM~1s(IOCiI~49C&aHsvV#W(-a9+
z?wsiv6EECap*A7}``lHY4da1angz`I-EEoA4KH1(q!ejwb7R@!<FTfexOMv{GAbMF
zMHDzI)VwaKh13M7l&(VHGI=YVcNWfoHS*vHq_-9FgUWwZ5y<;yxZ_!J;dy0=stnsW
z)iA7NXwI+a$|1H!X7Mz+nr!p45SOUUL9f0roS_K4dS39_Tvh#LBGC`j-0X3d{U_Q@
zm;R(23_x8R)>`Ig_n49OwlH{T&OYV$eY_9gy;-w5VG`-XtJmW8>nBa)NkKDFs0j^F
zdq1lN2&c!za;TF9^QJrIv7HhJ^i>&Oxks7@67p-5h^W(UjK#>q(4a>Y!~`^;(EKb<
zxuY*T_u=#{AVczg5Ire81br5-RVI3XW&H-0@wqzxM46;#|Bg%G<9pcH3F?;g%u`xP
zaCfBKI+8BhUXsp}0*MRT4)1y*%82J;cBGuyc}orwx4shAKH^T<kCaqhigFyyJZCin
zz#NJcW9<#7Zc5L>E^;RNJYzh2en)+^xbRL^L0j58TRR|oImLJaSSbM{_M!~q@z;F_
zkx6uWKW7;@N4Cw`+B>til^1{6swuCo8%^>1)GDsMw=^?el=)x^-rNB02R!qugs@mX
zi@ioB8~MJz;V9k<Ui-(kc#zVsB=HXLz24#9EY+U8xd2Jsdr7&@=M6GXhh3~EK6zgP
zYmH1{F*SNO`HN%n-j4s$s0#zM%t7DYoaL-Bn&QK%39PPz{bqlKX#tEo4KT$<m5a9r
z`OHKlpxj+})t3|SpQ^kH99<tg_}<X}d~Y4joKm$yWPRD-doNE5{p$D1bMjf1S?-#K
z1%}w!ue^4_U1>pY8A4y>Cr<cqdZnkFsf$4~aPyhTduJb&MtGn8<sIo$>$;?FS95!E
zpv=CP^dsx1bqBnnzx@nnyuQm>yy5oo9J}_TisXi%@lnN(aZ}}XV{FFaxkVPs{uuip
zroid*HXMg`#j->4qoa*Vsv>0-o`~>?t!~7xB2v8%vaAJM`9+pHpx`>E3T#^z?@cc}
zzb}*$#=JEaKrF(!_61+@I~sv3IhH*C6-u3*+hkT*e`$Q?v&|ZtabRN@hoE{pJQqv?
zjhd7MPuf^3)Z?Eacl9<FNIr)%L72>~)Tsshpic7vyw9dN<eax%NQgNDhAkRO_aghJ
ztS?V)h9B7fdXA84eP2kkf?oQdl@p{q#+VJ+irmR~)PVVDqwhR{$_G)Q#pJF%1!)Z&
zw$l7-^G1zAOF>RhW(_wN^E0Z4oX8`?wACx6bH{T2%CDCE+tCmwXqYwjSNR{__h}l`
z5qE1C8%EjIb8mj~Y|WE0q4X;7OQvEk$w`i)>H2fM@D|bNj^k+?)Op2*jK}=6O%f<h
z5Nw@HE7n2IT5*nA?K-WNLrS@nP?%>D8!F4+l1)~XU9*dR>X>(&u>g6N6^6qiCbu$G
zl@@zG)}~0rg_th2Gu&<AdI=Wj3!~AfLWIU>+V1Wun>Q?T6>Te={G(#DJ15%0QB32+
z<>a!!%@c`}Vy4eKq2USMhhkLc$^YJa-QeyKh07;tHIz_g_DXkl%?07jMiF$HMi^+0
zkmCHIcBSEWz{klGm6M%$csX@kKU40lfKgU(d)_~xIkIbKh&zLw0<=GZ>s6vr+QC;Z
zxPhz9Oww-?hsnXtm|lc$s00wKbu~D;*d0-&$$>ksost!+=Xq*G5C2n^Q$Eg)`{rh7
z`d6&Fy9JsG&en-Lz6mEm?XpCxd}JpbG+(#h!eR<?jb9nJ(DKyqMwYS#P=AuGChBi7
zb_RZp4l_&QaitK1+5-OpSM`OSkef`^tGZm9RxtRtll+?9O=!EEN+)TxHgHO)V;iO~
z*&IoaP3A8ad6|+Kl;U9M666MASdlF&J)TqC0G2(o>PoMcqZc%ysu$vFORfLj*wzZ|
z6h&ULX|C0pFcLJ{%_5eQbvT}ncDFoGWINS_tZ?VjPWt_2ZV26hbV3^4oJ9tH;3bFM
z>U-axzL+xZ%(v|)e8yFw@X2Sp_0l-DznqpvbjhY<jPs7C)Ul}{5L`q%L8~L4>XWz2
z`b;r6V%lG2H`aebF^(^Aeub`eLcDpqX^vot=1r1GKL)BY@g4FR@CU8YKe~Bd>{%Bg
z^FTZKTjn-Zx(QwIg7(10SrAc4A4lZ%pk=vYsq8jC;YAcqnG)J|ohOkt7P3T#JS$p~
z+H@wSJPTcz39>oF)~5fq*BCw41OLfL@wdN_hpNVR2~8{?FT`J4f!5e`e;8&%_32Br
zetiw2;9tkHU*wm=zVxq^EeQo<+N{-$Wz?y##|B)7S;4S$&RGG{_^ic*ic6Vw3w)j~
zsPV8o!V!aEI}c!Etr5bFfUCxvetS;&8&TJHs6oxJHLx{C#dwu_zSqgrJKh0~j@mih
z)zfnY<fmvQ`ZS`9<8d|6=4iK_H7;F?-)iBND^N>mEx>Bv@6%j|t>Y9KWhUZVb2b~i
zK(c7^!k2AF-BN5i8T*sgk(Pn}_v0(ucetO(+?F8h8=>F07M*i;owMtD_P2swa3qdj
zZ`!L<^st}wqf$I;8v9_|8non<0fzpl^7E)n?;`xKr%T(apqzUyh0Av88AkOX88GW!
zDb3MF`>;yQnb(uDG_b1%#pv-9Y=VTmMQ|wO68~*__BP!-G1a@=6@NzWAG8oPqm{E!
z{lhvJGF|7e2;4TJqIdG2IL>_H)!*Mp$7l<w{Y8O2&=o;tc8~Lp#73=SzD#XF)6FqY
zo&fDT3ih6cT3>F~c8Esd(~c|WSUXT-b7x<_=th0ryAJ@9;(@JB{;$#wb@Z{S^kLxS
z*yv&--iGe+RUi?Q?6VPa$I7n+;BDqGB@(-cyWQhSWHWM<%i?<@kl>2+IDiAx>)~mG
zh^=`povQi%$mvR)ukY@=3Q2D-&xPu17t`FwpCaF|^;eEd%(OgcN~a^3zO#UNNi9Yx
z@Dj^1TR!dP^032kilMvJC;RTMsV&@IuzXG_RhTCZ-{@pPQNS{}&LcM9Slvtjk%ARs
zi_3XHCnS4wP>b^&A&(2(%kzmrL^PFppj1%Qu`)#j`R-chvPxI@1p8F}4mwd7IZ=e2
zk3F*)6b;T71IOpv9eD<ODr*jhXnk|i#&Ddi0^{K$kDRrwMBZ<kn!E6?GPzehZzk5-
zK;tyVmJU}$sS<+=ti~TK=I$|#x|gPSoCY~`_A>0^Y3T;E`<?2-gg4YU)Sf+7Jg*Cq
zW`0^Lapsm)ydkQ~G9$(D8i|s{pA9`oHGMboe$CS+%C&FkR9{;r&|(5X+l0xRC%7_{
zRz=prvU{qoFEqRumrp+xL=CThMaMPSJZk*`4TkrwL#EkMvF%xv*tJcX0jha@Vy?M)
zHI<rvNoY1oA69vCt2gUyOj~)}oaMpCVYKqh2kXCMR<mw3wELZ}Wye^Tut?ch$%!;6
z+fHNj<=NQW@3AoP1zb?Q*SV5+GXG$~jR;%`o;Nyg`4!2>4J1(b^VL$y`89F>@%^p&
z9oKWFLQhUR_S!fp#A!9v@|!*)e&S-HhMNa2Bg7>Tr{9fhqdRUGH~nTD!QZ6y(kFMY
zvJ5)A(BYEjO}Y6g{UbFtb-13VV%vFJ(P?$qJeQ5<2`pPShde`7<j)#eJ@Vh~#3_Af
z1dcjpPxCX5>gep*+$P0EU0<hWMx)q?O9>PV`WzOW_(d+9%V&lFJ<c>4W06RUJbh(7
zMZ$`p*CCf#heawa(NcUQQ1A0g0rTvXS>s-Y&5T+$8Zv)FIIA8fOgOBdwRRaoPMDS*
zf%poVwB$$@BvzVm+w!`ZK6Eb{7Ty#SSY5DT6aow4IFZ%K?D2FOXU}~|$FHmD`bX=F
zc>#VuJTA#BTr#@c>{%9#<K6WnE8`ciI@eW!j?uQju}le_q;qXownAn3Nq<7b?25W&
zub!myTWi{Q{DrkL8oI{Yz2_e!A#wk1Je0yXq?F6EE<3L@t_>uOHu$)Yc@~2xjHaZq
zu|~)K3m^;Fac*^p8TeQIgS*rO53J{x+C!nxw;Da|aiK5g;Ks`^Z+-4y3gg4+lwO^K
zcrBb6cn<bZ8aeYLrCVI(4E@%5LDvx5w#68fHS&l%i+!X8wFJ3HUt4piYHhz)wWx9z
zdO9Nxja@3@dr8v3u7}5FBD+gndP^v1%t$>CbgJEJ;{36|R*IHvEo1N>r-u!i2fC(P
zF&6{2DLr56CsLMieTH0^ZgJoxec0=FV{-d$>lgOk|30}~jxDN@O8drE-%k!&ruT4A
z|00~C4`v=)oT;(|T0@I%G^xNGY44#QN8^%C9g-kTJDiE~LBc5>>6Q)WTZ@(6=~03L
zgJ%k(a4!BjM)QuwA<c=L7tHrSj8DoG^vQdcue#O|?Iztel$)h|{8k9BbV^$cY)$Ks
zX18;$c2`n~h8vJps1_b#RlOO`bBf1hk5(aFj5DAiZd5)k>XC-NI+o`dB~wVXN_j<{
z=^TIVofN>E7<}u3v^@Vcgs852M73GUL8E>BSW{|0?~)xD>+3$oG?!-Lj8%GCaW9Yc
zNHP0SNSo9ceFd8GQQW8}w?iZp29$MK@6%O|QM+e9-OO_7;p#apk}n?SJm*m#ckDif
z*hK%?2}K}vBR74^E}YnXz36qU13Vf@&vk$+0jD>%+KGZ1`l$eFTH#Zz;eoLxAAnfg
zfSBQR!<~~A)k|bPbzyp^&K35nQ0}KCO*lVXL{>+k(MBcN0w9kM8BEj;u2oU<-m6zr
zoUz2c{+W1ycwB?aZxdS<UuO)0jO1S~+DyEBX#>k-OVbqyyHq>CRfxbTG7Dyy?IyeS
zzG&qNK-L$$_h&vOs#|ak?Zkggf>NN9(9(@Zyw)tYq0$H7h<%b5haqAHOnXOJAX~A>
zmTc%r<;KZtUNlYHP{z3zc5t)DNQ;i;FK%MW?g^BuGxm?Y4jhAXIW!Tmv^9|As!g#K
zI}fePpFJej8|4f)V_x5GnI_wi`0E}WJ>)g=TZG$WA&7pMK|#khOPTe=fx!GU&!HXB
zb43XAc4e{_f9f@aQgkXM63WMsip?7A17H=09Mu(5?c`N*@=337MgM+dSFf16aF|v7
z!2XH)jp~OL`W~0JLwJN>`3V@(CoMJU_O1Ci<o0X(LsakZi`05!Tkq?~Lqfjbzr1^w
zq<@i685hGi<mclq3Zhb9cWZN$<_HV8?f&`S!Z>%b>p8}=vL4CjDD_iQ{FhtXj%MV?
z<fg&}<l4qM4-9e4oX4ZE7FgBCjGCxSJ}54{2uVNc2?zVS+~AifxrzsW2pC-v$l%X%
z8OxF<D<?K)Eq^J0FYIu9d8v76R8LZSiGz+=Pkp<_<<fs2wY+*V6`72F$+uZlG=6`D
zMQFKsVX_gGh4n!AV6F&yK&CuvGqD3MqCxRvc|9?98QfP23mf&;Y}P{j&f%iKtj?wY
z4If3inmH>`(>DCFZy&u34BSF?u|R$!$G=0-ftoM~9N;;O=Q-8JJTD{Axf5A*N%!hP
zTjj-pXE8$JwBN>Bu48}n&@rlPNO~L6$~Aaa3YSHLVLCd!R`(Wlu2qC-6es-ti3IAx
zHbs|@9i&7oEy%Z;&_4I<yA$0N{7Kf@bXb$~Lnr)<5@!Ywm5ubnK;6I`GL=j#pL-4^
zTB^#R=bfh;_T7||tiPAa06p{!o(E|Kk33;Vrg85%Wh!~pq6Dd_L)wxHuq78xLKh~~
zppR6|!QFtmn%Q7ZIAjuE&VMpTOn;IkKAOKvb1Y<>RzNhKp+B?!bDlX2L{mi4=L@wX
z4fW)^G81G1FFeQnv<JebxHI!EH^AB*@kOr_?NQ~S^$nU3tXnVzMw^>EZe#UdR?aNw
z<hnsV*Rw3S>!!yFVnyz3+uK(g(P_&YnO5$FX6+7__Qj<@gz)evVff+Jq22s;)hCdF
z1zdI`NuHtfypOBq6X`lc%kMK2QU+t{&5-Xb^4QD@*!Dp4nsj_y^Ra;yn|W$;@a=oc
zxI7H444XjP2ZhYfn6k6*X*!iOq42K7@^+lT;fv(b`({DJVH2&QH&ZjQ^W9sBOJ;W4
zhnM}pr(H`O-7|KA#0IDDzL@^Imgt&9{s2FzOKT5r`N`n}89jTn2A%>j*I5nPLzw2L
zJ;tdA_qnypFiyFF>Bzofr7I?;58_*kE4L(ccAKWUN4+=&VP!On4k_i}QuC~f|MUO=
z1ZXNY&XvZ_3b{_VMxeAdKI<n5J*~Rj_{@$eTaY^X3Sxub)zL$d;jjC%fJLm~x@?c~
z+u(2MsF}#}me^BOZ_Hcqw;AC^n59xv?x<Sn&A{WYw-(1{ly&1tWv-FS#_$69x5ua3
zmb-H|09S4MK}%lLS%G>d^wx#j+H;fjzfO^m{;}8m=vq~ddtqPGME<d&8S2uOhlXB=
z9*8WH_Q^2+0U^J$byU=a`m&US>N$ZiXH`xUT_!{vKy6cwMyZagQVLiX+&@^e$;|I%
z;9TSmgqGt&jZFPLD_N<;W!YS1t<Z`CWewU_u4IvTJ|1ADE3G3Wv0oF1=k<sqW9Q4c
z8N$a~)fX42*{VL}_dW##%3aG%`+(MSNm~7#^MhvYU0$vls`>ajaVtJpvJ=q%dU9Je
ztCaBBI4q<m<SqILqHwazE|7iG{obER^4!FF(>7e9|I{r9w%_z9(YsOusJdPD+zRjS
zs|cP=9@pO-Vjd4_&J7#^g-wD2ZpFG<@6SydUQLhdyW;tW?RE2(pYm=kp5E_w`pf$l
z@|IJ+pXBP-XDvH?eEcVp-xXbYDQ~wqQ|N)kLB34wO}uf_-Zd#*(~b1&<7uc}UrZJ7
z(Dz)YWKeOR074|5XVqIrq5YbMeEW87@!V$(E_jN!!lya}dk)hs{|!2DABYm}Kw1h8
z$jqaP=OoxZzm1{89{MZ4U(?Qgea!*wjNMtb7mF=oZsj^_lHb)nzvWCXa=~@}M1s=r
zyo(=mh`Pobx9#QT**e_097h-_&6m9(K<r^VD-p&t^o3mO@|f(So>w>n0^V%1yCwrD
z)-S^Wbr_?#6y8B=n6;R1N-U`@Wn^AZ&_n%Q7q>|{Dg+U@J4Za?F7hT=08@*?l>=HU
zVIacOBp>$-PsY(Zu)P9n$myYvb)$5J=AZtKIvp!7G-KPRqTsAx$`>cyyS&3)s$u1F
z3dzY;u>F$0iw8|cAoI8MuJ1#H_ki6|&E|OK<!;#l?y;zg8Mz>G50xy%<z?Ykk`ihm
zEY}E41~Z@ay~<}pga)o8RE~>aNT7ST&-e0}vvURaQLEnAdXm@Rm{Su4+f#0pR$cQL
zWgCn>jA0fQ^jq)3X?C^?deX}Na@!lteYNc8=HNd+ule|7M4bO#;FIfX;`{p|_w&2*
znkz43wB1)SRL-BAJQ)H;wMdRCFp}7)?>Dp|WP(wAI2c%9UIRIeC^{{%hB+q6P~d8v
zzmf1|Bq_~xg@0s-k&yZe<vqn{%|*}7>&)vH(EAV~?b-CWE8Pv~)3THAi{$U&*xH&S
z3i%8^+qZ{stQYDXs3FBV(nBHQ9o||}k919GBw^mg=^jc;->JngDFbOUwa%GJc^$Iu
zS~eEQp1yc1L12DD0IT8vpN0fVZ4_z7MAt1_pd9#w5@Dm32ptJ$Kwl1YH9`EntwK)6
z_CO*NWCih9?i`pi7wUs8JdZ#i!S-_;;uphMER+W{uEU?fKM?d1O!GgMqgBXWaHu+d
zBf=*Kk-PAaH%%LgQDDE4`kJx|4p_87<pgOHtmO2M3&><St&Hqpi1i3c|47;`UV_cU
z97N&HcVX^#d8^a<qk&}*ydZjtXNi!<krbspLJUOsY&DSmX)HK!&w#VvAOJ71Z<+sh
znshrA%5cQL0|xx$%(?Dj5>_{u^FA%DQH6MVf&4{*yL+Q-pG?q0wDawJFjIA)Uf<hK
zGjLy+5cBO!%H-#0Y9-1?Hk8l-j-V2nM##<IfDCI5dBW?TOnwlP2Z+^~v(m7~QNeC0
zhj1th9Q6Hvih`BpBaVbnfdR{M9I>Ev({&X2+D2&2b{Z36KUk5@N^u>aB{6B}c^Szb
zkltRy9+5vY{J28xL<xGam3;6INPc1ogzz^@DTo(FZZxYnv<VW;aKg927=sv#SiCIM
z!N6i%6CmI}=Z6N!2_i4*GCOb+_t8Z>*WJxBCs(5f4EDqNz%RjG`m<~1c|(&GVnn>t
zAf7=Ph`s}FHC6VlPo+u9Negc&zpx$e;09ZzT5aLA5K}-N%omBBahPbt0O6Jh&#obU
zdwO)`u@uncbA`@e8+(2g!Yjftu*tB7G0G9V$n*q1@M364E(W?ng>;~43l(7*Kuk@Q
zC^(f6L1=d(EJE-TPzjDj<4@~aTlr9>o|tk_)j|RnL%{O@@YicUDyb)N3gu3hG(k)W
z0@s8MRLG!-u(soZCah#WsvSY1KLXRw3?Vr*ie-^kSOxWD<8Bz|Kob#W5dtZG>;JyR
z_8g2fKZvgk_zumvuXu5y`C*UfX0Fi~hiEVbkOiSNVu6v92k)&2U^*ek5F~=-@OKzd
z=_R$6W0DVN@z3B?#aA~0oy@I5GB~orCX%CEmPhP`AuzuMfNE6Az?V|eW#KIkU17Ap
zOb-uNSKxd5CBHya?l}d#!%j-bKwpvwIHrXV9V>+qs?^!~V+v^+$jYV#9d?+7zwi%p
z0)l;|);Z0PubwL)Vodfbi-YbV6Ft+k1jA;V`p?%a-QgFP`#Yu91w&>j=V1B%K*ei(
zb_3z+rV$tAC0HC4V5`)?5~(Bszr{+xBvq2g)g%%)|D2xYQS#!|zQS0rSHaf8lDA99
z8Ug(kpE3lM9PmxwL+2J`jQoPUU}9E<iDiSjZ!8C6^EpJSmtZvgp~%^{PlXl6$qzwJ
z#|p(p5pQrY4Ny0sf>v?TgT=t^hNM7-DTQl|=>uDWm!0WB8j0(|TPlN{CK72NWdex;
zfw-0jXAq^MBrgaOe&l)*vj<B1naEA>Oc_D}oZ2a~Hj;NOzh!@P;@&mT1&V*N{w(?-
zF0<d&yHnT9@E5rP<paB@Vuy9+_v#-F068;owngfPp(NhCS#P9zMljoCzaf|s1ysEI
z))+WO;DHfpC#Vi2wl-Mt4?w?TKBzfFr{GmA4X81K(UK+v{w!>(BBhDMtuMo$N<`4;
z4<@kLMqyNaR&YVG;ecCde0+5k|H1PD$<avX-;^*m+f0lgSp?p$FZ>4d;4V7Q!=Ow9
z9Y6X2tPXmx=S6u_cv`3VDNxG_VZPP-O`!h4K1cPhnxIN1=6^v7Ei^KtDmzx~2oR9=
zKZ`_sb-*tBdSIR~{7gV`f<c^uLuXNCgJbMb=!1n=C^h5hBu&F<`b9LtaSLM25gskc
zxM8s7L?2Lm20@rbqT^A+nOS}?3(26e4&v7f(xIa7k*I~U8wITz8K)(Uk_VHECQ^*W
zn@HY~v%34;aW;^xh43cuM)0QdhFnVJNacv-$mIyRQhLSnjp>=#jr)$HN+BL`9zh(D
zACVsYIHD;Ix=XynO%O6c<q{!O?9UAm;YBmhHuO^k{Tkp96166?;7W2{d5~90L}=3(
zR2#^^Hu(`z>OU?iolc`TnxO=OnDXaW$}k00!$67VWsqmS>3|kz@jvx-*WZs<5IY>2
z*#LAm2;%aB>MO5(z&5muyIh?&g55K5v-00hIOBd!C-Il9S$+6gXe1Tl>PlzYZ;FI5
z8s%xr!{+M8oXfj%mweik7PMj{*%a~+S*f%b`NaJ&3D(iZEDxDv68?Aq)!Y36+Ka=S
zPU@@%zdS~9R3-o$4h?H0Bt(o74wG*8KDoZbu=)<cVrO)=2!dZ89uS3xj$Kg~a1kgJ
zMEo0tFoQTe;`l62Yu^?wNYwcq4%4VGm?0WNWaglqvvA!~Wii7nWIgX?hK`*^-rL*;
zV8gTS`arj6wrcX}?QThh_Kzi)L_~RmIvK@rAQywwvYTE&wkPPBh~!OG6K6t4<f~Ia
zoJGV)s3J0t_oXJG<WEXU4PK?2Lr0n*D0;A$ExXbReVA%?HKFnG74GGx-F3I-kzYD-
z>`1u$^h-;<Mx+r;Y2~jNA7PX5>t%J#Pd>>GWn=tlTW&!<oV6AMrvnSSd#M!%qS)<B
zzA#yaHzS<lu6t$8J=>{?!yVu3y-ykHA}e0XM~KIWg<>)roYIq`$rDWlxZvnJ>dlKz
z_llm^rk@<kZ4Y2?5tIpkyf$*PwY!E7y_;>t2G1}+znG(DxG&kq)3(a`ovE~5$6NIH
z+YNX7|Bg_an7?{XXc35S&g;#q4tC6M)s)VyEAR~!D>%v3KfRsw5p6SE=;`5zX+8JJ
z?v2TIr60AeRIs2`Zs!y|@w-`3f8lEC6mvIo7k2-V=>zGJS&f7v%Hx=Cz#f#69E+C-
zXSNK+m55bTYWFnx{reJIdLr%SMFTz>0cOAc*%p<s5haX(9x8$@e6(PGm52p4Z+f4D
zzy!fEE|#X5x>-s*Vq)L`^W)4?8isa2XlQ5+j0ZkUg<e<$H6?X2kTi-W0xxCAm;@V2
z!kBe1)&d49orhh49oAbJJF=U98ar<-^M2B%`a2K<Js(9T>f8^*-j*~hHATlD!%gjP
z+~Q=q!`1G&|0%~>0-!Gy?-w&Sirsk!H5pyNXWxlBM;q4m61=gmW5dE@_))Qo*@l^l
zo9l5<0G_YMHB<|&SZk>Y0ldpKd)u}{@y{2B>NA>=j4O8fo>$}?E=Q8b0mLB!;61bq
zF#6H7@k-p=F(Y*EhM0!b4aHr?$KvhlIw&FiTusTbFC-$}Z|J}e-t;3pw(Qg1`QaN2
zx=CbeFHh{7t*kYU=sAwcV|8Km@iu!jIprLU40A@#hEosSmW^{7u)&hi6`8N^J+Y4(
zXm?H7D&%(f9<@ec_hEV-%0FxC<2%lMKHo6{aQ(o4q8KXVUl*DnwLX!k&S8r`-9AoI
zqdBy#9Y>%^`FsGo@~braWgPhN*c`=;IOWS2BFDZBF!hq8<}3DESw})|n#o~QWn(yB
zTkC8OD2e~NC14ps(}(XWa7%x{*R3}CFx?_M+jpMnFJ3SyFH<WVk1dmD1h0sXyoC&l
z;aRDF;^MuJNcSCa^^%>`sXpiZM~NgDtHmmLXk3qZB63&Xb+Yc%yuLl`0(a}86{jeY
zJH@Tm<<4FDlCBmy1dl&1NKC*K%`+jR>3r}LksKmPCNBhO3LP~M&Bz-b5*va#^Ar#s
z4t{aJzfr*d)Zl!Ju)FOs$aCK62@c@!8xp*wF{6v{IlY$MhvJv*CjE`qojp6s(*>F(
z;B&P;#9s^@^l9s|Y)Ez09|rNX6(fIaeZYc5pXoe&zaAOO)`a0DX8n(z{Lys#f@vnT
zpjInbeyKlU?75a>4IV|<w+`u<Yl)}XW`~Y;PMV~phZPK19I5@zN{KJf*K7t@eC5ku
zh%q=eYD~Ji_`Y<9jz8MS(M)57z;};rX?*%RRBtZ-@y*CpG%Q<6N5AVUJ~NY=F}p~o
zZv$kyTN-;Sd`CRt$as8~oU{PfHDm~8oE4BHnOj?F_jR{pR###Pd=?kQTmGc{WcaaY
zcb^uxeojckmxps~u%6hsB4T<5{&=2O++(+c!MYpYM1(=&91Y<eKrV>07-S6{CbLdI
z61S&oa}d_U3{ePD|6^0l;IwUUkYWV(Sd_v(W<cE0qfmUqVGCl<f%%ph6;>xTtyKd)
zhhsc|lJ$EN4GsF)Qdb3<A?fYe7nqg?QFFf^JetNS^t&OAH@aEagBQJtY%~aCys_aJ
zHS9Y8=kq{Kj$fB(gTHws+eRn3haB5SRjYp4e)=R}69+H?)tu@`km`|QORtM%gyCY<
zzj@g5{-gGV|I(w2KD)8T93b)-QkKm0X-XePIbIZ#?SW`EMFs~?76WG+%gj@$fo7m0
z&?dY+$3Iim@9ylevWS6}Q>{`%ud|EQF8{ZRe2~{-cp{L@X#~^L(Y*nxLKK4lPiARj
z#0FL!5jK7w%VN#L%zORbmi3kNeOj|ea!J#|Y{dE1*0uJnnG#?a_zwD5!pmi>yW7Jr
zVxZ2G&2Yfv#B_5p4db!4)e^$`xkEsJH~E8t1X&=bTxx=V)BS4Ym@mUY2q~s?d*aVo
z{?dG9jfztecI7(EKaMS&TYkS1vtA;KAqmZ-yfSPj&bu5+i|`Ju>SLYu^zKq(>-YB~
z+9!DQfeJ~Ba=xvNU3dFc<^g#SwB+CIJe0};0yuSoVh)p<4we$#mXoe;ipGq6>ePYl
zPlq0h%T-N`LT^ZLDERCewksdfrb}kKt5(vK)z>C)XJi+lEuvq#Idi5Ce0m}De0Ayv
z4dvPSuQ<N2K27<K?rW6#ay{26rlz&e-R4-d>2{<|GmOXdd7eJJTUS13&f?&2(5aNE
z<taQ$3s*Uq9_nuE%Hs*W-NJE<?>$HIU58g*4=_V%{H@)uU6<{P2d`K(SCcuVyo~am
ze>4zmr`;-g_$(il%{<$#yq`YQHg>KZ<4=x~;wKubt_rs}7we4g{-sZB-n(RY#~ifq
zG^g-W7%%J>@U=uSSJ)F8BO#$g_j!ka#c}7UN_wpdGDKiID3Owzf0jysal;*8S-ZP(
zaPZ<WgU2PfS1SHUB;Ncq`x6i_pVvwPB*G<%s0V{x<)nGR41~pF+5TvQH!e7lGNt%#
zO#i%OuC5dE`*%vKVDX0@-{iD;XT730k>#{1^nNBJDhwryV3v}fWVTw#Hz9I+cFS_P
zt@Pd)@4IaESy8ZV;k6K;5j4wkKqDSCJone)Z#>=te0=Wn**%I`^poQvJK^=C7;@Cw
z6!e}sECI2|9n1F<I!bDM7d2ErqV-vB!MC<Qty)(W7!Tw+>v$G184CYFCEPQqeH2xb
z1fs)NmOHqGgf}kA-1f2?GNYq#<)VtPo(|9DvRL<Iw^9PzHV+;-{F3FY^*uEv?q04b
zeSX?#yQDyaxlj8(l|zGZ=eT_)T5G(H4JIC&^b9)m*LsoWmY$1NG|6wQ)|nJMC;x~`
z(adaKp3;7ky0+p5yp9BlB9(ZNHnTOQf7?net28?t`Pt_YolftX<9Lj)8P<tYqa`q{
zrJ6jrd2=511a;09AHjfTMa*Hbgn*&wh%71n)(EfIGg~-oWE^?D_PecL6^VIl>fRCm
zcisH=kVy=^=_mkMBRb-Op%+KB7l%maIxU(8nOQ@L3i6#5fzg2l^Xt;0cJVf-79HK%
zHo`qt(=h3J?D`D(NWVGHyWY*ETXBKaXeiqZ%k(XI#azeE63B3!>#^u^j~;}D!5yb`
z?Q2pztL?SY*kNL(UaRG2Br8Z?O8qQ%ZF<p-C=bQj0wte&&b4lika}hHJaR{TTyh`B
z$psYdBG4P{jBrogY`Sju;}lT$v2>8a`_{-*T<Qh9%|#W<Vx5?bJaIIuMHT=EZ`tLN
z{bU3ve;G=*%<&72=X);jL6bSV5{$;jjGN&La8?LvS411?tF<7z@RoZKZEazTo#5Z-
zzZdX?xU#GY&DD4*e-6vInfy_iEykO|pzopIsWTZ|A)D)1mehvEhvUenE+nP4icYR4
z!AU~S?mVCo1OfRVVnhF?CqLl1!m}~9VU?nzUo-4Pbv38u7eV`?pAmXc_MQKZqnl$l
z%<)lGu#orJNXkrUv&tlBzA(wn&9-HJ|IBYiPI+fJS>fd^YEjv{JJMbF1#!Ww_vAOb
zqql&St?_t$B^M@*=+XnhrK&cfjdz8F7D|yC{3vR6ydCZ9U4Hr`$Eam=I<~s>k;tpI
zoU_)SiAJXPcY2e#`!-HI0typN@utAzbzWz^3#7V14mpH2Jx(gq2M&`h^cUtN<0dxm
zK+Lj*2PG4ed#syg=WES+N>Z5>TUvxVfC%$C7U0_M0^2>skKc4XCBew^ei@Zi%JR$0
zmTMKO?fwg`P4xbUD|z*t7Dmc<h4FMzN$FKoSxbLkNpUAV7o0eDX{BBFmF<F$HtLVJ
z<!QjC$LNm;3B3AWiT6R5ciGsTHW3vXmrhd$^c%XuS{>HfM=?`7zQ12-2CLt~>mV?$
zCEm4ZloIRi1%$qRO)yJ@`|L=$K?(FPH7?`%P1AN;6dZ|k?xJFTglp3q9~d1oAjyZf
zpp*Gye=)DN^h5rRGfXUlKab`{lq@)Ow%YHOl$7*y)A!ws`z7<jlRn#hq+9d3oJU{L
z=u-%3b2ve;qz}w;+OX4ntz>-6Uz(e_-ze92VNb$$6D`3Xlhq|yJeaRDqV@AADP3Vn
zI1j_PeU_eqU{5rz#iLi?IjU}_t-M~nPb^6s+W19>J5rMgYr5>MXYs(a`exN=C}qDl
zu%-X*nZ^G6D!UDQGY{e;6STE-V`LOQK~F@JI8oN4ao?g-)X}wXFYf**p<7UBIWF_V
zJW(@fzp5Fw^I~nMxy*`f6X82>mFG^;dTiJL+DBYaf8h{i{-MpD-wS_8G@lV#S+B0u
zF$Mg+PL+SZnSg9OVf01Jdg`Znt=_JPi9BA)3Ba0(L53;o^tnn0d^XjDh`NsPqB??+
zWwM+6fW=t;SV0*PKz#vPUK$y)R&f8#$4zo)LATDXPa52ytAB7r&)K)1;^KG&io@~#
zbarP%Tl)4T=^wb^@Om9jqg{rc<d5yBR~)dF0VdG@hGa8Y{Taz?x7fH!H3cFAoi7OD
zUC)R$3E_<by<h)rEXd|+4NnIG=l*lmLm=cZ_;5AN!y&&uVa)G{02LLMYMFP1X8zRL
z5gv5y*cD?B-8lB4NScP={1UgcqtR~l_;IP&&aE}Y+1BBtnC#v)hpI){^vRN9r-*N{
z$|fbQ<xMHeW5vly%XuHjdKy<5?es%$yIK2wLVV+*v{tLyB>Q%w+3feh*QfZI@o#Um
zINhH6SyoL?E6I*!i7s_bEP!QnraB~d7K=H%ZgQqL_x447SJ=tDoZhmHnXdOgd%d|F
zj=rf}tlK^$*J_$yZ!%_?uE)A7q=#st{lTEG!6A^(Leelc|CQkC9_gQM&6eZ9;*yU)
z)!wIt3Oel81q5QXJ}Ov8XS}gk=KfhBXqZrZ<>M-R?kz0I@ZoOsZlB65^#cB)LN%0$
z4}W-kf0MWuDPpK9S4Nn;|Dvav>`~03k(%g-jc3kK`hc(C$Dc><#&eXw&O>~ZxJ@4F
z;6ZL`sBhTMZ|>B@ZX$p(cNP&%S9K`jI`vh>-)Nt&l(4zl@fXa)*Yyp6vfo;<7bZDg
zK8fRFJPt0llmF+ydYfC{`ot)A#Ik$<XBQZo(#ku}I`>%EE3Ar#3YW*8=m}LbxLkEM
z9A53Dh`JNEv;~eXU8K)SSKJ=Ncix73EG^$heQa${VsRIgJ(S`m5AWqu(sEN8HygCC
z&%Lc!_YO5#C{tD3t|r+omDdg&fO={Tn}s6B)!FPjWq)nE^{@Bdr-RTUYj9_WbBYp7
z#h~DLy35$ZpvQRuYa?;1jgPut=p+B&Ns7SbyUQ!>Vzr)8NmC4F0g5rJ+G|8B-w@}e
zD*?m2I{A~Fh}gz{QsJ7LyNmGl$CE;=!|cg6fsp+Bbz(W^Ndd2`UAr2P4`ez_S29F6
zfUSv>vm?OJ=08I_BTGa$W-eBCVkYAMjJ1iGw27ISn3!~lb&3Di5|00~gyk3K|26sR
ze<pc(8O1EDodJ%FV%CPv01<$(oe6+Z24HLEY);I=!p_f+2=_nVchAy|m$e*ZLI`>0
z5Bb9y)t9dMHxmV$1-;=ES=I|=L`_MU3~xyD@F``BDFn_se&>C#(RpKw`wsR24|>Bm
za4yMMr+*yNuy-tpTYa}v)=S-%C$sEt?`Jc477uPvh1D#Olp*35r;aZ6P1yr2kBK}Q
zKL3W^n{Ui5o>>t@iY2Z+=XjnOn*L;T9=z*$)+xUYrQsJok+w){^4AC6FjSZ{8|K<<
za79fKZdq;-Zph)+84r8((}caNfL>#Vr+Ji@-;B=JHea%C`cL^aA=pGR_x|?`qww_c
z6KKq9JI()BwK@O4s>RI8#Ln{HrDG;$;rzEN|GRpN-v1;C)%9nm>#1cQePX&6dioFs
z$!APB^z{Z+6e{UTD%qqB3JzJLL|X=gJTOfBbW|4u6%-*zNbpvW>uC6EZU(Y~{lE?v
zdodFo^X-!?uLX)(mZ^(h_wU<IT;GiXCz>;SlG^?tf^>mk!4>P8tR<a~D;oZgY9KaS
zknmP!G@RGU_}*A%KE8(43<AI<`5BOSulg=`ho!9c<<xadaH`z?kA(WA-PVVb_kIv1
zHqH}L;|}fB!i_dG18<gCd2>g$7XJGI5oEy%SPKR#j#m5(HkhH$^LRb)#->W@eC7f)
z!4?$3BaTcho|OkzdN7y`xOfAOD5wR+yN^@}9=sE*h1k{BStDyQK5S!K7q>rOd4gYD
z){a1}D=}fc+Al@_0y55%HZ|eWAS`q~4gDxIh|GLd9hII-RsTdpkO82>s;(_iL{JM}
z>a2Bunw!Df_magw+6?3+M9`&paDD$SGgUMtcivo4Mux|AXHj~hwA2Rxb()RksgoTx
zWzUgILAT`5b*~Wn2(rEMJMKB=Md{bYD+B{*1Ud9vUJ#4UTeVTTh%jHIb?+8?q&mhZ
zbM7f^-yr;6a<$NWmX?rzWKzFmDNU4h7_STAZPh8BDo9<Zl&uxTz-7G5DkoLj_e|ok
z^6KZ#y7WIz@3!7|ZPH!oHv#ZG`MZ(D?>7vnqiaz%Wwx0mipq30;o-gk8b)FyF4FhB
z`|XE<mlp{HTX;UoJ|DOtO5~$G%z!6EFqs%jbRf*2dALY)02Qzn1%58v0VN0<xjq~g
zB`gi*c3Ynq_6JH54pNZF;9h)iS%?X6h6yZ`BsO?2yihQT6IaaL4-8a{w1i0}L^0fg
z3D*GuX4_AQyNK9SkY-;)LU=NmIsAZl%L{jybutiP&>A}`4Lm)(jcNLwEGO;&^)Wsq
z4SFs7HU5AP5)uKP1gjp#IeaKjoGySDh^zqj8V*qK=LCgArTmR*#D(tl4V#257y4t6
zS|L&c6tL~rtCHr=iAX`J_M6KHL*{o?=-4*Ukb3}!3DSY$pZykC9^Pn}@l3ub_;Vjp
zA%qjUglrn%PO`saNH{5&h0KbI)k`<1m3H-sg!vnBpR^Ukfq7C$2h0ie0>vwjkU^vq
z=9oke;T|=$A8b%MZ~2{G2M!)JwU2ZVN+a6bU=>EXbH^X`97R?kj;dcYT-Lt+*~&b$
zINY=qVh${oR1azbMH{6DjFyeKIS_OXDkj{OiIltd@bd=)H0m6zY&e6tm@}(2c;hp?
zIW)Wxv`*+MEPc4H!J{vdx*+X-ih*z^+-0~rs}2$p(Cmh%72g4p6IDGB-T|W(wKjkQ
z2-}Lej#?XpG`NJYB1pNfb$aIuw=#eczGeS&pSu;#flue^6T;U2D7+_Zhh!Uu7UdVy
z2YA(kFM?mNYWS}{_HevC?!io)ZLrENqQ2@ns9X6uOb4`qDSN*C-24qMeA^(G@RkA3
zL7rWxLHZjnU|1c7tw<*t2eGZOJJtuN1JB3YJLsi<CJHb#Cj7Z~D*U;hKAdMy4ftLM
z{}t>`H1KYSwr|^t=zzS>><(fp{?JPh?qvwS&%b)^gZwm*9gf`3F&MVXFc@aYvrkqx
z;DwIF#0%p_Mi}UYLKNbKN)(j6?Y8Hz8u9|M8TLZH8TW#I`SgXD6UrAJhVunUDCiBv
z8$Q#o2jscIzZCW+d?F(ZfJW8#4@3Dc+U_$fie+6Cuu2d`Kt!?x0m%rHXGjVNND@hc
zfPx?(Ip-ufgOVkP1Ob(tlVl``WXT9f1_=@bNq1OluXFZx>YV%BAJ;!?O-*%Iebrt4
zc1?E`I=%rPEt}*n>G(@u*73p%%x@HH9-4abi_eLHQPK^MQR0wCIDC&?c-oy}(wl?)
zo8ca*uwS4yb1iYeM^C@>4eI7!Q?$+c8`owIF5P;*@X@k9zzTm8-4roJ&>S%>*{nEq
zV|`_Vt0vUx++(rBOOGWFuRY$XCDf^33Djw%57dDi(j5oyk<=`?Q`Y*GUv`}`Z(g5b
zXs&Dec3H8pdQyGL6&<`s=0vuca>?_#eqh#=`+DaFtJ`xYI?+3a)YqgBFNprE#lO|m
z8dz7)5m?ul6=+1W+jwC;WXiAm@>xag=M+!KxrIlYSp1JQiJ06t;T6=O^X0sxEPm4O
zH(DqeG24_2O41rut^tR!En*pgoCp&E7L!GuFX`c1@lJ29KC5J=KL0XJuSbPEpms)B
z#b<*s;T#|JoeKO{Y5IulhQ;C3e028!bB$N#?M{MsZ<v+kwTVmwkQUfozz~8JAMyC8
zGrYa;S_h?OH|#a1=HI1p<0P_t!_{LW<}3Gt>pJGrU`o93Hl>UYS<CryN4wiRMCuoz
zH%yz9j+#m&bgW;$TOjwu)?;^Tuhmk1w0H5HfZleGdMKUSGbbz8^9drS*~8?68Y2?Z
zmHlhQ|F!##%S6gzVr<t%=n(OdqT7`EgiL}FLFZ+?V(DqeXPA{`r7m6a83@HzK0?rY
z!zsa^pyb#Vni&z{L;eEdvB>j@L^PUee3JE?=4myJYedho^2*)XrmSiRfclIH^{oC?
z`*O|;gZVskzk|IS0*bK7h&T3(CwpOBb!IeAZ$BC7QI94SwPU0pi$2E}M{!#0=2JeC
z0=u8sFUbD&#Um{y>=%8$#;m<99a$vqk}XpbHyVB<Q}%FQvar7V&gLHXti(=IYJR-P
zUQhJY?iaFW$*s3M^xr>B@*+nXZT6@Skcz@tu?@{y4XwZ)!cl|oPoTVyk=vAV=b5Sm
zuwRgQ{nd7Ie3kb}I(a2@df|ILkyE>Qq|f+>utl`beh#2}=0NK1=f078dLR>?KXA7S
z@sUe9^r>>1G8WswJEP=vLblm`q{L{>LwGWBfRVXnRj$~<LzBlK`0+$axj_9c`q_Pn
z;HY;T3rX<glGk=FAJ1^8{MJ%Rnc0%Gdulf`qWPYai;s)9t-F84#<r;VQ$**r#FwJ%
zd<aPz5tCV>AK3NjWP&biS{Fikm0prhKS{k#S1S8%3Uh8`(72x-Us1|O`sGWcts$v-
z7HvV()KKpfd4Z|R)U}A7`pgSnFdi$z{)aH0j8~NIFqxA3q;r@Nar=ZR=eOJn=-W3F
zbOLth-}fzJSBd=4{ls39(DaTj>kR^RqQUlg?gj}uUz6@_2U|yb3Cg}PdMeFV54im2
zpEgbQ2;}%b>4J%L6~@V@$ZPl|J{Ebxe?Ea|wgV=V`+gM0lN($#HQoP#guT0F-+oYS
zG&=fsk{Q`McqYPy**t-RJ4C@twk%9qZAq!v9G{r-{MQSv#VN~=J(=m~=!+T^jM<y|
z1j#J3vs{~>IvZxFIU8zQvtT$5&Q!WSN#@A-dB)4n{``|N$Ck;5Jn!ExFIg1E*qaV-
zvn9Q@Yq`Mp?NPEB`Lp6`*RZJ(!MZP=a6dhFkt<#8c@OW$d245><x^+V5HH8$-;HKl
zc_A|@-4cyY)&JgDvB|)jgUwtsq4J=J5dL+;f{b@jb_C_-&?2@jEl{nw_*f$@cIH)@
z!UvRU*f2fW1aZ}F_xsC+1mUw!*TceJ!at&*vU$GJd+N=#kO%tx#w3-y?-K5Z_Zg;!
zIN_&1Pa1gZT(PZuQIE@xUe1~>)5V*v^vy9{RXWFg3C{lXe&02f=ix8DZkg*wh^;BT
zl}<UQ`F5>u!3Mqd!L_JJ_<O60qLO-=@yp`&oJY}76Kn5eZ0``irc<T;{Gmy5hr%xV
zXY^H*Is5b6Z^-FiQ*Nzfl${A1b-$n5`Tmy`iQO#Mx4Vrjf<=v}zVe#uBoq5$RBaa+
z6{Nn^WiK{Ym~7#b$q08BaE9scsS>+Vc5JUX+td25*^h?$ukGwSOIV@_o|x$G_g$JG
znefM(qzp3_x6}MJnUG*1ZSSL)fj61;)mVgbWu*&0W|`|n$#l?%obRRDA637XxVe+6
z`ZjGZwaJ==X6j{HJ?EK3!I(l!HN@89f)6tEvQ)=;D1Y5;d8BNerE2yv_@OdHh1>9M
z3;bR7i{N%;rJIxn%BhhT{Zu!U#kg-a|8)P{Do_`&&+yr^;ZR^cK;YJMXVm-w<Xgx-
z<7X{_Z(jQjpI0C{J|lt7wCVfL@3@q!u0{q|ztsy+HH!-t%1D#t&XjFod&e1bu~e1w
zt#{PL?CkoVob%-nriMe|`2~SnA^YT?$@C^8oXO^M<4*!BiHnU5J>2fP-EH^B%lN1l
z>(Z3GOoDoc8h<mXt8Q8F9tD4g3S1_U8>GLfY?+Py>l!K%y%{F>U7TG+T~-Q3>`D~*
zL4$WpSrF3+_rs*p`#9lAggUohqig*?yi1lc5muy4%~aYr)JSxA?)#;#EnPlQO1Kbl
zzt~E%C=1@%lxvVRa&~4yu5CTPzt3lt`SQ%iHNsr&uR{`gUn{vVZ`5G<D-aq5+1p_n
z1v(<XX%RniTP8_z9Pxfk)VoBr*E+w@(bpIfxI)N0p3>$ljc52kE4yNAdDlc&(|u0)
z-FUa3Uz#w<X!LL6px*Fy`HCQ}_Ri9PtJ`s~CV|&Yn*`)uuSn<QyI#o#T&?$KS*n&`
zlzl7;k#r3l=OL5Scf9oeXPtZdUis;3%0D+Ck%AUC9Lc{PUkVFMgd_@BdWRLf9OLh5
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%0D^*3BWiy9Yl(ANGncP>O
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
Z`|#o2({KIn_M6*(^1dkMaP`k8{~O^Ai9P@T

literal 0
HcmV?d00001

diff --git a/doc/lab4.pdf b/doc/lab4.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..0804369c8abccf9f2c5e356324958ed19ef02f52
GIT binary patch
literal 480594
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

literal 0
HcmV?d00001

diff --git a/doc/lab5.pdf b/doc/lab5.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..95f3e6fd768b4767bc03ada02283af3dc4b40939
GIT binary patch
literal 459658
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%0DDLlgDjso=DgeGH+!sJkT~Xo?>I<XIPY+6e-55Q
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
TI(;RHQpI0R7k;wv?U(;A>}bG*

literal 0
HcmV?d00001

diff --git a/doc/lab6.pdf b/doc/lab6.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..d462fb51f1c3e5becb4da814031ae2d7367a5110
GIT binary patch
literal 414183
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
H{O11;$@|)-

literal 0
HcmV?d00001

diff --git a/doc/lab7.pdf b/doc/lab7.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..106674af3df5255bc17256dfc3615d72ecaf21e5
GIT binary patch
literal 391195
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
LADEZ&?>+w)^h!5f

literal 0
HcmV?d00001

diff --git a/doc/lab8.pdf b/doc/lab8.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..611de79489fdd926a59c3b510e5bce15eaa40d4c
GIT binary patch
literal 669168
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%0DnF<5dd~}6-p96>9
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%0AAPISPNeh(th
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
RwrxfArfW&QO!hbZe*t>$Lec;L

literal 0
HcmV?d00001