marp: true theme: default paginate: true _paginate: false header: '' footer: '' backgroundColor: white


lec1 课前准备建议

  1. 配置好OS实验环境
  2. 阅读 《深入理解计算系统》”即CSAPP“的第一章“计算机系统漫游”
  3. 阅读 https://rcore-os.github.io/rCore-Tutorial-Book-v3/ 第零章
  4. 编译运行并分析 https://github.com/LearningOS/rCore-Tutorial-v3 中的应用程序
  5. 阅读 https://learningos.github.io/os-lectures/#1 (第一次课的slides 草稿)

lec2 课前准备建议

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

lec3 课前准备建议

  1. 配置好OS实验环境
  2. 阅读放在课程文件栏--参考资料 RISC-V-Reader-Chinese-v2p1-中文 书的第十章 RV32/64 特权架构
  3. 阅读 《深入理解计算系统》”即CSAPP“的第四章“处理器体系结构”、第八章“异常控制流”4. 阅读 https://rcore-os.github.io/rCore-Tutorial-Book-v3/ 第二章
  4. 编译运行并分析 https://github.com/LearningOS/rCore-Tutorial-v3 中 Branch ch2 的 batch os
  5. 阅读 https://learningos.github.io/os-lectures/#3 (第三次课的slides 草稿)

lec4 课前准备建议

  1. 分析并运行 在用户态打印”hello world”的小例子 和 在用户态执行特权指令的小例子
  2. 阅读 Lec3 中没讲完的部分slids
  3. 阅读 Lec4 的slides 草稿
  4. 阅读 《深入理解计算系统》”即CSAPP“的第五章“优化程序性能”
  5. 阅读 https://rcore-os.github.io/rCore-Tutorial-Book-v3/ 第三章
  6. 编译运行并分析 https://github.com/LearningOS/rCore-Tutorial-v3 中 Branch ch3-coop 的multiprog-os 和 ch3 的 timesharing-os

lec5 课前准备建议

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

lec6 课前准备建议

  1. 《Operating Systems:Three Easy Pieces》第21~22章
  2. 《Computer Systems A Programmer’s Perspective》的第六章“存储器层次结构”、第七章“链接”、第九章"Virtual Memory"
  3. 阅读 Lec6 的slides 草稿
  4. 阅读 rCore Tutorial Book 第4章

lec7 课前准备建议

  1. 《Operating Systems:Three Easy Pieces》第4~9章
  2. 《Computer Systems A Programmer’s Perspective》的第 八 章:“异常控制流” 中与进程相关的8.2/8.4/8.7节
  3. 阅读 Lec7 的slides 草稿
  4. 阅读 rCore Tutorial Book v3第5章
  5. 编译运行rCore Tutorial v3的ch9-log分支的代码,了解内核中进程动态管理情况

lec8 课前准备建议

  1. 《Operating Systems:Three Easy Pieces》第10章 多处理器调度(高级)
  2. 阅读 Lec8 的slides 草稿

lec9 课前准备建议

  1. 《Operating Systems:Three Easy Pieces》第39、40、42章
  2. 阅读 Lec9 的slides 草稿
  3. 阅读 rCore Tutorial Book v3第6章
  4. 编译运行rCore Tutorial v3的ch9-log分支的代码,了解内核中文件系统动态管理情况

lec10 课前准备建议

  1. 深入理解计算机系统(ver.2 +)10.1-3节,10.7-8节;《Operating Systems:Three Easy Pieces》5.4节
  2. 阅读 Lec10 的slides 草稿
  3. 阅读 rCore Tutorial Book v3第7章
  4. 编译运行rCore Tutorial v3的ch7分支的代码,了解内核中pipe和signal的执行情况

lec11 课前准备建议

  1. 深入理解计算机系统(ver.2 +)12.3-4节;《Operating Systems:Three Easy Pieces》第26章, 第27章的27.1, 27.2, 27.5节
  2. 阅读 Lec11 的slides 草稿
  3. 阅读 rCore Tutorial Book v3第8章的“引言”、“用户态的线程管理”、“内核态的线程管理”
  4. 编译运行rCore Tutorial v3的ch8分支的代码,了解用户态管理的线程和内核态管理的线程的执行情况

lec12 课前准备建议

阅读

  1. 深入理解计算机系统(ver.2 +)12.5-7节;《Operating Systems:Three Easy Pieces》第27章的27.3, 27.4节,第28章,第30章,第31章,第32章
  2. 阅读 Lec12 的slides 草稿
  3. 阅读 rCore Tutorial Book v3第8章的“锁机制”、“信号量机制”、“条件变量机制”、”并发中的问题“
  4. 编译运行rCore Tutorial v3的ch8分支的代码,了解多线程同步互斥的执行情况

lec13 课前准备建议

阅读

  1. 《Operating Systems:Three Easy Pieces》第36、37章
  2. 阅读 Lec13 的slides 草稿
  3. 阅读 rCore Tutorial Book v3第9章
  4. 编译运行rCore Tutorial v3的ch9分支的代码,了解串口和块设备外设驱动的执行情况