来自:程序员库

其实不管我们是训练出来的计算机学生,还是半路出家的计算机大神,选好书可能会让你事半功倍。

今天,我想和大家分享一本在豆瓣获得9.8分的圣书,《对计算机系统的深刻理解》,一本介绍《CMU》计算机教材的书

在谈论这本书之前,我们先讨论一个问题。从输入命令到计算机给出结果的过程是怎样的,你知道吗?

其实简单来说,当你键入一个命令的时候,电脑首先要做的就是把你的语言变成机器语言,让电脑读取然后执行你想要的操作。下图中,我们以“hello world”最简单的C语言编译为例:

当然,这只是一种流行的方式。其实编译过程要复杂得多,包括预处理阶段、编译阶段、汇编阶段、链接阶段,这是本书的重点内容。所以,如果你想对计算机系统有更深入的了解,不妨去看看。

原版书《计算机系统的深层理解》的第二版

这本书的特色:

●《神书》,豆瓣评分9.9,电脑书最高分

●完全基于X86-64位处理器

●第二版销量突破10万册

●卡内基梅隆大学、北京大学、清华大学、上海交通大学等知名大学指定教材

这本书只是为了说明一个问题:一个程序从编译到运行会发生什么

这本书最大的优点是为程序员描述计算机系统的实现细节,帮助他们在大脑中构建一个层次化的计算机系统,从内存中底层数据的表示到流水线指令的组成,到虚拟内存,到编译系统,到动态加载库,再到用户模式下的最终应用。通过掌握程序是如何映射到系统的,以及程序是如何执行的,读者可以更好地理解程序为什么会这样,以及低效是如何造成的。

《计算机系统深度理解》现已进入第三版,第一版于2003年出版,第二版于2011年出版。现在电脑发展很快,但是这本书的口碑还是有增无减,第三版豆瓣评分高达9.9,这是因为书中的内容仍然可以覆盖大部分现在的系统。

阅读路线

版本3的内容核心从IA32和x86-64变成了x86-64。这样的修订必然会导致内容结构与第二版之间的差异。下面我们详细了解每一章的内容:

第一章:计算机系统漫游,通过《hello world》分析整个软硬件系统,这是任何编程书的第一个程序。

第二章:信息的表示和处理。本章主要涉及一些数据类型,比如整数的二进制表示和浮点数。但是也有读者看了之后表示了一些困惑。建议你先把这一章的数学细节放下,看完再背会豁然开朗。

第3章:程序的机器级表示。本章首次介绍了对处理浮点数据的程序的机器级支持。

第四章:处理器体系结构,重点是指令集和流水线

第五章:优化程序性能,重点关注最近几代x86-64处理器的性能。给出了几种基于程序数据流表示的程序性能模型,它们的性能预测非常可靠

第6章:内存的层次结构,重点是双极缓存的原理和缓存级的代码优化

第7章:链接

第八章:异常控制流程,从底层硬件到高层语言,每一层都有异常。如何处理这些异常是本章要描述的

第九章:虚拟内存,本章介绍了虚拟内存作为缓存工具的使用,并给出了两个案例:酷睿i7地址转换和Linux虚拟内存系统

第十章:系统级输入输出

注意:

不得不再次提醒大家,这本书关注的是执行x86-64机器码的系统,内容直接适用于Solaris、FreeBSD、MAC OS X等类似Unix的操作系统,如果对C或者C++有一定的了解,读这本书会更流畅。如果使用Java,可能要花更多的时间来完成两者之间的转换。

但是如果你平时用Python、Ruby或者Perl的话,读这本书之前最好先学习一些C语言的基础知识。一般来说,想看这本书,最好先有C语言基础。

读者书评

@ DreamAndDead:程序员要有一本五星好书,习题值得做

@ Anonymous:计算机专业必读书籍,对于初学者和技术人员来说都是不错的选择。

@匿名:这本书无疑是业界良心之作,是名著集锦!

@王博士:“覆盖面广”其实是这本书最大的优点。它告诉我们计算机是如何设计和操作的,操作系统的要点是什么,它们的功能是什么。其实CSAPP的目标是把原理解释清楚,但不会太深入太细致地去挖掘一个话题。读完这本书,我们可以对计算机系统各组成部分的工作模式有一个理性的认识。

@懒猫:这是一本非常有趣的书。了解底层的计算机技术很有挑战性,也很有意思。我从大二开始就没有读过什么哲学、历史、文学方面的书,因为这样的书足以给人带来极大的乐趣。

关于其他计算机系统的好书

1.计算机体系结构的定量研究方法

2.计算机组成与设计:硬件/软件接口

3.计算机系统导论

4.计算机程序的构造和解释

如果你读过其他与计算机系统相关的好书,也可以给我们留言。

●670号,直接输入该条的编号

●输入m获取文章目录

1.《计算机书籍 看了那么多计算机系统书籍,最好的还是这一本》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《计算机书籍 看了那么多计算机系统书籍,最好的还是这一本》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/yule/1677101.html