《操作系统》的实验代码。
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 
423A35C7 8b0cc775b5 实验6环境初始化 pirms 5 mēnešiem
.vscode 实验6环境初始化 删除 pirms 5 mēnešiem
labcodes update check_sync.c in lab8&lab8_result 删除 pirms 8 gadiem
labcodes_answer 实验6环境初始化 删除 pirms 5 mēnešiem
related_info update student name 王乃峥 删除 pirms 6 gadiem
.dir-locals.el Add a few configuration files for emacsers pirms 9 gadiem
.gitignore Add target run-nox-<program> pirms 9 gadiem
LICENSE update codes pirms 12 gadiem
README-chinese.md update student name 王乃峥 pirms 6 gadiem
README.md Update README.md pirms 6 gadiem
background.sh 第一次实验调试环境 pirms 8 mēnešiem
opensource_os_list.md add open source OSes info pirms 9 gadiem

README.md

INTRODUCTION

ucore os labs was used as OS Experiments in OS Course Of Dept. of Computer Science & Technology, Tsinghua University.

NEWS

MAINTAINERS

OS course for Dept. CS. in Tsinghua Univ., and MOOC OS course

CONTENTS

labs info

lab0: preparing
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

TESTED ENVIRONMENT

UBUNTU 14.04+: GCC-4.8.2+ CLANG-3.5+
FEDORA 20+: GCC-4.8.2+

EXERCISE STEPS

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
  $rm -rf ucore_lab
  $git clone git://github.com/chyyuu/ucore_os_lab.git
  $cd ucore_lab
0.2 If you gloned ucore_lab and only try to get the updated codes
  $cd ucore_os_lab
  $git pull
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 debug your code
  $make debug

7 handin your code
  $make handin

OPTION

Now, ucore suuport LLVM/Clang-3.5 + in step4: $ USELLVM=1 make then you will use clang to compile ucore

GRADE/RANK

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

RESOURCE REPOSITORY

Basic OS labs (for students who learn OS course)
The newest lab codes and docs is in https://github.com/chyyuu/ucore_os_lab

Advanced OS labs (for OS geeks or hackers or guys with Superman/Master Rank)
The newest lab codes and docs is in https://github.com/chyyuu/ucore_plus

UCORERS (Contributors)

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, Wei Zhang, Kaixiang Lei...

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.