Skip to content
Calvin's Blog

推荐一本操作系统的书

May 19, 2022 — Thoughts

alert text

这本书叫 《Operating Systems: Three Easy Pieces》 (opens in a new window) ,来自美国威斯康星大学课程的教材。

中文版翻译叫操作系统导论 (opens in a new window),翻译的质量还不错,豆瓣评分 9.4。

为什么要介绍这本书呢?主要由于以下几个方面:

本书给出了非常多的阅读材料,上一次有这种感觉还是看 《Designing Data-Intensive Applications》的时候。

《Designing Data-Intensive Applications》的 中文名是《设计数据密集型应用》 (opens in a new window),豆瓣评分 9.7。

虽然是研究生的课程,但是书中讨论问题遵循深入浅出的方式,有点基础的读来应该也毫不费力。最后,不得不提的一点是,操作系统是一个非常庞大的系统工程,读完这本书并不能保证你对操作系统相关的问题都能找到答案。这更像是一个 guide,将我们引入操作系统的世界,而想要成为专家则需要持续不断的学习(“read more” 在这本书出现了几十次之多)。

本书三个部分分别为:虚拟化(Virtualization)、并发(Concurrency)、持久化(Persistence)。

其中虚拟化部分包括虚拟内存和 CPU 虚拟化以让进程以类似独占内存和 CPU 的方式在运行;

并发部分主要讨论了并发编程,以及锁(lock)、条件变量(Condition Variables)、信号量(Semaphores);

持久化只要讨论了文件系统,包括不同的存储介质(HDD, RAID, SSD)和不同文件系统的实现(vFS, FFS, LFS, NFS, AFS)。

除此之外,另外几本操作系统相关教程也值得推荐一下:《深入理解计算机系统》 (opens in a new window)《现代操作系统》 (opens in a new window)