Skip to content

Commit ab1eda2

Browse files
2 parents 45dda77 + 6ec2c8a commit ab1eda2

File tree

93 files changed

+7979
-599
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+7979
-599
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- uses: actions/checkout@v2
2323

2424
- name: Setup Source
25-
run: mkdir docs && cp os-lecs.md docs/index.md && cp -r lec[1-9]* docs && cp course-intro.md docs/course-intro.md && cp -r oslabs docs
25+
run: mkdir docs && cp os-lecs.md docs/index.md && cp -r lec[1-9]* docs && cp course-intro.md docs/course-intro.md && cp lecs-preview.md docs/lecs-preview.md && cp labs-intro.md docs/labs-intro.md && cp oslabs/bachelor-projects.md docs && cp -r oslabs docs
2626
# && mkdir build && cp -r lec[1-9]*/figs build/
2727

2828
- name: Marp Build (docs folder)

README.md

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
1-
# 操作系统课程,2023春季,清华大学计算机系
1+
# 操作系统课程,2024春季,清华大学计算机系
22

33
## 老师与助教
44

55
### 主讲教师:
66
- 向勇 陈渝 李国良 任炬
77
### 助教
8-
- 卢军 黄旺 饶淙元 田凯夫 闭浩扬
8+
- 饶淙元田凯夫闭浩扬、王拓为、苏明贤、黄旺、郝子胥
99
## 上课时间/地点
1010
- 星期一 上午第二大节 09:50-12:15 (1-16周)
1111
- 地点
12-
- 六教 6A200 任炬
13-
- 六教 6A201 陈渝
14-
- 六教 6A202 李国良
12+
六教6A209(任)六教6A211(李)六教6A213(陈)
1513

1614
## 课程资源
1715
### 课程大纲
@@ -44,38 +42,46 @@
4442

4543
在网络学堂的“课程文件”中的“往年考试题”栏中。
4644

47-
### rCore实验
45+
### rCore基本实验
4846

4947
#### 实验指导书
5048

5149
包含每次实验必做的编程和问答作业,以及相对rCore Tutorial Book-v3较为精简的指导
5250

