书籍详情
虚拟机系统与进程的通用平台
作者:(美)詹姆斯(Smith,J.E),(美)瑞维(Nair,R) 著;安虹,张昱,吴俊敏 译
出版社:机械工业出版社
出版时间:2009-03-01
ISBN:9787111256687
定价:¥78.00
购买这本书可以去
内容简介
本书的作者从计算机体系结构研究者的角度,以计算机系统接口抽象层次中两个最重要的接口——应用的二进制接口(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 在IBM Thomas J. Watson研究中心工作为多款处理器的构造和设计做出了贡献。他涉足多个领域,包括计算机体系结构、性能分析、多处理器虚拟化、设计自动化以及测试,出版过一些著作,拥有一些相关的专利,并曾荣获IBM奖。他开发出的设计和分析工具包括用于剖析的二进制重写工具、轨迹生成工具和模拟器。近期,他致力于研究处理器微架构、动态编译和虚拟机技术。1978年,从伊利诺伊大学获得计算机科学博士学位,曾执教于普林斯顿大学和哥伦比亚大学。Nair博士是IBM技术研究院的成员,也是IEEE的会士。
目录
第1章 虚拟机导论
1.1 计算机体系结构
1.2 虚拟机基础
1.3 进程虚拟机
1.4 系统虚拟机
1.5 一种分类方法
1.6 总结:虚拟机功能的多样性
1.7 本书的其他部分
第2章 仿真:解释和二进制翻译
2.1 基本的解释
2.2 线索解释
2.3 预译码和直接线程解释
2.4 解释一个复杂的指令集
2.5 二进制翻译
2.6 代码发现和动态翻译
追踪源程序代码
例子
其他问题
2.7 控制转移优化
2.8 指令集问题
2.9 案例研究:SHADE和模拟过程中的仿真角色
2.10 总结:性能折衷
译码-分派解释
间接线索解释
带有预译码的直接线索解释
二进制翻译
第3章 进程虚拟机
3.1 虚拟机实现
3.2 兼容性
3.3 状态映射
3.4 内存结构仿真
3.5 指令仿真
3.6 异常仿真
3.7 操作系统仿真
3.8 代码CACHE管理
3.9 系统环境
3.10 案例研究:FX!32
3.11 本章小结
第4章 动态二进制优化
4.1 动态程序的行为
4.2 剖析
4.3 优化翻译块
4.4 优化框架
4.5 代码重排
4.6 代码优化
4.7 相同-ISA优化系统:特殊的进程虚拟机
4.8 小结
第5章 高级语言虚拟机结构
5.1 PASCAL P-CODE虚拟机
5.2 面向对象高级语言虚拟机
5.3 JAVA虚拟机结构
5.4 完善平台:APIS
5.5 微软公共语言基础:一个灵活的高级语言虚拟机
5.6 总结:虚拟ISA的特点
第6章 高级语言虚拟机实现
6.1 动态类加载
6.2 实现安全
6.3 垃圾收集
6.4 JAVA本地接口
6.5 基本的仿真
6.6 高性能仿真
6.7 案例研究:JIKES RVM
6.8 总结
第7章 协同设计虚拟机
7.1 存储器和寄存器的状态映射
7.2 自修改与自引用代码(SELF-MODIFY AND SELF-REFERENCEING CODE)
7.3 代码CACHE的支持(SUPPORT FOR CODE CACHING)
7.4 实现精确异常(IMPLEMENTING PRECISE TRAPS)
7.5 输入输出
7.6 协同设计虚拟机的应用
7.7 实例研究:TRANSMETA CRUSOE
7.8 实例研究:IBM AS/400
7.9 总结
第8章 系统虚拟机
8.1 关键概念
8.2 资源虚拟化——处理器
8.3 资源虚拟化——存储器
8.4 资源虚拟化——输入/输出设备
8.5 系统虚拟机的性能提升方法
8.6 实例研究:VMWARE虚拟平台
8.7 实例研究:INTEL的VT-X(VANDERPOOL)技术
8.8 总结
第9章 多处理器虚拟化
9.1 多处理器系统的划分
9.2 物理划分
9.3 逻辑划分
9.4 实例研究:CELLULAR DISCO系统虚拟机――基于划分技术
9.5 不同主机与客户ISA的虚拟化
9.6 总结
第10章 新兴应用
10.1 安全
10.2 计算环境的迁移
10.3 网格:虚拟的组织结构
10.4 总结
1.1 计算机体系结构
1.2 虚拟机基础
1.3 进程虚拟机
1.4 系统虚拟机
1.5 一种分类方法
1.6 总结:虚拟机功能的多样性
1.7 本书的其他部分
第2章 仿真:解释和二进制翻译
2.1 基本的解释
2.2 线索解释
2.3 预译码和直接线程解释
2.4 解释一个复杂的指令集
2.5 二进制翻译
2.6 代码发现和动态翻译
追踪源程序代码
例子
其他问题
2.7 控制转移优化
2.8 指令集问题
2.9 案例研究:SHADE和模拟过程中的仿真角色
2.10 总结:性能折衷
译码-分派解释
间接线索解释
带有预译码的直接线索解释
二进制翻译
第3章 进程虚拟机
3.1 虚拟机实现
3.2 兼容性
3.3 状态映射
3.4 内存结构仿真
3.5 指令仿真
3.6 异常仿真
3.7 操作系统仿真
3.8 代码CACHE管理
3.9 系统环境
3.10 案例研究:FX!32
3.11 本章小结
第4章 动态二进制优化
4.1 动态程序的行为
4.2 剖析
4.3 优化翻译块
4.4 优化框架
4.5 代码重排
4.6 代码优化
4.7 相同-ISA优化系统:特殊的进程虚拟机
4.8 小结
第5章 高级语言虚拟机结构
5.1 PASCAL P-CODE虚拟机
5.2 面向对象高级语言虚拟机
5.3 JAVA虚拟机结构
5.4 完善平台:APIS
5.5 微软公共语言基础:一个灵活的高级语言虚拟机
5.6 总结:虚拟ISA的特点
第6章 高级语言虚拟机实现
6.1 动态类加载
6.2 实现安全
6.3 垃圾收集
6.4 JAVA本地接口
6.5 基本的仿真
6.6 高性能仿真
6.7 案例研究:JIKES RVM
6.8 总结
第7章 协同设计虚拟机
7.1 存储器和寄存器的状态映射
7.2 自修改与自引用代码(SELF-MODIFY AND SELF-REFERENCEING CODE)
7.3 代码CACHE的支持(SUPPORT FOR CODE CACHING)
7.4 实现精确异常(IMPLEMENTING PRECISE TRAPS)
7.5 输入输出
7.6 协同设计虚拟机的应用
7.7 实例研究:TRANSMETA CRUSOE
7.8 实例研究:IBM AS/400
7.9 总结
第8章 系统虚拟机
8.1 关键概念
8.2 资源虚拟化——处理器
8.3 资源虚拟化——存储器
8.4 资源虚拟化——输入/输出设备
8.5 系统虚拟机的性能提升方法
8.6 实例研究:VMWARE虚拟平台
8.7 实例研究:INTEL的VT-X(VANDERPOOL)技术
8.8 总结
第9章 多处理器虚拟化
9.1 多处理器系统的划分
9.2 物理划分
9.3 逻辑划分
9.4 实例研究:CELLULAR DISCO系统虚拟机――基于划分技术
9.5 不同主机与客户ISA的虚拟化
9.6 总结
第10章 新兴应用
10.1 安全
10.2 计算环境的迁移
10.3 网格:虚拟的组织结构
10.4 总结
猜您喜欢