虛擬技術總結

2021-06-26 23:20:53 字數 1790 閱讀 4298

支援虛擬技術的處理器有乙個廣義指令集(extra instruction set),代號為virtual machine extensions,或者簡稱vmx。vmx為cpu帶來了10條新的虛擬指令:vmptrld、vmptrst、vmclear、vmread、vmwrite、vmcall、vmlauch、vmresume、vmxoff和vmxon。

在虛擬技術下有兩種工作模式:根(root)模式和非根(non-root)模式。一般來說,只有虛擬控制軟體(被成為是virtual machine monitor,vmm)工作在根模式。

實際的硬體平台通過vmm與各虛擬機器打交道,vmm是建立在處理器、晶元組硬體平台上的一層系統軟體,其作用是允許多作業系統共享共同的硬體平台,並且允許應用程式不經修改即能執行在多vm環境中。

軟體在進入虛擬模式之前,首先要執行vmxon指令,然後才能成為vmm軟體。vmm軟體能夠通過vmlaunch指令進入每乙個虛擬機器,若要退出則使用vmresume指令。vmm軟體若想結束虛擬模式,則使用vmxoff指令。下面是具體的操作細節:

帶有虛擬技術的處理器具有額外的指令集,叫做virtual machine extensions,簡稱vmx。vmx給cpu帶來了10個新的虛擬專用指令:vmptrld, vmptrst, vmclear, vmread, vmwrite, vmcall, vmlauch, vmresume, vmxoff and vmxon

基於硬體和網路虛擬化技術,自主開發的vmm(虛擬監控機)產品(基於kvm/xen/lxc系統),這是公司產品線iaas平台產品線的核心部分。

在linux核心上開發,基於分布式/平行計算及大規模的網路環境下實現vmm。

虛擬化原理

虛擬機器是對真實計算環境的抽象和模擬,vmm 需要為每個虛擬機器分配一套資料結構來管理它們狀態,包括虛擬處理器的全套暫存器,物理記憶體的使用情況,虛擬裝置的狀態等等。vmm 排程虛擬機器時,將其部分狀態恢復到主機系統中。並非所有的狀態都需要恢復,例如主機 cr3 暫存器中存放的是 vmm 設定的頁表實體地址,而不是 guest os 設定的值。主機處理器直接執行 guest os 的機器指令,由於 guest os執行在低特權級別,當訪問主機系統的特權狀態(如寫 gdt 暫存器)時,許可權不足導致主機處理器產生異常,將執行權自動交還給 vmm。此外,外部中斷的到來也會導致 vmm 的執行。vmm 可能需要先將 該虛擬機器的當前狀態寫回到狀態資料結構中,分析虛擬機器被掛起的原因,然後代表 guest os 執行相應的特權操作。最簡單的情況,如guest os 對 cr3 暫存器的修改,只需要更新虛擬機器的狀態資料結構即可。一般而言,大部分情況下,vmm 需要經過複雜的流程才能完成原本簡單的操作。最後 vmm 將執行權還給 guest os,guest os 從上次被中斷的地方繼續執行,或處理 vmm 「塞」入的虛擬中斷和異常。這種經典的虛擬機器執行方式被稱為 trap-and-emulate,虛擬機器對於 guest os 完全透明,guest os 不需要任何修改,但是 vmm 的設計會比較複雜,系統整體效能受到明顯的損害。

red hat產品和技術總裁paul cormier表示:「kvm最大的好處就在於它是與linux核心整合的。未來幾年人們的關注焦點仍然集中在hypervisor上。hypervisor是作業系統的一項功能,自然能夠被使用者所接受。微軟和red hat作業系統的不同中介軟體和管理功能將起到重要的作用。」 

從linux 2.6.20開始核心中已經開始整合kvm。因此,由fedora社群開發的fedora也開始支援kvm。linux 2.6.20之後的linux發行版本的核心中也都將kvm作為基本的hypervisor。 

虛擬儲存技術

一.實現記憶體擴充的技術 1 覆蓋技術 在程式執行中,在不同時刻把同乙個儲存區分配給不同程式段和資料段,實現儲存區共享。適用於連續儲存 單一連續區分配,分割槽 如圖bdg共享乙個儲存區 三個程序不同時發生 cefh同理 2 交換技術 對換技術 1.定義 將記憶體中某程序的的程式和資料 全部或部分 寫...

虛擬化技術

虛擬化技術可以提供硬體,軟體上的虛擬化,從而節省成本。特別是對於需要修改或者隱藏操作細節的場景,虛擬化技術更加重要。容器化技術是可以用於替代容器化技術的,但是兩者確實可以融合,取長補短的。這裡容器化技術一般使用docker。vps基本上都是基於虛擬化技術的,例如vultr就是基於kvm核心虛擬化技術...

虛擬化技術

伺服器虛擬化 虛擬機器遷移 隔離技術 儲存虛擬化 網路虛擬化 桌面虛擬化 如果你開始閱讀這篇文章,就預設你了解什麼是馮諾伊曼結構。下圖就是經典的馮諾伊曼結構,有輸入輸出,有儲存器,有 cpu,而其中又有控制單元也有運算單元 alu。這些就構成基本的計算機硬體系統了。而所謂虛擬化技術指的就是,希望能在...