回覆列表
  • 1 # Ming明00001

    Intel提供3個層面的虛擬化技術(Intel Virtualization Technology)

      1.基於處理器的虛擬化技術(Intel VT-X) 全稱為 Virtualization Technology for x86

      2.基於PCI匯流排域裝置實現的I/O虛擬化技術(Intel VT-D) 全稱為Virtualization Technology for Directed I/O

      3.基於網路的虛擬化技術(Intel VT-C) 全稱為Virtualization Technology for Connectify

      VT 是對資源的虛擬化管理的結果

      在CPU端的虛擬化裡 實現了VMX(Virtual-Machine Extensions,虛擬機器擴充套件)架構

      包含兩種角色環境 VMM(Virtual Machine Monitor,虛擬機器監管者)host

      VM(Virtual Machine,虛擬機器)guest

      guest端軟體訪問的資源受到VMM的監管

    VMM透過EPT(Extend Page Table,擴充套件頁表)來實現“guest端物理地址到Host端物理地址”的轉化

    使得Guest訪問到其他的物理區域

    在開啟EPT機制下 會產生兩個地址概念:GPA(Guest Physical Address) 和 HPA(Host Physical Address)

    HPA 真正的物理地址

    在VMX架構下 至少需要實現一個“VMXON region” 以及 “VMCS region”的物理區域

    VMXON區域對應於VMM VMM使用VMXON區域對一些資料進行記錄和維護

    每個VM需要對應自己的VMCS(VIrtual Machine Structure 虛擬機器控制結構)

    VMM使用VMCS來配置VM的執行環境 以及控制VM的執行

    檢測VMX支援

    VMX支援 檢測CPUID.01H:ECX[5].VMX位來確定是否支援VMX架構 1表示支援

    開啟VMX進入允許

    要開啟VMX operation模式 必須先開啟CR4.VMXE控制位 1表示開啟

    VMX root operation模式處理器的CPL(Current Privilege Level) 必須為0 VMM執行的環境

    VMX non-root operation VM執行的環境

    root ----------> non root VM-entry

    non-root ---------> root VM-exit

    導致VM exit發生的三大類途徑如下。

    1) 執行無條件引發VM exit的指令。包括CPUID,GETSEC,INVD與XSETBV指令以及所有的VMX指令(除了VMFUNC指令)

    2) 遇到無條件引發VM exit的未被阻塞的事件。例如,INT訊號,SIPI訊息等。

    3) 遇到VMM設定引發VM exit的條件,包括執行某些指令或者遇到某些事件發生。

  • 中秋節和大豐收的關聯?
  • 有一個男生對我好,我和他莫名的尷尬,而且他也不表白,我該怎麼辦?