第197章 实验室(1 / 4)

收回了思绪,章杉很快就将注意力放在了《uternrar's ersective》

这本书的中译本为《深入理解计算机系统》

本书从程序员的视角详细阐述计算机系统的本质概念,并展示这些概念如何实实在在地影响应用程序的正确性、性能和实用性。

全书共12章,主要内容包括信息的表示和处理、程序的机器级表示、处理器体系结构、优化程序性能、存储器层次结构、链接、异常控制流、虚拟存储器、系统级io、网络编程、并发编程等。书中大量的例子和练习,并给出部分答案,有助于读者加深对正文所述概念和知识的理解。

章杉很快就开始了阅读。

虽然这本书是全英文的,但在章杉面前这点词汇量基本不够看的,完全是小菜一碟。

通过章杉发现本书的最大优点是为程序员描述计算机系统的实现细节,帮助其在大脑中构造一个层次型的计算机系统,从最底层的数据在内存中的表示到流水线指令的构成,到虚拟存储器,到编译系统,到动态加载库,到最后的用户态应用。

通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好地理解程序的行为为什么是这样的,以及效率低下是如何造成的。uter nrar’s ersective》这本书强调的便是作为一个程序员的基本知识。sic来自世界顶级学府it(sic即大名鼎鼎的《structure andnras》,在国内可以买到中译版,即机械工业出版社的《计算机程序的构造与解释》),而《uter nrar’s ersective》也同样出身名门u(卡耐基梅隆大学)。

虽然没有sic那么历史悠久,但它被世界几百所大学(幸运的是也包括章杉所就读的复旦大学)用作教材也有好多年了。

这本书的中译名为“深入理解计算机系统”,章杉非常,十分,以及百分之一百二十地不满意。章杉这么说的原因在于这个译法完全扭曲了书的本意。

如果直译原书名,应该是类似于“以程序员的视角理解计算机系统”,何来“深入”二字。可能在国内编辑看来,这是讲系统的,用c和汇编语言的,因此很“深入”,但章杉认为这只能说明国内技术氛围的浅薄。因为事实上,这是一本入门级别的书,这本书其实并不“深入”,它谈论的内容还是相对比较浅的。

但“浅”不代表“浅薄”,写一本面向初学者的好书往往是非常困难的,因此无论是sic还是《uter nrar’s ersective》,它的作者都是顶尖学府的教授,结合多年教学经验而写出来的。

ductionnnuter syste”课程的教材,是面向计算机专业低年级学生的“计算机系统介绍(导论)”,可能这些学生只是刚刚了解如何使用一门高级语言——如java进行编程,对于计算机系统的工作方式等话题可谓一点都没有接触过,而《uter nrar’s ersective》对读者的背景也只要求是“一些编程经验”而已。

这本书的话题覆盖面很广,从计算机的基本组成,二进制数据表示方式,到机器级别的指令,cu工作方式,存储结构和优化,操作系统的虚拟内存管理,程序运行方式,io,网络、到(较底层)程序性能优化和并行程序开发等等。所以,它其实覆盖了“计算机组成原理”,“操作系统”等许多课程的内容,其中的许多话题都能再次展开,继续深入,都能再变成一本,甚至n本经典。事实上,在高年级的计算机专业课程设置中,都会有更加纵向的内容出现。

因此,如果有人说它“底层”,章杉同意。

但如果说它“深入”,至少章杉不那么赞同。

“覆