图书介绍

虚拟机系统与进程的通用平台PDF|Epub|txt|kindle电子书版本网盘下载

虚拟机系统与进程的通用平台
  • (美)JamesE.Smith,RaviNair;安虹,张昱,吴俊敏译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111256687
  • 出版时间:2009
  • 标注页数:382页
  • 文件大小:68MB
  • 文件页数:397页
  • 主题词:虚拟处理机

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

虚拟机系统与进程的通用平台PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 虚拟机导论1

1.1计算机体系结构4

1.2虚拟机基础5

1.3进程虚拟机8

1.3.1多道程序设计8

1.3.2仿真器和动态二进制翻译器8

1.3.3相同-ISA下的二进制优化器9

1.3.4高级语言虚拟机:平台独立性9

1.4系统虚拟机10

1.4.1系统虚拟机的实现11

1.4.2全系统虚拟机:仿真11

1.4.3协同设计虚拟机:硬件优化12

1.5一种分类方法13

1.6总结:虚拟机功能的多样性14

1.7本书的其他部分14

第2章 仿真:解释和二进制翻译16

2.1基本的解释17

2.2线索解释19

2.3预译码和直接线索解释20

2.3.1基本的预译码20

2.3.2直接线索解释22

2.4解释一个复杂的指令集22

2.4.1 IA-32 ISA的解释23

2.4.2线索解释27

2.4.3一个高性能IA-32解释器28

2.5二进制翻译30

2.6代码发现和动态翻译32

2.6.1代码发现的问题32

2.6.2代码定位问题33

2.6.3增量式预译码和翻译33

2.6.4相同-ISA仿真38

2.7控制转移优化38

2.7.1翻译链接39

2.7.2软件间接跳转预测40

2.7.3影子栈40

2.8指令集问题41

2.8.1寄存器结构42

2.8.2条件码42

2.8.3数据格式和运算45

2.8.4内存地址解析45

2.8.5内存数据对齐46

2.8.6字节序46

2.8.7寻址结构46

2.9案例研究:Shade和模拟过程中的仿真角色47

2.10总结:性能折中48

第3章 进程虚拟机51

3.1虚拟机实现52

3.2兼容性53

3.2.1兼容性的级别53

3.2.2一个兼容性框架54

3.2.3实现依赖57

3.3状态映射58

3.3.1寄存器映射58

3.3.2内存地址空间映射59

3.4内存结构仿真61

3.4.1内存保护62

3.4.2自引用和自修改代码64

3.5指令仿真69

3.5.1性能权衡69

3.5.2分阶段的仿真70

3.6例外仿真71

3.6.1例外检测72

3.6.2中断处理73

3.6.3确定精确的客户机状态73

3.7操作系统仿真77

3.7.1相同操作系统仿真77

3.7.2不同操作系统仿真79

3.8代码cache管理80

3.8.1代码cache实现80

3.8.2替换算法81

3.9系统环境84

3.10案例研究:FX!3286

3.11总结88

第4章 动态二进制优化89

4.1动态程序的行为92

4.2剖析95

4.2.1剖析的作用95

4.2.2剖析的类型96

4.2.3收集剖析98

4.2.4解释期间的剖析98

4.2.5剖析翻译后的代码100

4.2.6剖析开销101

4.3优化翻译块101

4.3.1提高局部性101

4.3.2踪迹103

4.3.3超块104

4.3.4动态超块的形成104

4.3.5树簇107

4.4优化框架108

4.4.1方法108

4.4.2优化和兼容性109

4.4.3一致的寄存器映射111

4.5代码重排112

4.5.1基元指令重排112

4.5.2实现一个调度算法116

4.5.3超块与踪迹120

4.6代码优化120

4.6.1基本的优化121

4.6.2兼容性问题122

4.6.3超块间的优化123

4.6.4特定指令集的优化124

4.7相同-ISA优化系统:特殊的进程虚拟机126

4.7.1代码修补127

4.7.2案例:HP Dynamo129

4.7.3讨论131

4.8总结132

第5章 高级语言虚拟机结构133

5.1 Pascal P-code虚拟机135

5.1.1内存结构135

5.1.2指令集136

5.1.3 P-code总结136

5.2面向对象高级语言虚拟机137

5.2.1安全和保护139

5.2.2健壮性——面向对象编程141

5.2.3网络144

5.2.4性能144

5.3 Java虚拟机结构144

5.3.1数据类型145

5.3.2数据存储145

5.3.3Java指令集147

5.3.4异常和错误151

5.3.5二进制类152

5.3.6 Java本地接口154

5.4完善平台:APIs155

5.4.1 Java平台155

5.4.2 Java API155

5.4.3序列化和反射156

5.4.4 Java线程157

5.5微软公共语言基础:一个灵活的高级语言虚拟机158

5.5.1公共语言接口158

5.5.2属性160

5.5.3微软中间语言161

5.5.4隔离和应用域162

5.6总结:虚拟ISA的特点163

5.6.1元数据163

