佘广 2010年10月19日 星期二 15:13 | 2336次浏览 | 0条评论
第二版新增内容
本书的第一版于2003年出版。考虑到计算机技术发展如此迅速,这本书的内容还算是保持得令人吃惊的好。事实证明Intel x86的机器上运行类Unix操作系统,加上采用C语言编程是一种能够涵盖当今许多系统的组合。硬件技术和编译器的变化,以及很多老师教授这些内容的经 验,都促使我们做了大量的修改。
下面列出的是一些更加详细的改进:
第2章:信息的表示和处理。通过更加详细地解释概念以及更多的练习和家庭作业,我们试图使这部分内容更加易懂。我们将一些比较偏理论的内容放到了网络旁注里。还讲述了一些由于计算机算术运算的溢出造成的安全漏洞。
第3章:程序的机器级表示。我们将内容的覆盖范围扩展到了包括x86-64,也就是将x86处理器扩展到了64位字长。也使用了更新版本的gcc产生的代 码。另外还增强了对缓冲区溢出漏洞的描述。在网络旁注里,我们给出了两类不同的浮点指令,还介绍了当编译器试图做更高等级优化的时候,做的一些奇特的变 换。另外,还有一个网络旁注描述了如何在一个C语言程序中嵌入x86汇编代码。
第4章:处理器体系结构。更加详细地说明了我们的处理器设计中的异常发现和处理。在网络旁注里,我们也给出了我们的处理器设计的Verilog描述映射,使得我们的设计能够综合到可运行的硬件上。
第5章:优化程序性能。我们极大地改变了对乱序处理器如何运行的描述,还提出了一种简单的技术,能够基于程序的数据流图表示中的路径来分析程序的性能。在 网络旁注里,描述了C语言程序员如何能够利用较新的x86处理器中提供的SIMD(单指令流,多数据流)指令来编程。
第6章:存储器层次结构。我们增加了固态硬盘的内容,还更新了我们的表述,使之基于Intel Core i7处理器的存储器层次结构。
第7章:链接。本章的变化不大。
第8章:异常控制流。我们改进了对于进程模型如何引入一些基本的并发概念的讨论,例如,非确定性。
第9章:虚拟存储器。我们更新了我们的存储器系统案例研究,采用了64位Intel Core i7处理器为例来讲述。我们还更新了malloc函数的示例实现, 使之既能在32位也能在64位环境中执行.
第10章:系统级I/O。本章的变化不大。
第11章:网络编程。本章变换不大。
第12章:并发编程。我们增加了关于并发性一般原则的内容,还讲述了程序员如何利用线程级并行性使得程序在多核机器上能运行得更快。
此外,我们还增加和修改了很多练习和家庭作业题目。
Zeuux © 2024
京ICP备05028076号
暂时没有评论