《虚拟机:系统与进程的通用平台》的作者从计算机体系结构研究者的角度,以计算机系统接口抽象层次中两个最重要的接口——应用的二进制接口(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 实际机器
参考文献
索引
《C++从入门到精通(微视频精编版)》内容简介:本书从初、中级读者的角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使
《成交:如何高效转化潜在客户》内容简介:在一个竞争日趋白热化的商业世界里,胜利女神的天平将倾向于那些善于投资人际关系、能够
GerdGigerenzersinfluentialworkexaminestherationalityofindividualsnotfromthepersp...
《快学熟用D3》内容简介:本书所讲的D3.js其实是数据可视化这一门类的库,市面上讲解它的书籍早已汗牛充栋。这本书虽然名字是“D3
《汽车标志大全.德国、法国、俄罗斯篇》内容简介:汽车品牌和它的标志是一个不可分割的整体,汽车品牌对应着标志。品牌名即是可以读
内容介绍———————————————————————————帮助读者认识并发展自身的创造力为着眼点。作者从过去的实验和
《互联网商业的下半场》内容简介:随着人工智能和IT技术的发展,以科技为圆心、以资本为半径的互联网商业的上半场已离我们远去,以
《宋学研究(第二辑)》内容简介:本书为浙江省哲学社会科学重点研究基地浙江大学宋学研究中心主办的学术辑刊。“宋学研究”学术集
[内容简介] 洞察社交网络必读之作,本书深度剖析社交网络引发的三大现象,全面解读社交网络给我们生活、工作和世界带来的伟大变
《商用机器学习:数据科学实践》内容简介:本书基于我在商学院的教学经验而创作,是关于机器学习的一本入门书籍,读者面向商学院学
《快速设计原理教程》从19世纪迪朗对建筑空间的几何化抽象工作讲起,通过介绍“自由平面”、“多米诺”、“构图四则”、“九宫格
你手中的这本《JavaScript王者归来》不仅是一本传播知识的书,更是一本求道的书。本书分为五个部分循序渐进地与读者讨论了JavaSc
Web2.0maybeanelusiveconcept,butonethingiscertain:usingtheWebasmerelyameansofretr...
《旅行者的梦》内容简介:本书是作者以《旅行者的梦》一诗有感而发创作的乐队作品。在我国这部作品是首次出版。作品于2016年进行世
u C/OS-II内核分析.移植与驱动程序开发-(附光盘) 本书特色 《uC/OS-2内核分析、移植与驱动程序开发》讲解循序渐进,旨在帮助读者在短期内了解嵌入式...
《Python Django Web典型模块开发实战》内容简介:Django是基于Python编程语言的三大网站框架之一,是一门需要以实践经验来巩固和提
本书由浅入深,循序渐进地介绍了ASP.NET2.0的新技术,包括新控件、新功能和新的类。为了让读者全面地学习ASP.NET2.0,书中还讲到
TheIntel®64andIA-32ArchitecturesSoftwareDeveloper’sManual,Volume1:BasicArchitect...
CCNA学习指南 本书特色 本学习指南帮你准备*新的ccna考试:cisco网络权威todd lammle编写的这本*畅销的学习指南能帮助你仔细的准备,信心十足...
Ubuntu Linux完全自学教程 本书特色 全程图片讲解轻松推进,100%可实践针对性实例,节省70%学习时间Ubuntu Linux完全自学教程 内容简介...