跳转至

UC Berkeley CS162: Operating Systems and System Programming

课程简介

  • 来源:UC Berkeley
  • 先修要求:计算机体系结构(CS61C 同等水平)、C 语言
  • 编程语言:C
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:80 小时 +

Berkeley CS162 是 Berkeley 的操作系统课程,比 MIT 6.S081 更注重系统层面的编程实践。课程内容覆盖进程管理、并发、内存管理、文件系统、网络和安全。

CS162 的特点是作业量大且难度高。课程项目和作业要求你用 C 语言实现操作系统的核心组件,包括线程库、文件系统调度和网络服务器。

课程资源

课程特点

  • 强调并发编程:线程、锁、条件变量、信号量,这是 CS162 的核心主题
  • 网络编程:包括 socket 编程和分布式系统的基础
  • 安全:缓冲区溢出、权限管理、密码学基础
  • 大项目:课程有一个贯穿学期的大项目,实现一个完整的网络服务器

自学建议

重视并发部分。 并发是操作系统面试的重点,也是 CS162 最花时间的章节。建议多写多练。

做所有的编程作业。 CS162 的编程作业设计得非常好,每个作业都能帮你深入理解一个核心概念。

参考 MIT 6.S081。 两门课的侧重点不同。MIT 侧重内核实现,Berkeley 侧重系统编程。互补学习效果更好。

备注

CS162 的工作量比 MIT 6.S081 更大,但 Berkeley 的课程视频质量很高,适合喜欢跟着视频学习的同学。