對虛擬化技術的理解

2021-08-03 20:05:56 字數 1253 閱讀 6913

虛擬化技術:在一台主機上實現多個作業系統,關鍵技術就是硬體的虛擬化

全虛擬化:cpu、記憶體以及io裝置都通過核心來進行虛擬化。優點是虛擬機器作業系統核心不用修改,例如windows作業系統可直接建立;缺點是效率太低,所有的呼叫硬體裝置的操作都需要hypervisor(主機核心)來中轉排程。

半虛擬化:將io裝置驅動程式做成系統呼叫直接供給虛擬機器使用,這樣減少了主機核心的參與,例如虛擬機器發報文直接呼叫網絡卡的驅動程式而不需要經過host主機核心。優點是效率高,缺點是在半虛擬化的實現裡虛擬機器不能是windows,因為半虛擬化使得虛擬主機知道自己是在乙個虛擬環境中而不是真正擁有主機的所有硬體資源,在發報文時並不是直接發向網絡卡而是呼叫系統給出的api,所以對於半虛擬化主機上的虛擬機器需要修改核心,而windows系統不允許修改核心。

在cpu硬體虛擬化上  intel 推出了  vt-x  amd推出了amd-v  這兩種cpu都在硬體層面上實現了虛擬化,也就是在原有的4層環的cpu上加了環-1,讓虛擬機器執行在環0上,host主機執行在環-1上。

在記憶體虛擬化上,影子mmu與tlb同樣實現了公升級,影子mmu使得la--pa--ha  這些步驟直接簡化為la--ha;同樣由於所有虛擬機器共用mmu與tlb,在tlb中會記錄每乙個虛擬機器的記憶體位址。

intel和amd分別通過ept和npt為虛擬化應用提公升影子mmu的效能,並通過標記tlb來避免虛擬機器切換時頻繁清寫tlb以提高tlb快取命中率。

三大虛擬化公司

1、vmware  可以在作業系統上直接安裝軟體然後新建各種虛擬機器,也可以直接在硬體上跑虛擬化技術;支援全虛擬化和半虛擬化。

2、xen技術  xen平面只提供cpu和記憶體的驅動程式,在系統啟動時xen啟動的同時需要同時載入dom0(內涵作業系統,同時有硬體驅動程式),在xen的虛擬化方式中,所有虛擬機器的建立都是靠dom0來完成的,一旦用到cpu和記憶體的時候才會用到xen平面。一般的使用方式是在dom0中裝乙個qemu軟體,這個軟體功能很強大,本身就是乙個可以虛擬化cpu、記憶體、io裝置的軟體,在xen虛擬化技術中其實只是用qemu軟體來為其他的虛擬機器建立虛擬的io裝置。

3、kvm技術  紅帽公司技術   在乙個原有的linux主機上一旦呼叫核心模組kvm模組,則核心變為hypervisor。此時可以在系統上建立虛擬機器,十分方便。但是kvm技術只是全虛擬化技術,必須要cpu支援hvm(也就是cpu支援硬體虛擬化)。同樣在使用者空間使用qume為虛擬機器建立io裝置,由kvm提供cpu及記憶體的虛擬化。

容器技術與虛擬化技術理解

容器技術與虛擬化技術理解 虛擬化技術 虛擬化技術即通過hypervisor將os執行在物理裝置或是宿主os上,此兩種虛擬化為裸機虛擬化和宿主虛擬化 裸機 虛擬機器直接執行在系統硬體上,建立硬體全 例項,被稱為 裸機 型。裸機型在虛擬化中hypervisor直接管理呼叫硬體資源,不需要底層作業系統,也...

虛擬化技術

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

虛擬化技術

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