什麼是硬體虛擬化
你知道嗎?下面將由小編帶大家來解答這個疑問吧,希望對大家有所收穫!
硬體虛擬化
硬體虛擬化是一種對計算機或作業系統的虛擬。虛擬化對使用者隱藏了真實的計算機硬體,表現出另一個抽象計算平臺。
硬體虛擬化的簡介
虛擬化在1960年為了描述虛擬機器***實驗性的IBM M44/44X系統***這個概念被第一次提出。對虛擬機器的架設和管理被稱為平臺虛擬化,現在也被稱為伺服器虛擬化。
平臺虛擬化表現為在一個給定的硬體平臺上宿主機創造一個模擬的計算機環境***虛擬機器***提供給客戶機。客戶機軟體對於使用者應用程式沒有限制;許多宿主機允許執行真實的作業系統。客戶機就好像直接執行在計算機硬體上,伴隨著幾個明顯的警告。虛擬機器對硬體資源***如網路,顯示器,鍵盤,硬碟***的訪問被統一管理在一個比處理器和系統記憶體更有限制性的層次上。客戶軟體經常被限制訪問計算機周邊裝置,或者被限制在較低的裝置效能上,這取決於宿主機硬體訪問策略設定。
硬體虛擬機器的原因
在計算機叢集中,許多小型伺服器正在被一個大型伺服器取代以增加硬體資源的利用率***如CPU等***。雖然硬體正在被整合,但是典型的作業系統仍然是獨立的。取而代之地,每一個執行在獨立的伺服器上的作業系統被轉移到在虛擬機器中。大型的伺服器可以“寄宿”許多這樣的“客戶”虛擬機器。這就是物理到虛擬***Physical-to-Virtual, P2V***的轉換。
虛擬機器比真實的機器可以被更容易從外部被控制和檢查,並且可以配置更靈活。這在核心開發與作業系統課程教學中尤為有用。
建立一個新的虛擬機器不需要預先購買硬體。同時,一個新的虛擬機器可以容易地從一臺計算機轉移到另一臺上。舉例來說,一個銷售員可以複製一個包含試用版軟體的虛擬機器到他的膝上型電腦去訪問他的客戶而不用更換電腦。類似的,虛擬機器中的故障不會對宿主機產生損害,所以不會令筆記本上的作業系統宕機。
由於可以被容易地遷移,虛擬機器可以被用於遠距離災難恢復方案。
平臺虛擬化的方案有很多。
五大硬體虛擬化
完全虛擬化
在完全虛擬化***full virtualization***中,虛擬機器模擬一個足夠強大的硬體使客戶機作業系統獨立執行。這種方案最早在1966年被虛擬機器家族的先鋒IBM CP-40與CP-67使用。支援完全虛擬化的虛擬機器軟體包括Parallels Workstation, Parallels Desktop for Mac, VirtualBox, Virtual Iron, Oracle VM, Virtual PC, Virtual Server, Hyper-V, VMware Workstation, VMware Server ***formerly GSX Server***, QEMU, Adeos, Mac-on-Linux, Win4BSD, Win4Lin Pro, 以及 Egenera vBlade technology。
硬體輔助虛擬化
在硬體輔助虛擬化***hardware-assisted virtualization***中,硬體提供結構支援幫助建立虛擬機器監視並允許客戶機作業系統獨立執行。硬體輔助虛擬化在1972年,為了使用第一個虛擬機器作業系統VM/370,第一次由IBM System/370引入。在2005年與2006年,Intel和AMD為虛擬化提供了額外的硬體支援。支援硬體輔助虛擬化的有 Linux KVM, VMware Workstation, VMware Fusion, Microsoft Virtual PC, Xen, Parallels Desktop for Mac,VirtualBox and Parallels Workstation。
支援完整的虛擬化技術的硬體平臺包括:
x86 ***and x86_64***—AMD-V ***代號Pacifica***, Intel VT ***代號Vanderpool***
IOMMU 由AMD和Intel共同開發。
Power Architecture ***IBM/Power.org***
Virtage ***Hitachi***
UltraSPARC T1, T2 及 T2+ ***Sun***
部分虛擬化
在部分虛擬化***partial virtualization***中***包括地址空間虛擬化***,虛擬機器模擬數個***但不是全部***底層硬體環境,特別是地址空間。這樣的環境支援資源共享和執行緒獨立,但是不允許獨立的客戶機作業系統。雖然這並不被視為一般意義上的虛擬機器,但這在歷史上是非常重要的一頁。這項技術曾被用於CTSS***試驗性的IBM M44/44X***,以及爭議性的系統比如MVS及Commodore 64***兩個都是“task switch”程式***。
平行虛擬化
在平行虛擬化***paravirtualization***中,虛擬機器不需要模擬硬體,而是提供一個特殊的API只能被特製的客戶機作業系統使用。
作業系統層虛擬化
在作業系統層虛擬化***OS-level virtualization***中,獨立主機被虛擬化在作業系統層中,這使得多個獨立且安全虛擬化的伺服器執行在一臺計算機上。客戶作業系統環境與宿主伺服器分享同一個作業系統,例如,相同的系統核心被用來建立客戶機環境。程式執行在被視為獨立系統的客戶機環境中。這種方式由FreeBSD jails首創;類似的例子包括Solaris Containers, OpenVZ, Linux-VServer, AIX Workload Partitions, Parallels Virtuozzo Containers, 以及 iCore Virtual Accounts。