Operating System : Three easy pieces 读后感

读OSTEP的原因得从很久之前说起, 那个时候读完了郑扣根翻译的操作系统概念, 但是总觉得有哪里不对, 好像我都读懂了, 但又好像什么都没懂. 个人分析下来有两点原因, 一是因为没有读过操作系统的源码, 导致只了解概念, 但不知道实现, 读了等于没读, 比如说调度算法吧, 道理我都懂, 但是MLFQ的队列之间是怎么移动的? 多处理器之间是如何调度的? 完全没有一点概念, 解决这个问题就是去读源码, 后面我也会试着写一篇xv6中的比较重要源码的分析; 二是因为对硬件知识不够了解, 尤其是各种硬件的运行原理, 虽然我本身是EE出身, 但是对于程序运行时文件系统和内存中的地址不太了解, 这部分也是需要补齐的知识.

解决这两个问题最简单的方法就是多读书, 多实践, OSTEP这本书就是最好的入门教程, 所有细节讲的非常清楚, 非常的深入浅出, 强烈推荐操作系统入门玩家阅读. 真的, 不要上来就读操作系统概念, 现代操作系统这种书, 你要是不了解底层的话, 读了转眼之间就忘了, 这些都是优秀的学术书籍, 但不是实践教材. 个人认为最好的操作系统学习路线就是读完这本书, 接着去读xv6的源码, Double Awesome, 当然对于读过CSAPP的进阶玩家来说, 直接看现代操作系统也不是不可. 

这本书的语言风格可以说是及其的有趣, 可以看出作者的文学素养极高, 各种的引经据典, 尤其是开篇引用荀子的话直接把我吓哭了, 通俗易读就是本书的最大特色, 不管是书中举得例子也好, 还是课后的作业题也好, 一步步引导学习做的非常到位.  纵观操作系统的书籍, 大多长得差不多, 读哪本都一样, 但是哪本都不适合初学者, 这本书可以说把握到了读者的痛点, 有深度, 也容易读懂.

要说缺点的话应该就是太啰嗦, 有时候看图就能明白的事要讲上半天, 这和CSAPP就没法儿比了, 我读CSAPP真是觉得这本书里没有一句废话, 通篇都是精华, 写书写成这样可以说是完美了.

说一下MLFQ这一章, 五条rules讲的听清楚的, 我们知道认识一个事物要从三个方面入手, 首先这个东西要解决什么问题, 接着是他用什么原理解决的, 最后是效果如何. 这章在这方面可以算是不错了. 


你可能感兴趣的:(Operating System : Three easy pieces 读后感)