diff --git a/docs/操作系统/CS162.md b/docs/操作系统/CS162.md
index b183a570..4ec5c3a8 100644
--- a/docs/操作系统/CS162.md
+++ b/docs/操作系统/CS162.md
@@ -3,32 +3,53 @@
## 课程简介
- 所属大学:UC Berkeley
-- 先修要求:CS61A, CS61B, CS61C
+- 先修要求:CS61A, CS61B, CS61C,扎实的C语言能力及GDB调试能力
- 编程语言:C, x86汇编
- 课程难度:🌟🌟🌟🌟🌟🌟
- 预计学时:200 小时+,上不封顶
这门课让我记忆犹新的有两个部分:
-首先是教材,这本书用的教材 *Operating Systems: Principles and Practice (2nd Edition)* 一共四卷,写得非常深入浅出,很好地弥补了 MIT6.S081 在理论知识上的些许空白,非常建议大家阅读。相关资源会分享在本书的经典书籍推荐模块。
+首先是教材,这本书用的教材 *Operating Systems: Principles and Practice (2nd Edition)* 一共四卷,写得非常深入浅出,语言生动甚至时而幽默,是本课程 Lecture 视频内容极好的完善与补充,同时也很好地弥补了 MIT6.S081 在理论知识上的些许空白,是 CMU 操作系统课 15410 的实验性教材,非常建议大家阅读!相关资源会分享在本书的经典书籍推荐模块。
其次是这门课的 Project —— Pintos。Pintos 是由 Ben Pfaff 等人在 x86 平台上编写的教学用操作系统,Ben Pfaff 甚至专门发了篇 [paper](https://benpfaff.org/papers/pintos.pdf) 来阐述 Pintos 的设计思想。
-和 MIT 的 xv6 小而精的 lab 设计理念不同,Pintos 更注重系统的 Design and Implementation。Pintos 本身仅一万行左右,只提供了操作系统最基本的功能。而 4 个Project,就是让你在这个极为精简的操作系统之上,分别为其增加线程调度机制 (Project1),系统调用 (Project2),虚拟内存 (Project3) 以及文件系统 (Project4)。所有的 Project 都给学生留有很大的设计空间,总代码量在 2000 行左右。根据 Stanford 学生[自己的反馈][quora_link],在 3-4 人组队的情况下,后两个 Project 的人均耗时也在 40 个小时以上。
+和 MIT 的 xv6 小而精的 lab 设计理念不同,Pintos 更注重系统的 Design and Implementation。Pintos 本身仅一万行左右,只提供了操作系统最基本的功能。每个project几乎没有框架代码,都需要自己设计实现并权衡不同方案的优缺点。而 4 个Project,就是让你在这个极为精简的操作系统之上,分别为其增加线程调度机制 (Project1),系统调用 (Project2),虚拟内存 (Project3) 以及文件系统 (Project4)*(注:CS162 Pintos 的 project 和上述略有不同,详见下方课程作业说明)*。所有的 Project 都给学生留有很大的设计空间,总代码量在 2000 行左右。根据 Stanford 学生[自己的反馈][quora_link],在 3-4 人组队的情况下,后两个 Project 的人均耗时也在 40 个小时以上。
[quora_link]: https://www.quora.com/What-is-it-like-to-take-CS-140-Operating-Systems-at-Stanford
-虽然难度很大,但 Stanford, Berkeley, JHU 等多所美国顶尖名校的操统课程均采用了 Pintos。如果你真的对操作系统很感兴趣,Pintos 会极大地提高你编写和 debug 底层系统代码的能力。在本科阶段,能自己设计、实现并 debug 一个大型系统,是一段非常珍贵的经历。
+虽然难度很大,但 Stanford, Berkeley, JHU 等多所美国顶尖名校的操统课程均采用了 Pintos。如果你真的对操作系统很感兴趣,Pintos 会极大地提高你编写和 debug 底层系统代码的能力,并让你学会设计一个系统,使你在不同可能的设计中学会取舍。在本科阶段,能自己设计、实现并 debug 一个大型系统,是一段非常珍贵的经历。
北大 2022 年春季学期的操作系统实验班也将会首次引入 Pintos 作为课程 Project。我和该课程的[另一位助教](https://github.com/AlfredThiel)整理并完善了 Pintos 的[实验文档](https://pkuflyingpig.gitbook.io/pintos),并利用 Docker 配置了跨平台的实验环境,想自学的同学可以按文档自行学习。在毕业前的最后一个学期,希望能用这样的尝试,让更多人爱上系统领域,为国内的系统研究添砖加瓦。
## 课程资源
-- 课程网站:
-- 课程视频:,每节课的链接参见课程网站
-- 课程教材:[Operating Systems: Principles and Practice (2nd Edition)](http://ospp.cs.washington.edu/)
-- 课程作业:,6 个 Homework, 3 个 Project,具体要求参见课程网站
+- 课程网站:
+ - [当前最新学期](https://cs162.org/)
+ - [Fa25-WayBack Machine](https://web.archive.org/web/20251211080516/https://cs162.org/)
+- 课程视频,目前公开的视频有三个学期,分别为: 2020Fall,2021Fall 及 2022Spring 。根据我学习 2025Fall 学期的经历来看,2022Spring 的最适合自学,因为这个学期是线下录制的形式(除了前四节),上课时师生之间的互动更多,有很多有价值的问题在课堂上被解决:
+ - [2022Spring课程视频](https://www.bilibili.com/video/BV1L541117gr?vd_source=e293470ea109e008c4d9516e39ef318f&p=5&spm_id_from=333.788.videopod.episodes)
+ - [2020Fall课程视频](https://www.bilibili.com/video/BV1MwDSYWEKy?spm_id_from=333.788.videopod.sections&vd_source=e293470ea109e008c4d9516e39ef318f&p=24)
+ - 2021Fall的各个视频链接在[2021Fall网站](https://web.archive.org/web/20211216005317/https://cs162.org/)上
+- 课程教材:[Operating Systems: Principles and Practice (2nd Edition)](http://ospp.cs.washington.edu/),本教材是课上 Lecture 内容的很好的补充,强烈推荐阅读。
+- 课程作业:3 个 Project,6 个 Homework(每个Homework的工作量大致相当于其他大部分公开课的Project, Project原本要求是组队实现,一个人自学的工作量较大):
+ - 3 个 Project , 每个 Project 都有完整的本地测试:
+ 1. User Programs: 实现进程执行函数的参数解析传递,实现进程相关的系统调用(25年的新增了fork系统调用),实现文件相关系统调用。
+ 2. Threads: 实现不忙等的 `timer_sleep` 函数, 实现严格优先级调度器,实现对多线程的支持,实现简化版的 pthread 库(这与北大的 Pintos 及 斯坦福的 CS212 的多级反馈调度的要求不同)。
+ 3. File Systems: 实现文件系统内核缓冲区 Buffer Cache,实现可扩容的文件,实现子目录。
+ - 6 个 Homework, 其中一个为 Map Reduce 作业的子任务,作业 HTTP 及 Map Reduce 均有两个版本:C 和 Rust。除了 Memory 作业外,其他 Homework 均没有本地测试(但除了 Map Reduce 作业外, 其他作业都可以手动测试的大差不差, Map Reduce 作业可换成 [MIT 6.824 的对应作业](https://pdos.csail.mit.edu/6.824/labs/lab-mr.html))
+ 1. List: 熟悉 Pintos 内置的链表结构
+ 2. Shell: 实现支持目录命令、启动程序、路径解析、重定向、管道、信号处理的 Shell
+ 3. HTTP: 实现一个支持 HTTP GET 请求的 HTTP 服务器.
+ 4. Memory: 实现 sbrk,malloc 等内存管理函数
+ 5. Map Reduce: 实现一个可容忍错误的 MapReduce 系统
+ - 包含作业 RPC Lab
+
## 资源汇总
+@[RisingUppercut] 在学习这门课(2025Fall)中用到的所有资源和作业实现(包括代码、设计文档、初始框架代码等)都汇总在 [@RisingUppercut/CS162-fall25 - GitHub](https://github.com/RisingUppercut/UCB_CS162_2025Fall) 中。
+
+[RisingUppercut]: https://github.com/RisingUppercut
+
由于北大的操统实验班采用了该课程的 Project,为了防止代码抄袭,我的代码实现没有开源。
diff --git a/mkdocs.yml b/mkdocs.yml
index dcf93c29..ca5d2373 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -213,7 +213,7 @@ nav:
- "ETHz: Computer Architecture": "体系结构/CA.md"
- 操作系统:
- "MIT 6.S081: Operating System Engineering": "操作系统/MIT6.S081.md"
- - "UCB CS162: Operating System": "操作系统/CS162.md"
+ - "UCB CS162: Operating Systems and Systems Programming": "操作系统/CS162.md"
- "NJU OS: Operating System Design and Implementation": "操作系统/NJUOS.md"
- "HIT OS: Operating System": "操作系统/HITOS.md"
- 并行与分布式系统: