《深入理解计算机系统》
2018-07-16
科学中国人 2018年5期

如果直譯原书名,这本书更应该被称为“以程序员的视角理解计算机系统”。它不是一本适合广泛阅读的科普读物,反倒比较适用于那些想要写出更快、更可靠程序的程序员。
在外界看来,阐述系统、C语言和汇编语言,该书必然是晦涩而深奥的。但其实不然,它是一本面向计算机专业初学者的好书,是顶尖学府大咖结合多年教学经验写出来的。作为一本入门级别的专业书,该书所谈内容并不深入,不会把某个话题挖掘得过于细节化,而往往能从浅显问题中一针见血地指出关键所在。通过掌握程序是如何映射到系统上,以及程序是如何执行的,阅读者能够更好地理解程序行为的发生及效率低下的原因。
全书的主要论题涵盖甚广,包括了数据表示、C程序的机器级表示、处理器结构、程序优化、网络编程和并发编程等。它们如何影响应用和系统程序员,在它们的作用下计算机如何设计和工作,操作系统包含哪些重点及其作用又是什么……这是作者想要极力表达清楚的。随着阅读的推进,透过程序员视角,读者能够清楚地明白:学习计算机系统的内部工作原理对计算机科学研究者和工程师的工作具有怎样的帮助,从而更有利于相关从业者为进一步学习计算机体系结构、操作系统、编译器和网络互连做好准备。
以讲述数据表示为例,该书说明了能够近似地表示整数和实数的数字方法是有限的;而转换到有关高速缓存的叙述,该书讨论了矩阵代码中的循环变量顺序是如何影响程序性能的;
登录APP查看全文
