您的浏览历史

虚拟机系统与进程的通用平台(china-pub 独家首发)

促销活动
  • [本书]参加机械工业出版社华章公司满58元赠书活动
精彩评论

基本信息

编辑推荐

一本深入介绍所有虚拟机技术的经典巨著!
从本书英文版出版至今的三年中,书中预测的很多技术都陆续成为现实中存在的技术与产品!
VMware、IBM、微软、INTEL公司众多技术专家倾力推荐!
译者耗时三年,反复修改八次,呕心沥血之作!
期待已久的《虚拟机:系统与进程的通用平台(中文版)》,china-pub3月11号首发!
官方讨论群:66567188

内容简介回到顶部↑

本书的作者从计算机体系结构研究者的角度,以计算机系统接口抽象层次中两个最重要的接口——应用的二进制接口(Application Binary Interface,ABI)和应用程序接口(Application Program Interface,API)为边界,将计算机系统资源的各种虚拟化技术划分为进程虚拟机和系统虚拟机两大类展开讨论,清晰地展现了虚拟化技术各种方法的各个层面和各类应用。
  本书可以作为讲授计算机系统结构研究生课程《虚拟机技术》的教材或教学参考书。工作在虚拟机技术领域的专业人士可以用于自学这些领域的前沿技术。本书还可以作为一本计算机系统软硬件参考资料。

作译者回到顶部↑

本书提供作译者介绍

James E. Smith,威斯康星大学麦迪逊分校电子与计算机工程系教授。从伊利诺伊大学获得计算机科学博士学位。1979至1981年间在美国的控制数据公司工作,参与CYBER 180/990的设计。其后,曾参与ACA ZS-1的开发工作。1989年加入Cray研究公司,率研究小组开发和分析未来超级计算机的体系结构。近期,致力于研究虚拟机抽象技术,通过虚拟机硬件和软件的协同设计和紧耦合来提高性能。鉴于在计算机体系结构领域内的成就,Smith博士荣获1999年的ACM/IEEE Eckert-Mauchly奖。
.. << 查看详细

作者: Ravi Nair
Ravi Nair,在IBM Thomas J.Watson研究中心工作,为多款处理器的构造和设计做出了贡献。他涉足多个领域,包括计算机体系结构、性能分析。多处理器虚拟化、设计自动化以及测试,出版过一些著作,拥有一些相关的专利,并曾荣获IBM奖。他开发出的设计和分析工具包括用于剖析的二进制重写工具.轨迹生成工具和模拟器。近期,他致力于研究处理器微架构、动态编译和虚拟机技术。1978年,从伊利诺伊大学获得计算机科学博士学位,曾执教子普林斯顿大学和哥伦比亚大学。Nair博士是IBM技术研究院的成员,也是IEEE的会.. << 查看详细

[同作者作品]
虚拟机系统与进程的通用平台(china-pub 独家首发)

作者: James E.Smith
James E.Smith,威斯康星大学麦迪逊分校电子与计算机工程系教授。他从伊利诺伊大学获得计算机科学博士学位。1979至1981年间在美国的控制数据公司工作,参与CYBER 180/990的设计。其后,曾参与ACA ZS-1的开发工作。1989年加入Cray研究公司,率研究小组开发和分析未来超级计算机的体系结构。近期,致力于研究虚拟机抽象技术,通过虚拟机硬件和软件的协同设计和紧耦合来提高性能。鉴于在计算机体系结构领域内的成就,Smith博士荣获1999年的ACM/IEEE Eckert-Mauchly奖。.. << 查看详细

[同作者作品]
虚拟机系统与进程的通用平台(china-pub 独家首发)

目录回到顶部↑

第1章 虚拟机导论
 1.1 计算机体系结构
 1.2 虚拟机基础
 1.3 进程虚拟机
  1.3.1 多道程序设计
  1.3.2 仿真器和动态二进制翻译器
  1.3.3 相同ISA下的二进制优化器
  1.3.4 高级语言虚拟机:平台独立性
 1.4 系统虚拟机
  1.4.1 系统虚拟机的实现
  1.4.2 全系统虚拟机:仿真
  1.4.3 协同设计虚拟机:硬件优化
 1.5 一种分类方法
 1.6 总结:虚拟机功能的多样性
 1.7 本书的其他部分
