【书评】深入理解计算机系统

csapp

 

深入理解计算机系统(豆瓣),这本书鼎鼎大名,无论是原版还是中译版在豆瓣都有接近满分的评分。就算没有读过,想必也在各个必读书单、各大购物网站的推荐里见过很多次,这足以证明它的含金量。

 

此书是我2014年11月花30块钱从二手书店购买的正版书,或许这是我此生花的最超值的30块钱。买回来断断续续看了大半年,终于算是看完了。期间有过好几次比较长的弃坑,不过每次拾起来都会重读前面已经读过的章节,每次读都有新的收获,这也坚定了我择日重读的想法。第三版的英文原版已经出了,期待引进,或许下次我读的会是影印版。到时一定亚马逊买本全新正版支持下。

 

全书的内容基本上就是围绕着第一章“计算机系统漫游”中提到的各个主题展开的。每个主题都是一个很重要的计算机领域,本书作为计算机导论类的书籍,译名“深入”确实有点不太恰当,但是本书的牛逼之处就在于把计算机组成、汇编、存储器、程序性能优化、链接、操作系统、网络、并发等等这些随便挑一个出来就够研究十年的计算机科学课题,抽出程序员需要知道的核心部分,用通俗易懂的语言和实践性极强的讲述表达出来。足见作者功力之高。书后的参考文献也是一笔珍宝,其中不乏经典名著,如果想深入研究某一主题,也可以快速找到最棒的学习资料。

 

通读本书,可以对整个计算机系统有个比较全面的认识。从此才算真正有些了解面前这种用过十几年的机器;才明白打开网页的时候究竟发生了什么;才明白自己写的“Hello World!”为什么能够显示“Hello World!”……再看到汇编、C、系统调用不会敬而远之,再遇到服务器报错不会再瞪眼看着错误代码却毫无头绪……

 

最后,本书只是一本导论性质的书籍,内容上只涉及了每个领域的核心概念。可以说,读完这本书,不会让读者马上就变成专家,但是可以给读者思考的方向和方法,为将来成为专家打下基础。这一点其实在书的前言部分也有提到:

 

本书的主要读者是计算机科学家、计算机工程师,以及那些想通过学习计算机系统的内在运作而能够写出更好程序的人。

我们的目的是解释所有计算机系统的本质概念,并向你展示这些概念是如何实实在在地影响应用程序的正确性、性能和实用性的。其他的系统类书籍都是从构建者的角度来写的,讲述如何实现硬件或是系统软件,包括操作系统、编译器和网络接口。而本书是从程序员的角度来写的,讲述应用程序员如何能够利用系统知识来编写出更好的程序。当然,学习一个计算机系统应该做些什么,是学习如何构建一个计算机系统的很好的出发点,所以,对于希望继续学习系统软硬件实现的人来说,本书也是一本很有价值的介绍性读物。

如果你研究和领会了这本书里的概念,你将开始成为极少数的“牛人”,这些“牛人”知道事情是如何运作的,也知道当事情出现故障时如何修复。我们的目标是以一种你立刻会发现很有用的方式来呈现这些基本概念。同时,你也好做好更深入研究的准备,研究像编译器、计算机体系结构、操作系统、嵌入式系统和网络互联这样的题目。

 

建议所有有志于在计算机行业发展的同学,无论学校是否将这本书用作课本,也无论以后打算从事什么方向,都最好买来读一读。


Happy Coding!

 

 

 

吃桔子的攻城狮

修炼ing……

发表评论