《虚拟机:系统与进程的通用平台》的作者从计算机体系结构研究者的角度,以计算机系统接口抽象层次中两个最重要的接口——应用的二进制接口(Application Binary Interface,ABI)和应用程序接口(Application Program Interface,API)为边界,将计算机系统资源的各种虚拟化技术划分为进程虚拟机和系统虚拟机两大类展开讨论,清晰地展现了虚拟化技术各种方法的各个层面和各类应用。
《虚拟机:系统与进程的通用平台》可以作为讲授计算机系统结构研究生课程《虚拟机技术》的教材或教学参考书。工作在虚拟机技术领域的专业人士可以用于自学这些领域的前沿技术。《虚拟机:系统与进程的通用平台》还可以作为一本计算机系统软硬件参考资料。
第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 基本的预译码
2.3.2 直接线索解释
2.4 解释一个复杂的指令集
2.4.1 IA-32 ISA的解释
2.4.2 线索解释
2.4.3 一个高性能IA-32解释器
2.5 二进制翻译
2.6 代码发现和动态翻译
2.6.1 代码发现的问题
2.6.2 代码定位问题
2.6.3 增量式预译码和翻译
2.6.4 相同ISA仿真
2.7 控制转移优化
2.7.1 翻译链接
2.7.2 软件间接跳转预测
2.7.3 影子栈
2.8 指令集问题
2.8.1 寄存器结构
2.8.2 条件码
2.8.3 数据格式和运算
2.8.4 内存地址解析
2.8.5 内存数据对齐
2.8.6 字节序
2.8.7 寻址结构
2.9 案例研究:SHADE和模拟过程中的仿真角色
2.10 总结:性能折衷
第3章 进程虚拟机
3.1 虚拟机实现
3.2 兼容性
3.2.1 兼容性的级别
3.2.2 一个兼容性框架
3.2.3 实现依赖
3.3 状态映射
3.3.1 寄存器映射
3.3.2 内存地址空间映射
3.4 内存结构仿真
3.4.1 内存保护
3.4.2 自引用和自修改代码
3.5 指令仿真
3.5.1 性能权衡
3.5.2 分阶段的仿真
3.6 异常仿真
3.6.1 异常检测
3.6.2 中断处理
3.6.3 确定精确的客户机状态
3.7 操作系统仿真
3.7.1 相同操作系统仿真
3.7.2 不同操作系统仿真
3.8 代码cache管理
3.8.1 代码cache实现
3.8.2 替换算法
3.9 系统环境
3.10 案例研究:FX 1 32
3.11 总结
第4章 动态二进制优化
4.1 动态程序的行为
4.2 剖析
4.2.1 剖析的作用
4.2.2 剖析的类型
4.2.3 收集剖析
4.2.4 解释期间的剖析
4.2.5 剖析翻译后的代码
4.2.6 剖析开销
4.3 优化翻译块
4.3.1 提高局部性
4.3.2 踪迹
4.3.3 超块
4.3.4 动态超块的形成
4.3.5 树簇
4.4 优化框架
4.4.1 方法
4.4.2 优化和兼容性
4.4.3 一致的寄存器映射
4.5 代码重排
4.5.1 基元指令重排
4.5.2 实现一个调度算法
4.5.3 超块与踪迹
4.6 代码优化
4.6.1 基本的优化
4.6.2 兼容性问题
4.6.3 超块间的优化
4.6.4 特定指令集的优化
4.7 相同ISA优化系统:特殊的进程虚拟机
4.7.1 代码修补
4.7.2 案例:HPDynamo
4.7.3 讨论
4.8 总结
第5章 高级语言虚拟机结构
5.1Pascal P-code虚拟机
5.1.1 内存结构
5.1.2 指令集
5.1.3P-code总结
5.2 面向对象高级语言虚拟机
5.2.1 安全和保护
5.2.2 健壮性——面向对象编程
5.2.3 网络
5.2.4 性能
5.3 Java虚拟机结构
5.3.1 数据类型
5.3.2 数据存储
5.3.3Java指令集
5.3.4 异常和错误
5.3.5 二进制类
5.3.6Java本地接口
5.4 完善平台:APIs
5.4.1Java平台
5.4.2Java API
5.4.3 序列化和反射
5.4.4Java线程
5.5 微软公共语言基础:一个灵活的高级语言虚拟机
5.5.1 公共语言接口
5.5.2 属性
5.5.3 微软中间语言
5.5.4 隔离和应用域
5.6 总结:虚拟ISA的特点
5.6.1 元数据
5.6.2 内存结构
5.6.3 内存地址格式
5.6.4 精确的异常
5.6.5 指令集特点
5.6.6 指令发现
5.6.7 自修改和自引用代码
5.6.8 操作系统依赖
第6章 高级语言虚拟机实现
6.1 动态类加载
第7章 协同设计虚拟机
第8章 系统虚拟机
第9章 多处理器虚拟化
第10章 新兴应用
附录A 实际机器
参考文献
索引
《关羽:神化的《三国志》英雄》内容简介:《三国志》中的豪杰,为什么会被人们作为商业之神来崇拜呢?从史实到故事,再到信仰的对
《新编Word/Excel/PPT商务办公应用大全》内容简介:作为一款常用的集成办公软件,它具有操作方便和容易上手等特点。然而要想真正掌
《LTE:UMTS长期演进理论与实践》系统、深入、全面地介绍了LTE的背景、动因和技术内容,涵盖了基本理论基础、物理层技术设计、网络
林桂岚在她的上一本书《设计,不安于室》中提到:落入设计圈的人都具有浪漫情怀。而在这本《挑食的设计》中她则强调被设计圈住的
《Effective Debugging》内容简介:本书共分8章。首先讲解调试策略(第1章)、调试方法(第2章)以及调试时所用的工具与技巧(第3章
《十岁前,父母给孩子的礼物》内容简介:本书倡导父母抓住孩子前十年的黄金成长时间,送给孩子受益一生的礼物——语言沟通能力和在
Photoshop CS4平面广告设计经典108例-含2DVD 内容简介 本书是一本Photoshop CS4的平面设计案例教程,也是一本Photoshop商业...
《嫦娥奔月》内容简介:传说嫦娥本是后羿之妻,后羿射下9个太阳后西王母赐其不老仙药。后羿门徒蓬蒙欺骗后羿,后羿受骗欺负嫦娥,嫦
《北师大法律评论(2020年第1辑·总第1辑)》内容简介:《北师大法律评论》是由北京师范大学主管、北京师范大学法学院主办的学术集
《唐诗三百首》内容简介:本书是清代蘅塘退士编选的唐诗普及读物。自乾隆二十八年问世以来,“风行海内,几至家置一编”,时至今日
《零基础学平面广告设计》内容简介:本书介绍平面广告设计以及应用案例,内容包括平面广告设计原理,平面广告设计基础,平面广告设
拓展支持向量机算法研究 本书特色 《拓展支持向量机算法研究》从**化理论与方法的角度出发,结合作者长期以来在该领域的研究工作撰写而成。《拓展支持向量机算法研究》...
本书介绍了如何使用Web标准技术来为iPhone和iPad制作Web应用。书中利用最前沿的Web和移动技术,演示了如何使用HTML5来完成繁重的
ClojureisadynamicprogramminglanguagethattargetstheJavaVirtualMachine.TheJoyofClo...
《Python青少年趣味编程》内容简介:Python是现在非常流行的计算机编程语言,它功能强大,应用场景广泛,但其语言却简洁,非常适合
Forone-semestercoursesinIntroductoryBiologyfornon-majors.LifeonEarth,FifthEditio...
《SilverlightASP.NET与AJAX开发实战》讨论Silverlight的部分,并没有预设读者必须具备任何背景或知识,但若能有XML的基础概念,
严肃游戏中个性化建模及认知机制研究 内容简介 本书以具有游戏特征但以非娱乐为目的的“严肃游戏”以及由此衍生的游戏式学习具备有效学习环境的关键特征, 能为学习者提...
AstudyofOFDM,includingacomparisonwithotherformsofsinglecarriermodulationmethods....
群体智能与计算智能优化的盲均衡算法 本书特色 本书针对盲均衡理论与算法研究中初始权向量优化的难题,以智能群算法和智能计算理论为工具,开展了盲均衡算法性能优化的研...