虚拟机系统与进程的通用平台图书
人气:28

虚拟机系统与进程的通用平台

本书的作者从计算机体系结构研究者的角度,以计算机系统接口抽象层次中两个最重要的接口——应用的二进制接口(Application Binary Interface,ABI)和应用程序接口(Application Program Interface,API)为边界,将...
  • 所属分类:图书 >计算机/网络>硬件 外部设备 维修  
  • 作者:(美)[詹姆斯]([Smith],J.E),(美)[瑞维]([Nair],R) 著;[安虹],[张昱],[吴俊敏] 译
  • 产品参数:
  • 丛书名:计算机科学丛书
  • 国际刊号:9787111256687
  • 出版社:机械工业出版社
  • 出版时间:2009-03
  • 印刷时间:2009-03-01
  • 版次:1
  • 开本:12开
  • 页数:--
  • 纸张:胶版纸
  • 包装:平装
  • 套装:

内容简介

本书的作者从计算机体系结构研究者的角度,以计算机系统接口抽象层次中两个最重要的接口——应用的二进制接口(Application Binary Interface,ABI)和应用程序接口(Application Program Interface,API)为边界,将计算机系统资源的各种虚拟化技术划分为进程虚拟机和系统虚拟机两大类展开讨论,清晰地展现了虚拟化技术各种方法的各个层面和各类应用。

本书可以作为讲授计算机系统结构研究生课程《虚拟机技术》的教材或教学参考书。工作在虚拟机技术领域的专业人士可以用于自学这些领域的前沿技术。本书还可以作为一本计算机系统软硬件参考资料。

编辑推荐

纵观历史,操作系统、编程语言和编译器、计算机体系结构等多个领域都发展了各自的虚拟机技术,但没有从统一的角度搭建这些技术的基本关系。现代计算机系统的硬件结构正朝着片上多核。系统多级并行处理的方向发展,并且通过Innternet互联起来,构成功能更强大、应用更广泛的系统。在系统的物理资源大大增加的同时,系统的物理实现也变得极为复杂,系统在可扩展性、性。可用性,可管理性和安全性等方面都遇到了难以用单点体系结构技术来解决的一系列问题。虚拟机技术在应对这一系列问题上越来越显现出前所未有的重要性。本书总结了各种不同的虚拟机技术,为计算机各个领域的学者和研发人员提供了一个新的交叉研究领域,便子以更好的组织方式来研究、设计和实现虚拟机。

本书特色:

·结构清晰。本书以计算机系统接口抽象层次中两个重要的接口——应用的二进制接口和应用程序接口为边界,将计算机系统资源的各种虚拟化技术划分为进程虚拟机和系统虚拟机两大类展开讨论,清晰地层现了虚拟化技术各种方法的各个层面及各类应用。

·系统。作者从学术和工业应厨两个方面对虚拟机技术几十年的研究和发展历史进行了综述,从体系结构、程序设计语言和编译、操作系统及系统安全等多个专业领域深入探讨了虚拟机技术的应用。

·理实交融。本书提供了大量实际虚拟机系统的原理说明及翔实的参考文献,包括Shade模拟系统、FX!32系统、Dynamo/RIO、Java和CLI等流行语言虚拟机、Jikes RVM、Transmeta Crusoe处理器、IBM的AS/400和z/VM系统、VMware的主机虚拟机。Intel的VT-X虚拟技术以及多处理器虚拟系统——Cellular Disco,微软、惠普及其他工业研究团体韵本领域研究人员对全书进行了审阅。

·面向未来。本书在后一章专门讨论了一些新兴的虚拟机应用,包括安全领域(讨论入侵检测系统的原理以及虚拟机在系统攻防方面的应用潜力)、移动计算环境(讨论商业上的应用:VMware的vmotion)以及计算网格(展示典型的系统虚拟机对新兴网格系统出现的重要作用)方面的应用。

硬件是借助微电子工具构建起来的缺乏灵活性的东西。虚拟机用一层软件将硬件包裹起来,从而使得计算机灵活可变。正在发展的一些新技术,能够实现在同一个硬件上运行多个操作系统、执行多套指令集,允许程序在执行过程中切换机器,甚至排斥不安全的代码。虚拟机正改变着计算机和操作系统的设计方法、编程语言的实现方法,以及安全专家对计算机和计算的认知。Smith和Nair的这本书是迄今为止仅有的对虚拟机及其众多应用的综述。

——Jim Larus, 微软研究院 虚拟机已经无处不在。

Jim Smith和Ravi Navi极为清晰地阐明了虚拟机技术对现代计算机体系结构、程序设计语言、操作系统以及安全技术的深刻影响。对未来计算机系统感兴趣的人有必要研读本书,我极力推荐本书!

——Michael D. Smith, 哈佛大学

作者简介

James E. Smith,威斯康星大学麦迪逊分校电子与计算机工程系教授。从伊利诺伊大学获得计算机科学博士学位。1979至1981年间在美国的控制数据公司工作,参与CYBER 180/990的设计。其后,曾参与ACA ZS-1的开发工作。1989年加入Cray研究公司,率研究小组开发和分析未来超级计算机

目录

第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 确定的客户机状态

……

第4章 动态二进制优化

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

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

第7章 协同设计虚拟机

第8章 系统虚拟机

第9章 多处理器虚拟化

第10章 新兴应用

附录A 实际机器

参考文献

索引

在线预览

第1章 虚拟机导论

现代计算机是人类工程学中的结构,人类对极度复杂性的控制能力成就了现代计算机今日的辉煌。计算机系统由许多硅芯片组成,而每个芯片则由上亿个晶体管构成。这些芯片相互连接,并与高速的输入/输出设备、网络设施一起组成可以运行软件的平台。操作系统、应用程序和库、图形和网络软件,所有这些协同工作,为数据管理、教育、通信、娱乐以及许多其他应用提供了强大的计算机环境。

管理计算机系统复杂性的关键是通过一些定义明确的接口把计算机系统划分成不同的抽象层次。抽象层次允许忽略或简化系统设计的底层实现细节,从而简化高层组件的设计。例如,硬盘被划分为不同的磁道和扇区,它的细节经过操作系统的抽象,使应用程序看到的硬盘是不同大小的文件集合(图1—1)。在这之后应用程序可以创建、读、写文件,而并不需要了解硬盘是如何构造和组建的。

计算机系统的抽象层次通过分层组织,底层由硬件实现,高层由软件实现。在硬件层,所有的组件都是物理的,有真实的特性,各部分通过定义的接口物理地连接在一起。在软件层,组件都是逻辑的,较少受物理特性的限制。本书主要涉及硬件和软件分界处及其附近的抽象层次,在这些层次上软件从运行它的机器中分离出来。

计算机软件由"机器"来执行("机器(Machine)"这个术语从计算机出现时就有,现在比较流行的是"平台(Platform)"这个术语)。从操作系统的角度看,"机器"主要由一些硬件组成,包括一个或多个运行特定指令集的处理器、实存储器、I/O设备。但是,"机器"这个术语的使用并不局限于计算机的硬部件。例如,从应用程序的角度看,"机器"是指操作系统与通过用户级二进制指令可访问的那部分硬件的组合。

……

免责声明

更多相关图书
在线咨询