freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

虛擬機(jī)淺析word版-文庫(kù)吧資料

2025-05-15 17:36本頁(yè)面
  

【正文】 虛擬機(jī)環(huán)境:通過(guò)分時(shí)復(fù)用,讓進(jìn)程以為自己獨(dú)占了一個(gè) CPU;通過(guò)虛擬內(nèi)存技術(shù),讓進(jìn)程以為自己獨(dú)占了整個(gè)內(nèi)存空間;通過(guò)系統(tǒng)調(diào)用,讓進(jìn)程能夠操控硬件 設(shè)備。比如 kvm 作為 linux 內(nèi)核的一個(gè)模塊,加載之后,linux 內(nèi)核就變成了一個(gè) VMM。 系統(tǒng)虛擬機(jī)的架構(gòu): (摘自《虛 擬機(jī)》 ) VMM 管理硬件資源,提供客戶(hù)操作系統(tǒng)的運(yùn)行環(huán)境,讓它們都以為自己是在獨(dú)占整個(gè)硬件資源的。這樣做的好處,比如方便服務(wù)器部署、安全性考慮、等等。所以系統(tǒng)虛擬機(jī)多用于同一硬件平臺(tái)下的虛擬,避免指令集的仿真。 系統(tǒng)虛擬機(jī) 系統(tǒng)虛擬機(jī)對(duì)硬件平臺(tái)進(jìn)行虛擬,以滿(mǎn)足客戶(hù)操作系統(tǒng)的運(yùn)行需要。極端情況下,可能比用 C寫(xiě)的運(yùn)行在實(shí)際機(jī)器上的程序更高效。在快速遷移的另一面,根據(jù)上面的描述可以看出,應(yīng)用程序在進(jìn)程虛擬機(jī)下執(zhí)行的性能比起在實(shí)際機(jī)器上執(zhí)行應(yīng)該是會(huì)打很大折扣的。 進(jìn)程虛擬機(jī)一般用于將其他平臺(tái)上的應(yīng)用程序快速遷移到 主機(jī)上來(lái)運(yùn)行。比如主機(jī)和客戶(hù)機(jī)寄存器不匹配的問(wèn)題,虛擬指令集可以定義盡可能少的寄存器,以便實(shí)際的體系結(jié)構(gòu)都能滿(mǎn)足它。 高級(jí)語(yǔ)言虛擬機(jī) 進(jìn)程虛擬機(jī)里面有一類(lèi)特殊的虛擬機(jī),叫做高級(jí)語(yǔ)言虛擬機(jī),最出名的莫過(guò)于 java。簡(jiǎn)單的說(shuō),剖析統(tǒng)計(jì)了各個(gè)基本塊在最近一段時(shí)間內(nèi)的執(zhí)行次數(shù),如果大于某個(gè)值,則應(yīng)該翻譯,再大于某個(gè)值,則應(yīng)該優(yōu)化,并且隨著執(zhí)行次數(shù)的增加可能需要更高級(jí)別的優(yōu)化。對(duì)翻譯后的基本塊進(jìn)行優(yōu)化也是這樣,優(yōu)化本身也是有開(kāi)銷(xiāo)的,一味進(jìn)行優(yōu)化也不是上策。所以一味進(jìn)行代碼翻譯,并不是上策。 (比如像通過(guò)函數(shù)指針調(diào)用函數(shù)這樣的間接跳轉(zhuǎn),很難通過(guò)靜態(tài)優(yōu)化去預(yù)測(cè)跳轉(zhuǎn)目標(biāo),而動(dòng)態(tài) 優(yōu)化則是有可能的。 ) 進(jìn)程虛擬機(jī)對(duì)于基本塊所能做的,除了翻譯之外,還可以?xún)?yōu)化,就像編譯器優(yōu)化目標(biāo)代碼那樣。 (這種方式是可以進(jìn)一步優(yōu)化的,比如通過(guò)分支預(yù)測(cè)技術(shù)預(yù)測(cè)一組順序運(yùn)行的基本塊,使它們盡量能夠順序運(yùn)行。但是它們是被翻譯以后的,是直接執(zhí)行的,不由虛擬機(jī)干預(yù)的。當(dāng)然代碼 cache 中也可能找不到相應(yīng)的基本塊 (它可能還未被翻譯,或已從 cache 中清除 ),這就需要 跳轉(zhuǎn) 到客戶(hù)軟件的相應(yīng)代碼,繼續(xù)解釋執(zhí)行或進(jìn)行一次新的翻譯。而所有的分支或跳轉(zhuǎn)指令只會(huì) 跳轉(zhuǎn)到一個(gè)基本塊的第一條指令。一個(gè)基本塊開(kāi)始于分支或跳轉(zhuǎn)后立即執(zhí)行的指令、結(jié)束于下一條分支或跳轉(zhuǎn)指令。如果對(duì)客戶(hù)軟件進(jìn)行翻譯,將客戶(hù)軟件指令的解釋結(jié)果生成代碼塊,然后緩存起來(lái),就可以免去每一次都進(jìn)行解釋的過(guò)程。然而,要想讓客戶(hù)軟件盡量快地運(yùn)行,僅對(duì)客戶(hù)軟件進(jìn)行解釋執(zhí)行肯定是不夠的。這個(gè) handler 可以通過(guò)異常索引表發(fā)現(xiàn)這個(gè)信號(hào)是被客戶(hù)軟件所關(guān)心的,于是跳轉(zhuǎn)到客戶(hù)軟件上對(duì)應(yīng)的的函數(shù)地址去。然后截獲客戶(hù)軟件注冊(cè)信號(hào) handler 的系統(tǒng)調(diào)用,為其設(shè)置相應(yīng)的異常索引表項(xiàng) (信號(hào) =函數(shù)地址 )。 異常也是操作系統(tǒng)模擬的一個(gè)部分,比如進(jìn)程虛擬機(jī)收到一個(gè)信號(hào),可能需要報(bào)告給客戶(hù)軟件。但是有些時(shí)候,系統(tǒng)調(diào)用卻是無(wú)法模擬的。如果客戶(hù)軟件與主機(jī)使用的不是同一操作系統(tǒng),則需要對(duì)系統(tǒng)調(diào)用進(jìn)行模擬。而當(dāng)有后續(xù)指令需要關(guān)心某個(gè)條件碼時(shí),再找到這條影響條件碼的指令,判斷這個(gè)條件碼是否應(yīng)該被置位。于是,在仿真完增加 的功能之后,還需要進(jìn) 行一系列的判斷來(lái)決定每一個(gè)條件碼是否應(yīng)該被置位 (比如溢出標(biāo)記、零結(jié)果標(biāo)記、等 )。簡(jiǎn)單
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1