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

正文內(nèi)容

kvm分析報(bào)告word版-免費(fèi)閱讀

  

【正文】 僅有1張頁(yè)表PD,其中包含1024個(gè)表項(xiàng),每個(gè)表項(xiàng)中的22~31以及13~16位共同構(gòu)成4MB頁(yè)地址的高14位,線性地址的低22位用于頁(yè)內(nèi)索引。支持PAE的IA32分頁(yè)機(jī)制支持36位物理地址和32位線性地址。 return 1。,如果是則置頁(yè)表項(xiàng)的WP位為1。注意,客戶頁(yè)表也是通過(guò)影子頁(yè)表來(lái)訪問(wèn)的,為了設(shè)置寫(xiě)保護(hù)就必須知道影子頁(yè)表中訪問(wèn)客戶頁(yè)表所使用的PTE,為了做到這一點(diǎn),KVM在影子頁(yè)表中建立客戶線性地址到物理地址的映射關(guān)系的同時(shí),還維護(hù)了物理地址到末級(jí)頁(yè)表PTE間的逆向映射,即給定客戶頁(yè)面,能夠方便地得到訪問(wèn)該客戶頁(yè)面的末級(jí)頁(yè)表PTE。PDaPTa1PDbPTb1進(jìn)程A的影子頁(yè)表進(jìn)程B的影子頁(yè)表物理內(nèi)存時(shí)間軸CR3CR3CR3T1T2PTa2PTb2為了實(shí)現(xiàn)緩存影子頁(yè)表的做法,必須意識(shí)到以下問(wèn)題的存在:客戶可能在不通知VMM的情況下,象修改普通內(nèi)存一樣修改影子頁(yè)表。例如,可能回收?qǐng)D中的影子頁(yè)表SPT2,以后客戶訪問(wèn)P1時(shí)將導(dǎo)致頁(yè)故障,VMM將再次分配影子頁(yè)表,查詢客戶頁(yè)表,并修補(bǔ)客戶線性地址到P1的映射。. VTLB實(shí)現(xiàn)我們先來(lái)看一下VTLB的基本操作。在虛擬機(jī)創(chuàng)建之初,Qemu使用malloc()從其進(jìn)程地址空間中申請(qǐng)了一塊與虛擬機(jī)的物理內(nèi)存大小相等的區(qū)域,設(shè)該區(qū)域的基地址為B。EPT引入了額外的一套頁(yè)表結(jié)構(gòu),后者定義了客戶物理地址到主機(jī)物理地址之間的映射關(guān)系,所有的客戶物理地址(如CR3給出的頁(yè)目錄基址、PDE給出的頁(yè)表基址、PTE給出的頁(yè)基址等)須經(jīng)由EPT頁(yè)表結(jié)構(gòu)轉(zhuǎn)換后用于訪存。上面提到,VMM必須能夠滿足以上各種處理器模式下的內(nèi)存虛擬化要求,但由于VMX模式要求處理器必須工作在分頁(yè)保護(hù)模式下,因此VMM不可能允許客戶軟件將處理器切換到實(shí)模式或非分頁(yè)保護(hù)模式,而只能在分頁(yè)保護(hù)模式下為客戶軟件模擬出類似實(shí)模式或非分頁(yè)保護(hù)模式的環(huán)境。如果軟件將PTE的D位由1變成0,應(yīng)該使用INVLPG指令使對(duì)應(yīng)的TLB entry失效。另外,處理器在進(jìn)行內(nèi)存訪問(wèn)時(shí)會(huì)自動(dòng)修改頁(yè)表項(xiàng)的A位或D位。VTx中可采用一種稱為Virtual TLB(VTLB)的技術(shù)來(lái)實(shí)現(xiàn)內(nèi)存虛擬化,其思想就源于上述多級(jí)頁(yè)表與TLB間的交互機(jī)制。 3. 內(nèi)存虛擬化. VTx內(nèi)存虛擬化介紹. 基于VTLB的內(nèi)存虛擬化對(duì)于x86平臺(tái)來(lái)說(shuō),處理器在加電或復(fù)位后處于實(shí)模式,此后在操作系統(tǒng)的操縱下一般會(huì)先切換到非分頁(yè)保護(hù)模式,最后在切換到分頁(yè)保護(hù)模式。利用VTx技術(shù)的支持,KVM中的每個(gè)虛擬機(jī)可具有多個(gè)虛擬處理器VCPU,每個(gè)VCPU對(duì)應(yīng)一個(gè)Qemu線程,VCPU的創(chuàng)建、初始化、運(yùn)行以及退出處理都在Qemu線程上下文中進(jìn)行,需要Kernel、User和Guest三種模式相互配合。VTx提供了完備的處理器虛擬化機(jī)制,利用VTx可以在單個(gè)硬件平臺(tái)上虛擬出任意數(shù)量的虛擬處理器VCPU。VTx為每個(gè)虛擬機(jī)維護(hù)至少一個(gè)VMCS(Virtual Machine Control Structure)結(jié)構(gòu),其中保存了虛擬機(jī)和虛擬機(jī)監(jiān)控器的系統(tǒng)編程接口狀態(tài)。也就是說(shuō),上文所述的實(shí)現(xiàn)虛擬化的第一個(gè)必要條件,能夠讀取和恢復(fù)處理器的當(dāng)前狀態(tài),并不完全具備。adverse impact on guest transitions問(wèn)題是指,為加快系統(tǒng)調(diào)用的速度,Intel引入了SYSENTER和SYSEXIT指令,但SYSENTER指令總是將特權(quán)級(jí)切換到0,且從0以外的特權(quán)級(jí)執(zhí)行SYSEXIT指令將導(dǎo)致故障。為此,許多基于傳統(tǒng)x86處理器的虛擬化軟件不得不采用ring deprivileging方法,讓操作系統(tǒng)運(yùn)行于特權(quán)級(jí)1,而由虛擬機(jī)監(jiān)控器使用特權(quán)級(jí)0。但操作系統(tǒng)并不一定要使用處理器提供的這種虛擬化機(jī)制,完全可以使用軟件來(lái)完成應(yīng)用接口狀態(tài)的切換。 2. 處理器虛擬化. VTx技術(shù)我們知道處理器一般存在應(yīng)用編程接口和系統(tǒng)編程接口。KVM基于x86硬件虛擬化技術(shù),它的運(yùn)行要求Intel VTx或AMD SVM的支持。以上可以說(shuō)是KVM的優(yōu)勢(shì)所在。實(shí)現(xiàn)虛擬化需要兩個(gè)必要條件,第一是能夠讀取和恢復(fù)處理器的當(dāng)前狀態(tài),第二是有某種機(jī)制防止虛擬機(jī)對(duì)系統(tǒng)全局狀態(tài)進(jìn)行修改。系統(tǒng)虛擬化與進(jìn)程/線程模型相比并無(wú)本質(zhì)的區(qū)別。nonfaulting accessing to privileged state問(wèn)題是指,Intel的特權(quán)級(jí)機(jī)制不能確保所有的訪問(wèn)處理器狀態(tài)的指令在低特權(quán)級(jí)狀態(tài)下執(zhí)行時(shí)都產(chǎn)生故障(Fault),這使得操作系統(tǒng)在訪問(wèn)某些處理器狀態(tài)時(shí)虛擬機(jī)監(jiān)控器無(wú)法獲得控制,也就無(wú)法對(duì)這些指令進(jìn)行仿真。虛擬機(jī)監(jiān)控器為了及時(shí)得知虛擬機(jī)已打開(kāi)中斷。VMX nonroot operation模式仍保留4個(gè)特權(quán)級(jí),對(duì)操作系統(tǒng)來(lái)說(shuō),VMX nonroot operation模式與傳統(tǒng)的x86處理器兼容,最大的差別在于當(dāng)虛擬機(jī)執(zhí)行一些訪問(wèn)全局資源的指令時(shí)將導(dǎo)致虛擬機(jī)退出操作(VM exit),從而使虛擬機(jī)監(jiān)控器獲得控制權(quán),以便對(duì)訪問(wèn)全局資源的指令進(jìn)行模擬。由于操作系統(tǒng)所在的VMX nonroot operation模式仍具有4個(gè)特權(quán)級(jí),使得ring aliasing問(wèn)題不存在了。這里的Kernel模式和User模式,實(shí)際上指的是VMX根模式下的特權(quán)級(jí)0和特權(quán)級(jí)3。注意,宿主機(jī)軟件被中止時(shí),正處于Qemu線程上下文,且正在執(zhí)行ioctl系統(tǒng)調(diào)用的kernel模式處理程序。實(shí)際的地址轉(zhuǎn)換過(guò)程中,處理器首先根據(jù)線性地址查找TLB,如果未發(fā)現(xiàn)該線性地址到物理地址的映射關(guān)系(TLB miss),將根據(jù)頁(yè)表中的映射關(guān)系填充TLB(TLB fill),然后再進(jìn)行地址轉(zhuǎn)換。VMM可以捕獲該異常,進(jìn)而根據(jù)VM的頁(yè)表來(lái)修改影子頁(yè)表。在軟件看來(lái),好象該頁(yè)自將A位置0以來(lái)未曾被訪問(wèn)過(guò),而實(shí)際情況并不是這樣。對(duì)于A位,只要VMM不先于VM建立線性地址到物理地址的映射關(guān)系,就可以確保捕獲客戶對(duì)內(nèi)存的訪問(wèn),進(jìn)而有機(jī)會(huì)確保影子頁(yè)表項(xiàng)和客戶頁(yè)表項(xiàng)在A位上的一致。客戶邏輯地址經(jīng)32位分段機(jī)制轉(zhuǎn)換后為32位線性地址,而后經(jīng)VMM構(gòu)造的頁(yè)表轉(zhuǎn)換為物理地址,從而避免了客戶軟件對(duì)物理內(nèi)存的直接控制。下面簡(jiǎn)述KVM的內(nèi)存管理原理。如果在客戶頁(yè)表中存在GVA到GPA的映射,則從客戶頁(yè)表中得到該GPA,然后根據(jù)GPA得到其所屬的slot,進(jìn)而得到該GPA對(duì)應(yīng)的Qemu地址空間中的主機(jī)線性地址HVA,然后通過(guò)linux內(nèi)核函數(shù)get_user_pages()確定HVA所對(duì)應(yīng)的主機(jī)物理地址HPA,如果HVA到HPA的映射不存在,get_user_pages()會(huì)分配物理內(nèi)存,然后再建立HVA到HPA的映射。如圖所示,SPD是PD的影子頁(yè)表,SPT1/SPT2是PT1/PT2的影子頁(yè)表。例如,假設(shè)客戶機(jī)上有兩個(gè)進(jìn)程A和B,參見(jiàn)圖3,在T1時(shí)刻之前A正在運(yùn)行,此時(shí)CR3指向進(jìn)程A的影子頁(yè)表。當(dāng)一個(gè)頁(yè)表沒(méi)有用于訪存時(shí),VMM是無(wú)從知道該頁(yè)的身份的。需注意的問(wèn)題是,內(nèi)存的緊張可能導(dǎo)致
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1