第2章 仿真:解释和二进制翻译
 2.1 基本的解释
 2.2 线索解释
 2.3 预译码和直接线程解释
  2.3.1 基本的预译码

译者序回到顶部↑

进入二十一世纪,工艺技术的进步和计算机应用的变化推动了计算机体系结构的迅猛发展,赋予了计算机体系结构新的含义。现代计算机系统的硬件结构正在朝着片上多核、系统多级并行处理的方向发展,并且通过Internet网络互联起来,构成功能更强大,应用更广泛的系统。在系统的物理资源大大增加的同时,系统的物理实现也变得极为复杂,系统的可扩展性、可靠性、可用性、可管理性和安全性等方面都遇到了前所未有的、难以用单点的体系结构技术来解决的一系列问题。布特勒·兰普逊(Butler Lampson)1992年在他获得图灵奖时发表的演说中引用了大卫·韦勒(David Wheeler)的名言:“计算机科学中的任何问题都可以通过增加一个中间层来解决”,阐明了用虚拟化技术来解决这一系列问题的大方向,揭示了虚拟机技术发展动因的历史必然。.
本书的作者敏锐地观察到了现代计算机体系结构发展趋势的这一重大变化,从计算机体系结构研究者的角度,以计算机系统接口抽象层次中两个最重要的接口——应用的二进制接口(Application Binary Interface, ABI)和应用程序接口(Application Program Interface, API)为边界,将计算机系统资源的各种虚拟化技术划分为进程虚拟机和系统虚拟机两大类展开讨论,清晰地展现了虚拟化技术各种方法的各个层面和各类应用。
第一章首先引入了计算机系统接口的抽象定义,讨论了虚拟化与各层接口的关系。然后从计算机体系结构的概念出发,对各种不同类型的虚拟机进行了分类总结,将虚拟机分为两个主要类型:进程虚拟机和系统虚拟机。
第二章至第六章策重讨论进程虚拟机。第二章讨论在目标指令集上仿真源指令集体系结构的相关问题,并以Intel IA-32为CISC源指令集,IBM PowerPC为RISC目标指令集为例来说明。以Shade系统为例介绍了二进制翻译技术。第三章讨论进程虚拟机的实现问题,包括指令集的仿真和主机操作系统接口的仿真。实例介绍了 FX!32系统。第四章讨论通过代码优化获得更好的仿真性能的技术,包括各种程序剖析技术。此外这章还讨论了代码重排序技术。实例介绍了Dynamo动态二进制代码优化器。第五章介绍高级语言虚拟机的体系结构,特别是他们支持面向对象编程和安全的特征。实例介绍了当今两个重要的面向对象虚拟机——Java虚拟机和微软的CLI。第六章进一步讨论高级语言虚拟机的实现问题。实例介绍了Jikes Research虚拟机。
第七章至第九章策重讨论系统虚拟机。第七章介绍协同设计虚拟机。实例介绍了Transmeta Crusoe处理器和IBMAS/400 处理器。第八章涉及经典的系统虚拟机及其实现方法,包括本地虚拟机和宿主虚拟机。此外还讨论对计算机系统三个主要资源:处理器、存储器、I/O的虚拟化技术,以及如何用硬件来提高虚拟机的性能。本章给出的研究实例包括:VMware和Intel VT-x(Vanderpool)。第九章讨论多处理器系统的虚拟化问题,包括对不同指令集的客户和主机平台多处理器系统的虚拟化。
第十章介绍了虚拟机技术新兴的应用领域,重点介绍了在安全领域(讨论入侵检测系统的原理以及虚拟机在系统攻防方面的应用潜力)、移动计算环境(讨论了商业上的应用:VMware的Vmotion)、以及计算网格(展示典型的系统虚拟机对新兴网格系统出现的重要作用)方面的应用。
附录为本书的主要章节提供了计算机系统结构的背景资料,讨论了处理器、存储器、I/O在计算机系统中的作用。
虚拟机未来应用的广泛性意味着本书适合各种各样的读者。
首先,本书可以作为讲授计算机系统结构研究生课程《虚拟机技术》的教材或教学参考书。虽然虚拟机技术目前还没有成为大学课程中普遍开设的一门课,但由于它与计算机科学、技术和工程的关键性原理:体系结构、操作系统、编程语言和编译器密切相关,虚拟机技术是计算机系统结构专业很好的前沿课程选题。本书也可以作为编译器课程讲授动态优化,操作系统课程讲授经典的系统虚拟机的辅助教材。本书总体上按照一门课程来组织虚拟机技术的内容,但可以不同的方式在课程中灵活使用。在操作系统课程中使用时,教师可以在介绍完第一章后直接进入第八章到第十章,第二章到第五章可以放在后面讨论,以了解虚拟机的实现细节。偏向硬件的课程可以从第一章到第四章开始,然后跳过五、六章,直接进入到其他剩余的章节。偏向编程语言的课程可以在完成了第一章后直接进入到第五章,然后再回到第二至第四章,最后在第六章把所有内容结合到一起。第十章的内容必须在课程开始前有所了解。本书的初版在美国的四所大学,国内的中国科学技术大学,中科院研究生院的研究生课程和高年级本科生的讨论班课程中使用,取得了很大的成功。..
虚拟机技术正越来越多地被工业界广泛地接受和使用。由于一些工业标准接口的势在必行,使得虚拟机技术将在计算机系统体系结构,语言和编译,操作系统,应用软件等各个领域的革新中起到重要的桥梁作用。任何新的指令集、操作系统、编程语言想要被广泛接受都需要与虚拟机技术结合。因此,工作在这些领域的专业人士很快将会发现本书可以用于自学这些领域的前沿技术。本书还可以作为一本计算机系统软硬件参考资料,因为它收集了许多相关的实例资料。对本书有兴趣的专业技术人员可以自主地决定他们阅读这本书的顺序,本书各章的写作相对独立,力图使读者可以从感兴趣的任何一章开始阅读,并在阅读整章内容时只需要偶而翻阅其他部分的内容。
本书的写作具有如下特点:(1)结构清晰。本书从计算机体系结构研究者的角度,以计算机系统接口抽象层次中两个最重要的接口——应用的二进制接口(Application Binary Interface, ABI)和应用程序接口(Application Program Interface, API)为边界,将计算机系统资源的各种虚拟化技术划分为进程虚拟机和系统虚拟机两大类展开讨论,清晰地展现了虚拟化技术各种方法的各个层面和各类应用。(2)全面系统。作者从学术和工业应用两个方面对虚拟机技术几十年的研究和发展历史进行了综合论述,从体系结构,程序设计语言和编译,操作系统,系统安全等多个专业领域深入探讨了虚拟机技术的应用。(3)理实交融。本书提供了大量实际虚拟机系统的原理说明及详实的参考文献,包括Shade模拟系统、FX!32系统、Dynamo/RIO、Java和CLI等流行语言虚拟机、Jikes RVM、Transmeta Crusoe处理器、IBM的AS/400和z/VM系统、VMware的主机虚拟机、Intel的VT-x虚拟技术,以及多处理器虚拟系统——Cellular Disco。微软、惠普及其他工业研究团体的本领域研究人员对全书进行了审阅。(4)面向未来。本书除在各章节讨论了虚拟机技术的各种应用以外,还在最后一章专门讨论了一些新兴的虚拟机应用,包括安全领域(讨论入侵检测系统的原理以及虚拟机在系统攻防方面的应用潜力)、移动计算环境(讨论了两个商业上的应用:VMware的Vmotion)、以及计算网格(展示典型的系统虚拟机对新兴网格系统出现的重要作用)方面的应用。
本书的翻译由中国科学技术大学计算机科学技术系的安虹,张昱和吴俊敏承担。安虹翻译了第1,5,6,9,10章,张昱翻译了第2,3,4章,吴俊敏翻译了第7,8章和附录。翻译完成后,三人进行了互校,最后由安虹对全书进行了统校。研究生隋秀峰、王莉、从明、任永青、王耀彬、李济川、杨晓奇等在虚拟机的课程学习过程中对相关章节的讨论和总结,对于准确理解本书做出了贡献。
本书涉及面较宽,包括计算机体系结构、编译和操作系统、应用开发环境等各个方面,思想较新,提出了许多全新的概念和方法。因此,在翻译的过程中我们深感难以全面准确地把握原文的译意,译文难免存在错误和不足,敬请读者批评指正。...
译者
2008年6月于中国科大

