深入理解计算机系统 - 引言
来源:互联网 发布:沐足软件 编辑:程序博客网 时间:2024/06/01 08:47
深入理解计算机系统(CSAPP)
简单的说这是一本所有计算机学生都必读的经典教材,其内容涵盖非常广,包括了:
底层数据的基础表示,主要是二进制补码,浮点数的IEEE标准等;
CPU内部的重要设计,例如流水线设计,指令集设计等;
C语言的各种底层细节,各种语法细节对应的汇编实现,调用规范等;
编译链接的细节,到底什么是链接,以及链接中究竟做了哪些事等;
IO开发、并发、网络编程,一些基础的IO开发原理,socket编程,死锁与互斥等问题;
虚拟内存,经典问题;
我最早接触到这本书是大二时,在图书馆的偶遇,那时还是电力出版的绿色封面的修订版(我一直觉得图书馆的价值不是在于坐在里面看书,更重要的是不定期的进去在一排排书架中发掘好书)。对这本教材可以说当场看了第一章就惊为天人,感觉这本书写的真好,把我很多以前模糊不清的东西都写透了,整个文字非常通俗易懂(中文翻译的也非常好。向本书的译者龚奕利,雷迎春致敬)。再配上书后大量高质量的习题(很有一种高中时的数学教材的感觉)。
可以说本书两个优点也是很多现在计算机教材的缺点:
1、很多教材写得云里雾里,中文翻译往往更加糟糕(还是应该多看英文原版教材,不过如果有中文译本很多时候确实能加快看书的效果和速度)。我一直坚信大多数情况下一本教材我看不懂不是我的问题,而是这本教材的问题;
2、缺乏高质量习题。这一点ACM竞赛中广为采用的OJ平台应该更多的推广到计算机本科教学中(不仅仅是算法和数据结构领域!)。计算机教材还应多向数学教材学习,本科基础阶段一定要有大量高质量的习题练习,把基础打好才是最重要的;
可以说,CSAPP在以上两个问题解决的非常完美,在广度和深度上也非常适合大学本科2年级以上的学生入手,这里就再推荐一次吧(现实中已经向无数人推荐过这本教材了)。
有了好的教材,还得好好深入研读才行,我记得有个数学家说过:“读数学书若不做习题,如入宝山而空返”。这里把数学书替换为CSAPP非常恰当。如果不做习题不写代码,光是看书那真是浪费了这本好教材!
这本书我个人从头到尾断断续续读过2遍了,很多习题都手写或上机完成过,但始终缺乏一个好的总结。我现在觉得总结也是学习的一个重要部分,假设随便选择CSAPP中的一章,能在背着书的情况下给别人讲清这一章的内容是非常具有挑战性的。我曾在组内给师弟讲过其中几章,发现很多问题看似简单,自己似乎已经会了,但真要给别人讲却又说不出来了,这就是没真正学会的表现。
我想不妨就在这里,从今天开始重新记录每一章的阅读总结(当然还会把自己OneNote和Evernote中已有的其他技术总结慢慢整理上来)。
之后我会慢慢整理每一章的阅读笔记总结,欢迎各位与我讨论,大家共同进步。
- 深入理解计算机系统 - 引言
- 深入理解计算机系统 计算机系统漫游
- 深入理解计算机系统-计算机系统漫游
- 深入理解计算机系统--计算机系统漫游
- 《深入理解计算机系统》读书笔记
- 深入理解计算机系统
- 学习《深入理解计算机系统》
- 深入理解计算机系统笔记
- 《深入理解计算机系统》读书笔记
- 深入理解计算机系统--学习
- 《深入理解计算机系统》笔记
- 深入理解计算机系统书评
- 深入理解计算机系统
- 深入理解计算机系统 Number1
- 深入理解计算机系统有感
- 《深入理解计算机系统》读书笔记
- 《深入理解计算机系统》读书笔记
- 深入理解计算机系统
- sicily 1935. 二叉树重建
- POJ 2385 Apple Catching (DP)
- 中断处理(中断向量寄存器)
- DatePicker的使用(三):初始化
- U3D-隐性的局部变量
- 深入理解计算机系统 - 引言
- mac os x 10.8 安装python-mysqldb
- winsock API积累
- Monkeyrunner学习一
- 观察者模式-气象台的实现与应用
- JNative使用,调用动态库
- 操作系统级别对Hadoop性能优化
- Bean property 'adminService' is not writable or has an invalid setter method
- 信号量、互斥体和自旋锁