一级毛片免费不卡在线视频,国产日批视频免费在线观看,菠萝菠萝蜜在线视频免费视频,欧美日韩亚洲无线码在线观看,久久精品这里精品,国产成人综合手机在线播放,色噜噜狠狠狠综合曰曰曰,琪琪视频

落在實(shí)處 虛擬化技術(shù)應(yīng)用 -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【www.oriental01.com - 電腦資料】

  早在大型機(jī)時(shí)代,IBM的VM/370就采用虛擬化技術(shù)來(lái)劃分其硬件資源,提供給多用戶(hù)使用,

落在實(shí)處 虛擬化技術(shù)應(yīng)用

,F(xiàn)在,x86服務(wù)器已成為企業(yè)應(yīng)用的主流,探索x86服務(wù)器的虛擬化技術(shù)成為各個(gè)企業(yè)和研究機(jī)構(gòu)的重要課題。

  技術(shù)篇不同層次的虛擬化技術(shù)近年來(lái),服務(wù)器虛擬化技術(shù)逐漸成為人們關(guān)注的熱點(diǎn)技術(shù)。伴隨著多年來(lái)人們對(duì)虛擬化技術(shù)的研究,形成了不同層次的虛擬化技術(shù),其中有ISA層次、硬件抽象層、操作系統(tǒng)層、Library API層,以及編程語(yǔ)言層的虛擬化技術(shù)。

  1.ISA層的虛擬化技術(shù)ISA層的虛擬化技術(shù),通常采用軟件模擬指令集的方式實(shí)現(xiàn)。一個(gè)典型的計(jì)算機(jī)系統(tǒng)由處理器、內(nèi)存、總線(xiàn)、硬盤(pán)控制器、時(shí)鐘、各種I/O設(shè)備組成。ISA層的虛擬化軟件的實(shí)現(xiàn)方式是截獲客戶(hù)操作系統(tǒng)發(fā)出的指令,并把它們“翻譯”成Host平臺(tái)上的可用指令進(jìn)行執(zhí)行(包括處理器內(nèi)部指令和IO指令)。由于這種指令的模擬方式,ISA層的虛擬化技術(shù)可以完全模擬一臺(tái)真實(shí)機(jī)器所能做的一切。這種實(shí)現(xiàn)方式的好處在于,分離了操作系統(tǒng)和硬件平臺(tái)的緊綁定關(guān)系。

  這方面具有代表性的系統(tǒng)有很多。Bochs是用C++語(yǔ)言編寫(xiě)的開(kāi)源的x86平臺(tái)的PC模擬器,可以方便地在多種平臺(tái)上模擬IA32 PC系統(tǒng)。它能夠模擬多種版本的x86系統(tǒng),如386、486、Pentium、Pentium Pro、SSE、SSE2等指令。Bochs解釋客戶(hù)系統(tǒng)從開(kāi)機(jī)到關(guān)機(jī)的全部指令,模擬了Intel x86 CPU、BIOS以及PC設(shè)備。因此,在客戶(hù)操作系統(tǒng)看來(lái),就好像是運(yùn)行在一臺(tái)真實(shí)的機(jī)器上一樣。雖然Bochs系統(tǒng)的性能問(wèn)題,使其很難有廣泛的應(yīng)用,但它也在某些方面有著重要的應(yīng)用,如在非x86平臺(tái)上運(yùn)行Windows系統(tǒng),進(jìn)行新開(kāi)發(fā)的操作系統(tǒng)的debug工作,進(jìn)行老式x86系統(tǒng)的兼容性測(cè)試等。

  QEMU是一個(gè)采用動(dòng)態(tài)翻譯技術(shù)的快速的模擬器,它支持兩種工作模式:用戶(hù)空間模擬和全系統(tǒng)模擬。在用戶(hù)空間模式下,QEMU可以在物理CPU上執(zhí)行為其他CPU編譯的程序。在全系統(tǒng)模擬的模式下,它支持模擬x86、arm、PowerPC、Sparc等結(jié)構(gòu)。它可以快速地把客戶(hù)操作系統(tǒng)的指令動(dòng)態(tài)地翻譯成本地指令進(jìn)行執(zhí)行。其動(dòng)態(tài)翻譯過(guò)程的基本思想是把每條指令分解成少量的簡(jiǎn)單指令。每條簡(jiǎn)單指令由一段C代碼實(shí)現(xiàn),通過(guò)動(dòng)態(tài)代碼生成器把這些簡(jiǎn)單指令的目標(biāo)文件連接起來(lái),構(gòu)建指定的功能。它把基本塊作為翻譯的基本單位,并采用16M的指令翻譯Cache. 2.硬件抽象層的虛擬化技術(shù)硬件抽象層的虛擬化技術(shù),利用客戶(hù)系統(tǒng)環(huán)境和Host平臺(tái)的相似性來(lái)減少理解客戶(hù)系統(tǒng)指令的延遲。目前,大多數(shù)的商業(yè)服務(wù)器虛擬化產(chǎn)品,都是通過(guò)使用這種技術(shù)來(lái)實(shí)現(xiàn)高效、實(shí)用的虛擬化系統(tǒng)。虛擬化軟件進(jìn)行從虛擬資源到物理資源的映射,并利用本地物理平臺(tái)進(jìn)行實(shí)際的計(jì)算。當(dāng)虛擬系統(tǒng)訪(fǎng)問(wèn)關(guān)鍵的系統(tǒng)資源時(shí),虛擬化軟件接管其請(qǐng)求,并進(jìn)行相應(yīng)的處理。為了使這種機(jī)制能夠有效地工作,虛擬機(jī)必須能夠trap每條特權(quán)指令,并使得VMM接管進(jìn)行相關(guān)的處理。這是因?yàn),在同一個(gè)物理平臺(tái)上有多個(gè)客戶(hù)系統(tǒng)存在,這些客戶(hù)系統(tǒng)發(fā)出特權(quán)指令希望CPU進(jìn)行處理。這時(shí)把這些指令trap到VMM進(jìn)行處理,以免系統(tǒng)發(fā)生異常或沖突。此時(shí),VMM模擬特權(quán)指令的執(zhí)行,并返回處理結(jié)果給指定的客戶(hù)虛擬系統(tǒng),保證了各個(gè)客戶(hù)虛擬系統(tǒng)的有效隔離。然而,x86平臺(tái)并不是完全支持虛擬化的,因?yàn)槟承﹛86特權(quán)指令在特權(quán)級(jí)不夠的情況下執(zhí)行,并不能方便地產(chǎn)生trap.對(duì)這一問(wèn)題的解決方案有:一種是指令掃描結(jié)合動(dòng)態(tài)指令修改的軟件技術(shù),有許多商業(yè)的虛擬化產(chǎn)品采用了這種方案;另一種方案是修改x86 CPU,使它支持虛擬化,也就是Intel的Vanderpool技術(shù)和AMD的Pacifica技術(shù)的目標(biāo)。此種虛擬化技術(shù)的代表 產(chǎn)品是EMC公司的VMware. Microsoft的Virtual Server系列產(chǎn)品,

