說完了虛擬界的四大天王,再來說說四小天鵝。
第一天鵝是Sun公司。
好像把這么大的公司算做小天鵝有點(diǎn)那個(gè),不過在虛擬界Sun的影響確實(shí)不如前面那幾位大嘛。沒辦法,暫時(shí)委屈一下嘍。
Sun以前就有個(gè)很類似Virtuozzo的軟件,叫Solaris Container。從名字就能看出來,這咚咚也是個(gè)應(yīng)用容器。最近Sun在虛擬技術(shù)方面的熱情很高,新推出了一個(gè)叫做Logical Domain的咚咚,簡(jiǎn)寫的模樣很怪異??LDoms。
第二天鵝是Parallels公司。
這家公司跟前面提到的SWsoft其實(shí)是姊妹公司,幕后投資人就是SWsoft的大老板。所以你在SWsoft的主頁(yè)上還能找到Parallels的鏈接呢。
Parallels主攻的方向是桌面虛擬,在Windows、Linux和Mac OS上都有產(chǎn)品。以Parallels掌握的技術(shù),完全可以實(shí)現(xiàn),在Windows上運(yùn)行Mac OS程序,在Mac OS上運(yùn)行Windows程序。但是目前的產(chǎn)品只支持后者,因?yàn)樘O果公司的授權(quán)條約限制了前者的合法性。
蘋果真是夠“獨(dú)”,居然禁止別的平臺(tái)運(yùn)行自己的程序!
第三天鵝是InnoTek公司。
這家公司非常識(shí)時(shí)務(wù),發(fā)現(xiàn)自己無論如何也打不過VMware等對(duì)手,就干脆把自己的VirtualBox做成開源項(xiàng)目?,F(xiàn)在大家可以在網(wǎng)上任意下載VirtualBox來玩。
這一招還真管用,剛開源沒多久的時(shí)間,VirtualBox的用戶,當(dāng)然主要是玩家型的用戶啦,就迅速增加??磥磉€是免費(fèi)的午餐更好吃??!
第四天鵝是Thinstall公司。
這家公司其實(shí)不屬于傳統(tǒng)虛擬主機(jī)這個(gè)圈子,從名字就能猜出來,它更多的是和一些所謂“瘦終端”廠商勾搭。但是它的產(chǎn)品卻從名字到功能,都不折不扣的屬于虛擬范疇。
它的產(chǎn)品叫Thinstall Virtual Suite,運(yùn)行起來的效果跟Virtuozzo差不多,也是蒙騙應(yīng)用程序,不讓應(yīng)用改動(dòng)系統(tǒng)環(huán)境。
虛擬技術(shù)世界里,除了這四大天王和四小天鵝,還有很多配套工作。比如前面提到的Intel和AMD的新技術(shù),就是配合這些虛擬軟件滴。
Intel的虛擬技術(shù)叫Intel-VT,其中VT是Vanderpool Technology的縮寫。嘿嘿,不好意思,我剛開始看到的時(shí)候還以為是Virtual Technology的縮寫呢。這個(gè)技術(shù)的效果就是把一個(gè)CPU分成若干分區(qū),然后把指令的執(zhí)行范圍限定在分區(qū)內(nèi)。簡(jiǎn)單點(diǎn)說,就是在硬件上,把一個(gè)CPU虛擬成幾個(gè)CPU。
按照Intel的設(shè)想,將來都不需要什么虛擬軟件了,它自己的CPU直接就能同時(shí)運(yùn)行多個(gè)操作系統(tǒng)。不過現(xiàn)階段這只是個(gè)夢(mèng),Intel-VT技術(shù)還是要搭配VMware或者XEN才能起作用。當(dāng)然啦,VMware和XEN都是很給面子的,Intel-VT剛剛發(fā)布沒幾天,這兩個(gè)天王就都紛紛支持了。至于Virtuozzo這樣的“應(yīng)用容器”,由于主要是跟操作系統(tǒng)和應(yīng)用打交道,暫時(shí)還不用搭理CPU里面的這些技術(shù)。
AMD的虛擬技術(shù)正式名稱叫AMD-V,但也有很多人喜歡稱呼原來那個(gè)內(nèi)部用名,Pacifica。跟Intel-VT一樣,AMD-V技術(shù)的原理也是在CPU上劃分區(qū),同時(shí)隔離指令。
對(duì)用戶來說,讓人有點(diǎn)不爽的是Intel-VT和AMD-V互相是不兼容的。目前VMware和XEN都是要專門針對(duì)兩個(gè)技術(shù)分別做工作。
啥?你說沒關(guān)系?那下次跟你談薪水的時(shí)候,咱們說美元,發(fā)錢的時(shí)候數(shù)字不變,票子變成日元試試看。
Intel和AMD這邊虛擬得熱火朝天,IBM和Sun也怕落后,在新的PowerPC和SPARC處理器里,也弄了一堆虛擬技術(shù)。不過相比x86上的虛擬成分要“軟”很多,我的意思是說要更多的依靠軟件,不要想歪哦!
其實(shí),虛擬技術(shù),說到底就是一個(gè)字??騙。
Virtuozzo對(duì)應(yīng)用程序說:“來吧,來搞我吧,我就是操作系統(tǒng)?!?br />
VMware和XEN對(duì)操作系統(tǒng)說:“來吧,來弄我吧,我就是主機(jī)硬件?!?br />
Intel-VT和AMD-V對(duì)操作系統(tǒng)說:“來吧,來x我吧,我…我…我…還是x86 CPU。不過我是好幾個(gè)CPU哦,你想x哪一個(gè)?”
這些技術(shù)雖然在騙,但是騙得都不夠狠。虛擬技術(shù)里,有一類狠角色,真是說瞎話不眨眼。
N久以前有個(gè)名叫Bochs的騙子,他就可以在任何CPU上運(yùn)行,來模擬IA-32環(huán)境??上н@個(gè)騙子的壽命不長(zhǎng),M久以前就翹辮子了。
跟Bochs幾乎同時(shí)代的還有個(gè)PearPC開源項(xiàng)目,他可以在任何CPU上模擬PowerPC。也就是說,你可以在家里的PC上安裝Linux,然后編譯PearPC代碼,然后運(yùn)行PearPC,然后在模擬出的環(huán)境中安裝AIX或者老版本的Mac OS!酷吧?!
可惜PearPC也壽祿不長(zhǎng),2005年底弄出模擬G4的0.4.0版之后,就再?zèng)]動(dòng)靜了。后來另外一個(gè)叫做CherryOS的開源項(xiàng)目接過PearPC衣缽,又折騰了一年多時(shí)間,到處對(duì)人說他可以在PC上安裝Mac OS,結(jié)果卻一再推遲發(fā)布日期。后來人民群眾不愛搭理他了,他也就如煙般散去了。
這些項(xiàng)目雖然最終不了了之,但是他們?yōu)楹髞淼拇篁_子遺留下很多寶貴的騙術(shù)遺產(chǎn)。今天業(yè)界知名的大騙子??QEMU就還一直沿用著Bochs遺留下來的BIOS模擬技術(shù)。
當(dāng)然QEMU比他的前輩們出息多了,他已經(jīng)發(fā)展成一個(gè)家族。用句文言文說,QEMU家族可謂NB得不得了。
他們可以平臺(tái)無關(guān)的模擬x86、ARM、PowerPC、SPARC環(huán)境,而且速度非???。據(jù)說效率可達(dá)80%,當(dāng)然,俺也不知道這個(gè)80%是意味著什么,反正肯定不是送過去100個(gè)指令,最后只執(zhí)行80個(gè)。
只要不太傻的人都知道,光有CPU是P也干不了的。還得有總線、I/O之類的外部環(huán)境。還好今天的QEMU已經(jīng)可以完整的模擬一個(gè)主機(jī)環(huán)境,讓你可以在Linux上模擬出IBM或Sun的小機(jī)工作站,甚至能模擬一個(gè)陣列控制器。
當(dāng)然了,NB的事情總是高難度的。使用QEMU可不像使用VMware或者XEN那么容易,對(duì)各種真實(shí)硬件的支持也很不到位??梢栽徛铮思也攀?.9版,而且還是個(gè)免費(fèi)的開源,都是靠雷鋒們?yōu)镼EMU添磚加瓦。也不容易??!
如果你只對(duì)商業(yè)軟件感興趣,可以關(guān)注一下Transitive這家公司。他們的產(chǎn)品叫QuickTransit,可以讓Unix的程序在x86 Linux上運(yùn)行。而且據(jù)說效率也很高。
現(xiàn)在QuickTransit可以支持的跨平臺(tái)方式有:
SPARC Solaris到x86/x86_64 Linux;
SPARC Solaris到x86 Solaris;
PowerPC或MIPS到x86 Linux
這些不同的虛擬技術(shù),雖然今天看來走得路子很接近,但是他們的祖宗并不是一個(gè)。
狀如QEMU這樣的CPU模擬器,最早源于那些寫編譯器的高手。這些又牛又懶的高手總想省事,恨不得寫一個(gè)編譯器就可以在各種CPU上到處用,于是就產(chǎn)生了今天跨平臺(tái)指令實(shí)時(shí)互譯的雛形。
而VMware和XEN,甚至包括Intel-VT、AMD-V的套路,主要師從于一個(gè)叫做“服務(wù)器分區(qū)”的技術(shù)。這是一門同樣古老的技術(shù),玩過Sun E10000的人一定對(duì)這種咚咚很熟悉。先在一臺(tái)E10000里插上若干CPU、若干內(nèi)存、若干板卡、若干菜刀……然后再跑到console臺(tái)上把某些CPU跟某些內(nèi)存以及某些I/O劃分成一個(gè)Domain。每個(gè)Domain就是一臺(tái)機(jī)器,最后在Domain上裝Solaris系統(tǒng)。
說到這里,不由得想起當(dāng)年中國(guó)移動(dòng)總局規(guī)劃的一個(gè)愚蠢方案??居然采購(gòu)兩臺(tái)E10000做雙機(jī)!那個(gè)腦子進(jìn)水的技術(shù)主管顯然沒搞懂E10000咋用。
x86平臺(tái)的服務(wù)器分區(qū)技術(shù)出現(xiàn)的也非常早,UniSys公司的機(jī)器就是用一堆x86 CPU搭成的類似E10000的模樣。不過從“分區(qū)”到“虛擬”還是有明確界限的。如果分區(qū)的時(shí)候只能操作整個(gè)的CPU,就算“分區(qū)”;如果能把一個(gè)CPU切開,分配半個(gè)甚至更小的CPU資源,就算“虛擬”了。從這個(gè)角度說,E10000、UniSys和其它大冰箱,都還是只能分區(qū)不能虛擬。這也正是大部分刀片服務(wù)器,一般都會(huì)搭配VMware的原因。
不過例外總是有的。一個(gè)叫做Egenera的公司就做了幾乎純硬件的虛擬系統(tǒng)。
此外,一些InfiniBand交換設(shè)備也能提供類似的虛擬功能。
存儲(chǔ)在線版權(quán)所有,如需轉(zhuǎn)載,請(qǐng)與本站聯(lián)系
<待續(xù)>,持續(xù)關(guān)注,請(qǐng)點(diǎn)擊此處!