5.6.2内存结构163

5.6.3内存地址格式164

5.6.4精确的异常164

5.6.5指令集特点164

5.6.6指令发现165

5.6.7自修改和自引用代码165

5.6.8操作系统依赖165

第6章 高级语言虚拟机实现166

6.1动态类加载167

6.2实现安全168

6.2.1进程内保护169

6.2.2安全强制执行171

6.2.3增强的安全模型172

6.3垃圾收集173

6.3.1标记清扫收集器174

6.3.2紧压收集器175

6.3.3复制收集器176

6.3.4分代收集器177

6.3.5增量收集器和并发收集器177

6.3.6发现根集178

6.3.7垃圾收集小结178

6.4Java本地接口179

6.5基本仿真180

6.6高性能仿真180

6.6.1优化框架181

6.6.2优化181

6.7案例研究:Jikes RVM189

6.8总结193

第7章 协同设计虚拟机194

7.1存储器和寄存器的状态映射196

7.2自修改与自引用代码199

7.3代码cache的支持200

7.3.1跳转TLB201

7.3.2双地址的返回地址栈202

7.4实现精确陷阱203

7.4.1检查点的硬件支持203

7.4.2页错误兼容性205

7.5输入/输出207

7.6协同设计虚拟机的应用208

7.7案例研究:Transmeta Crusoe208

7.8案例研究:IBM AS/400211

7.8.1存储结构212

7.8.2指令集213

7.8.3输入/输出215

7.8.4处理器资源215

7.8.5代码翻译和隐藏215

7.9总结216

第8章 系统虚拟机218

8.1关键概念220

8.1.1外观220

8.1.2状态管理221

8.1.3资源控制222

8.1.4本地虚拟机和宿主虚拟机224

8.1.5 IBM VM/370224

8.2资源虚拟化——处理器225

8.2.1 ISA的虚拟化条件225

8.2.2递归虚拟化229

8.2.3处理问题指令230

8.2.4关键指令的修补231

8.2.5高速缓存仿真代码232

8.2.6普通指令集的高效虚拟化233

8.3资源虚拟化——存储器234

8.3.1系统虚拟机环境中的虚拟存储器支持234

8.3.2虚拟化结构化页表236

8.3.3虚拟化结构化快表237

8.4资源虚拟化——输入/输出设备238

8.4.1虚拟化设备239

8.4.2虚拟化I/O活动241

8.4.3输入/输出虚拟化和宿主虚拟机243

8.4.4 VM/370的输入/输出虚拟化244

8.5系统虚拟机的性能提升方法245

8.5.1性能下降的原因245

8.5.2指令仿真辅助手段246

8.5.3VMM辅助手段246

8.5.4客户系统的性能提升247

8.5.5专用系统249

8.5.6虚拟机的通用支持250

8.6案例研究:VMware虚拟平台251

8.6.1处理器虚拟化253

8.6.2输入/输出虚拟化254

8.6.3存储器虚拟化255

8.7案例研究:Intel的VT-X(Vanderpoo1)技术256

8.7.1技术概述256

8.7.2技术能力257

8.7.3状态信息的维护258

8.7.4例子:rdtsc指令259

8.8总结260

第9章 多处理器虚拟化261

9.1多处理器系统的划分261

9.1.1动机261

9.1.2支持划分的机制264

9.1.3划分技术的分类265

9.2物理划分266

9.3逻辑划分268

9.3.1逻辑划分的主要特征268

9.3.2案例研究:IBM System 390逻辑划分的特征269

9.3.3利用超级管理程序进行逻辑划分271

9.3.4与系统虚拟机的比较271

9.3.5对逻辑分区的硬件支持272

9.3.6超级管理程序服务接口275

9.3.7动态划分276

9.3.8动态LPAR277

9.3.9扩充超级管理程序的任务277

9.4案例研究:Cellular Disco系统虚拟机——基于划分技术279

9.4.1Cellular Disco系统概述279

9.4.2存储器映射280

9.4.3故障隔离281

9.4.4存储器借用282

9.4.5故障恢复283

9.5不同主机与客户ISA的虚拟化284

9.6总结291

第10章 新兴应用292

10.1安全293

10.1.1入侵检测系统293

10.1.2攻击的监视和恢复295

10.1.3虚拟机技术的作用296

10.1.4动态二进制代码重写在安全性中的角色300

10.1.5未来的安全系统303

10.2计算环境的迁移303

10.2.1虚拟计算机304

10.2.2利用分布式文件系统:互联网络挂起/恢复模式305

10.2.3Stanford Co1lective的状态封装306

10.2.4在VMotion下迁移虚拟机310

10.3网格:虚拟的组织结构311

10.3.1理想网格的特性313

10.3.2网格计算模型仿真:Globus工具集315

10.3.3比较传统虚拟机315

10.3.4回到原地:在传统虚拟机系统上实现网格317

10.3.5结论320

10.4总结320

附录A 实际机器321

参考文献357

索引370

热门推荐