2012-08-26 23:42:26 +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
2012-08-26 23:42:26 +08:00
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.
2012-09-17 15:25:07 +08:00
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.
2012-09-19 14:40:45 +08:00
2013-09-16 18:20:53 +08:00
PEOPLES
========
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
-----------------------------------
Lectures: Chen, Yu http://soft.cs.tsinghua.edu.cn/~chen
TA: Qi, Xiao qixiao0113@gmail.com
2013-09-16 18:23:56 +08:00
TA: Mao, Junjie eternal.n08@gmail.com
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
2015-01-30 20:40:04 +08:00
os course info
----------------
[os course summary materials](https://github.com/chyyuu/mooc_os)
2013-09-16 18:20:53 +08:00
labs info
2015-01-30 20:40:04 +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
2012-10-07 11:57:42 +08:00
WORK IN MS WINDOWS
2012-10-07 12:05:06 +08:00
==================
2012-10-07 11:58:10 +08:00
Working in Linux is encouraged. But If you like to work in MS Windows, we provide virtual machine environment (Runnint Ubuntu in VirtualBox) in
2012-10-07 11:57:42 +08:00
Windows to help you to finish the labs. If you don't want to install ubuntu and other softs to finish these labs in Windows, you can use
VirtualBox soft (https://www.virtualbox.org/) and a virtual disk image with all these softs. Below example is shown how to setup lab environment in Windows.
2012-09-30 21:55:12 +08:00
You can download this virtual disk image -- oslabs_for_student_2012.zip (576.2MB,) from http://pan.baidu.com/share/link?shareid=69868&uk=2585194235, which
is an VirtualBox disk image (contains ubuntu 12.04 and needed softs, and is zipped with zip and xz format), and can be unzipped
by haozip software (http://www.haozip.com).
After unzip oslabs_for_student_2012.zip, you will get
---
C:\vms\ubuntu-12.04.vbox.xz
C:\vms\ubuntu-12.04.vmdk.vmdk.xz
C:\vms\ubuntu-12.04.vmdk-flat.vmdk.xz
---
then you will continue unzip all these files, and get
---
C:\vms\ubuntu-12.04.vbox
C:\vms\ubuntu-12.04.vmdk.vmdk
C:\vms\ubuntu-12.04.vmdk-flat.vmdk
---
2012-09-30 22:01:59 +08:00
If you installed VirtualBox soft, then the last step is: double clik file "ubuntu-12.04.vbox" and run ubuntu 12.04 in VirtualBox.
In ubuntu 12.04 login Interface:
username: chy
password: <SPACE KEY>
After you login, you will see the directory ucore_lab in HOME directory.
2012-09-30 21:55:12 +08:00
2014-08-22 08:47:07 +08:00
TESTED ENVIRONMENT
==================
UBUNTU 14.04: GCC-4.8.2 CLANG-3.5
FEDORA 20: GCC-4.8.2
2012-08-26 23:42:26 +08:00
EXERCISE STEPS
2012-10-07 12:05:06 +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)
0.1 If you try to get all codes/docs
2012-10-07 12:05:06 +08:00
$rm -rf ucore_lab
2012-10-07 12:07:51 +08:00
$git clone git://github.com/chyyuu/ucore_lab.git
2012-10-07 12:05:06 +08:00
$cd ucore_lab
2012-10-07 12:10:01 +08:00
0.2 If you gloned ucore_lab and only try to get the updated codes/docs
2012-10-07 12:05:06 +08:00
$cd ucore_lab
$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
6 handin your code
$make handin
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
==========
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
2012-08-26 23:42:26 +08:00
RESOURCE REPOSITORY
2012-10-07 12:05:06 +08:00
===================
2012-08-26 23:42:26 +08:00
Basic OS labs (for students who learn OS course)
2012-09-19 14:40:45 +08:00
The newest lab codes and docs is in https://github.com/chyyuu/ucore_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
LEARNING DISSCUSS GROUPS
2012-10-07 12:05:06 +08:00
========================
2013-09-16 18:20:53 +08:00
2015-01-30 20:40:04 +08:00
os learning group based on QQ
-------------------------------
QQ id: 181873534
2013-09-16 18:20:53 +08:00
general discuss
--------------------------------
2012-08-26 23:42:26 +08:00
If you have any questions about ucore basic os labs,
you can subscribe to the Google Groups "os-course" group (http://groups.google.com/group/oscourse?hl=en.)
To post to this group, send email to oscourse@googlegroups.com.
To unsubscribe from this group, send email to oscourse+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/oscourse?hl=en.
DEVELOPMENT DISCUSS GROUPS
2012-10-07 12:05:06 +08:00
==========================
2012-08-26 23:42:26 +08:00
If you have any questions about ucore advanced os labs,
If you want to be a developer of ucore or pay attention to the development of ucore,
you can subscribe to the Google Groups "ucore_dev" group (http://groups.google.com/group/ucore_dev?hl=en.)
To post to this group, send email to ucore_dev@googlegroups.com.
To unsubscribe from this group, send email to ucore_dev+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/ucore_dev?hl=en.
UCORERS (Contributors)
2012-10-07 12:05:06 +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,
Cang Nan, Yujian Fang, Wentao Han, Kaichen Zhang, Xiaolin Guo, Tianfan Xue, Gang Hu, Cao Liu, Yu Su,Xinhao Yuan, ...