简介
CSAPP全名是《深入理解计算机系统》,是CMU的教材,也被很多国内外著名的大学选用作教材,我们的408考研使用的《计算机组成原理》其中的一篇参考书目就是经典的CSAPP。其中涉及到计算机系统结构、操作系统、编译器、网络、并发编程方面的知识,并且书中的讲解详细且清晰,循序渐进的学习非常有利于从programmer的视角理解计算机的工作原理,因此特开一版记录我自己的心得,不过毕竟刚而且现在力争把书刷完,因此记录可能有些草率,后面会补全。
第一章
- GCC是GNU的一个编译器,历史上被称为GNU C Compiler,现在已经能够对于C++,Java,Ada等语言提供了支持,因此现在已经演化成了GNU Compiler Collection。
- 源程序文件需要经过预处理(扩展过程)、编译(翻译成汇编)、汇编(汇编器将其翻译成机器语言)、链接(链接预先设置好的库函数文件)。
- IA32和x86-64是两种机器语言,后者是对于前者在64位平台上的一种扩展。
- Shell是外壳,是OS的一种接口,实际上也是一个进程。
- programmer写程序的时候,是将内存看作一个巨大的线性数组。
- 指令集结构描述的是每条机器代码的执行结果,微体系结构讲述的是处理器实际上是如何实现的。
- 缓存是非常重要的思想,L1-L3是寄存器的缓存,主存是L1-L3的缓存,磁盘是主存的缓存,本地磁盘又是其他系统磁盘的缓存。
- 文件就是字节序列,仅次而已,不同的理解方式会导致文件不同功能的体现。