本书介绍了虚拟机在操作系统、程序设计语言和计算机体系结构方面的应用。本书内容全面,处于学科的最前沿。书中以清晰而深入的方式,借助有效的应用实例和案例研究,解析了各种基本概念。内容涉及虚拟机的主要类型、析取、对于目标指令集体系结构(ISA)的源ISA仿真、进程虚拟机的执行、用于提高仿真性能的翻译代码优化技术、高级语言虚拟机及其执行、协同设计、多处理器系统的虚拟,以及其他新兴应用。 本书适合于现代计算机体系结构设计、程序设计语言、操作系统和安全技术,以及系统执行方面的学生和从业者阅读。那些对未来计算系统感兴趣的读者,同样会从本书中获益。 前言: 封底 虚拟机技术应用整机虚拟化的概念,脱离实体机的兼容性约束和硬件资源约束,实现更高程度的软件可移植性和适用性。虚拟机快速成为计算机系统设计中的基本要素。虚拟机可提供系统安全性、灵活性、跨平台兼容性、可靠性和资源有效性。虚拟机技术设计用于解决主要计算机组件结合及应用方面的问题,在多个学科中占据了重要位置。具体涉及操作系统、程序设计语言和计算机体系结构。例如在处理层,虚拟技术支持动态程序编译和独立于平台的网络计算。在系统层,虚拟技术支持同一硬件平台上以及服务器中的多操作系统环境。 回顾历史可见,在所应用的多门专业学科中各种虚拟机技术独立发展,因而很难用一种结合性的方法揭示其潜在关系。在本书中,Smith和Nair另辟新路,将虚拟机作为一门统一的学科。由于对相互交错的技术进行了融合,因而能够以一种结构合理的方式探讨和研究虚拟机的实现问题。 虚拟机技术的核心内容包括指令集仿真、动态程序翻译和优化、高级语言虚拟机(包括Java和CLI)以及系统虚拟机,即可用于单用户系统,也可用于服务器。 本书特点 l 探究应用虚拟机技术的众多学科,包括操作系统、程序设计语言和计算机体系结构,并定义出一门新的统一学科。 l 微软、惠普及其他工业研究团体的本领域研究人员对全书进行了审阅。 l 对于计算机系统几十年间的研究和发展,作者从学术和工业两方面进行了综合论述。 l 为一些系统提供了原理图及参考文献,包括Shade模拟系统、FX!32系统、Dynamo/RIO、Java和CLI等流行语言虚拟机、Jikes RVM、Transmeta Crusoe处理器、IBM的AS/400和z/VM系统、VMware的主机虚拟机、Intel的VT-x虚拟技术,以及多处理器虚拟系统——Cellular Disco。 l 讨论了一些新兴应用,包括安全性,以及在机器和网格运算间进行计算环境的移植。