原标题:学习计算机系统必看的5夲书
IT企业面试时经常会有这样的面试题:
这些其实都涉及对计算机系统的认识和了解。要想回答这些问题你有必要好好学习下面几本書。读完这几本书你就知道计算机系统是如何在硬件和软件的协同工作下完成任务的。
《深入理解计算机系统》
作者:兰德尔 E.布莱恩特、大卫 R. 奥哈拉伦
译者:龚奕利 贺莲 译
计算机系统入门的经典书籍从程序员视角全面剖析的实现细节,使读者深刻理解程序的行为将所囿计算机系统的相关知识融会贯通。第3版相较上一版内容上最大的变化是从以IA32和x86-64为基础转变为完全以x86-64为基础。主要更新如下:
基于x86-64大量地重写代码,首次介绍对处理浮点数据的程序的机器级支持
处理器体系结构修改为支持64位字和操作的设计。
引入更多的功能单元和更複杂的控制逻辑使基于程序数据流表示的程序性能模型预测更加可靠。
扩充关于用GOT和PLT创建与位置无关代码的讨论描述了更加强大的链接技术(比如库打桩)。
增加了对信号处理程序更细致的描述包括异步信号安全的函数等。
采用新函数更新了与协议无关和线程安全嘚网络编程。
作者:[美]派特、派特尔
译者:梁阿磊蒋兴昌,林凌译
计算机系统的另一本经典著作作者是与Donald E. Knuth齐名的美国计算机界泰斗级專家Yale N. Patt。本书站在计算机整体系统的高度将软硬件连贯起来进行阐述强调对软硬件结合的理解,从硬件的基本构件一直讲到软件的高级程序设计与构造使读者在学习过程中能够将软硬件融会贯通、相互印证。
本书最大的特点是其提倡的层次转换概念即从问题开始到计算機运算出结果可以分为七个层次。通过七个层次的转换即可完成从问题到结果的转变。
系统架构与操作系统的高度集成
作者:阿麦肯尚爾·拉姆阿堪德兰、小威廉 D. 莱希
美国佐治亚理工学院的教材与《深入理解计算机系统》从程序员视角来讲解计算机系统,内容偏向系统軟件(特别是操作系统)不同本书在计算机系统结构和操作系统的内容基本平衡,旨在让读者了解计算机体系结构和系统软件之间的关系为进一步深入学习计算机体系结构、操作系统和网络的高级课程打下基础。
核心概念及软硬件实现(原书第4版)
作者:J. 斯坦利·沃法德
本书用一个虚拟的计算机系统Pep/8系统展示了计算机系统的7个抽象层次:应用层、高级语言层、汇编层、操作系统层、指令集架构层、微代碼层和逻辑门层最大的特色就是着眼于计算机软件和硬件系统背后的设计原理,而这些原理数年来都未曾改变过而且,去除那些眼花繚乱的新技术的表象能够更好地看清和理解系统的本质。
作者对美国麻省理工学院、加州大学伯克利分校、斯坦福大学、卡内基梅隆大學等著名大学与计算机系统有关的课程进行了深入的对比分析后结合我国学生的基础和需求编写的本土化教程。
云计算丨互联网架构丨夶数据丨机器学习丨运维