本书从程序员的视角详细阐述计算机系统的本质概念,并展示这些概念如何实实在在地影响应用程序的正确性、性能和实用性。本书的最大优点是为程序员描述计算机系统的实现细节,帮助其在大脑中构造一个层次型的计算机系统,从最底层的数据在内存中的表示到流水线指令的构成,到虚拟存储器,到编译系统,到动态加载库,到最后的用户态应用。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好地理解程序的行为为什么是这样的,以及效率低下是如何造成的。本书和第2版相比,本版内容上最大的变化是,从以IA32和x86-64为基础转变为完全以x86-64为基础。主要更新如下:基于x86-64,大量地重写代码,首次介绍对处理浮点数据的程序的机器级支持。处理器体系结构修改为支持64位字和操作的设计。引入更多的功能单元和更复杂的控制逻辑,使基于程序数据流表示的程序性能模型预测更加可靠。扩充关于用GOT和PLT创建与位置无关代码的讨论,描述了更加强大的链接技术(比如库打桩)。增加了对信号处理程序更细致的描述,包括异步信号安全的函数等。采用新函数,更新了与协议无关和线程安全的网络编程。有卡耐基梅隆大学(其计算机学院在美国名列前茅)镇校神课之称的CMU 15-213(校内最收欢迎的课程)的对应教材(同时也是国内外众多著名高校选用的教程。
暂无评论,打开APP参与讨论