上一篇既然已經(jīng)說(shuō)了,現(xiàn)在除了 Xen 還有 VMWare等公司也在做虛擬化,而且VMWare在這個(gè)領(lǐng)域簡(jiǎn)直就是老大哥,那么作為由劍橋大學(xué)推出的小黑馬 Xen為什么有那么大本事在很短時(shí)間內(nèi)不但吸引了軟件界也吸引了硬件界呢。
原因是,Xen真的是很快,性能很好。
對(duì)于VMWare等虛擬化軟件,其實(shí)他是在 虛擬操作系統(tǒng) 與母體操作系統(tǒng)(Host機(jī)器)之間采用軟件實(shí)現(xiàn)一整套硬件的emulator,當(dāng)虛擬OS運(yùn)行時(shí),動(dòng)態(tài)的針對(duì)虛擬OS的內(nèi)核指令進(jìn)行解析和處理,維護(hù)所有虛擬硬件的當(dāng)前狀態(tài),同時(shí)防止虛擬OS的指令對(duì)于真實(shí)硬件的任何狀態(tài)變更。這樣的一整套處理一般會(huì)占用系統(tǒng)全體性能的30%到50%左右。這就是所謂的微內(nèi)核虛擬化技術(shù)。
而對(duì)于Xen所采用的虛擬技術(shù)叫做paravirtualization。它在系統(tǒng)管理層(就是OS與硬件之間那一層)中封裝了一層API。虛擬OS的CPU調(diào)度,內(nèi)存訪問,硬件中斷等等都是通過這一層API來(lái)完成。在系統(tǒng)管理層中,對(duì)MMU,DMA的操作作了優(yōu)化,所以相比較VMware的實(shí)現(xiàn)方式來(lái)說(shuō),性能上有了提高。不利的點(diǎn)是必須要在guestOS的內(nèi)核中進(jìn)行修改,將所有訪問硬件的API替換為使用XEN的接口API。但是相比起性能的提高來(lái)說(shuō),還是值得的。
但是 但是 但是,Xen也有它的死穴: 加載在Xen上的虛擬機(jī)需要修改其內(nèi)核。
對(duì)于VMWare我們可以拿普通的 os盤直接安裝,不會(huì)有太多不爽的地方(FC6下的驅(qū)動(dòng)比較不爽)。可是這些盤在Xen上就別想用了,對(duì)于沒有VT-x技術(shù)的普通pc機(jī)器,我們必須下載支持xen的,經(jīng)過修改的os,現(xiàn)今為止這種os還只限于linux陣營(yíng),畢竟么,windows的內(nèi)核你咋改呢。呵呵。xen在intel和amd的大力支持下,相應(yīng)的提出了vt-x架構(gòu)的intel CPU和AMD的Pacifica,這兩種機(jī)器都支持硬件級(jí)別的xen,那么,如果您有幸得到這2種機(jī)器,恭喜你,你可以直接使用我們普通的os盤,不用再為啟動(dòng)domainn0而大傷腦筋了。