硬件虛擬化

硬件虛擬化也稱做徹底虛擬化

在計算機科學中,硬件虛擬化(英語:Hardware virtualization)是一種對計算機或操做系統的虛擬。虛擬化對用戶隱藏了真實的計算機硬件,表現出另外一個抽象計算平臺。

 

簡介

在計算機集羣中,許多小型服務器正在被一個大型服務器取代以增長硬件資源的利用率(如CPU等)。雖然硬件正在被整合,可是典型的操做系統仍然是獨立的。取而代之地,每個運行在獨立的服務器上的操做系統被轉移到在虛擬機中。大型的服務器能夠「寄宿」許多這樣的「客戶」虛擬機。這就是物理到虛擬(Physical-to-Virtual, P2V)的轉換。

虛擬機比真實的機器能夠被更容易從外部被控制和檢查,而且能夠配置更靈活。這在內核開發與操做系統課程教學中尤其有用。[3]

建立一個新的虛擬機不須要預先購買硬件。同時,一個新的虛擬機能夠容易地從一臺計算機轉移到另外一臺上。舉例來講,一個銷售員能夠複製一個包含試用版軟件的虛擬機到他的筆記本電腦去訪問他的客戶而不用更換電腦。相似的,虛擬機中的故障不會對宿主機產生損害,因此不會令筆記本上的操做系統死機。

因爲能夠被容易地遷移,虛擬機能夠被用於遠距離災難恢復方案。

平臺虛擬化的方案有不少。

 

虛擬化的緣由

在計算機集羣中,許多小型服務器正在被一個大型服務器取代以增長硬件資源的利用率(如CPU等)。雖然硬件正在被整合,可是典型的操做系統仍然是獨立的。取而代之地,每個運行在獨立的服務器上的操做系統被轉移到在虛擬機中。大型的服務器能夠「寄宿」許多這樣的「客戶」虛擬機。這就是物理到虛擬(Physical-to-Virtual, P2V)的轉換。

虛擬機比真實的機器能夠被更容易從外部被控制和檢查,而且能夠配置更靈活。這在內核開發與操做系統課程教學中尤其有用。[3]

建立一個新的虛擬機不須要預先購買硬件。同時,一個新的虛擬機能夠容易地從一臺計算機轉移到另外一臺上。舉例來講,一個銷售員能夠複製一個包含試用版軟件的虛擬機到他的筆記本電腦去訪問他的客戶而不用更換電腦。相似的,虛擬機中的故障不會對宿主機產生損害,因此不會令筆記本上的操做系統死機。

因爲能夠被容易地遷移,虛擬機能夠被用於遠距離災難恢復方案。

徹底虛擬化和半虛擬化

徹底虛擬化提供底層物理系統的所有抽象化,且建立一個新的虛擬系統,客戶機操做系統>能夠在裏面運行。不須要對客戶機操做系統或者應用程序進行修改(客戶機操做系統或者應用程序像往常同樣運行,意識不到虛擬環境的存在)。半虛擬化須要對運行在虛擬機上的客戶機操做系統進行修改(這些客戶機操做系統會意識到它們運行在虛擬環境裏)並提供相近的性能,但半虛擬化的性能要比徹底虛擬化更優越。

 

全虛擬化

在全虛擬化(full virtualization)中,虛擬機模擬一個足夠強大的硬件使客戶機操做系統獨立運行。這種方案最先在1966年被虛擬機家族的先鋒IBM CP-40與CP-67使用。支持徹底虛擬化的虛擬機軟件包括Parallels Workstation、 Parallels Desktop for Mac、VirtualBox、Virtual Iron、Oracle VM、Microsoft Virtual PC、Virtual Server、Hyper-V、VMware Workstation、VMware Server(原GSX Server)、QEMU、Adeos、Mac-on-Linux、Win4BSD、Win4Lin Pro、以及Egenera vBlade technology等

 

硬件輔助虛擬化

在硬件輔助虛擬化(hardware-assisted virtualization)中,硬件提供結構支持幫助建立虛擬機監視並容許客戶機操做系統獨立運行。硬件輔助虛擬化在1972年開始運行,它在IBM System/370上運行,使用了第一個虛擬機操做系統VM/370。在2005年與2006年,Intel和AMD爲虛擬化提供了額外的硬件支持。支持硬件輔助虛擬化的有 Linux KVM, VMware Workstation, VMware Fusion, Microsoft Virtual PC, Xen, Parallels Desktop for Mac,VirtualBox和Parallels Workstation。

支持完整的虛擬化技術的硬件平臺包括:

