詳細(xì)概括操作系統(tǒng)中l(wèi)inux虛擬化技術(shù)
經(jīng)過(guò)長(zhǎng)時(shí)間學(xué)習(xí)linux虛擬化技術(shù),并且積累了些材料,于是和大家分享一下,看完本文你將會(huì)有不少收獲。
linux虛擬化的含義豐富,應(yīng)用廣泛。目前l(fā)inux虛擬化技術(shù)主要關(guān)注于服務(wù)器虛擬化,即在一個(gè)宿主計(jì)算機(jī)上提供多個(gè)獨(dú)立操作系統(tǒng)。本文將探索linux虛擬化背后的思想,然后討論實(shí)現(xiàn)虛擬化的一些技術(shù)。我們還將了解現(xiàn)有的其他一些虛擬化技術(shù),例如 Linux 上操作系統(tǒng)的虛擬化。
進(jìn)行虛擬化 就是要將某種形式的東西以另外一種形式呈現(xiàn)出來(lái)。對(duì)計(jì)算機(jī)進(jìn)行虛擬化就是要將計(jì)算機(jī)以多臺(tái)計(jì)算機(jī)或一臺(tái)完全不同的計(jì)算機(jī)的形式呈現(xiàn)出來(lái)。
虛擬化也可以將多臺(tái)計(jì)算機(jī)組合成一臺(tái)計(jì)算機(jī)的形式呈現(xiàn)出來(lái)。這通常稱為服務(wù)器聚合或網(wǎng)格計(jì)算。
下面讓我們首先來(lái)看一下虛擬化的起源。
虛擬化的歷史
虛擬化并不是什么新主題;實(shí)際上,它的存在已經(jīng)超過(guò) 40 年了。虛擬化技術(shù)最早的一些用法包括 IBM® 7044、麻省理工學(xué)院(MIT)在 IBM 704 上開(kāi)發(fā)的 CTSS(Compatible Time Sharing System)以及曼徹斯特大學(xué)的 Atlas 項(xiàng)目(世界上最早的超級(jí)計(jì)算機(jī)之一),這些都是請(qǐng)求頁(yè)面調(diào)度和監(jiān)管進(jìn)程調(diào)用的先驅(qū)。
硬件虛擬化
IBM 早在 20 世紀(jì) 60 年代開(kāi)發(fā) System/360™ Model 67 大型機(jī)時(shí)就認(rèn)識(shí)到了linux虛擬化的重要性。Model 67 通過(guò) VMM(Virtual Machine Monitor)對(duì)所有的硬件接口都進(jìn)行了虛擬化。在早期計(jì)算中,操作系統(tǒng)被稱為 supervisor。能夠在其他操作系統(tǒng)上運(yùn)行的操作系統(tǒng)被稱為 hypervisor(這個(gè)術(shù)語(yǔ)是在 20 世紀(jì) 70 年代出現(xiàn)的)。
VMM 可以直接在底層硬件上運(yùn)行,允許運(yùn)行多個(gè)虛擬機(jī)(VM)。每個(gè) VM 都可以運(yùn)行一個(gè)自己私有操作系統(tǒng)的實(shí)例 —— 在早些時(shí)候,這稱為 CMS(或 Conversational Monitor System)。之后 VM 繼續(xù)發(fā)展,現(xiàn)在您可以在 System z9™ 大型機(jī)上發(fā)現(xiàn) VM。這提供了很好的向后兼容性,甚至是對(duì) System/360 產(chǎn)品線的兼容性。
處理器linux虛擬化:
linux虛擬化技術(shù)早期的另外一種用法(在本例中是對(duì)處理器的仿真)是 P-code(或偽碼)機(jī)。P-code 是一種機(jī)器語(yǔ)言,運(yùn)行于虛擬機(jī)而不是實(shí)際硬件。P-code 早在 20 世紀(jì) 70 年代就已在加州大學(xué)圣地亞哥分校(UCSD)Pascal 系統(tǒng)上頗有名氣了,它將 Pascal 程序編譯成 P-code,然后在一個(gè) P-code 虛擬機(jī)上運(yùn)行。這就使 P-code 程序具有了高度的可移植性,而且,只要有可用的 P-code 虛擬機(jī),P-code 程序就可以運(yùn)行。
。。。。。。
【編輯推薦】