1.VT技术介绍

1.VT技术

VT技术(Virtual Technology)技术一般指的是Intel VT技术

Intel VT可以让一个CPU工作起来像多个CPU同时在并行工作,从而使得一部电脑内同时运行多个操作系统,比如市面上的一些软件Vmware Workstation、Virtual Pc等,甚至可以虚拟出多系统出来

VT技术分为软件虚拟化 虚拟化层翻译 软件全虚拟化 容器虚拟化其中,虚拟化层翻译又可以分为:软件捕获翻译(软件全虚拟化)、改造虚拟机系统内核加虚拟化层翻译(半虚拟化)硬件支持的虚拟化层翻译(硬件支持的全虚拟化)**三种。

2.Ring -1层

在保护模式存在段选择子,通过段选择子的RPL进行鉴权,分别分为了三个等级Ring3、Ring2、Ring1、Ring0层,实际上并不存在所谓的Ring-1层,只是在产生虚拟化技术后,宿主机的权限大于虚拟机的权限,因此即便跑在Ring0层的代码也可以被宿主机控制,拥有了大于Ring0层的执行权限。

2.关键词介绍

1.VMM(Virtual Machine Monitor)

虚拟机器监视器,是指在电脑上的软件,固件,或者是硬件,用来建立与执行虚拟机器

2.VMX(Virtual Machine Extensions)

处理器对虚拟化的处理器支持由一种称为VMX Opreation的处理器操作形式提供,VMX Opreation 有2种,VMX Root Opreation以及VMX Non-root Opreation,一般来说,一个VMM将在VMX Root Opreation中运行,而客户软件运行在VMX Non-root Opreation

3.VM(Virtual Machine)

VM指的是Virtual Machin 虚拟机

4.VMCS(Virtual Machine Control Structures)

逻辑处理器在执行VMX操作时,会使用虚拟机控制数据结构(VMCSs)。这些操作可以管理进出VMX Non-root Opreation的转换(VM条目和VM退出)的转换,以及VMX非根操作中的处理器行为。该结构由新的指令VMCLEAR、VMPTRLD、VMREAD和VMWRITE操作。

5.VMX Root Opreation

通常VMM将会在这种模式下运行

6.VMX Non-root Opreation

通常客户软件(虚拟机)将在这种环境下运行。两种类型的操作之间的转换称作VMX转换,从根操作模式转换到非根操作模式称作VMX进入(VMX Entry),相反从非根操作模式转换到根操作模式称作VMX退出(VMX Exit)

7.Guest software

每个虚拟机(VM)就是一个客户软件运行环境。

3.VMM软件的生命周期

以上图来描述VMM软件的生命周期

  • 通过运行VMXON指令进入VMX Opreation
  • 使用VM Entry,VMM可以进入Guest虚拟机,利用VMLANUCH和VMRESUME进入和退出Guest,可以重复进出
  • 最后,决定关闭自己并离开VMX Opreation时,VMM会执行VMXOFF指令推出