vmware硬件虚拟化
说明你的处理器可能不支持虚拟化(VT)技术或者VT被禁用,很多bios中虚拟化技术默认是被禁用的。
你先下载一个软件看看你的处理器是不是支持虚拟化技术。
百度一下 securable,然后运行看看就知道了,如果虚拟化(hardware virtualization)一栏显示的是yes级表示处理器支持,如果显示lockoff即表示bios中禁用掉了该功能,在BIOS中开启该功能即可。
开启后即可正常安装MAC
英特尔虚拟化技术是什么
展开全部 虚拟化技术 :虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。
虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。
CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟化技术与多任务以及超线程技术是完全不同的。
多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。
虚拟化技术也与目前VMware Workstation等同样能达到虚拟效果的软件不同,是一个巨大的技术进步,具体表现在减少软件虚拟机相关开销和支持更广泛的操作系统方面。
纯软件虚拟化解决方案存在很多限制。
“客户”操作系统很多情况下是通过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不久也会发布。
VT虚拟化技术有什么用
展开全部 虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。
虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。
CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟化技术与多任务以及超线程技术是完全不同的。
多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。
虚拟化技术也与目前VMware Workstation等同样能达到虚拟效果的软件不同,是一个巨大的技术进步,具体表现在减少软件虚拟机相关开销和支持更广泛的操作系统方面。
纯软件虚拟化解决方案存在很多限制。
“客户”操作系统很多情况下是通过VMM(Virtual Machine Monitor,虚拟机监视器)来与硬件进行通信,由VMM来决定其对系统上所有虚拟机的访问。
(注意,大多数处理器和内存访问独立于VMM,只在发生特定事件时才会涉及VMM,如页面错误。
)在纯软件虚拟化解决方案中,VMM在软件套件中的位置是传统意义上操作系统所处的位置,而操作系统的位置是传统意义上应用程序所处的位置。
这一额外的通信层需要进行二进制转换,以通过提供到物理资源(如处理器、内存、存储、显卡和网卡等)的接口,模拟硬件环境。
这种转换必然会增加系统的复杂性。
此外,客户操作系统的支持受到虚拟机环境的能力限制,这会阻碍特定技术的部署,如64位客户操作系统。
在纯软件解决方案中,软件堆栈增加的复杂性意味着,这些环境难于管理,因而会加大确保系统可靠性和安全性的困难。
而CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。
虚拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。
由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。
另外,在纯软件VMM中,目前缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。
而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统。
虚拟化技术是一套解决方案。
完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件或者某些操作系统本身。
即使只是CPU支持虚拟化技术,在配合VMM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。
两大CPU巨头Intel和AMD都想方设法在虚拟化领域中占得先机,但是AMD的虚拟化技术在时间上要比Intel落后几个月。
Intel自2005年末开始便在其处理器产品线中推广应用Intel Virtualization Technology(Intel VT)虚拟化技术。
目前,Intel已经发布了具有Intel VT虚拟化技术的一系列处理器产品,包括桌面平台的Pentium 4 6X2系列、Pentium D 9X0系列和Pentium EE 9XX系列,还有Core Duo系列和Core Solo系列中的部分产品,以及服务器/工作站平台上的Xeon LV系列、Xeon 5000系列、Xeon 5100系列、Xeon MP 7000系列以及Itanium 2 9000系列;同时绝大多数的Intel下一代主流处理器,包括Merom核心移动处理器,Conroe核心桌面处理器,Woodcrest核心服务器处理器,以及基于Montecito核心的Itanium 2高端服务器处理器都将支持Intel VT虚拟化技术。
而AMD方面也已经发布了支持AMD Virtualization Technology(AMD VT)虚拟化技术的一系列处理器产品,包括Socket S1接口的Turion 64 X2系列以及Socket AM2接口的Athlon 64 X2系列和Athlon 64 FX系列等等,并且绝大多数的AMD下一代主流处理器,包括即将发布的Socket F接口的Opteron都将支持AMD VT虚拟化技术。
Virtualization(虚拟化) 是什么
虚拟化虚拟化是指计算元件在虚拟的基础上而不是真实的基础上运行。
虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。
CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟化技术与多任务以及超线程技术是完全不同的。
多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。
虚拟化技术也与目前VMware Workstation等同样能达到虚拟效果的软件不同,是一个巨大的技术进步,具体表现在减少软件虚拟机相关开销和支持更广泛的操作系统方面。
纯软件虚拟化解决方案存在很多限制。
“客户”操作系统很多情况下是通过虚拟机监视器(Virtual Machine Monitor,VMM)来与硬件进行通信,由VMM来决定其对系统上所有虚拟机的访问。
(注意,大多数处理器和内存访问独立于VMM,只在发生特定事件时才会涉及VMM,如页面错误。
)在纯软件虚拟化解决方案中,VMM在软件套件中的位置是传统意义上操作系统所处的位置,而操作系统的位置是传统意义上应用程序所处的位置。
这一额外的通信层需要进行二进制转换,以通过提供到物理资源(如处理器、内存、存储、显卡和网卡等)的接口,模拟硬件环境。
这种转换必然会增加系统的复杂性。
此外,客户操作系统的支持受到虚拟机环境的能力限制,这会阻碍特定技术的部署,如64位客户操作系统。
在纯软件解决方案中,软件堆栈增加的复杂性意味着,这些环境难于管理,因而会加大确保系统可靠性和安全性的困难。
而CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。
虚拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。
由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。
另外,在纯软件VMM中,目前缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。
而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统。
虚拟化技术是一套解决方案。
完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件或者某些操作系统本身。
即使只是CPU支持虚拟化技术,在配合VMM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。
两大CPU巨头Intel和AMD都想方设法在虚拟化领域中占得先机,但是AMD的虚拟化技术在时间上要比Intel落后几个月。
Intel自2005年末开始便在其处理器产品线中推广应用Intel Virtualization Technology(Intel VT)虚拟化技术。
目前,Intel已经发布了具有Intel VT虚拟化技术的一系列处理器产品,包括桌面平台的Pentium 4 6X2系列、Pentium D 9X0系列和Pentium EE 9XX系列,还有Core Duo系列和Core Solo系列中的部分产品,以及服务器/工作站平台上的Xeon LV系列、Xeon 5000系列、Xeon 5100系列、Xeon MP 7000系列以及Itanium 2 9000系列;同时绝大多数的Intel下一代主流处理器,包括Merom核心移动处理器,Conroe核心桌面处理器,Woodcrest核心服务器处理器,以及基于Montecito核心的Itanium 2高端服务器处理器都将支持Intel VT虚拟化技术。
而AMD方面也已经发布了支持AMD Virtualization Technology(AMD VT)虚拟化技术的一系列处理器产品,包括Socket S1接口的Turion 64 X2系列以及Socket AM2接口的Athlon 64 X2系列和Athlon 64 FX系列等等,并且绝大多数的AMD下一代主流处理器,包括即将发布的Socket F接口的Opteron都将支持AMD VT虚拟化技术。
虚拟化技术的迁移技术
虚拟机迁移技术为服务器虚拟化提供了便捷的方法。
当前流行的虚拟化工具如 VMware,Xen,HyperV,KVM 都提供了各自的迁移组件。
迁移服务器可以为用户节省管理资金、维护费用和升级费用。
以前的 x86服务器,体积比较“庞大”;而一般的服务器,体积已经比以前小了许多,迁移技术使得用户可以用一台服务器来同时替代以前的许多台服务器,这样就节省了用户大量的机房空间。
另外,虚拟机中的服务器有着统一的“虚拟硬件资源”,不像以前的服务器有着许多不同的硬件资源(如主板芯片组不同,网卡不同,硬盘,RAID 卡,显卡不同)。
迁移后的服务器,不仅可以在一个统一的界面中进行管理,而且通过某些虚拟机软件,如 VMware 提供的高可用性工具,在这些服务器因为各种故障停机时,可以自动切换到网络中另外相同的虚拟服务器中,从而达到不中断业务的目的。
总之,迁移的优势在于简化系统维护管理, 提高系统负载均衡,增强系统错误容忍度和优化系统电源管理。
V2P(虚拟机到物理机的迁移 Virtual-to-Physica )V2P 指把一个操作系统、应用程序和数据从一个虚拟机中迁移到物理机的主硬盘上,是 P2V 的逆操作。
它可以同时迁移虚拟机系统到一台或多台物理机上。
尽管虚拟化的基本需求是整合物理机到虚拟机中,但这并不是虚拟化的唯一的应用。
比如有时虚拟机上的应用程序的问题需要在物理机上验证,以排除虚拟环境带来的影响。
另外,配置新的工作站是件令 IT 管理者头痛的事情,但虚拟化的应用可以帮助他解决这个难题。
先配置好虚拟机,然后运用硬盘克隆工具复制数据至工作站硬件,比如赛门铁克的 Save & Restore (Ghost)。
不过这种克隆方法有两个局限:一个镜像只能运用在同种硬件配置的机器上;要想保存配置的修改,只能重做新的镜像。
V2V (虚拟机到虚拟机的迁移Virtual-to-Virtual )V2V 迁移是在虚拟机之间移动操作系统和数据,照顾主机级别的差异和处理不同的虚拟硬件。
虚拟机从一个物理机上的 VMM 迁移到另一个物理机的 VMM,这两个 VMM 的类型可以相同,也可以不同。
如 VMware 迁移到 KVM, KVM 迁移到 KVM。
可以通过多种方式将虚拟机从一个 VM Host 系统移动到另一个 VM Host 系统。
P2V (物理机到虚拟机的迁移Physical-to-Virtua )P2V 指迁移物理服务器上的操作系统及其上的应用软件和数据到 VMM(Virtual Machine Monitor)管理的虚拟服务器中。
这种迁移方式,主要是使用各种工具软件,把物理服务器上的系统状态和数据“镜像”到 VMM 提供的虚拟机中,并且在虚拟机中“替换”物理服务器的存储硬件与网卡驱动程序。
只要在虚拟服务器中安装好相应的驱动程序并且设置与原来服务器相同的地址(如 TCP/IP 地址等),在重启虚拟机服务器后,虚拟服务器即可以替代物理服务器进行工作。
全虚拟化&半虚拟化&硬件辅助虚拟化关系是什么?
硬件辅助虚拟化(Hardware Assisted Virtualization)简介:Intel/AMD等硬件厂商通过对部分全虚拟化和半虚拟化使用到的软件技术进行硬件化(具体将在下文详述)来提高性能。
硬件辅助虚拟化技术常用于优化全虚拟化和半虚拟化产品,而不是独创一派,最出名的例子莫过于VMware Workstation,它虽然属于全虚拟化,但是在它的6.0版本中引入了硬件辅助虚拟化技术,比如Intel的VT-x和AMD的AMD-V。
现在市面上的主流全虚拟化和半虚拟化产品都支持硬件辅助虚拟化,包括VirtualBox,KVM,VMware ESX和Xen。
优点:通过引入硬件技术,将使虚拟化技术更接近物理机的速度。
缺点:现有的硬件实现不够优化,还有进一步提高的空间。
CPU硬件辅助虚拟化的主要技术有几种
展开全部 硬件辅助虚拟化(Hardware Assisted Virtualization)简介:Intel/AMD等硬件厂商通过对部分全虚拟化和半虚拟化使用到的软件技术进行硬件化(具体将在下文详述)来提高性能。
硬件辅助虚拟化技术常用于优化全虚拟化和半虚拟化产品,而不是独创一派,最出名的例子莫过于VMware Workstation,它虽然属于全虚拟化,但是在它的6.0版本中引入了硬件辅助虚拟化技术,比如Intel的VT-x和AMD的AMD-V。
现在市面上的主流全虚拟化和半虚拟化产品都支持硬件辅助虚拟化,包括VirtualBox,KVM,VMware ESX和Xen。
优点:通过引入硬件技术,将使虚拟化技术更接近物理机的速度。
缺点:现有的硬件实现不够优化,还有进一步提高的空间。
...
如何利用虚拟化提高安全性
这种新软件还能够帮助用户安装虚拟机以便跨越多个监控器进行操作,这很重要,因为他们是在单独的虚拟机上运行我们都知道虚拟化技术可以帮助企业节省开支,你的域控制机还可以作为DNS服务器。
虚拟机能够访问互联网,但是不能访问公司的局域网,这能够帮助你保护主机操作系统以及访问本地资源的商业程序免受互联网中的攻击。
另一个好处就是,当虚拟机受到攻击时能够很简便地恢复,VM软件会在特定的时间点对机器进行“快照”,因此能够很快速地恢复到攻击前的状态。
无缝虚拟应用软件和丰富的VMWare Workstation 6、DHCP服务器,再到虚拟应用程序的无缝沙盒(sandboxing)技术以及最新版本VMWare工作站的发布,这意味着完全的无缝虚拟应用程序整合。
诚然,虚拟化技术可能带来某些安全风险,然而,简化IT资源管理,但是我们能够利用虚拟化技术来加强系统和网络的安全性吗,操作过程更加方便。
用户能够轻松在虚拟机和主机间进行拖放或者粘贴操作,能够安全地运行那些可能对操作系统、其他应用程序或网络造成威胁的程序。
对用户而言。
虚拟化可以让你在同一物理机上运行所有这些相同的角色,如果用得适当,虚拟化技术也能够帮助提高安全性。
控制力是保护系统的一个重要因素,包括对企业内部人员的控制和访问公司网络资源的外部人员的控制(例如远程用户使用便携式电脑和移动设备访问网络)。
虚拟化技术能够帮助你集中控制最终用户所访问的应用程序.5版本)提供了最完整的桌面功能,一种从每个虚拟机到主服务器的独立的VMBus,并且VM之间没有共享空间,而基于服务器的虚拟化技术能够确保重要数据不被存储在台式机或者很容易遗失或者被偷窃的笔记本电脑中,答案是肯定的。
本文将探讨如何使用虚拟化工具提高Windows环境的安全性等问题,当然你也可以在虚拟机中运行其他互联网相关的程序(如电子邮件客户端、聊天程序和P2P文件共享程序等),我们可以将浏览器在虚拟机中运行,尤其是当你需要在虚拟机中同事运行几个应用程序时,这样就更容易追踪用户在特定时间所操作的虚拟计算机。
另外也可以在后台运行虚拟机,而不使用workstation用户界面。
服务器分离服务器整合是很多企业使用虚拟化的主要目的,当然你也可以不使用虚拟化而在一台机器上运行多个服务器角色。
沙盒技术沙盒是指器不能直接访问主一种相对孤立的环境,这能够保证主服务器和程序的安全性。
其他能够分离虚拟机的安全机制包括分离虚拟设备,而桌面虚拟技术则能够为具有潜在危害的应用程序、网站等创建安全、孤立的计算机环境。
虚拟化安全vs安全的虚拟化经常会有人谈论虚拟环境中出现的安全问题,而大部分讨论都是围绕如何保护虚拟机问题的,这样的话,当该应用程序出现问题时,就不会对主机系统的其他部分造成影响。
由于网络浏览器经常会成为恶意软件和病毒攻击的对象,并且在用户模式中仅有有限的权限。
数据集中化管理能够确保数据的安全性,并将服务器分离.5实战经验最新版本的VMWare Workstation (6,且每个虚拟机在分离出来的单个工作进程中运行。
虚拟机机资源,所以使沙盒技术十分安全。
如果系统中存在不稳定的应用程序、有安全漏洞应用程序或者未知应用程序,你可以将这样的应用程序安装在虚拟机中。
微软公司发布的Hyper-V虚拟软件能够防止VM间的未经授权的通信,根本不会感觉应用程序是在虚拟机中运行,这就是说对虚拟机中的应用程最新版本的VMWare Workstation (6.5版本)提供了最完整的桌面功能,并且其“Unity”功能能够让你在主机桌面中查看在主机操序(如网络浏览器)实施沙盒技术时不再会感觉到任何障碍、RRAS服务器等。
但是在一台服务器上运行多个角色,特别是在域控制器上,会造成重大的安全风险。
或者你也可以安装多个虚拟机在不同的监控器上显示,并且其“Unity”功能能够让你在主机桌面中查看在主机操作系统的应用程序(来自虚拟机)?随着虚拟蜜罐(honeypot)和蜜网(honeynet)技术的出现,到使用Hyper-V虚拟化技术分配服务器角色
虚拟化技术都包含什么内容?
展开全部 虚拟化技术简介什么是虚拟化虚拟化(Virtualization)技术最早出现在 20 世纪 60 年代的 IBM 大型机系统,在70年代的 System 370 系列中逐渐流行起来,这些机器通过一种叫虚拟机监控器(Virtual Machine Monitor,VMM)的程序在物理硬件之上生成许多可以运行独立操作系统软件的虚拟机(Virtual Machine)实例。
随着近年多核系统、集群、网格甚至云计算的广泛部署,虚拟化技术在商业应用上的优势日益体现,不仅降低了 IT 成本,而且还增强了系统安全性和可靠性,虚拟化的概念也逐渐深入到人们日常的工作与生活中。
虚拟化是一个广义的术语,对于不同的人来说可能意味着不同的东西,这要取决他们所处的环境。
在计算机科学领域中,虚拟化代表着对计算资源的抽象,而不仅仅局限于虚拟机的概念。
例如对物理内存的抽象,产生了虚拟内存技术,使得应用程序认为其自身拥有连续可用的地址空间(Address Space),而实际上,应用程序的代码和数据可能是被分隔成多个碎片页或段),甚至被交换到磁盘、闪存等外部存储器上,即使物理内存不足,应用程序也能顺利执行。
虚拟化技术的分类虚拟化技术主要分为以下几个大类 [1]:平台虚拟化(Platform Virtualization),针对计算机和操作系统的虚拟化。
资源虚拟化(Resource Virtualization),针对特定的系统资源的虚拟化,比如内存、存储、网络资源等。
应用程序虚拟化(Application Virtualization),包括仿真、模拟、解释技术等。
我们通常所说的虚拟化主要是指平台虚拟化技术,通过使用控制程序(Control Program,也被称为 Virtual Machine Monitor 或 Hypervisor),隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境(称为虚拟机)。
虚拟机中运行的操作系统被称为客户机操作系统(Guest OS),运行虚拟机监控器的操作系统被称为主机操作系统(Host OS),当然某些虚拟机监控器可以脱离操作系统直接运行在硬件之上(如 VMWARE 的 ESX 产品)。
运行虚拟机的真实系统我们称之为主机系统。
平台虚拟化技术又可以细分为如下几个子类:全虚拟化(Full Virtualization) 全虚拟化是指虚拟机模拟了完整的底层硬件,包括处理器、物理内存、时钟、外设等,使得为原始硬件设计的操作系统或其它系统软件完全不做任何修改就可以在虚拟机中运行。
操作系统与真实硬件之间的交互可以看成是通过一个预先规定的硬件接口进行的。
全虚拟化 VMM 以完整模拟硬件的方式提供全部接口(同时还必须模拟特权指令的执行过程)。
举例而言,x86 体系结构中,对于操作系统切换进程页表的操作,真实硬件通过提供一个特权 CR3 寄存器来实现该接口,操作系统只需执行 "mov pgtable,%%cr3" 汇编指令即可。
全虚拟化 VMM 必须完整地模拟该接口执行的全过程。
如果硬件不提供虚拟化的特殊支持,那么这个模拟过程将会十分复杂:一般而言,VMM 必须运行在最高优先级来完全控制主机系统,而 Guest OS 需要降级运行,从而不能执行特权操作。
当 Guest OS 执行前面的特权汇编指令时,主机系统产生异常(General Protection Exception),执行控制权重新从 Guest OS 转到 VMM 手中。
VMM 事先分配一个变量作为影子 CR3 寄存器给 Guest OS,将 pgtable 代表的客户机物理地址(Guest Physical Address)填入影子 CR3 寄存器,然后 VMM 还需要 pgtable 翻译成主机物理地址(Host Physical Address)并填入物理 CR3 寄存器,最后返回到 Guest OS中。
随后 VMM 还将处理复杂的 Guest OS 缺页异常(Page Fault)。
比较著名的全虚拟化 VMM 有 Microsoft Virtual PC、VMware Workstation、Sun Virtual Box、Parallels Desktop for Mac 和 QEMU。
超虚拟化(Paravirtualization) 这是一种修改 Guest OS 部分访问特权状态的代码以便直接与 VMM 交互的技术。
在超虚拟化虚拟机中,部分硬件接口以软件的形式提供给客户机操作系统,这可以通过 Hypercall(VMM 提供给 Guest OS 的直接调用,与系统调用类似)的方式来提供。
例如,Guest OS 把切换页表的代码修改为调用 Hypercall 来直接完成修改影子 CR3 寄存器和翻译地址的工作。
由于不需要产生额外的异常和模拟部分硬件执行流程,超虚拟化可以大幅度提高性能,比较著名的 VMM 有 Denali、Xen。
硬件辅助虚拟化(Hardware-Assisted Virtualization) 硬件辅助虚拟化是指借助硬件(主要是主机处理器)的支持来实现高效的全虚拟化。
例如有了 Intel-VT 技术的支持,Guest OS 和 VMM 的执行环境自动地完全隔离开来,Guest OS 有自己的“全套寄存器”,可以直接运行在最高级别。
因此在上面的例子中,Guest OS 能够执行修改页表的汇编指令。
Intel-VT 和 AMD-V 是目前 x86 体系结构上可用的两种硬件辅助虚拟化技术。
部分虚拟化(Partial Virtualization) VMM 只模拟部分底层硬件,因此客户机操作系统不做修改是无法在虚拟机中运行的,其它程序可能也需要进行修改。
在历史上,部分虚拟化是通往全虚拟化道路上的重要里程碑,最早出现在第一代的分时系统 CTSS 和 IBM M44/44X 实验性的分页系统中。
操作系统级虚拟...
转载请注明出处51数据库 » vmware软件虚拟化技术