存档

文章标签 ‘book’

粗略读完《深入理解计算机系统》

2010年7月13日 Zealot Comments

书名:深入理解计算机系统(修订版)
英文名:Computer Systems A Programmer’s Perspective (简称CSAPP)
从英文名称就可以看出这是一本面向程序员的书籍。豆瓣上的链接:http://book.douban.com/subject/1230413/

这本书讲述的内容就像名称里说的那样,从程序员观点来研究和发掘计算机系统的架构和潜力,包括信息计算的基础理论,也包括大量硬件、体系结构、操作系统层的知识,并结合编程开发提供了相应的参考信息。是一本难得的好书。

从写作上来讲,这本书也非常不错。全书自底向上,从信息理论入手,逐步扩展到硬件、汇编、操作系统,网络编程,最后到应用软件层(以http server为例分析并发编程)。而开篇第一章就把整本书的脉络概括了,后面每一章都只不过是第一章每一小节的细化。因此,阅读起来全局把握上很轻松,而这也恰恰是非常关键的一点。

整本书非常厚,800多页,大而全,但终究是一本系统级的书,更深入的细节还是只有比较概念性的介绍。比如汇编程序,虚拟存储器管理,基于事件触发的并发网络编程等等。本书每一章都可以独立成书,深入分析。实际上,我们的大学四年中的教材基本上就是这样独立编排的。所以这本书可以算是一个系统性的参考,用于辅助在头脑中建立整机的意识。具体到某一个特定的领域,需要找更详细的资料阅读才能有更好的理解。

最后,书中的习题看上去非常不错,而且都有细致的答案供参考。受限于公交上阅读环境,没有仔细看这部分。以后可以研究研究。

不过限于书中知识点大而全,对cs专业的学生来说,更好的选择是大一买下来显摆,大二消遣,大三把玩,大四送给小师妹。不是这本书不够深入,只是我觉得相比四年的课程来讲,这本书中的内容在cs毕业生眼里是必须精通的,没必要放到毕业后再继续学习这些基础。现在看看这本书,我也只能后悔没早点买到。

哦,对了,书中开篇介绍了一些非常有意思的实验题,比正文有趣多了。