终于“草草”阅读完了CSAPP,第一次读完,主要目标是建立起知识框架,没有在细节上进行过多的深追,主要目标是构建起知识网络,为后续细节学习打下基础,本文先进行概述,描述各章的主要思想与重点内容。
第一章(计算机系统漫游)
可以说是整本书的一个缩影,很多国外的教材都采用这种方式,以简单的例子来给读者呈现整书的思想。
该章节主要描述了一个简单的程序是如何运行起来的,这一章也提到了高速缓存、进程线程、虚拟内存、网络通信等都会在后续章节进行细讲。
第二章(信息的表示与处理)
这一章节主要讲的是数据的底层存储格式与基本操作,解释了数字的表示(主要是补码),对数据溢出也进行了详细的讲解,最后对整数计算与浮点计算进行了详细的讲解。
这一部分内容看似繁琐枯燥,需要细细琢磨、推演,但这部分绝对是重点内容,对于bug定位、精度评估以及理解计算机底层原理都是至关重要的。
第三章(程序的机器级表示)
这一章就是讲汇编,汇编可以说是适合人类阅读的最底层代码。尤其是随着编译器技术的提升,我们写的代码可能会被编译器优化地“面目全非”,编写汇编可能越来越不重要(因为开发周期长、投入比低),但能够用反汇编对代码进行分析还是十分有用的。
这一部分也是需要细细研读的,特别是之前没接触过汇编的同学,读起来不是那么容易,需要静下心来研读一番,特别是从事高性能计算的同学,反汇编信息具有重要地参考价值。
第四章(处理器体系结构)