read-csapp.md 6.5 KB
Newer Older
沉默王二's avatar
沉默王二 已提交
1
---
沉默王二's avatar
沉默王二 已提交
2 3
title: 如何阅读《深入理解计算机系统》这本书?
shortTitle: 如何阅读《CSAPP》这本书?
沉默王二's avatar
沉默王二 已提交
4
tag:
沉默王二's avatar
沉默王二 已提交
5
  - 学习建议
沉默王二's avatar
沉默王二 已提交
6 7 8 9 10
category:
  - 学习建议
---


沉默王二's avatar
沉默王二 已提交
11
大家好,我是二哥呀!好家伙,昨天在逛知乎的时候,发现了一个宝藏。
沉默王二's avatar
沉默王二 已提交
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

有个网名叫“行走的西红柿”在如何阅读《深入理解计算机系统》这本书的回答里,提到了两个视频教程,真的有震惊到我。

《深入理解计算机系统》这本书应该大家早有耳闻,考过研的同学应该知道这本书是必读的。

英文名叫《ComputerSystem:A programer perspective》,简写为 CSAPP,很多大学都拿它来作为教材,比如说北大、交大、哈工大等等。

先说一下阅读这本书的前提条件,就是你要先学习一下 C 语言。

接下来,我把“行走的西红柿”提到的两个视频教程地址贴出来,给大家分享下。

第一个视频地址:

