複製鏈接
請複製以下鏈接發送給好友

硬件虛擬化

鎖定
硬件虛擬化是一種對計算機或操作系統的虛擬。虛擬化對用户隱藏了真實的計算機硬件,表現出另一個抽象計算平台。
中文名
硬件虛擬化
外文名
Virtualization
別    名
平台虛擬化

硬件虛擬化簡介

虛擬化在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-VVMware 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。