跳转至

操作系统

课程简介

操作系统无论作为计科,软工,网安还是人工智能都是核心专业课。笔者认为学懂了操作系统相当于得了学懂了专业课,因为操作系统需要同硬件进行交互(软硬件协同),这就要求你懂计算机组成原理与体系结构的知识,同时操作系统提供给上层应用 API(标准库,运行时函数库),学懂了操作系统,你就懂了如何在软件层面进行性能优化。

课程内容

操作系统,主要讲解的是三大部分的内容:

  • 进程与线程
  • 内存管理
  • 文件系统

这也是操作系统的核心部分,即为用户提供抽象,统一管理硬件资源,同时也讲解一些关于硬件的部分:关于磁盘的IO以及一些难以排查的问题:死锁及饿死及其解决方法。

笔者认为,如果只根据课内内容学习操作系统学习较为浅显且枯燥,而且也不可能真正搞懂操作系统是如何运行的,我建议学有余力的同学可以去学习 MIT 6.S081 课程,根据 schedlue 去做 xv6-riscv 的实验,如果你真正独立完整做完了所有的誓言,那么你对操作系统的理解将会比别人超出一大块(友情提示:不用太心急,操作系统本身就很难,做不出来也不必怀疑自己智商)。

课后实验

课后实验分别包括三次实验:

  • 一个简易的 shell 程序
  • 使用多线程计算 pi
  • xv6 的 5 次 homework

KuangjuX/OS-Lab

推荐教材

  • 现代操作系统/Modern Operating Systems(上课用教材)
  • Operating Systems: Three Easy Pieces
  • 现代操作系统:原理与实现(国内为数不多的操作系统好书,作者为陈海波老师,配套实验为 chcore, 一个微内核操作系统)

贡献者

  • KuangjuX

作者: ChengXiang Qi
最后更新: October 2, 2021
创建日期: October 2, 2021