本页使用了标题或全文手工转换

虛擬化

维基百科,自由的百科全书
跳转至: 导航搜索
VirtualBox,一種x86虛擬機器套件

計算機技术中,虛擬化(技術)虛擬技術英语:Virtualization)是一種資源管理技術,是将计算机的各種實體资源CPU内存磁盘空间網路適配器等),予以抽象、转换后呈现出来並可供分割、組合為一個或多個電腦組態環境。由此,打破實體結構間的不可切割的障礙,使用戶可以比原本的組態更好的方式來应用這些電腦硬體资源。這些資源的新虛擬部份是不受現有資源的架設方式,地域或物理組態所限制。一般所指的虛擬化資源包括計算能力和資料儲存。

定义[编辑]

由于目前信息技术领域的很多企业都曾在宣传中将该企业的某种技术称为虚拟化技术,这些技术涵盖的范围可以从Java虚拟机技术到系统管理软件,这就使得准确的界定虚拟技术变得困难。因此各种相关学术论文在谈到虚拟技术时常常提到的便是如前面所提到的那个不严格的定义。

虚拟技术:计算机资源的重新分配

历史[编辑]

虚拟化技术起源于20世纪60年代末,美国IBM公司当时开发了一套被称作虚拟机监视器Virtual Machine Monitor)的软件,该软件作为计算机硬件层上面的一层软件抽象层,将计算机硬件虚拟分割成一个或多个虚拟机,并提供多用户对大型计算机的同时、交互访问。

虚拟化技術的类别[编辑]

按虛擬的對象分類[编辑]

  • 硬件虚拟化
  • 虚拟机(Virtual machine或VM),可以像真实机器一样运行程序的计算机的软件实现
    • 平台虚拟化,将操作系统和硬件平台资源分割开
      • 完全虚拟化,敏感指令在操作系统和硬件之间被捕捉处理,客户操作系统无需修改,所有软件都能在虚拟机中运行,例如IBM CP/CMS,VirtualBox,VMware Workstation
      • 硬件辅助虚拟化,利用硬件(主要是CPU)辅助处理敏感指令以实现完全虚拟化的功能,客户操作系统无需修改,例如VMware Workstation,Xen,KVM
      • 部分虚拟化,针对部分应用程序进行虚拟,而不是整个操作系统
      • 準虛擬化/超虚拟化(paravirtualization),为应用程序提供与底层硬件相似但不相同的软件接口,客户操作系统需要进行修改。例如Xen的半虛擬化模式。
      • 操作系统级虚拟化,使操作系统内核支持多用户空间实体,例如Parallels Virtuozzo Containers、OpenVZ、LXC以及类Unix系统上的chroot,Solaris上的Zone
    • 应用程序虚拟化,在操作系统和应用程序间建立虚拟环境
      • 便携式应用程序,允许程序在便携式设备中运行而不用在操作系统中安装
      • 跨平台虚拟化,允许针对特定CPU或者操作系统的软件不做修改就能运行在其他平台上,例如Wine
      • 虚拟设备,运行于虚拟化平台之上,面向应用的虚拟机映像
      • 模拟器
  • 虚拟内存,将不相邻的内存区,甚至硬盘空间虚拟成统一连续的内存地址
  • 存储虚拟化,将实体存储空间(如硬盘)分隔成不同的逻辑存储空间
  • 网络虚拟化,将不同网络的硬件和软件资源结合成一个虚拟的整体(请给出来源?)
    • 虚拟专用网络(VPN),在大型网络(通常是Internet)中的不同计算机(节点)通过加密连接而组成的虚拟网络,具有类似局域网的功能
    • 存储器虚拟化,将网络系统中的随机存储器聚合起来,形成统一的虚拟内存池
  • 桌面虚拟化,在本地计算机显示和操作远程计算机桌面,在远程计算机执行程序和储存信息
  • 数据库虚拟化
  • 软件虚拟化
  • 服务虚拟化

按照抽象程度分類[编辑]

虚拟技术按抽象程度来分为五个层次

按照抽象程度的不同,常常把虚拟技术分为五个层次:

指令集结构层(Instruction Set Architecture Level)[编辑]

指令集结构层的虚拟技术是通过软件方法模拟指令的执行效果。

硬件抽象层(Hardware Abstraction Level)[编辑]

硬件抽象层的虚拟技术是有硬件支持的虚拟技术,如2005年和2006年Intel公司和AMD公司推出的大部分新款x86架构处理器都带有虚拟技术支持。两家公司都称新的带有虚拟技术支持的处理器可以大大提高虚拟机的运行效率和性能。

操作系统层(OS Level)[编辑]

应用层(Application Level)[编辑]

应用层的虚拟技术是最常见的,如Java虚拟机、微软.net CLI和Parrot。

库层(Library Level)[编辑]

虚拟化技術的应用[编辑]

  • 服务器整合
  • 沙盒(Sandboxing)
  • 多运行环境
  • 多操作系统
  • 测试和性能监视
  • 应用整合
  • 虚拟硬件
  • 软件移植
  • 系统可管理性
  • 测试/质量保证

参考文献[编辑]

  • Susanta Nanda, Tzi-cker Chiueh, "A Survey on Virtualization Technologies";
  • R.P.Goldberg, "Survey of Virtual Machine Research", Computer, June 1974, pp.34-45;
  • G.J.Popek, R.P.Goldberg, "Formal Requirements for Virtualizable Third Generation Architectures," Comm.ACM, Vol.17, Nr.7, July 1974, pp.412-421.

相关条目[编辑]

外部链接[编辑]