Skip to content

Commit 31d7eb8

Browse files
2 parents a1300a5 + d182d57 commit 31d7eb8

File tree

7 files changed

+106
-115
lines changed

7 files changed

+106
-115
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 -r oslabs docs
2626
# && mkdir build && cp -r lec[1-9]*/figs build/
2727

2828
- name: Marp Build (docs folder)

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,5 +90,6 @@
9090
- [ubuntu 用 markdown + vscode + marp 编写 slides 并输出为 pdf](https://www.cnblogs.com/luyi07/p/14736322.html)
9191

9292
```
93-
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
9495
```

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/)

lec7/p3-realtime.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ backgroundColor: white
305305
---
306306

307307
#### 优先级继承(Priority Inheritance)
308-
- 占用资源的低优先级进程继**申请资源的高优先级进程的优先级**
308+
- 占用资源的低优先级进程继承**申请资源的高优先级进程的优先级**
309309
- 只在想占有资源的高优先级进程被阻塞时,才提高占有资源的低优先级进程的优先级。注:临界区:互斥访问共享资源的代码片段
310310
![w:600](figs/rt-pi-2.png)
311311

lecs-preview.md

Lines changed: 92 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -1,147 +1,137 @@
1-
### 第十三讲 课前准备建议
2-
(初步建议)
3-
阅读
4-
1. 《Operating Systems:Three Easy Pieces》第36、37章
5-
2. 阅读 Lec13 的slides 草稿
6-
3. 阅读 rCore Tutorial Book v3第9章
7-
4. 编译运行rCore Tutorial v3的ch9分支的代码,了解串口和块设备外设驱动的执行情况
8-
9-
### 第十二讲 课前准备建议
10-
(初步建议)
11-
阅读
12-
1. 深入理解计算机系统(ver.2 +)12.5-7节;《Operating Systems:Three Easy Pieces》第27章的27.3, 27.4节,第28章,第30章,第31章,第32章
13-
2. 阅读 Lec12 的slides 草稿
14-
3. 阅读 rCore Tutorial Book v3第8章的“锁机制”、“信号量机制”、“条件变量机制”、”并发中的问题“
15-
4. 编译运行rCore Tutorial v3的ch8分支的代码,了解多线程同步互斥的执行情况
16-
17-
### 第十一讲 课前准备建议
18-
(初步建议)
19-
阅读
20-
1. 深入理解计算机系统(ver.2 +)12.3-4节;《Operating Systems:Three Easy Pieces》第26章, 第27章的27.1, 27.2, 27.5节
21-
2. 阅读 Lec11 的slides 草稿
22-
3. 阅读 rCore Tutorial Book v3第8章的“引言”、“用户态的线程管理”、“内核态的线程管理”
23-
4. 编译运行rCore Tutorial v3的ch8分支的代码,了解用户态管理的线程和内核态管理的线程的执行情况
24-
25-
### 第十讲 课前准备建议
26-
(初步建议)
27-
阅读
28-
1. 深入理解计算机系统(ver.2 +)10.1-3节,10.7-8节;《Operating Systems:Three Easy Pieces》5.4节
29-
1. 阅读 Lec10 的slides 草稿
30-
2. 阅读 rCore Tutorial Book v3第7章
31-
3. 编译运行rCore Tutorial v3的ch7分支的代码,了解内核中pipe和signal的执行情况
32-
33-
### 第九讲 课前准备建议
34-
(初步建议)
35-
阅读
36-
1. 《Operating Systems:Three Easy Pieces》第39、40、42章
37-
2. 阅读 Lec9 的slides 草稿
38-
3. 阅读 rCore Tutorial Book v3第6章
39-
4. 编译运行rCore Tutorial v3的ch9-log分支的代码,了解内核中文件系统动态管理情况
1+
---
2+
marp: true
3+
theme: default
4+
paginate: true
5+
_paginate: false
6+
header: ''
7+
footer: ''
8+
backgroundColor: white
409