電腦資料

落在實(shí)處 虛擬化技術(shù)應(yīng)用》(http://www.oriental01.com)。Microsoft的Virtual Server 2005來(lái)源于2003年收購(gòu)Connectix的虛擬化技術(shù)。這是一種類(lèi)似于VMware Workstation結(jié)構(gòu)的虛擬化產(chǎn)品。除了虛擬化的功能外,還有兩種特色的功能:undo磁盤(pán)功能可以使用戶(hù)方便地undo客戶(hù)虛擬系統(tǒng)之前對(duì)磁盤(pán)的操作,有利于某些情況下的數(shù)據(jù)恢復(fù);另一種特色技術(shù)是二進(jìn)制翻譯,它可以在基于Macintosh的機(jī)器上提供x86的虛擬機(jī)。但Virtual Server產(chǎn)品其對(duì)操作系統(tǒng)種類(lèi)的支持不是很廣泛,主要支持Windows和Linux客戶(hù)虛擬系統(tǒng)。Linux系統(tǒng)還不能做為Virtual Server的Host平臺(tái)。

  Xen是最初由劍橋大學(xué)計(jì)算機(jī)實(shí)驗(yàn)室發(fā)起的開(kāi)源虛擬機(jī)項(xiàng)目。它的開(kāi)發(fā)得到了Intel、HP、IBM等公司的支持。Xen是在x86平臺(tái)上支持同時(shí)運(yùn)行多個(gè)虛擬系統(tǒng)的高性能VMM.它支持x86_32、x86_64、IA64等多種平臺(tái),并支持Intel Vanderpool和AMD Pacifica技術(shù)。它采用para-virtualization的技術(shù),也就是需要對(duì)客戶(hù)虛擬系統(tǒng)的內(nèi)核進(jìn)行適當(dāng)?shù)男薷,使其能夠在VMM的管理下盡可能地直接訪(fǎng)問(wèn)本地硬件平臺(tái)。Xen利用Para-virtualization技術(shù)降低了由于虛擬化而引入的系統(tǒng)性能損失。

  Xen的Para-virtualization技術(shù)的主要內(nèi)容是:對(duì)于內(nèi)存分段管理的虛擬化,要求客戶(hù)操作系統(tǒng)對(duì)硬件分段描述符的更新由Xen進(jìn)行驗(yàn)證,這也就要求客戶(hù)操作系統(tǒng)不能有高于Xen的特權(quán)級(jí)別和不允許訪(fǎng)問(wèn)Xen的保留地址空間;對(duì)于內(nèi)存分頁(yè)管理的虛擬化,要求客戶(hù)操作系統(tǒng)可以直接讀硬件頁(yè)表,但對(duì)頁(yè)表的更新需要Xen進(jìn)行驗(yàn)證和處理,Xen支持客戶(hù)虛擬系統(tǒng)可以分布在不連續(xù)的物理內(nèi)存上;對(duì)于客戶(hù)虛擬系統(tǒng),其只能運(yùn)行在低于Xen的特權(quán)級(jí)別上;客戶(hù)虛擬系統(tǒng)需要注冊(cè)一個(gè)異常(Exception)處理函數(shù)的描述符表,直接支持Xen的虛擬化;客戶(hù)虛擬系統(tǒng)的硬件中斷機(jī)制被Xen中的Event處理機(jī)制代替;每個(gè)客戶(hù)虛擬系統(tǒng)都有自己的時(shí)鐘接口,并且可以了解真實(shí)的時(shí)間和虛擬的時(shí)間;客戶(hù)虛擬系統(tǒng)通過(guò)異步I/O rings的內(nèi)存區(qū)域和外部設(shè)備(網(wǎng)絡(luò)、硬盤(pán))來(lái)傳遞數(shù)據(jù),采用事件處理機(jī)制代替硬件中斷通知機(jī)制。

  目前,Xen作為高性能的虛擬機(jī)軟件,越來(lái)越受到業(yè)界的關(guān)注。它可以為企業(yè)的生產(chǎn)系統(tǒng)所使用。

  UML(User Mode Linux)是讓一個(gè)Linux作為一個(gè)獨(dú)立進(jìn)程,運(yùn)行在另一個(gè)Linux上的開(kāi)源項(xiàng)目。它是一種在同一時(shí)間運(yùn)行多 Linux 的安全方式。每個(gè)進(jìn)程都獨(dú)立于其他進(jìn)程,這非常安全。例如,在同一機(jī)器上進(jìn)行多種測(cè)試和開(kāi)發(fā)而不互相干擾,如果一些測(cè)試進(jìn)程被損壞,并不會(huì)影響宿主系統(tǒng)或者開(kāi)發(fā)進(jìn)程。

  與VMware等實(shí)現(xiàn)方式不同,UML不需要額外的虛擬化軟件。它只需要在Linux Kernel源碼上打上相關(guān)的補(bǔ)丁。UML的補(bǔ)丁把Linux標(biāo)準(zhǔn)內(nèi)核轉(zhuǎn)化成一個(gè)可以作為獨(dú)立進(jìn)程執(zhí)行的操作系統(tǒng)。當(dāng)運(yùn)行UML kernel時(shí),需要指定一個(gè)文件系統(tǒng)給其使用。此時(shí),我們就有了一個(gè)獨(dú)立的Linux系統(tǒng)。新的系統(tǒng)內(nèi)核作為一個(gè)用戶(hù)空間的應(yīng)用運(yùn)行。UML內(nèi)核接收來(lái)自應(yīng)用的系統(tǒng)請(qǐng)求,然后發(fā)送Host內(nèi)核進(jìn)行處理。由于客戶(hù)虛擬系統(tǒng)的內(nèi)核和進(jìn)程在同一地址空間內(nèi),因此,需要把內(nèi)核的代碼和數(shù)據(jù)段放在虛擬系統(tǒng)進(jìn)程通常不會(huì)使用的地方。由于每個(gè)虛擬系統(tǒng)的進(jìn)程通過(guò)Host內(nèi)核獲得,為了讓虛擬系統(tǒng)進(jìn)程共享虛擬系統(tǒng)內(nèi)核的數(shù)據(jù),虛擬系統(tǒng)內(nèi)核數(shù)據(jù)被映射到一個(gè)文件,然后這個(gè)文件被映射到虛擬系統(tǒng)的進(jìn)程。目前,UML的一個(gè)主要應(yīng)用是進(jìn)行系統(tǒng)軟件的調(diào)試和測(cè)試。

最新文章