監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購(gòu)買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

虛擬化的工作原理及虛擬化的類型

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

文章來(lái)源:泛普軟件

虛擬化概念很早就已出現(xiàn)。簡(jiǎn)單來(lái)說(shuō),虛擬化就是使用某些程序,并使其看起來(lái)類似于其他程序的過(guò)程。

將這個(gè)概念應(yīng)用到計(jì)算機(jī)系統(tǒng)中可以讓不同用戶看到不同的單個(gè)系統(tǒng)(例如,一臺(tái)計(jì)算機(jī)可以同時(shí)運(yùn)行Linux 和 Microsoft Windows)。這通常稱為全虛擬化(full virtualization)。

虛擬化也可以使用更加復(fù)雜的格式,其中單個(gè)計(jì)算機(jī)看上去具有多個(gè)架構(gòu)(對(duì)于一個(gè)用戶來(lái)說(shuō),它是一個(gè)標(biāo)準(zhǔn)的 x86 平臺(tái);對(duì)于另外一個(gè)用戶來(lái)說(shuō),它是 IBM Power PC平臺(tái))。這種虛擬化形式通常被稱為 硬件仿真。

最后,更加簡(jiǎn)單的一種虛擬化是操作系統(tǒng)虛擬化,其中一臺(tái)計(jì)算機(jī)可以運(yùn)行相同類型的多個(gè)操作系統(tǒng)。這種虛擬化可以將一個(gè)操作系統(tǒng)的多個(gè)服務(wù)器隔離開來(lái)(這意味著全都必須使用相同類型和版本的操作系統(tǒng))。

虛擬化的工作原理

虛擬化解決方案的底部是要進(jìn)行虛擬化的機(jī)器。這臺(tái)機(jī)器可能直接支持虛擬化,也可能不會(huì)直接支持虛擬化;那么就需要系統(tǒng)管理程序?qū)拥闹С?。系統(tǒng)管理程序,或稱為 VMM,可以看作是平臺(tái)硬件和操作系統(tǒng)的抽象化。在某些情況中,這個(gè)系統(tǒng)管理程序就是一個(gè)操作系統(tǒng);此時(shí),它就稱為主機(jī)操作系統(tǒng)。

系統(tǒng)管理程序之上是客戶機(jī)操作系統(tǒng),也稱為虛擬機(jī)(VM)。這些 VM 都是一些相互隔離的操作系統(tǒng),將底層硬件平臺(tái)視為自己所有。但是實(shí)際上,是系統(tǒng)管理程序?yàn)樗鼈冎圃炝诉@種假象。

目前使用虛擬化解決方案的問題是,并非所有硬件都可以很好地支持虛擬化。較老的 x86 處理器根據(jù)執(zhí)行范圍對(duì)特定指令會(huì)產(chǎn)生不同結(jié)果。這就產(chǎn)生了一個(gè)問題,因?yàn)橄到y(tǒng)管理程序應(yīng)該只能在一個(gè)最受保護(hù)的范圍中執(zhí)行。由于這個(gè)原因,諸如 VMWare 之類的虛擬化解決方案會(huì)提前掃描要執(zhí)行的代碼,從而將這些指令替換為一些陷阱指令(trap instruction),這樣系統(tǒng)管理程序就可以正確地處理它們。Xen 可以支持一種協(xié)作的虛擬化方法,它不需要任何修改,因?yàn)榭蛻魴C(jī)知道自己正在進(jìn)行虛擬化,并已經(jīng)進(jìn)行了修改。KVM 會(huì)簡(jiǎn)單地忽略這個(gè)問題,如果您希望進(jìn)行虛擬化,就強(qiáng)制必須在更新的硬件上運(yùn)行。

虛擬化的類型

實(shí)現(xiàn)虛擬化的方法不止一種。實(shí)際上,有幾種方法都可以通過(guò)不同層次的抽象來(lái)實(shí)現(xiàn)相同的結(jié)果。本節(jié)將介紹 Linux 中常用的 3 種虛擬化方法,以及它們相應(yīng)的優(yōu)缺點(diǎn)。業(yè)界有時(shí)會(huì)使用不同的術(shù)語(yǔ)來(lái)描述相同的虛擬化方法。本文中使用的是最常用的術(shù)語(yǔ),同時(shí)給出了其他術(shù)語(yǔ)以供參考。

硬件仿真

毫無(wú)疑問,最復(fù)雜的虛擬化實(shí)現(xiàn)技術(shù)就是硬件仿真。在這種方法中,可以在宿主系統(tǒng)上創(chuàng)建一個(gè)硬件 VM 來(lái)仿真所想要的硬件