>[https://www.bilibili.com/video/BV1iW411d7hd](https://www.bilibili.com/video/BV1iW411d7hd)

这是 CSAPP 这本书的两个作者授课的视频,B 站上有 UP 主做了中英文字幕的校对。

我截了一张图,给大家看一下,这门课的目的:“让你深入了解代码在执行的时候到底发生了什么?”可以说包含了计算机专业的方方面面,计算机组成原理、操作系统、计算机网络等等。


沉默王二's avatar
沉默王二 已提交
32
![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexijianyi/read-csapp-eb4daee0-0de3-4f7f-8b7b-6892dba3305d.png)
沉默王二's avatar
沉默王二 已提交
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52


第二个视频地址:

>[https://www.bilibili.com/video/BV1cD4y1D7uR](https://www.bilibili.com/video/BV1cD4y1D7uR)

这是一位大佬对 CSAPP 这本书的解读视频,我个人觉得简直就是——雷锋?宝藏?任何我目前能想到的赞美的词汇都不足以代表我此时此刻对这位大佬的尊敬!

首先,我必须得承认一点,这个视频的唯一缺点就是麦克风的噪音比较大,原因我想有两个,第一可能是大佬没有买声卡这种设备,第二就是没有对声音做降噪处理。

不过,瑕不掩瑜。

视频主要分为 4 个部分:

- 计算机系统漫游
- 程序结构和执行
- 如何在系统上运行程序
- 进程间的交互和通信


沉默王二's avatar
沉默王二 已提交
53
![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexijianyi/read-csapp-3f838b31-1551-438b-8f44-d4a2b5ab27dd.png)
沉默王二's avatar
沉默王二 已提交
54 55 56 57 58 59 60 61


分享一些我的视频观感——计算机系统漫游部分。

第一个视频就讲解了 hello 程序在计算机上执行的整个过程,让我印象非常深刻。



沉默王二's avatar
沉默王二 已提交
62
![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexijianyi/read-csapp-9967518e-7807-4d84-a774-bc6eb5f44229.png)
沉默王二's avatar
沉默王二 已提交
63 64 65 66 67


第二个视频讲解了计算机的整个硬件组成部分,看下面这幅图,也太清晰了吧!


沉默王二's avatar
沉默王二 已提交
68
![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexijianyi/read-csapp-2bc0b332-7039-4978-86fa-f33701afb0e1.png)
沉默王二's avatar
沉默王二 已提交
69 70 71 72 73


第三个视频,普及了进程和线程、以及虚拟内存等重要知识点。


沉默王二's avatar
沉默王二 已提交
74
![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexijianyi/read-csapp-7b171f32-4418-4ba2-84ef-fe55881a1874.png)
沉默王二's avatar
沉默王二 已提交
75 76


沉默王二's avatar
沉默王二 已提交
77
![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexijianyi/read-csapp-298ded3a-e510-466e-809e-57a9a998ab80.png)
沉默王二's avatar
沉默王二 已提交
78 79 80 81 82 83



第四个视频,讲解了阿姆达尔定律,以及如何提高程序性能的解决方案。


沉默王二's avatar
沉默王二 已提交
84
![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexijianyi/read-csapp-fe228ea9-4317-4b19-881e-08972ff20c9e.png)
沉默王二's avatar
沉默王二 已提交
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112


这两套视频我还没有看完,除了有一些看不懂之外,很多知识点都需要看多遍,并且查找一些资料后才能懂。

所以,给大家一个建议,学习,不要怕自己看不懂学不会,因为对于大部分普通人来说,包括二哥在内,接收知识的过程都是一个由易到难、循序渐进的过程,没办法一蹴而就。

对于经典的书籍,优质的课程,可能你穷极一生都没办法全部掌握。我这样说可能有些夸张,但事实可能确实如此。你不需要对自己太过苛刻,你需要记住的是,考 1 分比考 0 分强,考 60 分比考 59 分强;只要你肯去花时间学习,哪怕只学到了皮毛,也会比没学强很多。

这也是我一直以来对待学习的一个态度。

可能因为种种原因,我们没办法做全年级的第一名,那我们可以尝试做班级的第一名;没办法做班级的第一名,就做班级的前十名吧。

这不是一种妥协,而是一种不卑不亢的态度。毕竟天外有天,人外有人。

拿我自己来说吧,我既不是 985、211 的学长,也没有在一线互联网大厂的从业经验,但这有什么关系呢?只要我一直在进步,一直在学习,就能追赶上这个世界的浪潮,作出应有的贡献,其一就是帮助大家一起成长。

或许,这更应该是大多数普通人该有的态度。

就像 CSAPP 这门课,确实经典,确实牛逼,但当你只是一个编程初学者的时候,尽量先不去碰它,免得被劝退。除非你是万里挑一。

但当你有了一定的编程经验后,你就不应该再去逃避这门课了。你应该去学习这门课程,无论头皮硬不硬,因为它能真正提升你的竞争力。

除了上面提到的这两门视频课程可以作为辅助学习资料外,我再给你推荐一个上海交通大学的课程,地址:

>[https://www.icourse163.org/course/SJTU-1206676848](https://www.icourse163.org/course/SJTU-1206676848)

这门课是 2020 年新出的,所以食用起来会更加的舒适。

沉默王二's avatar
沉默王二 已提交
113
![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexijianyi/read-csapp-5a759059-81da-4814-881c-5b58fb168de8.png)
沉默王二's avatar
沉默王二 已提交
114 115 116 117 118 119


当然了,要学好 CSAPP 这门课,并不容易,因为它包含了汇编、计算机组成原理、操作系统、计算机网络等等方方面面的知识,任何一个知识点展开去学习,都是需要花费大量时间和精力的。

但求知的快乐不也正源于此吗?

沉默王二's avatar
沉默王二 已提交
120 121
----

沉默王二's avatar
7600+  
沉默王二 已提交
122
GitHub 上标星 7600+ 的开源知识库《二哥的 Java 进阶之路》第一版 PDF 终于来了!包括Java基础语法、数组&字符串、OOP、集合框架、Java IO、异常处理、Java 新特性、网络编程、NIO、并发编程、JVM等等,共计 32 万余字,可以说是通俗易懂、风趣幽默……详情戳:[太赞了,GitHub 上标星 7600+ 的 Java 教程](https://tobebetterjavaer.com/overview/)
沉默王二's avatar
沉默王二 已提交
123

沉默王二's avatar
沉默王二 已提交
124 125

微信搜 **沉默王二** 或扫描下方二维码关注二哥的原创公众号沉默王二,回复 **222** 即可免费领取。
沉默王二's avatar
沉默王二 已提交
126

沉默王二's avatar
沉默王二 已提交
127
![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/gongzhonghao.png)
沉默王二's avatar
沉默王二 已提交
128