附录:执行 ”make run-matrix”的大致的显示输出

  1. (THU.CST) os is loading ...
  2. ……
  3. check_alloc_page() succeeded!
  4. ……
  5. check_swap() succeeded!
  6. ++ setup timer interrupts
  7. I am No.4 philosopher_condvar
  8. Iter 1, No.4 philosopher_condvar is thinking
  9. I am No.3 philosopher_condvar
  10. ……
  11. I am No.1 philosopher_sema
  12. Iter 1, No.1 philosopher_sema is thinking
  13. I am No.0 philosopher_sema
  14. Iter 1, No.0 philosopher_sema is thinking
  15. kernel_execve: pid = 2, name = matrix”.
  16. pid 14 is running (1000 times)!.
  17. pid 13 is running (1000 times)!.
  18. phi_test_condvar: state_condvar[4] will eating
  19. phi_test_condvar: signal self_cv[4]
  20. Iter 1, No.4 philosopher_condvar is eating
  21. phi_take_forks_condvar: 3 didnt get fork and will wait
  22. phi_test_condvar: state_condvar[2] will eating
  23. phi_test_condvar: signal self_cv[2]
  24. Iter 1, No.2 philosopher_condvar is eating
  25. phi_take_forks_condvar: 1 didnt get fork and will wait
  26. phi_take_forks_condvar: 0 didnt get fork and will wait
  27. pid 14 done!.
  28. pid 13 done!.
  29. Iter 1, No.4 philosopher_sema is eating
  30. Iter 1, No.2 philosopher_sema is eating
  31. ……
  32. pid 18 done!.
  33. pid 23 done!.
  34. pid 22 done!.
  35. pid 33 done!.
  36. pid 27 done!.
  37. pid 25 done!.
  38. pid 32 done!.
  39. pid 29 done!.
  40. pid 20 done!.
  41. matrix pass.
  42. all user-mode processes have quit.
  43. init check memory pass.
  44. kernel panic at kern/process/proc.c:426:
  45. initproc exit.
  46. Welcome to the kernel debug monitor!!
  47. Type 'help' for a list of commands.
  48. K> qemu: terminating on signal 2