前言回到顶部↑

为了获得新的能力,解决计算机系统主要组件连接界面的多种问题,操作系统、编程语言和编译器、计算机体系结构三个领域都发展了虚拟机技术。操作系统支持的虚拟机技术过去曾相对活跃过,现在又重新引起人们的兴趣,因为它可以在保持高度安全性的同时获得高效的资源共享。虚拟技术在服务器以及其他网络应用,尤其是对安全要求很高的领域越来越受欢迎。在编程语言方面,虚拟机提供了平台无关性,而且支持动态和透明的翻译和优化。在处理器体系结构方面,虚拟机技术允许引入新的指令集,做动态优化以降低功耗,提高性能。.
工业界对一些标准接口的巩固,使得虚拟机技术很可能在上面提到的各个领域的革新中起到重要的作用。新的指令集、操作系统、编程语言要想被广泛接受都需要与虚拟机技术结合。许多虚拟机技术发展的推动力及近来获得的大多数重要进步都来自工业界。
历史上,各种虚拟机技术都延伸到计算机科学和工程学科中。有许多潜在的cross-cutting技术,如果能发挥这些技术的作用就能够以更好的组织方式来进行虚拟机实现的研究和设计。本书是按统一的原则进行虚拟机技术研究的结果。
本书还介绍了对计算机体系结构的理解。按照传统的定义,体系结构就是一个接口。虚拟机把接口连在一起,同时扩大接口的灵活性和功能性。理解体系结构是理解虚拟技术的关键,本书从体系结构研究者的角度,首先保持与接口的相关问题的清晰,使得读者在阅读后对计算机系统接口的重要性,以及它们在计算机主要部件间相互作用时所扮演的角色有更深的认识。
虚拟机应用的广泛性意味着本书有各种各样需求的读者。虽然目前虚拟机还没有被大学作为一个学科来看待,但因为它与计算机科学和工程学的关键原理:体系结构、操作系统、编程语言和编译器的紧密结合,使得虚拟机成为研究生课程的一个很好的主题。本书的初版已经在四所不同大学的研究生课程中使用,并且取得了相当的成功。这本书可以作为关于动态优化的编译器课程或包含典型系统虚拟机的操作系统课程的辅助教材。虚拟机技术正在被工业界广泛而快速地接受,从事相关工作的专业人士将会发现本书也可以用于自学前沿技术。本书还可以作为一本参考资料,因为它收集了许多领域的资料。
本书首先总结了各种不同的虚拟机,从一个的视角建立起统一的讨论框架。后面的章节中将描述主要的几类虚拟机,突出它们之间的共同点和低层技术。下面里粗略地介绍一下每章的纲要。
第一章我们引入了在今天的计算机系统中流行的接口抽象概念和定义。随后讨论了虚拟化及它与接口的关系。接着介绍了计算机体系结构概念,然后总结了各种不同类型的虚拟机。虚拟机可以分为两个主要类型:进程虚拟机和系统虚拟机。在这一章的最后,我们深入讨论了虚拟机的分类,并提出一种虚拟机的分类方法。
第二章我们讨论用目标指令集仿真源指令集体系结构的相关问题。说明了基本解释程序的工作以及如何用线程化的解释(threaded interpretation)来提高性能,并使用Intel IA-32作为CISC源指令集,IBM PowerPC作为RISC目标指令集来说明所开发出的技术。接着我们介绍二进制转换的概念,并讨论代码发现和代码定位的问题。随后讨论控制转移的处理,许多指令集都有一些必须用特别方法处理的特殊性能(有些情况下,它们被称为“quirks”)。最后用一个在Shade模拟系统中仿真的例子来结束这章。
第三章讨论进程虚拟机的实现。进程虚拟机支持在由操作系统和低层硬件组成的主机平台上运行单独的客户应用程序。我们讨论虚拟机兼容性的含义,同时说明在一个进程虚拟机中机器状态,包括寄存器状态和存储器状态如何被映射和维持。这一章我们还研究虚拟机运行时软件如何使用自适应代码和存储器保护区。虚拟机的仿真包括两部分。首先讨论指令集的仿真,涉及到第二章中讨论的解释程序和二进制转换。接着讨论主机操作系统接口的仿真。最后我们介绍了 FX!32系统,FX!32系统包含很多我们在这章讨论的基本原理和思想。
第四章重点讨论用于进行代码优化以获得更好的仿真性能的技术。这一章讨论了执行这些优化所需的基本框架和为了帮助代码优化而在程序执行时必须收集的剖析信息。各种剖析技术都将被讨论。因为优化在更大的代码块上工作的更好,我们将介绍动态基本块(dynamic basic block)、超块(superblock)、轨迹(traces)和树组(tree groups)的概念。这一章还延伸讨论了代码重排序及其局限性。各种代码优化技术,包括块间及块内的优化技术都会介绍。最后通过对Dynamo的研究来总结这一章,Dynamo是动态二进制的优化器,应用于使用相同源和目标指令集的系统中。
第五章介绍了高级语言虚拟机,追溯了从早期的Pascal P-code虚拟机到面向对象的虚拟机。重点介绍高级语言虚拟机的体系结构,特别是他们支持面向对象编程和安全的特征。现今两个重要的面向对象虚拟机分别是Java虚拟机和微软的CLI,这一章描述了他们的字节码、面向栈的指令集等特征。在介绍这两种虚拟机时,对指令集的介绍都附以对增强虚拟机的库和应用程序接口集合组成的整个平台的介绍。
第六章继续讨论高级语言虚拟机,重点是它们的实现。在前面的章节中, 更多关注的是Java,因为他应用广泛而且有很多不同实现。要特别考虑的两个问题是安全和存储管理。垃圾收集的重要性和执行垃圾收集的技术放在一起讨论。随后讨论Java类与在Java环境外写成的程序的相互作用。我们讨论使用第四章提到的代码优化技术及使用针对面向对象模式的特定的新技术对提高Java性能的帮助。我们通过对Jikes Research虚拟机的研究把这章的概念综合到一起。..
第七章我们介绍协同设计(co-designed)虚拟机。在协同设计的虚拟机中,传统的指令集可以通过执行专门实现的(implementation-specific)指令集和在隐藏存储上执行的转换软件一起来实现。我们讨论把原始指令集的状态映射到执行指令集上,以及保持代码缓存中包含转换后代码的技术。许多棘手的问题,包括精确中断、缺页中断也在这里讨论。在这一章的结尾,我们研究了两个例子:Transmeta Crusoe处理器和IBMAS/400 处理器。
第八章涉及典型的系统虚拟机。系统虚拟机支持在主机平台上运行客户操作系统以及它所有的应用。我们说明提出系统虚拟机的动机,并概要介绍系统虚拟机的实现方法,包括本地的(native)和宿主(hosted)的虚拟机。我们还讨论对计算机系统三个主要资源:处理器、存储器、I/O的虚拟化技术。处理器虚拟化的条件最早由Popek和Goldberg在70年代阐明,现在已经得到发展。当指令集不符合这些条件时的虚拟化技术也会讨论。存储器虚拟化的讨论要同时注意结构的页表和结构的TLB系统。接着讨论各种I/O设备的虚拟化。然后我们把注意力转移到用硬件来提高虚拟机系统性能,并以IBM z/VM作为例子来说明。在本章最后研究两个例子:VMware开发的宿主虚拟机系统和Intel为他们的IA-32体系结构开发的VT-x(Vanderpool)技术。
第九章我们把注意力转移到多处理器系统的虚拟化,介绍系统分割的概念,并为不同类型的分割开发出一种方法。我们接着讨论物理分割和逻辑分割的原则。逻辑分割的一个例子是IBM LPAR,随后讨论是由系统管理程序进行逻辑分割。之后我们转向利用基于系统虚拟机对多处理器系统虚拟化。在这章的最后讨论对不同指令集的客户和主机平台的多处理器系统的虚拟化,特别考虑了客户与主机之间不同存储器模型之间的桥接。
第十章讨论虚拟机技术的新兴应用。我们把焦点放在我们觉得在未来几年将是很重要的三个应用领域。第一个是安全领域,我们讨论当代计算机系统易受攻击的弱点,并简单介绍入侵检测系统的原理,讨论了虚拟机在攻击防护和从攻击中恢复方面的应用潜力,我们还讨论了二进制重写技术在关于RIO系统的安全上扮演的角色。第二个应用是从一台机器到另一台的迁移计算(migrating computing)环境,这种技术被用在两个系统中:Internet 挂起/重启(Suspend/Resume)系统、Stanford Collective系统,我们讨论了这两个系统,并讨论了商业上的应用:VMware的VMotion。第三个新型应用是计算网格。我们略述以网格作为计算的基础设施的动机,并与其他类型虚拟机的动机进行比较。最后我们展示典型的系统虚拟机对新兴网格系统出现的重要作用。
附录其实是对计算机系统的浓缩,以提供本书主要章节的背景资料。这章讨论了处理器、存储器、I/O在计算机系统中的作用。然后讨论了指令集,包括对用户应用程序的支持和对操作系统的支持,也讨论了页表和TLB。随后我们讨论了操作系统的主要组件和应用程序与操作系统之间的系统调用接口。最后,我们讨论了多处理器体系结构,包括集群结构和共享存储多处理器系统,还讨论了共享存储多处理器系统中的存储一致性问题。
本书可以以不同的方法在课程中使用。大体上,这本书是按照把虚拟机作为一门课程的论题(这是我们推荐的方式)来组织的。对于讲述虚拟机的操作系统课,教师可以在介绍第一章后直接进入第八到十章,第二到五章可以稍后作为了解实现细节来讨论。偏向硬件的课程可以从第一到四章开始,然后跳过五、六章,直接进入其他剩下的章节。偏向编程语言的课程可以完成第一章后直接进入第五章,然后再回到第二到第四章,然后在第六章把所有内容结合到一起。第十章必须在使用本书开始课程前了解。
特别兴趣的技术人员可以自主决定他们阅读这本书的顺序,我们写这本书,力图使读者可以从感兴趣任何一章的开头开始阅读,并在阅读整章内容时只偶尔需要翻阅其他部分的内容。能完成这本书,我们要感谢许多人。我们要特别感谢许多审阅人,他们是IBM研究中心的Michael;菲利浦研究中心的Jan Hoogerbmgge;微软研究中心的Jim Larus;Sun微系统的Tim Lindholm、Bemd Mathiske;以及哈佛大学的Mike Smith。他们耐心地通读了全文,向我们反馈了许多有价值甚至是批评的非常有用的意见。我们也要感谢许多通读了特定章节的审阅人,给予本书有价值的洞察和评价。这些审阅人包括IBM研究中心的Erik Altman、Peter Capek、Evelyn Duesterwald和Michael Gschwind;佛罗里达大学的Renato Figueiredo;加州大学Irvine分校的Mi-chael Franz;明尼苏达大学的WeiHsu;UPC-Barcelona的Toni Juan;Intel的AlainKagi;Vmware 的Beng-Hong;马萨诸塞大学的EliotMoss;IBM Rochester研究中心的FrankSoltis;Intel的Rich-ard Uhlig;IBM Endicott研究中心的Romney White;普林斯顿大学的Wayne Wolf和微软研究中心的Ben Zom。我们很荣幸就虚拟机的各个方面与IBM的Vas Bala、Ek Ekanadham、Wolfram Sauer以及Charles Webb进行了讨论。
作者要感谢Sriram Vajapeyam在早期整理本书的资料时所做的贡献。威斯康辛大学麦迪逊分校和加泰罗尼亚理工大学Barcelona分校的学生们在学习虚拟机课程和开展虚拟机研究过程中提供了有价值的反馈意见。过去和现在对本书有过帮助的学生包括:Nidhi Aggarwal,Todd Be-zenek,Jason Cantin,Wooseok Chang,Ashutosh Dhodapkar,Timothy Heil,Shiliang Hu,Tejas Karkhanis,Ho-Seop Kim,Kyle Nesbit,和Subramanya Sastry,还有一些学生在此未能一一列出。