41-
### 第八讲 课前准备建议
42-
(初步建议)
43-
阅读
44-
1. 《Operating Systems:Three Easy Pieces》第10章 多处理器调度(高级)
45-
2. 阅读 Lec8 的slides 草稿
10+
<!-- theme: gaia -->
11+
<!-- _class: lead -->
4612

47-
### lec7 (4月2日)课前准备建议
48-
(初步建议)
13+
---
14+
### lec1 课前准备建议
4915

50-
阅读
51-
1. 《Operating Systems:Three Easy Pieces》第4~9章
52-
2. 《Computer Systems A Programmer’s Perspective》的第 八 章:“异常控制流” 中与进程相关的8.2/8.4/8.7节
53-
3. 阅读 Lec7 的slides 草稿
54-
4. 阅读 rCore Tutorial Book v3第5章
55-
5. 编译运行rCore Tutorial v3的ch9-log分支的代码,了解内核中进程动态管理情况
16+
1. 配置好OS实验环境
17+
2. 阅读 《深入理解计算系统》”即CSAPP“的第一章“计算机系统漫游”
18+
3. 阅读 https://rcore-os.github.io/rCore-Tutorial-Book-v3/ 第零章
19+
4. 编译运行并分析 [https://github.com/LearningOS/rCore-Tutorial-v3 ](https://github.com/chyyuu/xv6-lab-2021)中的应用程序
20+
5. 阅读 https://learningos.github.io/os-lectures/#1 (第一次课的slides 草稿)
5621

57-
### lec6 (3月28日)课前准备建议
22+
---
23+
### lec2 课前准备建议
24+
1. 配置好OS实验环境
25+
2. 阅读放在课程文件栏--参考资料 RISC-V-Reader-Chinese-v2p1-中文 书的第十章 RV32/64 特权架构
26+
3. 阅读 《深入理解计算系统》”即CSAPP“的第二章“信息的表示和处理”、第三章“程序的机器级表示”、第七章“链接”
27+
4. 阅读 https://rcore-os.github.io/rCore-Tutorial-Book-v3/ 第一章
28+
5. 编译运行并分析 https://github.com/LearningOS/rCore-Tutorial-v3 中 Branch ch1 的libos
29+
6. 阅读 https://learningos.github.io/os-lectures/#2 (第二次课的slides 草稿)
5830

59-
(初步建议)
31+
---
6032

61-
阅读
62-
1. 《Operating Systems:Three Easy Pieces》第21~22章
63-
2. 《Computer Systems A Programmer’s Perspective》的第六章“存储器层次结构”、第七章“链接”、第九章"Virtual Memory"
64-
3. 阅读 Lec6 的slides 草稿
65-
4. 阅读 rCore Tutorial Book 第4章
33+
### lec3 课前准备建议
34+
1. 配置好OS实验环境
35+
2. 阅读放在课程文件栏--参考资料 RISC-V-Reader-Chinese-v2p1-中文 书的第十章 RV32/64 特权架构
36+
3. 阅读 《深入理解计算系统》”即CSAPP“的第四章“处理器体系结构”、第八章“异常控制流”4. 阅读 https://rcore-os.github.io/rCore-Tutorial-Book-v3/ 第二章
37+
5. 编译运行并分析 https://github.com/LearningOS/rCore-Tutorial-v3 中 Branch ch2 的 batch os
38+
6. 阅读 https://learningos.github.io/os-lectures/#3 (第三次课的slides 草稿)
6639

40+
---
6741

68-
### lec5 (3月21日)课前准备建议
42+
### lec4 课前准备建议
6943

70-
(初步建议)
44+
1. 分析并运行 在用户态打印”hello world”的小例子 和 在用户态执行特权指令的小例子
45+
2. 阅读 Lec3 中没讲完的部分slids
46+
3. 阅读 Lec4 的slides 草稿
47+
4. 阅读 《深入理解计算系统》”即CSAPP“的第五章“优化程序性能”
48+
5. 阅读 https://rcore-os.github.io/rCore-Tutorial-Book-v3/ 第三章
49+
6. 编译运行并分析 https://github.com/LearningOS/rCore-Tutorial-v3 中 Branch ch3-coop 的multiprog-os 和 ch3 的 timesharing-os
50+
51+
---
52+
### lec5 课前准备建议
7153

72-
阅读
7354
1. 《Operating Systems:Three Easy Pieces》第13~20章
7455
2. 《Computer Systems A Programmer’s Perspective》的第六章“存储器层次结构”、第七章“链接”、第九章"Virtual Memory"
7556
3. 《RISC-V-Reader》第十章 10.6节 基于页面的虚拟内存
7657
4. 阅读 Lec5 的slides 草稿
7758
5. 阅读 rCore Tutorial Book 第4章
7859
6. 编译运行并分析 https://github.com/LearningOS/rCore-Tutorial-v3 中 Branch ch4
7960

61+
---
62+
### lec6 课前准备建议
63+
1. 《Operating Systems:Three Easy Pieces》第21~22章
64+
2. 《Computer Systems A Programmer’s Perspective》的第六章“存储器层次结构”、第七章“链接”、第九章"Virtual Memory"
65+
3. 阅读 Lec6 的slides 草稿
66+
4. 阅读 rCore Tutorial Book 第4章
8067

81-
### lec4 (3月14日)课前准备建议
82-
83-
(初步建议)
84-
85-
1. 分析并运行 在用户态打印”hello world”的小例子 和 在用户态执行特权指令的小例子
86-
87-
2. 阅读 Lec3 中没讲完的部分slids
88-
89-
3. 阅读 Lec4 的slides 草稿
90-
91-
4. 阅读 《深入理解计算系统》”即CSAPP“的第五章“优化程序性能”
9268

93-
5. 阅读 https://rcore-os.github.io/rCore-Tutorial-Book-v3/ 第三章
69+
---
70+
### lec7 课前准备建议
71+
1. 《Operating Systems:Three Easy Pieces》第4~9章
72+
2. 《Computer Systems A Programmer’s Perspective》的第 八 章:“异常控制流” 中与进程相关的8.2/8.4/8.7节
73+
3. 阅读 Lec7 的slides 草稿
74+
4. 阅读 rCore Tutorial Book v3第5章
75+
5. 编译运行rCore Tutorial v3的ch9-log分支的代码,了解内核中进程动态管理情况
9476

95-
6. 编译运行并分析 https://github.com/LearningOS/rCore-Tutorial-v3 中 Branch ch3-coop 的multiprog-os 和 ch3 的 timesharing-os
96-
97-
### lec3 (3月7日)课前准备建议
77+
---
78+
### lec8 课前准备建议
79+
1. 《Operating Systems:Three Easy Pieces》第10章 多处理器调度(高级)
80+
2. 阅读 Lec8 的slides 草稿
9881

99-
(初步建议)
82+
---
83+
### lec9 课前准备建议
84+
1. 《Operating Systems:Three Easy Pieces》第39、40、42章
85+
2. 阅读 Lec9 的slides 草稿
86+
3. 阅读 rCore Tutorial Book v3第6章
87+
4. 编译运行rCore Tutorial v3的ch9-log分支的代码,了解内核中文件系统动态管理情况
10088

101-
1. 配置好OS实验环境
89+
---
90+
### lec10 课前准备建议
91+
1. 深入理解计算机系统(ver.2 +)10.1-3节,10.7-8节;《Operating Systems:Three Easy Pieces》5.4节
92+
2. 阅读 Lec10 的slides 草稿
93+
3. 阅读 rCore Tutorial Book v3第7章
94+
4. 编译运行rCore Tutorial v3的ch7分支的代码,了解内核中pipe和signal的执行情况
10295

103-
2. 阅读放在课程文件栏--参考资料 RISC-V-Reader-Chinese-v2p1-中文 书的第十章 RV32/64 特权架构
96+
---
97+
### lec11 课前准备建议
98+
1. 深入理解计算机系统(ver.2 +)12.3-4节;《Operating Systems:Three Easy Pieces》第26章, 第27章的27.1, 27.2, 27.5节
99+
2. 阅读 Lec11 的slides 草稿
100+
3. 阅读 rCore Tutorial Book v3第8章的“引言”、“用户态的线程管理”、“内核态的线程管理”
101+
4. 编译运行rCore Tutorial v3的ch8分支的代码,了解用户态管理的线程和内核态管理的线程的执行情况
104102

105-
3. 阅读 《深入理解计算系统》”即CSAPP“的第四章“处理器体系结构”、第八章“异常控制流”
103+
---
104+
### lec12 课前准备建议
105+
阅读
106+
1. 深入理解计算机系统(ver.2 +)12.5-7节;《Operating Systems:Three Easy Pieces》第27章的27.3, 27.4节,第28章,第30章,第31章,第32章
107+
2. 阅读 Lec12 的slides 草稿
108+
3. 阅读 rCore Tutorial Book v3第8章的“锁机制”、“信号量机制”、“条件变量机制”、”并发中的问题“
109+
4. 编译运行rCore Tutorial v3的ch8分支的代码,了解多线程同步互斥的执行情况
106110

107-
(进一步建议)
111+
---
112+
### lec13 课前准备建议
113+
阅读
114+
1. 《Operating Systems:Three Easy Pieces》第36、37章
115+
2. 阅读 Lec13 的slides 草稿
116+
3. 阅读 rCore Tutorial Book v3第9章
117+
4. 编译运行rCore Tutorial v3的ch9分支的代码,了解串口和块设备外设驱动的执行情况
108118

109-
4. 阅读 https://rcore-os.github.io/rCore-Tutorial-Book-v3/ 第二章
110119

111-
5. 编译运行并分析 https://github.com/LearningOS/rCore-Tutorial-v3 中 Branch ch2 的 batch os
112120

113-
6. 阅读 https://learningos.github.io/os-lectures/#3 (第三次课的slides 草稿)
114121

115-
### lec2 (2月28日)课前准备建议
116122

117-
(初步建议)
118123

119-
1. 配置好OS实验环境
120124

121-
2. 阅读放在课程文件栏--参考资料 RISC-V-Reader-Chinese-v2p1-中文 书的第十章 RV32/64 特权架构
122125

123-
3. 阅读 《深入理解计算系统》”即CSAPP“的第二章“信息的表示和处理”、第三章“程序的机器级表示”、第七章“链接”
124126

125-
(进一步建议)
126127

127-
1. 阅读 https://rcore-os.github.io/rCore-Tutorial-Book-v3/ 第一章
128128

129-
2. 编译运行并分析 https://github.com/LearningOS/rCore-Tutorial-v3 中 Branch ch1 的libos
130129

131-
3. 阅读 https://learningos.github.io/os-lectures/#2 (第二次课的slides 草稿)
132130

133-
### lec1 (2月21日)课前准备建议
134131

135-
(初步建议)
136132

137-
1. 配置好OS实验环境
138133

139-
2. 阅读 《深入理解计算系统》”即CSAPP“的第一章“计算机系统漫游”
140134

141-
(进一步建议)
142135

143-
3. 阅读 https://rcore-os.github.io/rCore-Tutorial-Book-v3/ 第零章
144136

145-
4. 编译运行并分析 [https://github.com/LearningOS/rCore-Tutorial-v3 ](https://github.com/chyyuu/xv6-lab-2021)中的应用程序
146137

147-
5. 阅读 https://learningos.github.io/os-lectures/#1 (第一次课的slides 草稿)

os-lecs.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ backgroundColor: white
2121
<br>
2222
<br>
2323

24-
## 2023 春季
24+
## 2024 春季
2525

26-
[课程幻灯片列表](https://www.yuque.com/xyong-9fuoz/qczol5/glemuu?) -- [课程总体简介](./course-intro.html) -- [大实验简介](./oslabs/biglabs.html)
26+
[幻灯片列表](https://www.yuque.com/xyong-9fuoz/qczol5/glemuu?) -- [简介](./course-intro.html) -- [课前准备](./lecs-preview.html) -- [思维导图](https://chyyuu.github.io/test2/oscourse.html) -- [实验](./labs-intro.html)
2727

2828
---
2929

0 commit comments

Comments
 (0)