操作系统¶
课程简介¶
操作系统无论作为计科,软工,网安还是人工智能都是核心专业课。笔者认为学懂了操作系统相当于得了学懂了专业课,因为操作系统需要同硬件进行交互(软硬件协同),这就要求你懂计算机组成原理与体系结构的知识,同时操作系统提供给上层应用 API(标准库,运行时函数库),学懂了操作系统,你就懂了如何在软件层面进行性能优化。
课程内容¶
操作系统,主要讲解的是三大部分的内容:
- 进程与线程
- 内存管理
- 文件系统
这也是操作系统的核心部分,即为用户提供抽象,统一管理硬件资源,同时也讲解一些关于硬件的部分:关于磁盘的IO以及一些难以排查的问题:死锁及饿死及其解决方法。
笔者认为,如果只根据课内内容学习操作系统学习较为浅显且枯燥,而且也不可能真正搞懂操作系统是如何运行的,我建议学有余力的同学可以去学习 MIT 6.S081 课程,根据 schedlue 去做 xv6-riscv 的实验,如果你真正独立完整做完了所有的誓言,那么你对操作系统的理解将会比别人超出一大块(友情提示:不用太心急,操作系统本身就很难,做不出来也不必怀疑自己智商)。
课后实验¶
课后实验分别包括三次实验:
- 一个简易的 shell 程序
- 使用多线程计算 pi
- xv6 的 5 次 homework
推荐教材¶
- 现代操作系统/Modern Operating Systems(上课用教材)
- Operating Systems: Three Easy Pieces
- 现代操作系统:原理与实现(国内为数不多的操作系统好书,作者为陈海波老师,配套实验为 chcore, 一个微内核操作系统)
贡献者¶
- KuangjuX
作者:
最后更新: October 2, 2021
创建日期: October 2, 2021
最后更新: October 2, 2021
创建日期: October 2, 2021