附录A:实验四的参考输出如下:

  1. make qemu
  2. (THU.CST) os is loading ...
  3. Special kernel symbols:
  4. entry 0xc010002c (phys)
  5. etext 0xc010d0f7 (phys)
  6. edata 0xc012dad0 (phys)
  7. end 0xc0130e78 (phys)
  8. Kernel executable memory footprint: 196KB
  9. memory management: default_pmm_manager
  10. e820map:
  11. memory: 0009f400, [00000000, 0009f3ff], type = 1.
  12. memory: 00000c00, [0009f400, 0009ffff], type = 2.
  13. memory: 00010000, [000f0000, 000fffff], type = 2.
  14. memory: 07efd000, [00100000, 07ffcfff], type = 1.
  15. memory: 00003000, [07ffd000, 07ffffff], type = 2.
  16. memory: 00040000, [fffc0000, ffffffff], type = 2.
  17. check_alloc_page() succeeded!
  18. check_pgdir() succeeded!
  19. check_boot_pgdir() succeeded!
  20. -------------------- BEGIN --------------------
  21. PDE(0e0) c0000000-f8000000 38000000 urw
  22. |-- PTE(38000) c0000000-f8000000 38000000 -rw
  23. PDE(001) fac00000-fb000000 00400000 -rw
  24. |-- PTE(000e0) faf00000-fafe0000 000e0000 urw
  25. |-- PTE(00001) fafeb000-fafec000 00001000 -rw
  26. --------------------- END ---------------------
  27. check_slab() succeeded!
  28. kmalloc_init() succeeded!
  29. check_vma_struct() succeeded!
  30. page fault at 0x00000100: K/W [no page found].
  31. check_pgfault() succeeded!
  32. check_vmm() succeeded.
  33. ide 0: 10000(sectors), 'QEMU HARDDISK'.
  34. ide 1: 262144(sectors), 'QEMU HARDDISK'.
  35. SWAP: manager = fifo swap manager
  36. BEGIN check_swap: count 1, total 31944
  37. mm->sm_priv c0130e64 in fifo_init_mm
  38. setup Page Table for vaddr 0X1000, so alloc a page
  39. setup Page Table vaddr 0~4MB OVER!
  40. set up init env for check_swap begin!
  41. page fault at 0x00001000: K/W [no page found].
  42. page fault at 0x00002000: K/W [no page found].
  43. page fault at 0x00003000: K/W [no page found].
  44. page fault at 0x00004000: K/W [no page found].
  45. set up init env for check_swap over!
  46. write Virt Page c in fifo_check_swap
  47. write Virt Page a in fifo_check_swap
  48. write Virt Page d in fifo_check_swap
  49. write Virt Page b in fifo_check_swap
  50. write Virt Page e in fifo_check_swap
  51. page fault at 0x00005000: K/W [no page found].
  52. swap_out: i 0, store page in vaddr 0x1000 to disk swap entry 2
  53. write Virt Page b in fifo_check_swap
  54. write Virt Page a in fifo_check_swap
  55. page fault at 0x00001000: K/W [no page found].
  56. swap_out: i 0, store page in vaddr 0x2000 to disk swap entry 3
  57. swap_in: load disk swap entry 2 with swap_page in vadr 0x1000
  58. write Virt Page b in fifo_check_swap
  59. page fault at 0x00002000: K/W [no page found].
  60. swap_out: i 0, store page in vaddr 0x3000 to disk swap entry 4
  61. swap_in: load disk swap entry 3 with swap_page in vadr 0x2000
  62. write Virt Page c in fifo_check_swap
  63. page fault at 0x00003000: K/W [no page found].
  64. swap_out: i 0, store page in vaddr 0x4000 to disk swap entry 5
  65. swap_in: load disk swap entry 4 with swap_page in vadr 0x3000
  66. write Virt Page d in fifo_check_swap
  67. page fault at 0x00004000: K/W [no page found].
  68. swap_out: i 0, store page in vaddr 0x5000 to disk swap entry 6
  69. swap_in: load disk swap entry 5 with swap_page in vadr 0x4000
  70. check_swap() succeeded!
  71. ++ setup timer interrupts
  72. this initproc, pid = 1, name = "init"
  73. To U: "Hello world!!".
  74. To U: "en.., Bye, Bye. :)"
  75. kernel panic at kern/process/proc.c:316:
  76. process exit!!.
  77. Welcome to the kernel debug monitor!!
  78. Type 'help' for a list of commands.
  79. K>