《操作系统》的实验代码。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 lines
3.4 KiB

6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
9 years ago
6 years ago
9 years ago
6 years ago
6 years ago
9 years ago
6 years ago
9 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
6 years ago
9 years ago
6 years ago
9 years ago
6 years ago
  1. INTRODUCTION
  2. ============
  3. ucore os labs was used as OS Experiments in OS Course Of Dept. of Computer Science & Technology, Tsinghua University.
  4. NEWS
  5. ====
  6. - 2018.02.03:ucore os labs were ported on RISC-V CPU(privileged arch spec 1.10). You can access [repo's riscv32-priv-1.10 branch](https://github.com/chyyuu/ucore_os_lab/tree/riscv32-priv-1.10)
  7. MAINTAINERS
  8. ===========
  9. OS course for Dept. CS. in Tsinghua Univ., and MOOC OS course
  10. -----------------------------------
  11. - Chen, Yu: yuchen@tsinghua.edu.cn http://soft.cs.tsinghua.edu.cn/~chen
  12. - Yong, Xiang: xyong@tsinghua.edu.cn
  13. - Mao, Junjie: eternal.n08@gmail.com
  14. - Zhang, Wei: zhangwei15@mails.tsinghua.edu.cn
  15. CONTENTS
  16. ========
  17. labs info
  18. ----------------
  19. ```
  20. lab0: preparing
  21. lab1: boot/protect mode/stack/interrupt
  22. lab2: physical memory management
  23. lab3: virtual memory management
  24. lab4: kernel thread management
  25. lab5: user process management
  26. lab6: scheduling
  27. lab7: mutex/sync
  28. lab8: filesystem
  29. ```
  30. TESTED ENVIRONMENT
  31. ==================
  32. ```
  33. UBUNTU 14.04+: GCC-4.8.2+ CLANG-3.5+
  34. FEDORA 20+: GCC-4.8.2+
  35. ```
  36. EXERCISE STEPS
  37. ==============
  38. ```
  39. 0 Get the newest os lab src codes/docs.(Insure you can connect to github in ubuntu running on VrtualBox)
  40. 0.1 If you try to get all codes
  41. $rm -rf ucore_lab
  42. $git clone git://github.com/chyyuu/ucore_os_lab.git
  43. $cd ucore_lab
  44. 0.2 If you gloned ucore_lab and only try to get the updated codes
  45. $cd ucore_os_lab
  46. $git pull
  47. 1 $cd labX
  48. 2 read codes (specially the modified or added files)
  49. 3 add your code
  50. 4 compile your code
  51. $make
  52. 5 check your code
  53. $make qemu
  54. OR
  55. $make grade
  56. 6 debug your code
  57. $make debug
  58. 7 handin your code
  59. $make handin
  60. ```
  61. OPTION
  62. ==============
  63. Now, ucore suuport LLVM/Clang-3.5 +
  64. in step4:
  65. $ USELLVM=1 make
  66. then you will use clang to compile ucore
  67. GRADE/RANK
  68. ==========
  69. ```
  70. Superman: Finish all OS labs in one month by yourself
  71. Master: Finish all OS labs in two month by yourself
  72. Veteran: Finish all OS labs in three month by yourself
  73. Apprentice: Finish all OS labs in one semester with other guy's help
  74. ```
  75. RESOURCE REPOSITORY
  76. ===================
  77. ```
  78. Basic OS labs (for students who learn OS course)
  79. The newest lab codes and docs is in https://github.com/chyyuu/ucore_os_lab
  80. Advanced OS labs (for OS geeks or hackers or guys with Superman/Master Rank)
  81. The newest lab codes and docs is in https://github.com/chyyuu/ucore_plus
  82. ```
  83. UCORERS (Contributors)
  84. ======================
  85. Junjie Mao, Yuheng Chen, Cong Liu, Yang Yang, Zhun Qu, Shengwei Ren, Wenlei Zhu, Cao Zhang, Tong Sen, Xu Chen,
  86. Cang Nan, Yujian Fang, Wentao Han, Kaichen Zhang, Xiaolin Guo, Tianfan Xue, Gang Hu, Cao Liu, Yu Su,Xinhao Yuan, Wei Zhang, Kaixiang Lei...
  87. OTHER INFO
  88. ==========
  89. ucore is a teaching OS which is derived from xv6&jos in MIT, OS161 in Harvard and Linux.
  90. ucore was developed and used in Department of Computer Science & Technology, Institute for Interdisciplinary Information Sciences, Tsinghua University.
  91. The codes in the files that constitute xv6&jos are Copyright (2006-Current) Frans Kaashoek, Robert Morris, and Russ Cox and uses MIT License.
  92. The codes in the files that constitute OS/161 are written by David A. Holland.
  93. The codes in the files that constitute ucore are Copyright (2010-Current) Yu Chen, Naizheng Wang, Yong Xiang and uses GPL License.
  94. The documents in the files that constitute ucore are Copyright (2010-Current) Yu Chen, Yong Xiang and uses Creative Commons Attribution/Share-Alike (CC-BY-SA) License.