xudong |
2009-09-25 10:46 |
英特尔已经发布了七款支持VT(Virtualization Technology,虚拟化技术)技术的处理器——奔腾4672,662,奔腾D920,930,940,950奔腾EE955。Intel Virtualization Technology就是以前众所周知的“Vanderpool”技术,这种技术让可以让一个CPU工作起来就像多个CPU并行运行,从而使得在一部电脑内同时运行多个操作系统成为可能。
这种VT技术并不是一个新鲜事物,市面上已经有一些软件可以达到虚拟多系统的目的,比如VMware workstation、Virtual PC等,使用这种技术就可以单CPU模拟多CPU并行,可以实现单机同时运行多操作系统。
Virtualization技术和多任务(multitasking)、HyperThreading超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟技术中,你可以拥有多个操作系统同时运行,每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上。而HyperThreading超线程只是在SMP系统(Symmetric Multi Processing)中单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。
当然了,如果一个CPU同时支持HyperThreading和Virtualization技术的话,每一个虚拟CPU在各自的操作系统中都被看成是两个对称多任务处理的CPU。
虚拟技术可能让人联想到早期CPU上的“Virtual 8086”技术,这种V86模式技术是用来兼容早期的8086/8088处理器而设计的,最早出现在386机器上。使用V86模式你可以创建好几个并行虚拟8086计算机来运行多个DOS程序,同样道理,使用VT技术你也可以创建几个完整的虚拟电脑来运行几个完整的操作系统。
可是既然已经有VMware等这种可以达到虚拟目的的软件,为什么我们还要努力来实现硬件CPU内部的虚拟技术呢?这是因为硬件CPU的虚拟技术有许多优势。支持虚拟技术CPU带有多余的指令集来控制虚拟过程,通过这些指令集,控制软件VMV(Virtual Machine Monitor)会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。
工作原理: 带有虚拟技术的处理器具有额外的指令集,叫做Virtual Machine Extensions,简称VMX。VMX给CPU带来了10个新的虚拟专用指令:VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUCH, VMRESUME, VMXOFF and VMXON。
在虚拟状态下有两种工作模式:root操作和非root操作。通常只有虚拟操作软件——Virtual Machine Monitor (VMM)能够运行在root操作模式下,而操作系统在虚拟机的顶层运行在非root操作模式下。运行在虚拟机顶层的软件同时也叫做“guest software”。
要进入虚拟模式,VMM需要执行VMXON指令来调入VMM软件,VMM软件使用VMLAUNCH指令来进入每一个虚拟机,使用VMRESUME指令来退出。如果想要退出虚拟模式,可以使用VMM运行VMXOFF指令。在图中的每个guest系统可以是不同的操作系统,同时运行自身的软件。
实际使用中如何实现: 就拿Intel S5000的主板来说,要实现其对VT的支持,只需在BIOS中进行相应的设置即可。
首先开机按F2进入BIOS,如图1所示:
 图1
然后按左右方向键“→”“←”切换到“Advanced”菜单项,再按上下方向键“↑”“↓”选择“Processor Configuration”项,如图2所示:按Enter键进入(默认即选中此项)
 图2
此时按上下键选择“Intel(R) Virtualization technology [Enabled]”项,再按Enter键,然后上下键选择“Enabled”项(默认是“Disabled”),如图3所示:最后按Esc键并保存设置重启服务器即可。
 图3 |
|