x86 (and x86_64)—AMD-V (代號Pacifica), Intel VT-x(代號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。

 

 

常見的虛擬機 

名稱 做者 主CPU 目標CPU 主系統 目標系統 許可
Xen 英國劍橋大學IntelAMD x86,x86-64 x86,x86-64 NetBSD,Linux,Solaris Linux,Solaris,
Windows XP & 2003 Server
(須要3.0版和VanderpoolPacifica),
九號項目FreeBSD
GPL
VMware Workstation 6.0 VMware x86,x86-64 x86,x86-64 Windows,Linux DOS,Windows,Linux,FreeBSD,
Netware,Solaris,Darwin,虛擬設備
私有
VMware Server VMware x86,x86-64 x86,x86-64 Windows,Linux DOS,Windows,Linux,FreeBSD,
Netware,Solaris,虛擬設備
私有(免費)
VMware Player2.0 VMware x86,x86-64 x86,x86-64 Windows,Linux DOS,Windows,Linux,FreeBSD,
Netware,Solaris,Darwin,虛擬設備
私有(免費)
VMware Fusion VMware x86,Intel VT-x x86,x86-64 Mac OS X(Intel) Windows,Linux,Netware,Solaris 私有
VMware ESXi Server VMware x86,x86-64 x86,x86-64 無:裸機安裝(嵌入式) Windows,Red Hat,SuSE,Ubuntu,
Netware,Solaris,FreeBSD
私有
VMware ESX Server VMware x86, x86-64 x86, x86-64 無:裸機安裝 Windows,Red Hat,SuSE,Ubuntu,
Netware,Solaris,FreeBSD
私有
Virtuozzo SWsoft x86,IA-64,x86-64 x86,IA-64,x86-64 Linux & Windows 各類Linux發行版;Windows 私有
Virtual Server2005 R2 Microsoft Intel x86,x86-64 Intel x86 Windows 2003,XP Windows NT,2000,2003,
Linux(Red Hat and SUSE)
私有(免費)
Virtual PC 2007 Microsoft x86,x86-64 x86 Windows Vista(商業版,企業版,旗艦版),
XP Pro,XP Tablet PC版
DOS,Windows,OS/2,
Linux(Suse,Xubuntu),
OpenSolaris(Belenix)
私有(從2006年7月起免費)
Virtual IronVirtual Iron 3.1 Virtual Iron軟件公司(已被Oracle收購May 13, 2009) x86 VT-x,x86-64 AMD-V x86,x86-64 無:裸機執行 Windows,Red HatSuSE 完整的產品是私有的[3];幾個組成部分是GPL v2[4]
User Mode Linux Jeff Dike(其餘開發者幫助) x86,x86-64,PowerPC x86,x86-64,PowerPC Linux Linux GPL v2
Sun xVM Server 太陽計算機系統公司 x86-64,SPARC x86-64,SPARC 無:裸機執行 Windows XP & 2003 Server(僅x86-64),Linux,Solaris GPL v3
SimNow AMD x86-64 x86-64 Linux(64位),Windows(64位) Linux,Windows(32位和64位) AMD公司專有
QEMUqvm86模塊) Paul Brook x86 x86 Linux,NetBSD,Windows 常常變化 GPL
QEMUkqemu模塊) Fabrice Bellard Intel x86,x86-64 Intel x86,x86-64 Linux,FreeBSD,OpenBSD,Solaris,Windows 常常變化[2] GPL/LGPL
QEMU Fabrice Bellard(其餘開發者幫助) x86,x86-64,IA-64,PowerPC,Alpha,SPARC 32 and 64,ARM,S/390,M68k x86,x86-64,ARM,SPARC 32 and 64,PowerPC,MIPS Windows,Linux,Mac OS X,Solaris,FreeBSD,OpenBSD,BeOS 常常變化[1] GPL/LGPL
Proxmox VE Proxmox x86-64   無:裸機安裝 Windows,Linux 免費、付費 都有
PearPC Sebastian Biallas x86,x86-64,PowerPC PowerPC Windows,Linux,Mac OS X,NetBSD Mac OS X,Darwin,Linux GPL
Parallels Workstation Parallels公司 x86,Intel VT-x x86 Windows,Linux Windows,Linux,FreeBSD,
OS/2eComStation
MS-DOS,Solaris
私有
Oracle VM 甲骨文公司 Intel x86,x86-64,Intel VT-x Intel x86,x86-64,Intel VT-x 無(裸機安裝) Microsoft Windows
Oracle Enterprise Linux
Red Hat Enterprise Linux
免費,商業
Oracle VirtualBox 甲骨文公司 x86,x86-64,VT-x,AMD-V x86,(x86-64僅在VirtualBox 2及x86-64主機上) Windows,Linux,
Mac OS X(Intel),
Solaris, FreeBSD
DOS,Windows,Linux,
OS/2,FreeBSD,Solaris
GPL v2;完整版本中的額外特性是專有的(免費供我的與教育機構使用和評價)
OpenVZ 社區項目,SWsoft支持 Intel x86,x86-64,IA-64,PowerPC64,SPARC/64 Intel x86,x86-64,IA-64,PowerPC64,SPARC/64 Linux 各類Linux發行版 GPL
Logical Domains 太陽計算機系統公司 UltraSPARC T1UltraSPARC T2 兼容 Solaris Solaris,Linux,FreeBSD ?
KVM Red Hat Intel/AMD處理器與x86虛擬化 x86/x86-64 Linux Linux,Windows GPL v2
Hyper-V 微軟 x86-64+硬件輔助虛擬(AMD-VIntel VT x86-64x86 Windows Server 2008Windows Server 2012Windows 8 Windows 2000Windows 2003
Windows 2008Windows XP
Windows VistaLinux
私有(免費)
Hercules Roger Bowler 任何 z(IBM大型計算機) Linux,Mac OS X,Solaris,Windows OS/360,OS/390,z/OS,z/Linux QPL
DOSEMU 社區項目 x86,x86-64 x86 Linux DOS GPL v2
DOSBox Peter Veenstra和Sjoerd與社區幫助 任何 x86 Linux,Windows,Mac OS Classic,Mac OS X,
BeOS,FreeBSD,OpenBSD,Solaris,QNX
IRIX,MorphOS,AmigaOS
DOS GPL
CHARON Stromasys x86,x86-64 DEC PDP11,Alpha, VAX, SUN SPARC,HP3000 WindowsLinux, Solaris Solaris/SunOS,Tru64,
OpenVMS,Ultrix
私有
Bochs Kevin Lawton 任何 x86x86-64 WindowsWindows MobileLinuxIRIX
AIXFreeBSDOpenBSDBeOSMac OS XAndroid
DOS,Windows,xBSD,Linux LGPL
名稱 做者 主CPU 目標CPU 主系統 目標系統 許可
相關文章
相關標籤/搜索