深入理解计算机系统 - 引言
2014-04-08 20:01
211 查看
深入理解计算机系统(CSAPP)
简单的说这是一本所有计算机学生都必读的经典教材,其内容涵盖非常广,包括了:底层数据的基础表示,主要是二进制补码,浮点数的IEEE标准等;
CPU内部的重要设计,例如流水线设计,指令集设计等;
C语言的各种底层细节,各种语法细节对应的汇编实现,调用规范等;
编译链接的细节,到底什么是链接,以及链接中究竟做了哪些事等;
IO开发、并发、网络编程,一些基础的IO开发原理,socket编程,死锁与互斥等问题;
虚拟内存,经典问题;
我最早接触到这本书是大二时,在图书馆的偶遇,那时还是电力出版的绿色封面的修订版(我一直觉得图书馆的价值不是在于坐在里面看书,更重要的是不定期的进去在一排排书架中发掘好书)。对这本教材可以说当场看了第一章就惊为天人,感觉这本书写的真好,把我很多以前模糊不清的东西都写透了,整个文字非常通俗易懂(中文翻译的也非常好。向本书的译者龚奕利,雷迎春致敬)。再配上书后大量高质量的习题(很有一种高中时的数学教材的感觉)。
可以说本书两个优点也是很多现在计算机教材的缺点:
1、很多教材写得云里雾里,中文翻译往往更加糟糕(还是应该多看英文原版教材,不过如果有中文译本很多时候确实能加快看书的效果和速度)。我一直坚信大多数情况下一本教材我看不懂不是我的问题,而是这本教材的问题;
2、缺乏高质量习题。这一点ACM竞赛中广为采用的OJ平台应该更多的推广到计算机本科教学中(不仅仅是算法和数据结构领域!)。计算机教材还应多向数学教材学习,本科基础阶段一定要有大量高质量的习题练习,把基础打好才是最重要的;
可以说,CSAPP在以上两个问题解决的非常完美,在广度和深度上也非常适合大学本科2年级以上的学生入手,这里就再推荐一次吧(现实中已经向无数人推荐过这本教材了)。
有了好的教材,还得好好深入研读才行,我记得有个数学家说过:“读数学书若不做习题,如入宝山而空返”。这里把数学书替换为CSAPP非常恰当。如果不做习题不写代码,光是看书那真是浪费了这本好教材!
这本书我个人从头到尾断断续续读过2遍了,很多习题都手写或上机完成过,但始终缺乏一个好的总结。我现在觉得总结也是学习的一个重要部分,假设随便选择CSAPP中的一章,能在背着书的情况下给别人讲清这一章的内容是非常具有挑战性的。我曾在组内给师弟讲过其中几章,发现很多问题看似简单,自己似乎已经会了,但真要给别人讲却又说不出来了,这就是没真正学会的表现。
我想不妨就在这里,从今天开始重新记录每一章的阅读总结(当然还会把自己OneNote和Evernote中已有的其他技术总结慢慢整理上来)。
之后我会慢慢整理每一章的阅读笔记总结,欢迎各位与我讨论,大家共同进步。
相关文章推荐
- 深入理解计算机系统-之-数值存储(五)--浮点数在内存中的存储方式
- 深入理解计算机系统-笔记
- 深入理解计算机系统(第二版) 家庭作业 第四章
- 深入理解计算机系统 chapter 9 学习笔记
- 深入理解计算机系统——第05章——优化程序性能
- 深入理解计算机系统(读书笔记)
- 深入理解计算机系统 Number1
- 深入理解计算机系统(第三版)作业题答案(第三章)
- 十二天深入理解计算机系统(一)
- 如何阅读深入理解计算机系统
- CSAPP 深入理解计算机系统 Buflab实验,缓冲区溢出攻击实验(4)
- 阅读深入理解计算机系统(三)--------------- 虚拟存储器
- CSAPP深入理解计算机系统实验一
- 深入理解计算机系统 学习小结
- 深入理解计算机系统(第二版) 家庭作业 第十一章
- 深入理解计算机系统:数值的存储
- 深入理解计算机系统(2.5)---二进制整数的加、减法运算(重要)
- 深入理解计算机系统(第三版) 练习2.13
- 深入理解计算机系统(第三版) 练习2.15
- 深入理解计算机系统笔记1