2018-02-03 22:33:37 +08:00
INTRODUCTION
2012-10-07 12:05:06 +08:00
============
2012-09-19 14:41:55 +08:00
ucore labs was used as OS Experiments in OS Course Of Dept. of Computer Science & Technology, Tsinghua University.
2012-09-19 14:40:45 +08:00
2018-02-03 22:33:37 +08:00
MAINTAINERS
2018-02-03 22:41:42 +08:00
===========
2013-09-16 18:20:53 +08:00
2015-01-30 20:40:04 +08:00
OS course for Dept. CS. in Tsinghua Univ., and MOOC OS course
2013-09-16 18:20:53 +08:00
-----------------------------------
2018-02-03 22:33:37 +08:00
- Chen, Yu: http://soft.cs.tsinghua.edu.cn/~chen
2018-02-03 22:41:42 +08:00
- Yong, Xiang: xyong@tsinghua.edu.cn
2018-02-03 22:33:37 +08:00
- Mao, Junjie: eternal.n08@gmail.com
- Zhang, Wei: zhangwei15@mails.tsinghua.edu.cn
2013-09-16 18:20:53 +08:00
2012-08-26 23:42:26 +08:00
CONTENTS
2012-10-07 12:05:06 +08:00
========
2013-09-16 18:20:53 +08:00
labs info
2015-01-30 20:40:04 +08:00
----------------
2018-02-03 22:36:41 +08:00
```
2013-09-16 18:20:53 +08:00
lab0: preparing
2012-08-26 23:42:26 +08:00
lab1: boot/protect mode/stack/interrupt
lab2: physical memory management
lab3: virtual memory management
lab4: kernel thread management
lab5: user process management
lab6: scheduling
lab7: mutex/sync
lab8: filesystem
2018-02-03 22:36:41 +08:00
```
2012-08-26 23:42:26 +08:00
2014-08-22 08:47:07 +08:00
TESTED ENVIRONMENT
==================
2018-02-03 22:36:41 +08:00
```
UBUNTU 14.04+: GCC-4.8.2+ CLANG-3.5+
FEDORA 20+: GCC-4.8.2+
```
2014-08-22 08:47:07 +08:00
2012-08-26 23:42:26 +08:00
EXERCISE STEPS
2012-10-07 12:05:06 +08:00
==============
2018-02-03 22:36:41 +08:00
```
2012-10-07 12:10:01 +08:00
0 Get the newest os lab src codes/docs.(Insure you can connect to github in ubuntu running on VrtualBox)
2015-02-11 03:18:12 +08:00
0.1 If you try to get all codes
2012-10-07 12:05:06 +08:00
$rm -rf ucore_lab
2018-02-03 22:36:41 +08:00
$git clone git://github.com/chyyuu/ucore_os_lab.git
2012-10-07 12:05:06 +08:00
$cd ucore_lab
2015-02-11 03:18:12 +08:00
0.2 If you gloned ucore_lab and only try to get the updated codes
2018-02-03 22:36:41 +08:00
$cd ucore_os_lab
2012-10-07 12:05:06 +08:00
$git pull
2012-08-26 23:42:26 +08:00
1 $cd labX
2 read codes (specially the modified or added files)
3 add your code
4 compile your code
$make
5 check your code
$make qemu
OR
$make grade
2015-02-11 03:18:12 +08:00
6 debug your code
$make debug
7 handin your code
2012-08-26 23:42:26 +08:00
$make handin
2018-02-03 22:36:41 +08:00
```
2012-08-26 23:42:26 +08:00
2014-07-28 00:31:56 +08:00
OPTION
==============
Now, ucore suuport LLVM/Clang-3.5 +
in step4:
$ USELLVM=1 make
then you will use clang to compile ucore
2012-09-15 23:16:10 +08:00
GRADE/RANK
2012-10-07 12:05:06 +08:00
==========
2018-02-03 22:36:41 +08:00
```
2012-09-15 23:16:10 +08:00
Superman: Finish all OS labs in one month by yourself
Master: Finish all OS labs in two month by yourself
Veteran: Finish all OS labs in three month by yourself
Apprentice: Finish all OS labs in one semester with other guy's help
2018-02-03 22:36:41 +08:00
```
2012-09-15 23:16:10 +08:00
2012-08-26 23:42:26 +08:00
RESOURCE REPOSITORY
2012-10-07 12:05:06 +08:00
===================
2018-02-03 22:36:41 +08:00
```
2012-08-26 23:42:26 +08:00
Basic OS labs (for students who learn OS course)
2018-02-03 22:36:41 +08:00
The newest lab codes and docs is in https://github.com/chyyuu/ucore_os_lab
2012-08-26 23:42:26 +08:00
2012-09-15 23:16:10 +08:00
Advanced OS labs (for OS geeks or hackers or guys with Superman/Master Rank)
2012-08-26 23:42:26 +08:00
The newest lab codes and docs is in https://github.com/chyyuu/ucore_plus
2018-02-03 22:36:41 +08:00
```
2012-08-26 23:42:26 +08:00
UCORERS (Contributors)
2012-10-07 12:05:06 +08:00
======================
2018-02-03 22:36:41 +08:00
2012-08-26 23:42:26 +08:00
Junjie Mao, Yuheng Chen, Cong Liu, Yang Yang, Zhun Qu, Shengwei Ren, Wenlei Zhu, Cao Zhang, Tong Sen, Xu Chen,
2018-02-03 22:36:41 +08:00
Cang Nan, Yujian Fang, Wentao Han, Kaichen Zhang, Xiaolin Guo, Tianfan Xue, Gang Hu, Cao Liu, Yu Su,Xinhao Yuan, Wei Zhang, Kaixiang Lei...
2018-02-03 22:41:42 +08:00
OTHER INFO
==========
ucore is a teaching OS which is derived from xv6& jos in MIT, OS161 in Harvard and Linux.
ucore was developed and used in Department of Computer Science & Technology, Institute for Interdisciplinary Information Sciences, Tsinghua University.
The codes in the files that constitute xv6& jos are Copyright (2006-Current) Frans Kaashoek, Robert Morris, and Russ Cox and uses MIT License.
The codes in the files that constitute OS/161 are written by David A. Holland.
The codes in the files that constitute ucore are Copyright (2010-Current) Yu Chen, Naizheng Wang, Yong Xiang and uses GPL License.
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.