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

正文內(nèi)容

kvm分析報(bào)告word版(編輯修改稿)

2025-05-11 01:31 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ,頁(yè)表雖然確定了線性地址到物理地址的對(duì)應(yīng)關(guān)系,但它并不直接控制線性地址到物理地址的轉(zhuǎn)換,這種轉(zhuǎn)換是由TLB控制的。在不會(huì)導(dǎo)致地址轉(zhuǎn)換錯(cuò)誤的前提下,處理器不要求TLB的內(nèi)容一定與頁(yè)表保持一致,例如一次進(jìn)程切換后,TLB的內(nèi)容可能都是無(wú)效的,但進(jìn)程的頁(yè)表卻是有效的,此時(shí)頁(yè)表和TLB是不一致的,以后訪問(wèn)內(nèi)存時(shí)會(huì)引發(fā)TLB miss,并通過(guò)TLB fill令某個(gè)頁(yè)表項(xiàng)與某個(gè)TLB項(xiàng)保持一致。VTx中可采用一種稱為Virtual TLB(VTLB)的技術(shù)來(lái)實(shí)現(xiàn)內(nèi)存虛擬化,其思想就源于上述多級(jí)頁(yè)表與TLB間的交互機(jī)制。VM的頁(yè)表并不直接控制線性地址到物理地址的轉(zhuǎn)換,即CR3寄存器并不指向VM的頁(yè)目錄,而是指向VMM維護(hù)的影子頁(yè)表(Shadow Page Table),因此線性地址到物理地址的轉(zhuǎn)換是由影子頁(yè)表和TLB來(lái)控制的,影子頁(yè)表和TLB共同構(gòu)成了所謂的Virtual TLB。VM可以任意修改其頁(yè)表,而不會(huì)導(dǎo)致VM exit,由此可能產(chǎn)生兩種VM頁(yè)表與VTLB之間的不一致情況。第一種不一致是指VM的頁(yè)表?yè)碛斜扔白禹?yè)表更多的訪問(wèn)能力,可以利用頁(yè)面故障來(lái)修補(bǔ)這種不一致性。例如VM頁(yè)表有某個(gè)線性地址到物理的對(duì)應(yīng)關(guān)系而影子頁(yè)表中卻沒(méi)有,那么VM對(duì)該線性地址的訪問(wèn)將導(dǎo)致頁(yè)面故障。VMM可以捕獲該異常,進(jìn)而根據(jù)VM的頁(yè)表來(lái)修改影子頁(yè)表。第二種不一致是指VM的頁(yè)表的訪問(wèn)能力不及影子頁(yè)表,那么一定是由于VM修改了自己的頁(yè)表,并且把頁(yè)表的訪問(wèn)權(quán)限降低了,例如頁(yè)面交換將頁(yè)表項(xiàng)的P位置0,但該操作并不會(huì)馬上反映到TLB中。此時(shí),VM需要執(zhí)行INVLPG指令或重裝CR3寄存器來(lái)刷新TLB,VM在執(zhí)行INVLPG指令或重裝CR3寄存器時(shí)將導(dǎo)致VM exit,使VMM有機(jī)會(huì)根據(jù)VM的頁(yè)表來(lái)修改影子頁(yè)表,從而修補(bǔ)這種不一致性。另外,處理器在進(jìn)行內(nèi)存訪問(wèn)時(shí)會(huì)自動(dòng)修改頁(yè)表項(xiàng)的A位或D位。A位在所有級(jí)別的頁(yè)表項(xiàng)中都存在,但在TLB entry中并不緩存A位,原因是本次訪存操作涉及的各個(gè)級(jí)別的頁(yè)表項(xiàng)都允許本次訪問(wèn),才會(huì)在TLB中生成一個(gè)entry,因此只要TLB中存在一個(gè)entry,那么一定已經(jīng)將entry相關(guān)的各級(jí)頁(yè)表項(xiàng)都訪問(wèn)過(guò)了,各級(jí)頁(yè)表項(xiàng)的A位都是1。處理器在初次訪問(wèn)一個(gè)頁(yè)表項(xiàng)時(shí),將其A位置1,但由軟件負(fù)責(zé)將A位清0。如果軟件將A位由1變成0,它應(yīng)該使用INVLPG指令使對(duì)應(yīng)的TLB entry失效。如果不這樣做,那么在訪存時(shí),總是使用TLB中緩存的entry,處理器認(rèn)為頁(yè)表項(xiàng)中的A位已經(jīng)是1了,從而不會(huì)將A位由0改為1。在軟件看來(lái),好象該頁(yè)自將A位置0以來(lái)未曾被訪問(wèn)過(guò),而實(shí)際情況并不是這樣。D位僅在最后一級(jí)頁(yè)表中存在,而且在TLB entry中也緩存D位。當(dāng)首次寫(xiě)一個(gè)頁(yè)時(shí),如果TLB entry不存在或其D位為0,則將頁(yè)表項(xiàng)中的D位置1,同A位相同,由軟件負(fù)責(zé)將D位置1。如果軟件將PTE的D位由1變成0,應(yīng)該使用INVLPG指令使對(duì)應(yīng)的TLB entry失效。如果不這樣做,那么再次寫(xiě)該頁(yè)時(shí),總是優(yōu)先使用緩存的TLB entry,并且TLB entry的D位為1,這時(shí)處理器認(rèn)為PTE的D位已經(jīng)是1了,它不會(huì)再將其置1。在軟件看來(lái),好象該頁(yè)自將D位置0以來(lái)未曾被寫(xiě)過(guò),而實(shí)際情況并不是這樣。由于VM進(jìn)行內(nèi)存訪問(wèn)實(shí)際使用的是影子頁(yè)表,因此這種修改不能自動(dòng)反映到客戶頁(yè)表中,從而導(dǎo)致客戶頁(yè)表和影子頁(yè)表的不一致。應(yīng)該有某種機(jī)制使VMM得以捕獲處理器對(duì)影子頁(yè)表的A位和D位的初次修改,并更新VM頁(yè)表,從而解決這種不一致性。對(duì)于A位,只要VMM不先于VM建立線性地址到物理地址的映射關(guān)系,就可以確保捕獲客戶對(duì)內(nèi)存的訪問(wèn),進(jìn)而有機(jī)會(huì)確保影子頁(yè)表項(xiàng)和客戶頁(yè)表項(xiàng)在A位上的一致。因?yàn)?,?dāng)客戶首次訪問(wèn)某個(gè)線性地址時(shí),由于影子頁(yè)表中沒(méi)有該線性地址到物理地址的對(duì)應(yīng)關(guān)系,將導(dǎo)致一次頁(yè)面故障,VMM可以捕獲該故障,在影子頁(yè)表中建立線性地址到物理地址的對(duì)應(yīng)關(guān)系,并將客戶頁(yè)表中相應(yīng)項(xiàng)的A位置1。對(duì)于D位,VMM在影子頁(yè)表中建立線性地址到物理地址間的映射之初,可以將頁(yè)置為只讀,這樣當(dāng)VM對(duì)該頁(yè)進(jìn)行寫(xiě)操作時(shí),將導(dǎo)致頁(yè)面故障,使VMM獲得控制,進(jìn)而有機(jī)會(huì)確保影子頁(yè)表項(xiàng)和VM頁(yè)表項(xiàng)在D位上的一致。上面提到,VMM必須能夠滿足以上各種處理器模式下的內(nèi)存虛擬化要求,但由于VMX模式要求處理器必須工作在分頁(yè)保護(hù)模式下,因此VMM不可能允許客戶軟件將處理器切換到實(shí)模式或非分頁(yè)保護(hù)模式,而只能在分頁(yè)保護(hù)模式下為客戶軟件模擬出類似實(shí)模式或非分頁(yè)保護(hù)模式的環(huán)境??刹捎靡粋€(gè)v86任務(wù)來(lái)模擬客戶機(jī)所需的實(shí)模式環(huán)境。我們知道,v86軟件在執(zhí)行時(shí),其邏輯地址經(jīng)16位分段機(jī)制轉(zhuǎn)換為20位線性地址,其后再經(jīng)過(guò)分頁(yè)機(jī)制轉(zhuǎn)換為物理地址。因此,在客戶機(jī)引導(dǎo)之初,VMM可以另客戶操作系統(tǒng)的實(shí)模式代碼執(zhí)行于一個(gè)v86任務(wù)中,并為其構(gòu)造執(zhí)行所需的頁(yè)表結(jié)構(gòu),從而接管客戶軟件對(duì)物理內(nèi)存訪問(wèn)。客戶的非分頁(yè)保護(hù)模式代碼實(shí)際上是執(zhí)行在分頁(yè)保護(hù)模式之下,只不過(guò)通過(guò)影子CR0等機(jī)制使客戶察覺(jué)不到而已。客戶邏輯地址經(jīng)32位分段機(jī)制轉(zhuǎn)換后為32位線性地址,而后經(jīng)VMM構(gòu)造的頁(yè)表轉(zhuǎn)換為物理地址,從而避免了客戶軟件對(duì)物理內(nèi)存的直接控制。. 基于EPT的內(nèi)存虛擬化基于VTLB進(jìn)行內(nèi)存虛擬化時(shí),因?yàn)榭蛻粼谧x寫(xiě)CR執(zhí)行INVLPG指令或客戶頁(yè)表不完整等情況下均會(huì)導(dǎo)致VM exit,這導(dǎo)致了內(nèi)存虛擬化效率很低。較新的Intel處理器中引入了EPT(Extended Page Table)技術(shù),用于提高內(nèi)存虛擬化的效率。EPT引入了額外的一套頁(yè)表結(jié)構(gòu),后者定義了客戶物理地址到主機(jī)物理地址之間的映射關(guān)系,所有的客戶物理地址(如CR3給出的頁(yè)目錄基址、PDE給出的頁(yè)表基址、PTE給出的頁(yè)基址等)須經(jīng)由EPT頁(yè)表結(jié)構(gòu)轉(zhuǎn)換后用于訪存。EPT由VMM控制,并且僅在處理器工作于非根模式時(shí)才參與地址轉(zhuǎn)換。采用EPT后,客戶在讀寫(xiě)CR3和執(zhí)行INVLPG指令時(shí)不會(huì)導(dǎo)致VM exit,并且由于客戶頁(yè)表結(jié)構(gòu)自身導(dǎo)致的頁(yè)故障也不會(huì)導(dǎo)致VM exit,因此極大地提高了內(nèi)存虛擬化的效率,簡(jiǎn)化了內(nèi)存虛擬化的實(shí)現(xiàn)。. VPID. KVM實(shí)現(xiàn). 客戶物理內(nèi)存管理每個(gè)虛擬機(jī)都需要擁有一定數(shù)量的物理內(nèi)存。物理內(nèi)存是寶貴的資源,為了提高物理內(nèi)存的利用率,也為了在一臺(tái)計(jì)算機(jī)上運(yùn)行盡可能多的虛擬機(jī),不能將一塊物理內(nèi)存固定劃分給某個(gè)虛擬機(jī)使用,而應(yīng)該采用按需分配的方式。下面簡(jiǎn)述KVM的內(nèi)存管理原理。PC機(jī)的物理內(nèi)存通常是不連續(xù)的,例如地址0xA0000至0xFFFFF、0xE0000000至0xFFFFFFFF等通常留給BIOS ROM和MMIO而不是物理內(nèi)存。設(shè)虛擬機(jī)包括n塊物理內(nèi)存,分別記做P1, P2, …, Pn,每塊物理內(nèi)存的起始地址分別記做PB1, PB2, …, PBn,每塊物理內(nèi)存的大小分別為PS1, PS2, …, PSn。在虛擬機(jī)創(chuàng)建之初,Qemu使用malloc()從其進(jìn)程地址空間中申請(qǐng)了一塊與虛擬機(jī)的物理內(nèi)存大小相等的區(qū)域,設(shè)該區(qū)域的基地址為B。接下來(lái),Qemu根據(jù)虛擬機(jī)的物理內(nèi)存布局,將該區(qū)域劃分
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1