两个月前的一天深夜,熟睡的我被呼啦啦的一声惊醒,正要往床底下钻,透过月光看见散落一地的书——原来是书架塌了。编程
做为一只租住在10平小单间的北漂儿,只有个简易的塑料书架放书,本来就习惯于等活动囤书,再加上单位时不时发放的购书卡,每次三本两本的,不知不觉就买书如山倒了。知乎、豆瓣里被人推荐过的、叫得出名字的CS经典书籍基本齐全了。后端
惊魂未定的我看着满地的书,莫名地有些生气,这些书的绝大多数,要么只是偶尔须要时翻两页,要么就是刚买来兴致勃勃地看了目录和第一章就束之高阁了,其中甚至有几本还没拆塑封。网络
因而跟本身打了个赌:认真读完一本大部头。若是失败了就清空书架把书全卖掉,今后不买纸质书;若是成功了,就奖励本身一个礼物,同时再接再砺持续阅读。多线程
权衡之下选择这本《深刻理解计算机系统》做为目标,一是由于它是CS专业的第一门基础课,有益于后续的知识衔接,好比计算机网络、操做系统等;其二难度不大,无论白天工做累不累,均可以坚持下来天天翻看几页;第三是篇幅较多,一气呵成完成以后,面对其余的大部头能够”一览众山小“,不会被篇幅吓倒。学习
写做本文时,我已经按计划读完了700多页的CSAPP,但并无想象中的兴奋和成就感,反而有些失落和迷茫。优化
眼前摆着早就计划好的第二本书《现代操做系统》,但个人方法真的对吗?付出的时间值吗?在读下一本书以前,我必须搞清楚这个问题。操作系统
翻看这两个月的笔记,开头的两章就像以前计划的那样,不抄书、不罗列知识点,而是天天读完之后合上书,思考和记录收获和感想。但差很少从第三周开始,笔记内容就逐渐回到了划份内容结构、总结罗列知识点以及自我激励的话。虽然极力克制着没有敷衍,但确实思考得愈来愈少,完成做业的感受愈来愈浓。计算机网络
将第二本书放回了书架,我决定对CSAPP作一次Review。曾经看到过一句话,最好的学习方法就是教会别人。因此此次我会将笔记发表出来,一样会尽可能避免罗列知识点,而是围绕书中的知识进行发散思考,撰写博客而非教程。线程
书归正传,本书的第一章是全书的导论,基本上每一小节都是后面一大章节的引子,因此读时没必要拘泥于细节,从宏观上对程序的执行过程以及计算机系统的组成有个概念性的了解便可。翻译
本书在内容上能够分为三个部分:
最后讲讲我的对本书的评价,在读完以后,我愈加以为使用本书做为开始是极为正确的选择,它有本身的侧重点,就是关于底层硬件的分析和设计,讲清楚了计算机从0到1的过程。同时,本书又能够做为计算机专业的一份地图,从底层硬件设计、操做系统原理到应用程序的编写与优化,为整个计算机系统学科作了导论性的阐述,引导读者从1走向无穷。
另外,本书第三版中文翻译绝对过关,可放心使用!讲到翻译要说一个反例,即将阅读的下一本书——《现代操做系统》,我只读了一章就理解了为何好多人建议读英文原版了,这本书的翻译是真的会影响理解,至少要中英文对照着读。 在CSAPP的笔记更新完成后,接下来会是这本操做系统,大体翻了翻,两本书在内容上有很大的重叠,但侧重点各有不一样,能够相互对照着学习。
这才刚刚第一章,就不作太多的下一本预告了。但愿能把这本Review完成吧,虽然就12章,也提早读完写了笔记,但真正写博客的时候才体会到向别人讲述有多难。最后,说好的奖励给本身的礼物:
—— for and by Music Lovers