正如您所能預(yù)見的一樣,使用硬件仿真的主要問題是速度會(huì)非常慢。由于每條指令都必須在底層硬件上進(jìn)行仿真,因此速度減慢 100 倍的情況也并不稀奇。若要實(shí)現(xiàn)高度保真的仿真,包括周期精度、所仿真的 CPU 管道以及緩存行為,實(shí)際速度差距甚至可能會(huì)達(dá)到 1000 倍之多。

硬件仿真也有自己的優(yōu)點(diǎn)。例如,使用硬件仿真,您可以在一個(gè) ARM 處理器主機(jī)上運(yùn)行為 PowerPC? 設(shè)計(jì)的操作系統(tǒng),而不需要任何修改。您甚至可以運(yùn)行多個(gè)虛擬機(jī),每個(gè)虛擬器仿真一個(gè)不同的處理器。

完全虛擬化

完全虛擬化(full virtualization),也稱為原始虛擬化,是另外一種虛擬化方法。這種模型使用一個(gè)虛擬機(jī),它在客戶操作系統(tǒng)和原始硬件之間進(jìn)行協(xié)調(diào)(參見圖 3)。"協(xié)調(diào)"在這里是一個(gè)關(guān)鍵,因?yàn)?VMM 在客戶操作系統(tǒng)和裸硬件之間提供協(xié)調(diào)。特定受保護(hù)的指令必須被捕獲下來(lái)并在 hypervisor 中進(jìn)行處理,因?yàn)檫@些底層硬件并不由操作系統(tǒng)所擁有,而是由操作系統(tǒng)通過(guò) hypervisor 共享。

雖然完全虛擬化的速度比硬件仿真的速度要快,但是其性能要低于裸硬件,因?yàn)橹虚g經(jīng)過(guò)了 hypervisor 的協(xié)調(diào)過(guò)程。完全虛擬化的最大優(yōu)點(diǎn)是操作系統(tǒng)無(wú)需任何修改就可以直接運(yùn)行。惟一的限制是操作系統(tǒng)必須要支持底層硬件(例如 PowerPC)。

超虛擬化

超虛擬化(paravirtualization)是另外一種流行的虛擬化技術(shù),它與完全虛擬化有一些類似。這種方法使用了一個(gè) hypervisor 來(lái)實(shí)現(xiàn)對(duì)底層硬件的共享訪問,還將與虛擬化有關(guān)的代碼集成到了操作系統(tǒng)本身中(參見圖 4)。這種方法不再需要重新編譯或捕獲特權(quán)指令,因?yàn)椴僮飨到y(tǒng)本身在虛擬化進(jìn)程中會(huì)相互緊密協(xié)作。

正如前面介紹的一樣,超虛擬化技術(shù)需要為 hypervisor 修改客戶操作系統(tǒng),這是它的一個(gè)缺點(diǎn)。但是超虛擬化提供了與未經(jīng)虛擬化的系統(tǒng)相接近的性能。與完全虛擬化類似,超虛擬化技術(shù)可以同時(shí)支持多個(gè)不同的操作系統(tǒng)。

操作系統(tǒng)級(jí)的虛擬化

我們要介紹的最后一種技術(shù)是操作系統(tǒng)級(jí)的虛擬化,它使用的技術(shù)與前面所介紹的有所不同。這種技術(shù)在操作系統(tǒng)本身之上實(shí)現(xiàn)服務(wù)器的虛擬化。這種方法支持單個(gè)操作系統(tǒng),并可以將獨(dú)立的服務(wù)器相互簡(jiǎn)單地隔離開來(lái)。

操作系統(tǒng)級(jí)的虛擬化要求對(duì)操作系統(tǒng)的內(nèi)核進(jìn)行一些修改,但是其優(yōu)點(diǎn)是可以獲得原始性能。(IT專家網(wǎng))

發(fā)布:2007-04-21 13:53    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:
哈爾濱OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢

泛普哈爾濱OA軟件行業(yè)資訊其他應(yīng)用

哈爾濱OA軟件 哈爾濱OA新聞動(dòng)態(tài) 哈爾濱OA管理信息化 哈爾濱OA快博 哈爾濱OA軟件行業(yè)資訊 哈爾濱軟件開發(fā)公司 哈爾濱門禁系統(tǒng) 哈爾濱物業(yè)管理軟件 哈爾濱倉(cāng)庫(kù)管理軟件 哈爾濱餐飲管理軟件 哈爾濱網(wǎng)站建設(shè)公司