《虚拟机:系统与进程的通用平台》的作者从计算机体系结构研究者的角度,以计算机系统接口抽象层次中两个最重要的接口——应用的二进制接口(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 实际机器
参考文献
索引
《解析彩虹》内容简介:全球极具影响力的科学家、当代知名进化论生物学家 《自私的基因》作者理查德•道金斯首部科普作品 写给所有人
MATLAB 在数学建模中的应用-(第2版) 本书特色 《matlab在数学建模中的应用》(第2版)一书是《matlab在数学建模中的应用》一书的第2版...
《激荡人生》内容简介:《激荡人生》是著名财经作家吴晓波继《大败局》、《激荡三十年》之后的又一力作。《激荡人生:一起走过三十
《“清”眼看世界:研究生海外社会实践成果集》内容简介:本书梳理了清华大学研究生海外社会实践近五年来的优秀实践成果,精选了来
本书内容完全站在网页制作技术的角度上,从网页必备元素开始,详细而完整地讲解了相关标记,并且用大量范例说明各元素的使用方法
本书重点论述数字通信的技术基础和最新应用。全书共分15章,详细阐述了数字通信系统的基本信号变换、信号处理步骤、基带信号及高
《在你身边,为你设计》内容简介:设计属于所有人,也意在为所有人使用,这既是设计的价值,也是设计的责任。腾讯公司用户研究与体
不可知的未来正向我们涌来,在IT技术变革比人们换手机还勤的时代里,一切更新都显得那么平常而频繁。这一切的策源地――硅谷,也
《员工!加油!》内容简介:人生只有时常加油,才有生命的灿烂!越是困难,越是危机时刻,我们越应该加油!珍惜你的工作,珍惜你的
《中风偏瘫家庭康复》内容简介:吴镇阳主编的《中风偏瘫家庭康复》简要介绍了中风防治的基本知识,详细阐述了中风偏瘫康复的基本知
《探绿:居住区植物配置宝典(北方植物卷)》内容简介:随着我国园林事业的快速发展,植物造景的技术和艺术得到了很大的进步。学者
《Java程序员面试秘笈》内容简介:Java程序员目前就业形势较好,因为Java的应用太广泛了,从网页开发到手机安卓开发,都离不开Java
《Perl语言入门(第5版)》也就是大家所称道的“小骆驼书”,是Perl程序设计人员最为仰赖的启蒙读物之一。自1993年以来,这本《Per
计算机网络系统方法(原书第3版),ISBN:9787111155140,作者:(美)LarryL.Peterson,(美)BruceS.Davie著;叶新铭,贾...
本书在前五版的基础上改编而成,系统地介绍了现他通信系统的基本理论和阳新发展技术。全书共分八章:内容包括:绪论;信号与频谱
信息系统项目管理师软考45分采分点梳理与难点突破 本书特色 郭春柱等编著的《信息系统项目管理师软考45分采分点梳理与难点突破》对考试大纲、教材和历次考试真题进行...
《东北文学通史(全二册)》内容简介:本书是吉林省社会科学基金重点委托项目研究成果。此书上溯先秦时期的上古神话与英雄史诗,下
《涡河边的老子》内容简介:《涡河边的老子》把《老子》放在淮河流域的背景下阅读,寻找、还原了它的地理土壤,放在散文随笔的形式
佳肴总是让人食指大动,一个好的餐厅视觉形象则能充分表现烹饪哲学,让品牌印象深入人心,同时令顾客乐不思归。设计师精心打造的
《绘设计:建筑快题设计完全解析》内容简介:这是一本对建筑快题设计进行全面解析的综合教程,以建筑快题设计方法为基础,以解决建