水煮操作系統(tǒng)之虛擬化
作者:朱老師,華清遠(yuǎn)見嵌入式學(xué)院講師。
一個成功的操作系統(tǒng)離不開各種虛擬設(shè)備的支持。虛擬通常發(fā)生在某種資源不足的情況下,但實現(xiàn)起來要依賴另一種資源與能力的不足過剩。
早期的計算機(jī)比較慢,一個人用都嫌慢,而現(xiàn)在經(jīng)過摩爾定律式的增長,CPU的速度已經(jīng)遠(yuǎn)遠(yuǎn)超過人的反應(yīng)速度,10**9:10= 100000000倍。一個CPU對應(yīng)一個人已經(jīng)太浪費了。
于是出現(xiàn)了瘦客戶端-服務(wù)器這個業(yè)務(wù)模型, 一臺服務(wù)器可以同時滿足N臺客戶機(jī)的請求。每個客戶機(jī)絲毫感覺不到其他客戶端的存在,還以為是自己獨占某臺服務(wù)器?,F(xiàn)在的網(wǎng)絡(luò)游戲就是充分利用了這個特性。云計算的實現(xiàn)基本原理也是如此。即使是同一臺PC, 也是有多個任務(wù)在并發(fā)執(zhí)行的。進(jìn)程,線程,超線程,多核等都是不同層次的虛擬機(jī)。多線程釋放了CPU強(qiáng)大的計算處理能力,使他的能力得以充分發(fā)揮。處理器虛擬化是因為處理器個數(shù)的不足,而得以實現(xiàn)是因為CPU的高效性。
另一種廣泛應(yīng)用的就是虛擬內(nèi)存,虛擬內(nèi)存擺脫了物理內(nèi)存不足對應(yīng)用程序的局限,保證了進(jìn)程的空間獨立性,背后依賴的是CPU的高速性及硬盤的交換緩沖區(qū)。當(dāng)然叫起真來,每個進(jìn)程同時用光分配給自己的進(jìn)程空間,內(nèi)存管理肯定招架不住。就像保險公司,如果所有人都出問題索保,那么保險公司也會立刻破產(chǎn)。實際上不大可能, 前者因為程序的局部性及多次性,后者因為出問題是個小概率事件。我們的方法能夠解決平均情況下的問題,但是一般不考慮小概率的最壞情況。
虛擬網(wǎng)絡(luò)硬盤同樣如此,就像有些郵件系統(tǒng),雖然每個人可有NG空間可以支配,但平均情況下,可能只有很小比例的人完全用光。所以我們不必準(zhǔn)備理論上的最大磁盤空間,真的有最壞情況發(fā)生,再解決也不遲。
虛擬磁盤,使邏輯磁盤擺脫了物理磁盤的局限, 一個物理磁盤可以是多次邏輯磁盤,一個邏輯磁盤也可以包含多個物理磁盤。
虛擬光驅(qū),記得以前有個哥們玩游戲,此游戲可能因為版權(quán)控制問題,必須依賴光盤。 但是他靠在磁盤創(chuàng)建了一個虛擬光盤蒙混過關(guān)了。而現(xiàn)在虛擬光盤iso文件已經(jīng)在廣泛應(yīng)用,你可以用它刻錄物理光盤,也可以用虛擬機(jī)直接加載它。
虛擬專用網(wǎng),幾乎每個大公司都有。物理IP地址是按照地域分配的,中國與美國的計算機(jī)肯定不在一個子網(wǎng)之中。但是跨國公司都有自己的虛擬子網(wǎng),每個人可以自由訪問公司內(nèi)的服務(wù)器,哪怕橫跨萬水千山,跨越千萬個子網(wǎng)。而且查看ip, 也會覺的是在同一個子網(wǎng)里。極大方便了公司內(nèi)部的協(xié)作,提高了跨區(qū)協(xié)同工作的效率。實現(xiàn)起來,主要依賴IP隧道技術(shù),你看到的Ip包并非實際的ip包,而只是數(shù)據(jù)部分, 經(jīng)過不同的子網(wǎng)要填入不同的ip頭部。
最近幾年,最熱門最實用的虛擬技術(shù)估計就是虛擬機(jī)了。當(dāng)年開發(fā)操作系統(tǒng)內(nèi)核及驅(qū)動的時候就用到VMware,覺得很方便,重啟快,調(diào)試更簡單。沒想到后來它成為市場的主流。想想也是,很多公司的服務(wù)器硬件能力已經(jīng)過剩,一個物理機(jī)器編程多個虛擬機(jī)器甚至安裝不同的操作系統(tǒng),滿足不同的需求,提高了資源的利用率,降低了硬件及電力成本。而且虛擬機(jī)技術(shù)也提高了安全性,有一種雙重文件系統(tǒng)技術(shù),網(wǎng)絡(luò)只能訪問邏輯文件系統(tǒng),*也只能訪問破壞邏輯文件系統(tǒng),而實際的物理文件系統(tǒng)是被隔離保護(hù)了。虛擬機(jī)是全面的使用了虛擬技術(shù),它里面的所有硬件都是虛擬的,CPU只是宿主機(jī)的一個進(jìn)程而已,內(nèi)存也只是宿主虛擬內(nèi)存的一部分,硬盤,軟盤,光驅(qū)其實是宿主機(jī)硬盤中的一個文件,網(wǎng)卡也是邏輯上的網(wǎng)卡。
所謂的虛擬大型機(jī),是由成千上萬個PC結(jié)點組成的,可以完成高性能的計算任務(wù), 而成本比真正的大型機(jī)還便宜。軟件環(huán)境更是有好的多。
“本文由華清遠(yuǎn)見http://www.embedu.org/index.htm提供”
華清遠(yuǎn)見