电脑cpu的vt是什么意思.doc
发布时间:2020-04-07
电脑cpu的vt是什么意思
电脑cpu的vt是什么意思
被称为Vanderpool的虚拟技术简称VT,是英特尔公司处理器市场策略的一部分,英特尔公司的策略是向用户提供的实用功能而不是增长的性能。VT能够使用户在他们的个人电脑上建立多套虚拟的运行环境以便能够使同一台个人电脑上能够运行不同的操作系统。VT还能够允许IT技术管理员下载系统补丁或者升级个人电脑的一部分的同时,用户能够在另一个虚拟环境中运行他们的应用程序。
VT技术存在的问题
在采用英特尔 架构(IA的系统上,虚拟化是一种纯软件解决方案。Microsoft Virtual Server* 、Virtual PC*、VMware ESX* 和 Workstation* 等产品(称为 虚拟机* (VMM*可处理英特尔架构系统的所有虚拟化问题。由于 VMM 必须创建一种规则,使主机操作系统直接与硬件进行通信,因此它必须采取一些措施。虚拟机主要采用以下两种方法:
半虚拟化:此项技术要求更改操作系统、特别是内核的源代码,以便其能够在指定的 VMM 上运行。此方法类似于大型机方法,其中定制操作系统扩展与硬件配合密切。当然,半虚拟化将不能与商业化操作系统协作。
二进制译码:VMM 在操作系统二进制代码加载到虚拟机时对其进行更改。这一方法在支持英特尔架构的商业产品中十分常见,唯一的限制是只能安装特定版本的操作系统,而新版本的操作系统均需要测试和验证,并可能要求对 VMM 软件进行升级。
两款解决方案共同的问题在于软件无法与基础硬件协同工作,因此必须采用一些复杂的方案向软件模拟某些硬件特性,同时让主机操作系统误认为该虚拟机是另一个应用。此外,VMM 还面临着其它技术挑战。
VT技术的作用
VT的目的是在尽可能最小化程序员痛苦的同时尽可能多的增加 virtualization holes (虚拟化孔。这种解决方案中,VT-X针对X86而VT-i针对Itanium,分别引入了一种新的模式针对不同的CPU.这里我们主要来看看VT-X,实际上VT-i的功能与VT-X有很多相同的地方。
这种新的模式被称为VMX,并且引入了一个虚拟化机监控器VMM运行于其中。它被设定在R0级别下,你可以认为是R-1级或者看成是在环的旁边运行。主机操作系统和所有的程序在VMX模式中运行,与此同时VMM运行在VMX根模式中。 任何一个运行在VMX模式下的操作系统,都拥有所有运行于非VT系统中的一般操作系统的功能和特性。它也处在R0级别中,与平常一样有权利处理每一件事情,而且并不知道有什么东西正在它的旁边运行。当情况得到授权,CPU进入VMX根模式,VMM就可以切换到其他一个运行在另一VMX实例的操作系统。这些切换被称做VM登录和VM退出。
VT技术所表现出来的不可思议的地方就在于它将从VMX模式到VMX根模式(或从VMX根模式到VMX模式的登录和退出处理易于操作。一旦主机操作系统被涉及到,那它一定是独自处在自己的世界里的,你必须保存虚拟化世界的完整状态并当你返回时重新载入它。虽然在VT里还有很多事物要去处理,但它被设计为一项任务,所以客观地说它实际是一个简单而并不费力的进程。
因为每一个操作系统实例都在正确的位置运行,所以前面所提到的4个问题也就不存在了。相关联的工作区也不再需要,与此有关的系统开销没有了。这些能有效提高速度。但这些并非免费,只是付出的代价要少很多。
启动一个新的主机操作系统,你需为其留出一块4kB的存储区并将它传递给一个VMPTLRD指令。这块区域将用来存储该系统实例不被激活时的所有状态和重要Bit位。只要该操作系统实例存在,则这块区域一直有效,直到在其上运行一条
VMCLEAR指令。这样就设立了一个虚拟化机实例。
如果你想要把控制权交给虚拟化机,你要么登录VMX非根模式或简单一点,运行VMX模式即可。这些提到的VM登录指令就是VMLAUNCH和VMRESUME,两者并没有太大的区别。VMRESUME指令只是简单地从刚开始已经初始化的4kB存储区里载入CPU状态,并把控制权交给主机操作系统。VMLAUNCH做的也是同样的工作,但它会启动一个虚拟化机控制构件VMCS,它包含一些设立VM的现场背后的记录,因为这需花费一些时间,所以人们尽量避免在并发登录时使用VMLAUNCH. 从这一点来看,主机操作系统开始了它的愉快之旅,尽可