本书是将计算机软件和硬件理论结合讲述的经典教程,内容覆盖计算机导论、体系结构和处理器设计等多门课程。本书的 优点是为程序员描述计算机系统的实现细节,通过描述程序是如何映射到系统上,以及程序是如何执行的,使读者更好地理解程序的行为为什么是这样的,以及造成效率低下的原因。
和第2版相比,本版内容上的变化是,从以IA32和x86-64为基础转变为完全以x86-64为基础。主要更新如下: ? 基于x86-64,大量地重写代码,首次介绍对处理浮点数据的程序的机器级支持。 ? 处理器体系结构修改为支持64位字和操作的设计。 ? 引入更多的功能单元和更复杂的控制逻辑,使基于程序数据流表示的程序性能模型预测更加可靠。 ? 扩充关于用GOT和PLT创建与位置无关代码的讨论,描述了更加强大的链接技术(比如库打桩)。 ? 增加了对信号处理程序更细致的描述,包括异步信号安全的函数等。 ? 采用函数,更新了与协议无关和线程安全的网络编程。
本书聚焦于当今高性能多核处理器的并行编程系统的理论和实践方面,探讨实现并行编程模型所需的关键算法的有效实现。此类实现需要考虑底层计算机体系结构的特定体系结构方面以及执行环境提供的功能。本书简要回顾了现代计算机体系结构的关键概念,特别关注并行代码的性能以及并行编程模型中的相关概念。然后,本书转向用于实现并行编程模型的基本算法,并讨论它们如何与现代处理器交互。虽然本书将重点介绍一般机制,但我们将主要使用英特尔处理器体系结构来举例说明所讨论的实现概念,但也将在适当的情况下介绍其他处理器体系结构。所有的算法和概念都以一种易于理解的方式进行了讨论,并附有许多示例、图表和源代码片段。
内容简介这是一本能指导零计算机基础的读者轻松理解计算机软硬件和操作系统工作原理,从而自己动手从0到1编写出一个操作系统的著作。 作者在操作系统领域深度耕耘20余载,不仅一直奋斗在百度等企业一线,而且一直致力于操作系统的教育和布道,希望能帮助和指导越来越多的人,尤其是青少年,能从学生时代开始学习操作系统,能从底层原理真正理解操作系统,改变我国基础软件受制于人的现状。 本书不仅是作者悟透操作系统本质、厚积薄发的成果,而且是他将复杂的操作系统原理化繁为简、举重若轻,成功指导自己9岁的孩子从0到1编写出一个操作系统的过程的全面复盘和复现。本书驱散了操作系统的迷雾,让操作系统不再神秘和高不可攀,让每一个怀揣操作系统梦的中国人都能理解并实现自己的操作系统。 全书一共14章,逻辑上分为上下两篇。
本书是 的计算机体系结构著作,是久负盛名的经典作品。书中系统地介绍了计算机系统的设计基础、指令集系统结构、流水线和指令集并行技术、层次化存储系统与存储设备、互连网络以及多处理器系统等重要内容。这一版新增一章,专门介绍领域专用体系结构。本书对近些年火热的云计算、手机客户端技术、人工智能等相关内容也有涉猎。 本书既可作为高等院校计算机专业本科生或研究生教材,也可作为从事计算机体系结构或计算机系统设计的工程技术人员的参考书。
兰德尔E.布莱恩特、大卫R.奥哈拉伦著,龚奕利、贺莲译的《深入理解计算机系统(原书第3版)/计算机科学丛书》从程序员的视角详细阐述计算机系统的本质概念,并展示这些概念如何实实在在地影响应用程序的正确性、性能和实用性。全书其12童,主要包括信息的表示和处理、程序的机器级表示、处理器体系结构、优化程序性能、存储器层次结构、链接、异常控制流、虚拟存储器、系统级I/O、网络编程、并发编程等内容。书中提供了大量的例子和练习题,并给出部分答案,有助于读者加深对正文所述概念和知识的理解。 本书适合作为高等院校计算机及相关专业本科生、研究生的教材,也可供想要写出 快、 可靠程序的程序员及专业技术人员参考。
长期以来,新设计团队一直在为设计一个自主的、有所突破和创新的操作而努力。为了让新的成员能更快、更容易地理解操作的精髓,从更高的角度去鉴赏和发现操作设计中的精妙与不足,团队成员以Linux 0.11内核为例,对操作的设计思想和实现原理进行了深刻地剖析,取得了十分好的效果,很好地培养和锻炼了团队成员对操作的能力。为了实现让国人也能设计出自己的操作的目标,本书作者团队无私地将他们的独特研究方式与研究成果奉献了出来,希望所有想要去深刻理解Linux内核和操作设计思想朋友能从中受益。 本书的特点在于,既不是空泛地讲理论,也不是单纯地从语法的角度去逐行地分析源代码,而是以操作在实际运行中的几个经典事件为主线,将理论和实际结合在一起,精准地再现了操作在实际运行中究竟是如何运转的。宏观上,大家可以领略Linux 0.11内