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