53-
* [rCore-Tutorial-Guide文档源码](https://github.com/LearningOS/rCore-Tutorial-Guide-2022S)
54-
* [rCore-Tutorial-Guide文档在线阅读](https://learningos.github.io/rCore-Tutorial-Guide-2022S/)
55-
* [lab1(ch3) OS框架API在线文档](https://learningos.github.io/rCore-Tutorial-Code-2022S/ch3/os/index.html)
56-
* [lab2(ch4) OS框架API在线文档](https://learningos.github.io/rCore-Tutorial-Code-2022S/ch4/os/index.html)
51+
* [rCore-Tutorial-Guide文档源码](https://github.com/LearningOS/rCore-Tutorial-Guide-2024S)
52+
* [rCore-Tutorial-Guide文档在线阅读](https://learningos.github.io/rCore-Tutorial-Guide-2024S/)
53+
* [lab1(ch3) OS框架API在线文档](https://learningos.github.io/rCore-Tutorial-Code-2024S/ch3/os/index.html)
54+
* [lab2(ch4) OS框架API在线文档](https://learningos.github.io/rCore-Tutorial-Code-2024S/ch4/os/index.html)
5755
#### 代码框架
5856

59-
* [Github仓库](https://github.com/LearningOS/rCore-Tutorial-Code-2022S)
60-
* [git.tsinghua仓库](https://git.tsinghua.edu.cn/os-lab/public/rcore-tutorial-code-2022s)
57+
* [Github仓库](https://github.com/LearningOS/rCore-Tutorial-Code-2024S)
58+
* [git.tsinghua仓库](https://git.tsinghua.edu.cn/os-lab/public/rcore-tutorial-code-2024s)
6159
#### 用户态测例
6260

63-
* [Github仓库](https://github.com/LearningOS/rCore-Tutorial-Test-2022S)
64-
* [git.tsinghua仓库](https://git.tsinghua.edu.cn/os-lab/public/rcore-tutorial-test-2022s)
65-
### uCore实验
61+
* [Github仓库](https://github.com/LearningOS/rCore-Tutorial-Test-2024S)
62+
* [git.tsinghua仓库](https://git.tsinghua.edu.cn/os-lab/public/rcore-tutorial-test-2024s)
63+
### uCore基本实验
6664

6765
#### 实验指导书
6866

69-
* [Github仓库](https://github.com/LearningOS/uCore-Tutorial-Guide-2022S)
70-
* [uCore-Tutorial-Guide文档在线阅读](https://learningos.github.io/uCore-Tutorial-Guide-2022S/)
67+
* [Github仓库](https://github.com/LearningOS/uCore-Tutorial-Guide-2024S)
68+
* [uCore-Tutorial-Guide文档在线阅读](https://learningos.github.io/uCore-Tutorial-Guide-2024S/)
7169
#### 代码框架
7270

73-
* [Github仓库](https://github.com/LearningOS/uCore-Tutorial-Code-2022S)
74-
* [git.tsinghua仓库](https://git.tsinghua.edu.cn/os-lab/public/ucore-tutorial-code-2022s)
71+
* [Github仓库](https://github.com/LearningOS/uCore-Tutorial-Code-2024S)
72+
* [git.tsinghua仓库](https://git.tsinghua.edu.cn/os-lab/public/ucore-tutorial-code-2024s)
7573
#### 用户态测例
7674

77-
* [Github仓库](https://github.com/LearningOS/uCore-Tutorial-Test-2022S)
78-
* [git.tsinghua仓库](https://git.tsinghua.edu.cn/os-lab/public/ucore-tutorial-test-2022s)
75+
* [Github仓库](https://github.com/LearningOS/uCore-Tutorial-Test-2024S)
76+
* [git.tsinghua仓库](https://git.tsinghua.edu.cn/os-lab/public/ucore-tutorial-test-2024s)
77+
78+
### 大实验
79+
需要在规定时间内完成rCore或uCore基本实验,才能进行大实验。
80+
欢迎所有感兴趣的同学尝试下面的大实验内容。如有问题,可联系陈渝老师等。
81+
82+
- [2024大实验相关信息](./oslabs/biglab-relatedinfo.md)
83+
84+
7985
## 其它内容
8086

8187
1. [幻灯片模板](style-marp.md)
@@ -84,5 +90,6 @@
8490
- [ubuntu 用 markdown + vscode + marp 编写 slides 并输出为 pdf](https://www.cnblogs.com/luyi07/p/14736322.html)
8591

8692
```
87-
marp --pdf --html --allow-local-files lec[1-9]*/*.md
93+
marp --pdf --html --allow-local-files lec[1-9]*/*.md # for building PDF slides
94+
marp --pptx --html --allow-local-files lec[1-9]*/*.md # for building pptx slides
8895
```

course-intro.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ style: @import url('https://unpkg.com/tailwindcss@^2/dist/utilities.min.css');
1313
<!-- theme: gaia -->
1414
<!-- _class: lead -->
1515

16-
# 操作系统课程-2023春
16+
# 操作系统课程-2024春
1717
## 实践与实验介绍
1818

1919
<br>
@@ -22,7 +22,7 @@ style: @import url('https://unpkg.com/tailwindcss@^2/dist/utilities.min.css');
2222

2323
<br>
2424

25-
2023年春季
25+
2024年春季
2626

2727
---
2828
### 目标
@@ -138,8 +138,8 @@ const SYSCALL_CONDVAR_WAIT: usize = 1032;
138138
#### 课程实践内容 -- rCore Tutorial Book v3
139139
- [课程实践参考书](https://learningos.github.io/rCore-Tutorial-Book-v3/)[课程实践代码](https://github.com/rcore-os/rCore-Tutorial-v3)[课程实践代码的API文档](https://learningos.github.io/rCore-Tutorial-v3/)
140140

141-
#### 课程实验内容 -- rCore Tutorial Guide 2022 Spring
142-
- [实验文档](https://github.com/LearningOS/rCore-Tutorial-Guide-2022S/) , [API文档](https://github.com/LearningOS/rCore-Tutorial-Guide-2022S/) , [实验代码](https://github.com/LearningOS/rCore-Tutorial-Code-2022S)[测试用例](https://github.com/LearningOS/rCore-Tutorial-Test-2022S)
141+
#### 课程实验内容 -- rCore Tutorial Guide 2024 Spring
142+
- [实验文档](https://github.com/LearningOS/rCore-Tutorial-Guide-2024S/) , [API文档](https://github.com/LearningOS/rCore-Tutorial-Guide-2024S/) , [实验代码](https://github.com/LearningOS/rCore-Tutorial-Code-2024S)[测试用例](https://github.com/LearningOS/rCore-Tutorial-Test-2024S)
143143

144144
#### 课程参考文档 --教材/课件
145145
- [课程在线Slides](http://learningos.github.io/os-lectures/)[Operating Systems: Three Easy Pieces](https://pages.cs.wisc.edu/~remzi/OSTEP/)

labs-intro.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ backgroundColor: white
1111
<!-- theme: gaia -->
1212
<!-- _class: lead -->
1313

14-
# 操作系统课程-2002春
14+
# 操作系统课程-2024春
1515
## 实践与实验介绍
1616

1717
<br>
@@ -20,7 +20,7 @@ backgroundColor: white
2020

2121
<br>
2222

23-
2022年春季
23+
2024年春季
2424

2525
---
2626
### 目标
@@ -60,8 +60,8 @@ backgroundColor: white
6060
#### 课程实践内容 -- rCore Tutorial Book v3
6161
- [课程实践参考书](https://learningos.github.io/rCore-Tutorial-Book-v3/)[课程实践代码](https://github.com/rcore-os/rCore-Tutorial-v3)[课程实践代码的API文档](https://learningos.github.io/rCore-Tutorial-v3/)
6262

63-
#### 课程实验内容 -- rCore Tutorial Guide 2022 Spring
64-
- [实验文档](https://github.com/LearningOS/rCore-Tutorial-Guide-2022S/) , [API文档](https://github.com/LearningOS/rCore-Tutorial-Guide-2022S/) , [实验代码](https://github.com/LearningOS/rCore-Tutorial-Code-2022S)[测试用例](https://github.com/LearningOS/rCore-Tutorial-Test-2022S)
63+
#### 课程实验内容 -- rCore Tutorial Guide 2024 Spring
64+
- [实验文档](https://github.com/LearningOS/rCore-Tutorial-Guide-2024S/) , [API文档](https://github.com/LearningOS/rCore-Tutorial-Guide-2024S/) , [实验代码](https://github.com/LearningOS/rCore-Tutorial-Code-2024S)[测试用例](https://github.com/LearningOS/rCore-Tutorial-Test-2024S)
6565

6666
#### 课程参考文档 --教材/课件
6767
- [课程在线Slides](http://learningos.github.io/os-lectures/)[Operating Systems: Three Easy Pieces](https://pages.cs.wisc.edu/~remzi/OSTEP/)

lec1/p1-intro.md

Lines changed: 28 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ backgroundColor: white
2121

2222
<br>
2323

24-
2024年春季
24+
2024年秋季
2525

26-
[课程幻灯片列表](https://www.yuque.com/xyong-9fuoz/qczol5/ap9sac2dk7qq7bqy)
26+
[课程幻灯片列表](https://www.yuque.com/xyong-9fuoz/qczol5/oqo14u60786offgg)
2727

2828
---
2929

@@ -33,17 +33,18 @@ backgroundColor: white
3333
- 向勇 陈渝 李国良 任炬
3434

3535
### 助教
36-
- 饶淙元、田凯夫、赵方亮、刘晓义、陈张萌
36+
- 赵方亮、朱懿、郑友捷
3737

3838
---
3939

4040
## 上课信息
4141

4242
### 上课时间地点
43-
- 星期一 第3大节 下午13:30-15:05 (1-12周)
44-
- 星期四 第2大节 上午09:50-11:25 (1-12周)
43+
- 时间
44+
- 周一下午第4节(15:20-16:55) (1-12周)
45+
- 周四上午第2节(09:50-12:15) (1-12周)
4546
- 地点
46-
- 建华楼A109
47+
- 六教6A209
4748

4849
----
4950

@@ -71,7 +72,7 @@ backgroundColor: white
7172
---
7273

7374
#### 课程参考
74-
- [课程幻灯片](https://www.yuque.com/xyong-9fuoz/qczol5/ap9sac2dk7qq7bqy)
75+
- [课程幻灯片](https://www.yuque.com/xyong-9fuoz/qczol5/oqo14u60786offgg)
7576
- 参考书
7677
- [Operating Systems: Three Easy Pieces](https://pages.cs.wisc.edu/~remzi/OSTEP/)
7778
- [深入了解计算机系统](https://hansimov.gitbook.io/csapp/)
@@ -88,20 +89,20 @@ backgroundColor: white
8889

8990
#### uCore Tutorial
9091

91-
- [实验代码](https://github.com/LearningOS/uCore-Tutorial-Code-2023A/)
92-
- [实验文档](https://learningos.github.io/uCore-Tutorial-Guide-2023A/)
93-
- [测试用例](https://github.com/LearningOS/uCore-Tutorial-Test-2023A)
92+
- [实验代码](https://github.com/LearningOS/uCore-Tutorial-Code-2024A/)
93+
- [实验文档](https://learningos.github.io/uCore-Tutorial-Guide-2024A/)
94+
- [测试用例](https://github.com/LearningOS/uCore-Tutorial-Test-2024A/)
9495

9596
---
9697

9798
### 实验指导
9899

99100
* rCore Tutorial
100-
- [实验文档](https://learningos.github.io/rCore-Tutorial-Guide-2023A/)
101-
- [API文档](https://github.com/LearningOS/rCore-Tutorial-Guide-2023A/#os-api-docs-of-rcore-tutorial-code-2022a)
102-
- [实验代码](https://github.com/LearningOS/rCore-Tutorial-Code-2023A)
103-
- [测试用例](https://github.com/LearningOS/rCore-Tutorial-Test-2023A)
104-
* [uCore和rCore实验帮助](https://www.yuque.com/xyong-9fuoz/qczol5/lt5qafszpz62hob1?singleDoc)
101+
- [实验文档](https://learningos.github.io/rCore-Tutorial-Guide-2024A/)
102+
- [API文档](https://github.com/LearningOS/rCore-Tutorial-Guide-2024A/#os-api-docs-of-rcore-tutorial-code-2022a)
103+
- [实验代码](https://github.com/LearningOS/rCore-Tutorial-Code-2024A)
104+
- [测试用例](https://github.com/LearningOS/rCore-Tutorial-Test-2024A)
105+
* [uCore和rCore实验帮助](https://www.yuque.com/xyong-9fuoz/qczol5/ztzg6v1h3v2g4zcx)
105106
- 讲解视频
106107
- 部分内容将逐步更新
107108

@@ -128,14 +129,15 @@ backgroundColor: white
128129
## 作业与实验
129130

130131
* **平时作业**
131-
- 课后练习:包括问答题和编程题目
132+
- 课后练习:包括问答题和编程题目,要求在deadline前提交
132133

133134
* **基础实验**
134135
- (必做):面向 RISC-V CPU 用 Rust/C 设计实现操作系统的功能
135136
- (选做):难度和工作量比必做题目大的其它题目
136-
137+
137138
* **课程设计(大实验)**
138139
- 用组件来组合操作系统内核
140+
- 参加全国大学生OS比赛
139141

140142

141143
---
@@ -164,33 +166,26 @@ backgroundColor: white
164166
- GUI、驱动、文件系统、网络
165167
* 往届同学的[课程设计成果](https://shimo.im/docs/QTPRT8h8jyGQCqkJ)
166168

167-
---
169+
---
168170

169171
## 成绩评定
170172

171173
### 选择1:(总分不超过100)
172-
- 实验一~五必做题目: ??% ;期中考试 ??% ; 期末考试 ??%
173-
- 加分:
174-
- 实验可选题目(可只做一题):加0~7分,总分不超过100分
175-
- 平时作业(可只完成30%):加0~5分,总分不超过100分
174+
- 实验一~五必做题目: 40% ;期中考试 20% ; 期末考试 40%
175+
- 平时作业加分:每做一次平时作业加0.5分,最高加5分,且课程总评成绩总分不超过100分
176176

177177
---
178178

179179
### 选择2:
180-
- 四周内完成实验一~五(2023秋季实验):??%
181-
- 课程设计(即大实验):??%
180+
- 四周内完成实验一~五(2023秋季实验):40%
181+
- 课程设计(即大实验):60%
182182

183183
**注:选择大实验的同学如果后续退出课程设计,需参加考试。**
184184

185-
---
185+
---
186186

187187
## 调查问卷
188188

189-
[2023年秋季学期操作系统课选课问卷](http://oscourse2019.mikecrm.com/XnNwXY0)(访问密码:CsXs2hK7gV)
190-
191-
- 为什么要学这门课?
192-
- 你打算如何来学这门课?
193-
- 对自己的课程学习要求是什么?
194-
- 你愿意如实报告是否独立完成实验任务?
195-
- 你希望在操作系统课上学到什么知识和什么能力?
196-
- 以前的学习情况?
189+
[2024年秋季学期操作系统课选课问卷](http://oscourse2019.mikecrm.com/3xyV182)
190+
访问密码:2i6+CYo3B
191+
请大家在第一节课后尽快填写问卷,以便我们更好地上好课。

lec1/p2-whatisos.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ backgroundColor: white
2222
<br>
2323
<br>
2424

25-
2023年秋季
25+
2024年秋季
2626

2727
---
2828

@@ -109,7 +109,8 @@ backgroundColor: white
109109
## 为什么要学习这门课程
110110

111111
- 可以了解计算机机壳后面的软硬件运行原理
112-
- 可以学习软硬件基础架构
112+
- 可以学习软硬件基础架构和原理
113+
- 深入了解程序运行的机理
113114
- 可以发现和修复难对付的bug
114115

115116
<!-- 如果你花费大量时间来开发,维护并调试应用程序,你最终还是要知道大量操作系统的知识 -->

lec1/p3-oshistory.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ backgroundColor: white
2424
<br>
2525
<br>
2626

27-
2023年秋季
27+
2024年秋季
2828

2929
---
3030

@@ -101,7 +101,7 @@ backgroundColor: white
101101
![](./figs/multics-intro.png)
102102

103103
---
104-
## 开放的UNIX
104+
## 开放的UNIX(Ken Thompson 与 Dennis Ritchie)
105105

106106
![bg 50%](./figs/unix-family.png)
107107

@@ -171,7 +171,10 @@ AIoT 系统 (2000- )
171171

172172
![bg right:40% 100%](./figs/history-aiot.png)
173173

174+
175+
<!--
174176
---
175177
## Fuchsia操作系统
176178
177179
![bg 75%](./figs/fuchsia-os-intro.png)
180+
-->

lec1/p4-osarchitecture.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ backgroundColor: white
2424
<br>
2525
<br>
2626

27-
2023年秋季
27+
2024年秋季
2828

2929
---
3030
## 简单结构
@@ -37,14 +37,15 @@ MS-DOS:应用和OS混在一起 (1981–1994)
3737

3838

3939
---
40-
## 单体分层结构
41-
将单体操作系统 (Monolithic OS) 划分为**多层** (levels)
40+
## 宏内核结构
41+
42+
宏内核结构操作系统(Monolithic OS) 划分为**多层** (levels)
4243
- 每层建立在低层之上
4344
- 最底层 (layer 0), 是硬件驱动
4445
- 最高层 (layer N) 是用户界面
4546
- 每一层仅使用更低一层的功能和服务
4647

47-
![bg right 100%](./figs/multi-level-os-arch.png)
48+
![bg right:50% 100%](./figs/multi-level-os-arch.png)
4849

4950

5051
---

lec1/p5-tryunix.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ backgroundColor: white
2323
<br>
2424
<br>
2525

26-
2023年秋季
26+
2024年秋季
2727

2828
---
2929
## UNIX/Linux?

0 commit comments

Comments
 (0)