marp: true theme: default paginate: true _paginate: false header: '' footer: '' backgroundColor: white
lec1 课前准备建议
- 配置好OS实验环境
- 阅读 《深入理解计算系统》”即CSAPP“的第一章“计算机系统漫游”
- 阅读 https://rcore-os.github.io/rCore-Tutorial-Book-v3/ 第零章
- 编译运行并分析 https://github.com/LearningOS/rCore-Tutorial-v3 中的应用程序
- 阅读 https://learningos.github.io/os-lectures/#1 (第一次课的slides 草稿)
lec2 课前准备建议
- 配置好OS实验环境
- 阅读放在课程文件栏--参考资料 RISC-V-Reader-Chinese-v2p1-中文 书的第十章 RV32/64 特权架构
- 阅读 《深入理解计算系统》”即CSAPP“的第二章“信息的表示和处理”、第三章“程序的机器级表示”、第七章“链接”
- 阅读 https://rcore-os.github.io/rCore-Tutorial-Book-v3/ 第一章
- 编译运行并分析 https://github.com/LearningOS/rCore-Tutorial-v3 中 Branch ch1 的libos
- 阅读 https://learningos.github.io/os-lectures/#2 (第二次课的slides 草稿)
lec3 课前准备建议
- 配置好OS实验环境
- 阅读放在课程文件栏--参考资料 RISC-V-Reader-Chinese-v2p1-中文 书的第十章 RV32/64 特权架构
- 阅读 《深入理解计算系统》”即CSAPP“的第四章“处理器体系结构”、第八章“异常控制流”4. 阅读 https://rcore-os.github.io/rCore-Tutorial-Book-v3/ 第二章
- 编译运行并分析 https://github.com/LearningOS/rCore-Tutorial-v3 中 Branch ch2 的 batch os
- 阅读 https://learningos.github.io/os-lectures/#3 (第三次课的slides 草稿)
lec4 课前准备建议
- 分析并运行 在用户态打印”hello world”的小例子 和 在用户态执行特权指令的小例子
- 阅读 Lec3 中没讲完的部分slids
- 阅读 Lec4 的slides 草稿
- 阅读 《深入理解计算系统》”即CSAPP“的第五章“优化程序性能”
- 阅读 https://rcore-os.github.io/rCore-Tutorial-Book-v3/ 第三章
- 编译运行并分析 https://github.com/LearningOS/rCore-Tutorial-v3 中 Branch ch3-coop 的multiprog-os 和 ch3 的 timesharing-os
lec5 课前准备建议
- 《Operating Systems:Three Easy Pieces》第13~20章
- 《Computer Systems A Programmer’s Perspective》的第六章“存储器层次结构”、第七章“链接”、第九章"Virtual Memory"
- 《RISC-V-Reader》第十章 10.6节 基于页面的虚拟内存
- 阅读 Lec5 的slides 草稿
- 阅读 rCore Tutorial Book 第4章
- 编译运行并分析 https://github.com/LearningOS/rCore-Tutorial-v3 中 Branch ch4
lec6 课前准备建议
- 《Operating Systems:Three Easy Pieces》第21~22章
- 《Computer Systems A Programmer’s Perspective》的第六章“存储器层次结构”、第七章“链接”、第九章"Virtual Memory"
- 阅读 Lec6 的slides 草稿
- 阅读 rCore Tutorial Book 第4章
lec7 课前准备建议
- 《Operating Systems:Three Easy Pieces》第4~9章
- 《Computer Systems A Programmer’s Perspective》的第 八 章:“异常控制流” 中与进程相关的8.2/8.4/8.7节
- 阅读 Lec7 的slides 草稿
- 阅读 rCore Tutorial Book v3第5章
- 编译运行rCore Tutorial v3的ch9-log分支的代码,了解内核中进程动态管理情况
lec8 课前准备建议
- 《Operating Systems:Three Easy Pieces》第10章 多处理器调度(高级)
- 阅读 Lec8 的slides 草稿
lec9 课前准备建议
- 《Operating Systems:Three Easy Pieces》第39、40、42章
- 阅读 Lec9 的slides 草稿
- 阅读 rCore Tutorial Book v3第6章
- 编译运行rCore Tutorial v3的ch9-log分支的代码,了解内核中文件系统动态管理情况
lec10 课前准备建议
- 深入理解计算机系统(ver.2 +)10.1-3节,10.7-8节;《Operating Systems:Three Easy Pieces》5.4节
- 阅读 Lec10 的slides 草稿
- 阅读 rCore Tutorial Book v3第7章
- 编译运行rCore Tutorial v3的ch7分支的代码,了解内核中pipe和signal的执行情况
lec11 课前准备建议
- 深入理解计算机系统(ver.2 +)12.3-4节;《Operating Systems:Three Easy Pieces》第26章, 第27章的27.1, 27.2, 27.5节
- 阅读 Lec11 的slides 草稿
- 阅读 rCore Tutorial Book v3第8章的“引言”、“用户态的线程管理”、“内核态的线程管理”
- 编译运行rCore Tutorial v3的ch8分支的代码,了解用户态管理的线程和内核态管理的线程的执行情况
lec12 课前准备建议
阅读
- 深入理解计算机系统(ver.2 +)12.5-7节;《Operating Systems:Three Easy Pieces》第27章的27.3, 27.4节,第28章,第30章,第31章,第32章
- 阅读 Lec12 的slides 草稿
- 阅读 rCore Tutorial Book v3第8章的“锁机制”、“信号量机制”、“条件变量机制”、”并发中的问题“
- 编译运行rCore Tutorial v3的ch8分支的代码,了解多线程同步互斥的执行情况
lec13 课前准备建议
阅读
- 《Operating Systems:Three Easy Pieces》第36、37章
- 阅读 Lec13 的slides 草稿
- 阅读 rCore Tutorial Book v3第9章
- 编译运行rCore Tutorial v3的ch9分支的代码,了解串口和块设备外设驱动的执行情况