--- title: 如何阅读《深入理解计算机系统》这本书? shortTitle: 如何阅读《CSAPP》这本书? description: 如何阅读《深入理解计算机系统》这本书? tags: - 学习建议 category: - 学习建议 head: - - meta - name: keywords content: CSAPP,深入理解计算机系统 --- 大家好,我是二哥呀!好家伙,昨天在逛知乎的时候,发现了一个宝藏。 有个网名叫“行走的西红柿”在如何阅读《深入理解计算机系统》这本书的回答里,提到了两个视频教程,真的有震惊到我。 《深入理解计算机系统》这本书应该大家早有耳闻,考过研的同学应该知道这本书是必读的。 英文名叫《ComputerSystem:A programer perspective》,简写为 CSAPP,很多大学都拿它来作为教材,比如说北大、交大、哈工大等等。 先说一下阅读这本书的前提条件,就是你要先学习一下 C 语言。 接下来,我把“行走的西红柿”提到的两个视频教程地址贴出来,给大家分享下。 第一个视频地址: >[https://www.bilibili.com/video/BV1iW411d7hd](https://www.bilibili.com/video/BV1iW411d7hd) 这是 CSAPP 这本书的两个作者授课的视频,B 站上有 UP 主做了中英文字幕的校对。 我截了一张图,给大家看一下,这门课的目的:“让你深入了解代码在执行的时候到底发生了什么?”可以说包含了计算机专业的方方面面,计算机组成原理、操作系统、计算机网络等等。 ![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexijianyi/read-csapp-eb4daee0-0de3-4f7f-8b7b-6892dba3305d.png) 第二个视频地址: >[https://www.bilibili.com/video/BV1cD4y1D7uR](https://www.bilibili.com/video/BV1cD4y1D7uR) 这是一位大佬对 CSAPP 这本书的解读视频,我个人觉得简直就是——雷锋?宝藏?任何我目前能想到的赞美的词汇都不足以代表我此时此刻对这位大佬的尊敬! 首先,我必须得承认一点,这个视频的唯一缺点就是麦克风的噪音比较大,原因我想有两个,第一可能是大佬没有买声卡这种设备,第二就是没有对声音做降噪处理。 不过,瑕不掩瑜。 视频主要分为 4 个部分: - 计算机系统漫游 - 程序结构和执行 - 如何在系统上运行程序 - 进程间的交互和通信 ![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexijianyi/read-csapp-3f838b31-1551-438b-8f44-d4a2b5ab27dd.png) 分享一些我的视频观感——计算机系统漫游部分。 第一个视频就讲解了 hello 程序在计算机上执行的整个过程,让我印象非常深刻。 ![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexijianyi/read-csapp-9967518e-7807-4d84-a774-bc6eb5f44229.png) 第二个视频讲解了计算机的整个硬件组成部分,看下面这幅图,也太清晰了吧! ![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexijianyi/read-csapp-2bc0b332-7039-4978-86fa-f33701afb0e1.png) 第三个视频,普及了进程和线程、以及虚拟内存等重要知识点。 ![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexijianyi/read-csapp-7b171f32-4418-4ba2-84ef-fe55881a1874.png) ![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexijianyi/read-csapp-298ded3a-e510-466e-809e-57a9a998ab80.png) 第四个视频,讲解了阿姆达尔定律,以及如何提高程序性能的解决方案。 ![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexijianyi/read-csapp-fe228ea9-4317-4b19-881e-08972ff20c9e.png) 这两套视频我还没有看完,除了有一些看不懂之外,很多知识点都需要看多遍,并且查找一些资料后才能懂。 所以,给大家一个建议,学习,不要怕自己看不懂学不会,因为对于大部分普通人来说,包括二哥在内,接收知识的过程都是一个由易到难、循序渐进的过程,没办法一蹴而就。 对于经典的书籍,优质的课程,可能你穷极一生都没办法全部掌握。我这样说可能有些夸张,但事实可能确实如此。你不需要对自己太过苛刻,你需要记住的是,考 1 分比考 0 分强,考 60 分比考 59 分强;只要你肯去花时间学习,哪怕只学到了皮毛,也会比没学强很多。 这也是我一直以来对待学习的一个态度。 可能因为种种原因,我们没办法做全年级的第一名,那我们可以尝试做班级的第一名;没办法做班级的第一名,就做班级的前十名吧。 这不是一种妥协,而是一种不卑不亢的态度。毕竟天外有天,人外有人。 拿我自己来说吧,我既不是 985、211 的学长,也没有在一线互联网大厂的从业经验,但这有什么关系呢?只要我一直在进步,一直在学习,就能追赶上这个世界的浪潮,作出应有的贡献,其一就是帮助大家一起成长。 或许,这更应该是大多数普通人该有的态度。 就像 CSAPP 这门课,确实经典,确实牛逼,但当你只是一个编程初学者的时候,尽量先不去碰它,免得被劝退。除非你是万里挑一。 但当你有了一定的编程经验后,你就不应该再去逃避这门课了。你应该去学习这门课程,无论头皮硬不硬,因为它能真正提升你的竞争力。 除了上面提到的这两门视频课程可以作为辅助学习资料外,我再给你推荐一个上海交通大学的课程,地址: >[https://www.icourse163.org/course/SJTU-1206676848](https://www.icourse163.org/course/SJTU-1206676848) 这门课是 2020 年新出的,所以食用起来会更加的舒适。 ![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexijianyi/read-csapp-5a759059-81da-4814-881c-5b58fb168de8.png) 当然了,要学好 CSAPP 这门课,并不容易,因为它包含了汇编、计算机组成原理、操作系统、计算机网络等等方方面面的知识,任何一个知识点展开去学习,都是需要花费大量时间和精力的。 但求知的快乐不也正源于此吗? ---- 最近整理了一份牛逼的学习资料,包括但不限于Java基础部分(JVM、Java集合框架、多线程),还囊括了 **数据库、计算机网络、算法与数据结构、设计模式、框架类Spring、Netty、微服务(Dubbo,消息队列) 网关** 等等等等……详情戳:[可以说是2022年全网最全的学习和找工作的PDF资源了](https://tobebetterjavaer.com/pdf/programmer-111.html) 关注二哥的原创公众号 **沉默王二**,回复**111** 即可免费领取。 ![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xingbiaogongzhonghao.png)