媒体评论回到顶部↑

硬件是借助微电子工具构建起来的缺乏灵活性的东西。虚拟机用一层软件将硬件包裹起来,从而使得计算机灵活可变。正在发展的一些新技术,能够实现在同一个硬件上运行多个操作系统、执行多套指令集,允许程序在执行过程中切换机器,甚至排斥不安全的代码。虚拟机正改变着计算机和操作系统的设计方法、编程语言的实现方法,以及安全专家对计算机和计算的认知。Smith和Nair的这本书是迄今为止仅有的对虚拟机及其众多应用的综述。
——Jim Larus, 微软研究院 虚拟机已经无处不在。
Jim Smith和Ravi Navi极为清晰地阐明了虚拟机技术对现代计算机体系结构、程序设计语言、操作系统以及安全技术的深刻影响。对未来计算机系统感兴趣的人有必要研读本书,我极力推荐本书! ——Michael D. Smith, 哈佛大

评论交流

共有35人开贴评论  47人参与评论  20人参与打分 查看

10人
 50%
用户平均打分
我要写评论 help如何参与评论和打分
6人
 30%
0人
 0%
0人
 0%
4人
 20%

dongchiyong

二级评论员
该会员在china-pub购买过此书 精彩书评
  
该作者发表于:2009-12-20 17:17:00
虚拟机的应用是越来越多了,常见的如Java、.Net、VmWare、Virtual PC、Bochs等等。以前经常琢磨虚拟机是怎么构建的,现代虚拟机的性能和功能太令人惊讶了,可一个人关起门来想始终难有什么大的收获。在网上看到这本书的时候,可以说是一见钟情,无论如何也要买下来抽时间看看。到手后,非常满意,可以说这本书较为全面地阐述了虚拟机技术,语言较为简练,非常容易看懂(前提是要懂得计算机体系结构和操作系统原理,对汇编、编译原理有所了解),适用于指导虚拟机开发(最近的进展还是得找论文的)。真希望我们国家的科研都能像美国人那样按部就班,不断投入和实践,一点一滴地积累,论文多了合为经典书籍,方法多了合为经典技术,实践多了问题能够化为新的应用。
回复 ( 1条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得3支)  扔鸡蛋 (得0个)

