如何看《深入理解计算机系统》一书

请问,《深入理解计算机系统》这本书有没有相关的视频公开课呢(我google下,没找着)?
在看这本书之前,需要有哪些基础呢?
各个章节的关联性会很强吗,可否挑着看?
谢谢~

阅读 12.1k
8 个回答

首先~~~你这个标签贴的有问题啊~~

csapp这本书呢,是基础入门书~是理解计算机整个运行原理的必备书籍(虽然我没看完)...它涵盖了计算机组成原理,汇编,简单的逆向,还有c语言编程等等的东西,把这本书搞透你的底子也就打好了~~

至于公开课是没有的....但是不需要公开课不是嘛~~只要你认真看哪怕慢点也没关系~但是一定要搞懂~

不才看完了这本书,觉得里面的内容写的很不错。按照书本自身前言的说法是你只需要一点C基础就行了。

个人觉得第一章,第三章和第九章是这本书的精华。应该仔细看看,看不懂的话先看过去再回看。

里面的练习题一定要做,可以巩固一下你学的知识。

看归看,书上的题目一定要做。看不看公开课是次要的。

这本书是cmu某一门课(忘了)的教材,也是上海交大se101和111的教材。
cmu目前貌似没有提供相关的公开课以及视频。

书分为三个部分

  • 汇编反汇编
  • 体系结构
  • linux-c

第一部分的重要性不用多提了,了解底层对于程序员来说非常有帮助(不仅仅是c,java和php也是)。此外第一部分也挺好玩的,学会了就可以入门破解了。第二部分稍微有些枯燥,难懂,y86比起mips那是相当的复杂,还是建议直接学习后者。第三部分对于linux下面的开发很有帮助,但是讲的不够详细,不懂的地方可以参考《apue》。

个人感觉就是,这本书比较省时间,传统的课时,这三部分可能要开三门课,但是用了这本书能够压缩到两门课,甚至一门半。(据说cmu那边只用一个学期就讲完了这本书,作业量应该挺恐怖的。)

在看这本书之前,需要有哪些基础呢?

个人认为,看所有计算机书都最好有编程基础。对于这本书来说,c,c++,java无所谓,随便哪个都行。倒不是要求基础强到能够自己独立完成一个项目,只是看到一段代码知道它是什么意思,不要总是返回去查语法书就可以。另外这本书还需要linux的基础知识。知道shell怎么用,以及一些基本命令就好。

这本书讲的都是计算机基本原理的知识,个人觉得配合《编码:隐匿在计算机软硬件背后的语言》一起看更易理解!

怎么说呢,重复看,最好看英文版的。

我看了下这书,虽说只要求浅显的c语言.但看起来想要轻松点的话,基础知识一定要都熟练才行.这本书应该放在以后看

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进