虚拟机技术综述-1 引言

原创 2007年10月05日 03:08:00

 

     综 述
----刘黎明(liuliming2008@126.com
 
 
1 引言
   现代的计算机系统是极其复杂的机器系统,管理计算机系统复杂性的关键技术之一是用良好的界面将其划分成若干抽象层。这些抽象层的存在可以使底层的细节被忽略或者简化,这样可以使高层的设计带来简化。一个简单的计算机抽象层次如图1 所示。这些抽象层组成一个层状结构,底层使用硬件,高层使用软件实现。在硬件层,所有的部件都是物质的,有着真实的属性。这些组件之间定义了接口,以便他们能够在物理上互相连接。在物理之上的各层中,部件是逻辑上的,它们没有物理属性。广义上说,计算机硬件之上的每一层对于其上层来说都是虚拟机。
图1 计算机抽象层次图
计算机上的软件是由一个机器系统来执行的。从操作系统角度看,如图2,整个机器系统是由底层来支撑的,系统可见的是指令集系统,底层的硬件可能包括一个或多个处理器、内存、输入输出设备等。这个系统是一个完整的执行环境,这个环境可以支持若干个进程,这些进程共享一个文件系统以及其他的输入输出设备。这个系统申请物理内存和输入输出这一进程使用,并且允许进程通过操作系统与这些资源交互。所以从系统观点看,机器就是由底层硬件构成的,指令集系统提供了该系统和机器之间的接口。但是机器这个词语不只是可以用来描述计算机的硬件结构。从进程的角度看,如图3 ,进程可见的是应用程序二进制接口,机器由内存地址空间和用户级指令构成。IO设备是通过操作系统来访问的,并且进程访问输入输出设备的唯一方式是通过操作系统调用。所以从进程的角度看,机器就是操作系统和用户可见的硬件。应用程序二进制接口提供了进程和机器之间的接口,它包括操作系统调用和访问硬件的部分指令。
 
图2 指令集
 
图3 应用程序二进制接口
 
  虚拟机是在真实机器之上的一个软件实现,该实现能够支持被虚拟的机器的体系结构。虚拟机技术广泛地被操作系统开发者、程序语言设计者、编译器设计者和硬件设计者所采用。虚拟机能够像被它虚拟的机器一样执行软件,这个软件可能是一个进程或者一个完整的系统,这取决于虚拟机的类型。虚拟机可以拥有底层真实机器不同的资源,这种不同可以在数量或者类型上不同。例如,虚拟机器可能比底层真实机器拥有数目不一样的处理器并且这些处理器能够执行不同的指令集。通常,构造虚拟机的过程需要首先考虑两个方面:1虚拟资源或者状态到真实资源的映射2用底层的机器指令或系统调用实现虚拟机的指令或者系统调用。
在一个完整的虚拟机系统中,底层的平台称作宿主平台,运行在操作系统级虚拟机之上的软件称为客户,虚拟机本身模拟的平台称为目标平台。如图4所示,对客户来说,底层的虚拟机软件在宿主平台上模拟了目标平台,这样原来只能在目标平台上运行的客户就能间接在宿主平台上运行。
图4 虚拟机系统
 
从虚拟机在计算机系统中所处的位置和设计目的看,可以把虚拟机分为硬件虚拟机、应用程序虚拟机和操作系统级虚拟机。硬件虚拟机主要提供模拟真实的硬件的能力。应用程序虚拟机提供支持单独的进程的能力,位于应用程序二进制接口层,在操作系统和硬件混合层之上,模拟用户层指令和操作系统调用。
  操作系统级虚拟机提供执行用户级程序的能力,一般由能实现操作系统级虚拟机的软件来构建。操作系统级虚拟机能够将一个真实的服务器划分成若干个虚拟的服务器,每个服务器看起来都是一个功能基本完整的服务器,能运行独立的操作系统,并且能够独立地重新启动,所有的虚拟机共享同一个操作系统核心。
----刘黎明(liuliming2008@126.com

Java虚拟机:引言

对于java程序员来说,了解JVM的一些原理和执行过程还是挺有用的,通过JVM的学习,我们对java中的反射机制、多线程等就会有更清楚的认识。同时有利于调bug和优化代码。首先我们要明白,不管什么语言...
  • jcw321
  • jcw321
  • 2017年06月13日 13:54
  • 251

联想Y470 非虚拟机安装苹果Mac OS X Mavericks 10.9.1教程详解(文字+图片),通俗易懂亲自动手——序列一之综述简介,硬盘分区

最近小编更新Linux系统后发现无法启动,于是乎就重新

虚拟机监控系统的设计与实现 (一) 综述

最近有个云计算IaaS平台虚拟机状态监控的需求。此平台基于OpenStack,各项需求的定制和开发已经基本完成,现在需要一套系统来完成此平台中各虚拟机状态的监控。包括虚拟机信息的采集、信息的存储以及虚...
  • huoqi12
  • huoqi12
  • 2014年10月31日 14:55
  • 420

Java虚拟机(第二版)1.pdf

  • 2017年10月27日 10:20
  • 18.56MB
  • 下载

vmware 虚拟机.part01.rar1

  • 2012年03月11日 22:37
  • 38.15MB
  • 下载

使用libvirt技术监控虚拟机

libvirt可以屏蔽不同虚拟化技术的差异,对不同类型的虚拟机进行管理。本文拟用libvirt技术实现一个虚拟机监控中间键,对虚拟机的监控指标主要分为计算资源,内存资源,i\o资源,网络资源。 (1)...

Xen虚拟机架构及关键技术

本文的综合介绍了基于Xen3.2(2008年1月)的Xen体系结构,更详尽的描述请参考Xen books。Xen组成要素 一个Xen虚拟化环境由以下部件构成: Xen HypervisorDomai...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:虚拟机技术综述-1 引言
举报原因:
原因补充:

(最多只允许输入30个字)