ziqilipeng

二级评论员
该会员在china-pub购买过此书 精彩书评
评价等级:  
发表于:2010-4-13 12:26:00
我以前对虚拟机很感兴趣,一直都是零零碎碎地资料,这本书我大体看了一下英文版,觉得好多术语不太熟悉,需要看中文版,买了以后看了一大半,有点难,但是内容很不错。像一本论文集的,基本上把所有相关的技术都讲到了,虽然深入到实现还是比较难,但是有这个基础,分析别人的虚拟机实现就很容易了。
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

xcyd

专家级评论员
该会员在china-pub购买过此书 精彩书评
评价等级:  
发表于:2010-4-11 20:12:00
讲述虚拟机的真实书籍,值得一看。
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

realvc

专家级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2010-1-10 23:05:00
以前看过一本虚拟机的设计与实现,没有太多的感觉,看着这本不错
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

zealxp

二级评论员
该会员在china-pub购买过此书 精彩书评
评价等级:  
发表于:2009-9-18 13:43:00
写书的人都很年轻,往往印象中这样的书都应该是大牛头来写,不过感觉很好,对常见虚拟机模型和理论分析的比较深入。缺点是不够透彻,不够结构化,过多讲解系统层面级的调度和线程通讯、并发的问题,没有涉及到抽象的内核级和底层实现的数学模型,定理,实现原则相关概念。可能这个领域目前并没有固定统一的实现标准的原因。希望下一版对虚拟机数学原理有一个讲解。
您觉得呢? 送鲜花 (得1支)  扔鸡蛋 (得0个)
我要写评论
查看所有评论交流(共35条)