`
solingye
  • 浏览: 20047 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Virtualization(虚拟化)技术

阅读更多
虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。

虚拟化技术也与目前VMware Workstation等同样能达到虚拟效果的软件不同,是一个巨大的技术进步,具体表现在减少软件虚拟机相关开销和支持更广泛的操作系统方面。、

完全虚拟化
最流行的虚拟化方法使用名为hypervisor的一种软件,在虚拟服务器和底层硬件之间建立一个抽象层。VMware和微软的Virtual PC是代表该方法的两个商用产品,而基于核心的虚拟机(KVM)是面向Linux系统的开源产品。
hypervisor可以捕获CPU指令,为指令访问硬件控制器和外设充当中介。因而,完全虚拟化技术几乎能让任何一款操作系统不用改动就能安装到虚拟服务器上,而它们不知道自己运行在虚拟化环境下。主要缺点是,hypervisor给处理器带来开销。
在完全虚拟化的环境下,hypervisor运行在裸硬件上,充当主机操作系统;而由hypervisor管理的虚拟服务器运行客户端操作系统(guest OS)。

准虚拟化
完全虚拟化是处理器密集型技术,因为它要求hypervisor管理各个虚拟服务器,并让它们彼此独立。减轻这种负担的一种方法就是,改动客户操作系统,让它以为自己运行在虚拟环境下,能够与hypervisor协同工作。这种方法就叫准虚拟化(para-virtualization)。
Xen是开源准虚拟化技术的一个例子。操作系统作为虚拟服务器在Xen hypervisor上运行之前,它必须在核心层面进行某些改变。因此,Xen适用于BSD、Linux、Solaris及其他开源操作系统,但不适合对像Windows这些专有的操作系统进行虚拟化处理,因为它们无法改动。
准虚拟化技术的优点是性能高。经过准虚拟化处理的服务器可与hypervisor协同工作,其响应能力几乎不亚于未经过虚拟化处理的服务器。准虚拟化与完全虚拟化相比优点明显,以至于微软和VMware都在开发这项技术,以完善各自的产品。

操作系统层虚拟化
实现虚拟化还有一个方法,那就是在操作系统层面增添虚拟服务器功能。Solaris Container就是这方面的一个例子,Virtuozzo/OpenVZ是面向Linux的软件方案。
就操作系统层的虚拟化而言,没有独立的hypervisor层。相反,主机操作系统本身就负责在多个虚拟服务器之间分配硬件资源,并且让这些服务器彼此独立。一个明显的区别是,如果使用操作系统层虚拟化,所有虚拟服务器必须运行同一操作系统(不过每个实例有各自的应用程序和用户账户)。
虽然操作系统层虚拟化的灵活性比较差,但本机速度性能比较高。此外,由于架构在所有虚拟服务器上使用单一、标准的操作系统,管理起来比异构环境要容易。
纯软件虚拟化解决方案存在很多限制。“客户”操作系统很多情况下是通过VMM(Virtual Machine Monitor,虚拟机监视器)来与硬件进行通信,由VMM来决定其对系统上所有虚拟机的访问。(注意,大多数处理器和内存访问独立于VMM,只在发生特定事件时才会涉及VMM,如页面错误。)在纯软件虚拟化解决方案中,VMM在软件套件中的位置是传统意义上操作系统所处的位置,而操作系统的位置是传统意义上应用程序所处的位置。这一额外的通信层需要进行二进制转换,以通过提供到物理资源(如处理器、内存、存储、显卡和网卡等)的接口,模拟硬件环境。这种转换必然会增加系统的复杂性。此外,客户操作系统的支持受到虚拟机环境的能力限制,这会阻碍特定技术的部署,如64位客户操作系统。在纯软件解决方案中,软件堆栈增加的复杂性意味着,这些环境难于管理,因而会加大确保系统可靠性和安全性的困难。
而CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。虚拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。另外,在纯软件VMM中,目前缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统。
两大CPU巨头Intel和AMD都想方设法在虚拟化领域中占得先机,但是AMD的虚拟化技术在时间上要比Intel落后几个月。Intel自2005年末开始便在其处理器产品线中推广应用Intel Virtualization Technology(Intel VT)虚拟化技术。目前,Intel已经发布了具有Intel VT虚拟化技术的一系列处理器产品,包括桌面平台的Pentium 4 6X2系列、Pentium D 9X0系列和Pentium EE 9XX系列,以及服务器/工作站平台上的基于Paxville核心的Xeon系列;同时绝大多数的Intel下一代主流处理器,包括Merom核心移动处理器,Conroe核心桌面处理器,Woodcrest核心服务器处理器,以及基于Montecito核心的Itanium 2高端服务器处理器都将支持Intel VT虚拟化技术。而AMD的具有代号为“Pacific”虚拟化技术的CPU不久也会发布。
分享到:
评论

相关推荐

    虚拟化技术最详细解析.pdf

    虚拟化技术是一种计算机资源管理技术,它将计算机的各种硬件资源抽象成一个或多个虚拟资源,这样就可以实现软件与硬件的解耦。虚拟化技术能够允许多个操作系统和应用程序同时在一台物理机器上运行,提高硬件的利用率...

    Intel虚拟化技术文档virtualization-technology.rar

    Intel虚拟化技术文档virtualization-technology,包含intel scalable io virtualization technical specification.pdf, virtualization technology flexmigration application note.pdf, vitualization technology ...

    如何开启笔记本的Virtualization_Technology虚拟化技术功能

    虚拟化技术(Virtualization Technology)是一种软件技术,它能够在一台物理机器上运行多个虚拟机器,每个虚拟机器都可以独立地运行自己的操作系统和应用程序,从而提高了计算机资源的利用率和灵活性。虚拟化技术...

    Mastering KVM Virtualization 虚拟化经典教程

    本书《Mastering KVM Virtualization》(精通KVM虚拟化)提供了深入探讨Linux KVM虚拟化技术的精华技巧,并构建数据中心所需虚拟化解决方案的入门经典教程。 在本书中,作者团队——Humble Devassy, Chirammal, ...

    虚拟化技术原理与实现

    虚拟化技术是现代信息技术领域的一项关键技术,它允许在单一硬件平台上运行多个独立的虚拟环境,每个环境都称为一个虚拟机(VM)。这项技术的核心在于,它通过软件模拟硬件资源,使得操作系统和其他应用软件认为它们...

    存储虚拟化技术白皮书精选

    ### 存储虚拟化技术详解 #### 一、存储虚拟化的概念 存储虚拟化(Storage Virtualization)是一种技术手段,其核心在于将物理存储设备的复杂性和多样性隐藏起来,为用户提供一个简单、统一的逻辑视图。通过这种技术...

    虚拟化技术简介.pdf

    虚拟化技术是计算机领域内的一项重要技术,它允许单一的物理设备被模拟成多个虚拟设备,且每个虚拟设备之间相互隔离,同时保证了这些虚拟设备的高效性。虚拟化技术的核心要求是隔离性和有效性。隔离性确保了虚拟机...

    KVM虚拟化技术 实战与原理解析 高清完整版

    KVM虚拟化技术的出现,极大地提升了服务器资源的利用率,简化了数据中心的管理,并为云计算环境提供了坚实的基础。 KVM的核心组件包括以下几个方面: 1. **KVM内核模块**:这是KVM的核心,它被加载到Linux内核中,...

    虚拟化技术.docx 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术

    虚拟化技术是现代计算机系统中不可或缺的一部分,它通过抽象化和模拟的方式,使得多个独立的虚拟环境能够在同一台物理机器上共存并高效运行。这一技术显著提升了硬件资源的利用率,降低了运维成本,并且提供了更好的...

    虚拟化技术原理精要

    ### 虚拟化技术原理精要 #### 1. 概述 ##### 1.1 虚拟化 虚拟化技术是一种将物理资源抽象为逻辑资源的技术,其核心在于不受物理限制地管理和利用计算资源。通过在系统中加入一个虚拟化层,将下层的物理资源转换为...

    Linux虚拟化技术研究.pdf

    虚拟化技术主要有两种实现模式:硬件仿真(Emulation)和完全虚拟化(Full-Virtualization)。 硬件仿真是指用纯软件对某种指令集架构(ISA)进行完全仿真,可以使VM最大程度地与主机硬件分离。这类软件有Bochs、...

    Virtualization Management虚拟化管理

    虚拟化技术的核心价值在于能够有效降低硬件成本、简化系统管理和增强业务连续性。微软的虚拟化策略主要围绕四大领域展开: 1. **服务器虚拟化**:通过虚拟化技术,可以将多个操作系统实例运行在同一台物理服务器上...

    CPU硬件虚拟化,内存虚拟化,I/O虚拟化

    虚拟化技术在过去的几十年里取得了巨大的进展,尤其是随着硬件辅助虚拟化技术的成熟,虚拟化已经变得更加高效、灵活且易于管理。无论是对于云计算提供商还是企业数据中心来说,掌握这些关键技术都是至关重要的。通过...

    虚拟化技术在云计算中的应用.pdf

    云计算和虚拟化技术是当今信息技术领域的两个重要概念。它们各自独特且相互依存,共同推进了现代数据中心和网络服务的发展。接下来,我们将详细介绍虚拟化技术在云计算中的应用,并分析虚拟化技术的优势和在云计算...

    Securable(查看CPU是否支持虚拟化技术&_41;.zip

    《深入理解:虚拟化技术与Securable工具的运用》 在现代计算机系统中,虚拟化技术扮演着至关重要的角色,它使得多操作系统和应用程序能在同一硬件平台上并行运行,极大地提高了资源利用率和灵活性。本文将重点探讨...

    安卓虚拟化技术Demo

    安卓虚拟化技术的核心主要包括两大部分:一是硬件层的虚拟化支持,这通常依赖于CPU的虚拟化指令集,如Intel的VT-x或ARM的Virtualization Extensions;二是软件层面的虚拟机管理器(Hypervisor),如Android的KVM...

    VMware Virtualization Forum 2009 “虚拟化及云计算前沿技术”分会场 ——虚拟化架构整合:NetApp云计算战略及VDDC解决方案

    ### VMware Virtualization Forum 2009 “虚拟化及云计算前沿技术”分会场 ——虚拟化架构整合:NetApp云计算战略及VDDC解决方案 #### 演讲概述 本次演讲由NetApp资深技术顾问吴立湘先生进行,主要探讨的是虚拟化...

Global site tag (gtag.js) - Google Analytics