版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、之分頁(yè)內(nèi)存管理之分頁(yè)內(nèi)存管理教材:湯子瀛教材:湯子瀛獲部級(jí)優(yōu)秀教材獲部級(jí)優(yōu)秀教材主講:柳軍主講:柳軍 內(nèi)存管理之分頁(yè)機(jī)制內(nèi)存管理之分頁(yè)機(jī)制0 x00403370進(jìn)程進(jìn)程A0 x00403370進(jìn)程進(jìn)程B?華南虎華南虎 vs 東北虎東北虎眼見(jiàn)為實(shí):和平共處,此圖絕無(wú)造假眼見(jiàn)為實(shí):和平共處,此圖絕無(wú)造假和平共處和平共處的并不復(fù)雜的并不復(fù)雜-簡(jiǎn)單說(shuō)就是查表轉(zhuǎn)換分頁(yè)地址變換簡(jiǎn)單說(shuō)就是查表轉(zhuǎn)換分頁(yè)地址變換0 x00403370進(jìn)程進(jìn)程 A的線的線性地址空間性地址空間0 x00403370進(jìn)程進(jìn)程 B的線的線性地址空間性地址空間物理內(nèi)存物理內(nèi)存A 的的分頁(yè)分頁(yè)地址地址變換變換機(jī)制機(jī)制B 的的分頁(yè)分頁(yè)地址地
2、址變換變換機(jī)制機(jī)制34860 x002038160 x0134370中心提示:中心提示: 地址變換可以將進(jìn)程之間相互重疊的地址變換可以將進(jìn)程之間相互重疊的“線性地址變換到不同的線性地址變換到不同的“物理地址,物理地址,從而防止了真正意義上的地址從而防止了真正意義上的地址“沖突,沖突,實(shí)現(xiàn)了進(jìn)程之間的相互隔離。此外還能實(shí)實(shí)現(xiàn)了進(jìn)程之間的相互隔離。此外還能實(shí)現(xiàn)其它很多益處,因此現(xiàn)代的操作系統(tǒng)都現(xiàn)其它很多益處,因此現(xiàn)代的操作系統(tǒng)都采用地址變換進(jìn)展內(nèi)存管理。采用地址變換進(jìn)展內(nèi)存管理。對(duì)對(duì)“線性地址的認(rèn)識(shí):線性地址的認(rèn)識(shí):1、邏輯地址:匯編言語(yǔ)、邏輯地址:匯編言語(yǔ) (段段:偏移偏移) mov bx,10
3、00H mov ds,bx mov al,10H2、線性地址:由邏輯地址轉(zhuǎn)換得到、線性地址:由邏輯地址轉(zhuǎn)換得到1000H ds左移左移 4 位位10000H (實(shí)方式下實(shí)方式下)+ 10H 加上段內(nèi)偏移加上段內(nèi)偏移10010H3、物理地址:未分頁(yè)、物理地址:未分頁(yè) 線性地址線性地址 = 物理地址物理地址 分頁(yè)維護(hù)方式線性地址分頁(yè)維護(hù)方式線性地址 != 物理地址物理地址Intel x86 CPU 架構(gòu)下的三種架構(gòu)下的三種“地址地址闡明:闡明:1、分頁(yè)內(nèi)存管理將進(jìn)程的線性地址空間分成大小相等的片,、分頁(yè)內(nèi)存管理將進(jìn)程的線性地址空間分成大小相等的片,稱(chēng)為頁(yè)面或頁(yè),目前頁(yè)的大小取稱(chēng)為頁(yè)面或頁(yè),目前頁(yè)的
4、大小取 4096 (0 x1000)個(gè)字節(jié)。把物理個(gè)字節(jié)。把物理內(nèi)存分成與頁(yè)面一樣大小的存儲(chǔ)塊,稱(chēng)為物理塊或頁(yè)框。內(nèi)存分成與頁(yè)面一樣大小的存儲(chǔ)塊,稱(chēng)為物理塊或頁(yè)框。分頁(yè)存儲(chǔ)管理之原理闡明:分頁(yè)存儲(chǔ)管理之原理闡明:2、操作系統(tǒng)為進(jìn)程建立從線性地址頁(yè)到物理地址頁(yè)的變換關(guān)、操作系統(tǒng)為進(jìn)程建立從線性地址頁(yè)到物理地址頁(yè)的變換關(guān)系表,中間用到系表,中間用到 2 種線性表,分別稱(chēng)為頁(yè)目錄表和頁(yè)表,表的種線性表,分別稱(chēng)為頁(yè)目錄表和頁(yè)表,表的大小都是大小都是 4096 個(gè)字節(jié)。個(gè)字節(jié)。(關(guān)系見(jiàn)下頁(yè)關(guān)系見(jiàn)下頁(yè))3、CPU內(nèi)部為分頁(yè)機(jī)制提供了硬件支持,以加快變換速度。內(nèi)部為分頁(yè)機(jī)制提供了硬件支持,以加快變換速度。第
5、第 0 頁(yè)頁(yè)0.0 xFFF 0 x1000.0 x1FFF 0 x2000.0 x2FFF第第 1 頁(yè)頁(yè)第第 2頁(yè)頁(yè)0 x3000第第 3 頁(yè)頁(yè)頁(yè)目錄表頁(yè)目錄表0 x2000頁(yè)表頁(yè)表04096字節(jié)字節(jié)頁(yè)目錄表和頁(yè)表的關(guān)系:很重要頁(yè)目錄表和頁(yè)表的關(guān)系:很重要闡明:闡明: 為了表征為了表征 32 位地址,表中每個(gè)數(shù)位地址,表中每個(gè)數(shù)據(jù)都是據(jù)都是 4 Bytes。留意這些表中的數(shù)。留意這些表中的數(shù)據(jù)的低據(jù)的低 12 位都是位都是 0。0121023頁(yè)表頁(yè)表10 x5000頁(yè)表頁(yè)表10230 x20000 x60000 x60000 x5000011023011023CR34096字節(jié)字節(jié)0 x90
6、000 x10000 x190000 x210000 x890000 x27000011023頁(yè)框頁(yè)框二級(jí)分頁(yè)地址變換機(jī)制:重點(diǎn)二級(jí)分頁(yè)地址變換機(jī)制:重點(diǎn) 由操作系統(tǒng)擔(dān)任建立由操作系統(tǒng)擔(dān)任建立 (內(nèi)存中內(nèi)存中) CPU內(nèi)部高速存放器保管正在運(yùn)轉(zhuǎn)進(jìn)程的頁(yè)目錄表首地址內(nèi)部高速存放器保管正在運(yùn)轉(zhuǎn)進(jìn)程的頁(yè)目錄表首地址 頁(yè)目錄表頁(yè)目錄表頁(yè)表頁(yè)表物理內(nèi)存物理內(nèi)存線性地址線性地址二級(jí)分頁(yè)地址變換中的根本運(yùn)算:二級(jí)分頁(yè)地址變換中的根本運(yùn)算:線性線性地址地址1010101010100000000010000000010031 22 21 12 11 01、頁(yè)內(nèi)偏移量、頁(yè)內(nèi)偏移量00000001000000000
7、010101010101010& 000000000000000000001111111111110 xFFF-000000000000000000001010101010102、頁(yè)目錄表的索引、頁(yè)目錄表的索引3、頁(yè)表的索引、頁(yè)表的索引0000000100000000001010101010101000000000000000000000000000000100右移右移22次次0000000100000000001010101010101000000000000000000001000000000010右移右移12次次& 0000000000000000000000111111
8、11110 x3FF00000000000000000000000000000010中心提示:中心提示: 雖然我們?cè)谶@里計(jì)算了這些數(shù)據(jù),但即使是雖然我們?cè)谶@里計(jì)算了這些數(shù)據(jù),但即使是寫(xiě)操作系統(tǒng),這些步驟也是不用的。從線性地址寫(xiě)操作系統(tǒng),這些步驟也是不用的。從線性地址到物理地址之間的查表轉(zhuǎn)換由到物理地址之間的查表轉(zhuǎn)換由 CPU 內(nèi)部自動(dòng)進(jìn)內(nèi)部自動(dòng)進(jìn)展,無(wú)需人工干涉。展,無(wú)需人工干涉。物理內(nèi)存物理內(nèi)存二級(jí)分頁(yè)地址的完好運(yùn)轉(zhuǎn)流程:重中之重二級(jí)分頁(yè)地址的完好運(yùn)轉(zhuǎn)流程:重中之重線性線性地址地址1010101010100000000010000000010031 22 21 12 11 0物理內(nèi)存物理內(nèi)存
9、0 x002000CR3(PDBR)0 x002000頁(yè)目錄表頁(yè)目錄表起始地址起始地址0 x003000012340 x0020190 x0020190 x0020190 x0020190 x003000頁(yè)表起始頁(yè)表起始地址地址0 x0060000 x00006AAAX0 x00000AAA0 x002FFF0 x003FFF+ 0 x00006000-0 x00006AAA012思索思索15秒:秒: 啟用分頁(yè)內(nèi)存管理之啟用分頁(yè)內(nèi)存管理之后帶來(lái)的明顯的不利景后帶來(lái)的明顯的不利景象是什么?象是什么?二級(jí)分頁(yè)地址機(jī)制帶來(lái)的問(wèn)題:二級(jí)分頁(yè)地址機(jī)制帶來(lái)的問(wèn)題:線性線性地址地址1010101010100
10、000000010000000010031 22 21 12 11 00 x01002AAA1、無(wú)分頁(yè)、無(wú)分頁(yè)0 x01002AAA物理內(nèi)存物理內(nèi)存2、開(kāi)啟分頁(yè)機(jī)制、開(kāi)啟分頁(yè)機(jī)制CR3(頁(yè)目錄表頁(yè)目錄表) X1次次頁(yè)表頁(yè)表第第1次次頁(yè)框頁(yè)框第第2次次 X第第3次次頁(yè)框就是物理內(nèi)存頁(yè)頁(yè)框就是物理內(nèi)存頁(yè)的邊境,即起始地址的邊境,即起始地址中心提示:中心提示: 二級(jí)分頁(yè)地址機(jī)制帶來(lái)的嚴(yán)重問(wèn)題就是內(nèi)存二級(jí)分頁(yè)地址機(jī)制帶來(lái)的嚴(yán)重問(wèn)題就是內(nèi)存訪問(wèn)效率的嚴(yán)重下降,由不分頁(yè)時(shí)的訪問(wèn)效率的嚴(yán)重下降,由不分頁(yè)時(shí)的 1 次,上升次,上升到了到了 3 次,這個(gè)問(wèn)題必需處理。次,這個(gè)問(wèn)題必需處理。 知錯(cuò)能改知錯(cuò)能改 善
11、莫大焉善莫大焉關(guān)于關(guān)于 CPU 的一些知識(shí):的一些知識(shí):1、衡量、衡量CPU性能的目的,除存放性能的目的,除存放器字長(zhǎng)、主頻外,器字長(zhǎng)、主頻外,CPU內(nèi)部?jī)?nèi)部Cache容量是非常重要的。容量是非常重要的。2、CPU內(nèi)部的內(nèi)部的 Cache 是靜態(tài)存是靜態(tài)存儲(chǔ)器儲(chǔ)器(SRAM),不同于普通的內(nèi)存,不同于普通的內(nèi)存(DRAM)。3、由于、由于 Cache 的制造本錢(qián)很高昂的制造本錢(qián)很高昂,Cache的容量都不大的容量都不大Mbytes量級(jí)。量級(jí)。計(jì)算機(jī)內(nèi)部各主要器件的任務(wù)速度對(duì)比:計(jì)算機(jī)內(nèi)部各主要器件的任務(wù)速度對(duì)比: 1、CPU:典型任務(wù)頻率:典型任務(wù)頻率3GHz,最快含,最快含Cache 2、D
12、RAM:普通內(nèi)存,:普通內(nèi)存,DDR800,實(shí)踐頻率,實(shí)踐頻率400M 3、硬盤(pán):、硬盤(pán):7200轉(zhuǎn),數(shù)據(jù)傳輸率轉(zhuǎn),數(shù)據(jù)傳輸率 40MB100MB/S 4、以太網(wǎng):、以太網(wǎng):100Mbits/S ,數(shù)據(jù)傳輸率,數(shù)據(jù)傳輸率 12.5MB/S 5、打印機(jī):、打印機(jī):10B1KB/S 6、鍵盤(pán):、鍵盤(pán): 10B/S利用利用Cache實(shí)現(xiàn)地址的快速變換:實(shí)現(xiàn)地址的快速變換:頁(yè)目錄表頁(yè)目錄表頁(yè)表頁(yè)表物理內(nèi)存物理內(nèi)存CPU內(nèi)部?jī)?nèi)部高速運(yùn)轉(zhuǎn)高速運(yùn)轉(zhuǎn)CacheCache 為了提高地址變換速度,可在地址變換機(jī)構(gòu)中增設(shè)一個(gè)具為了提高地址變換速度,可在地址變換機(jī)構(gòu)中增設(shè)一個(gè)具有并行查尋才干的特殊高速緩沖存放器,又稱(chēng)
13、為有并行查尋才干的特殊高速緩沖存放器,又稱(chēng)為聯(lián)想存放器聯(lián)想存放器(Associative Memory),或稱(chēng)為,或稱(chēng)為快表快表,在,在IBM系統(tǒng)中又取名系統(tǒng)中又取名為為T(mén)LB(Translation Lookaside Buffer),用以存放當(dāng)前訪問(wèn)的那,用以存放當(dāng)前訪問(wèn)的那些頁(yè)目錄表和頁(yè)表項(xiàng)。些頁(yè)目錄表和頁(yè)表項(xiàng)。 此時(shí)的地址變換過(guò)程是:在此時(shí)的地址變換過(guò)程是:在CPU給出線性地址后,由地址給出線性地址后,由地址變換機(jī)構(gòu)自動(dòng)地先在變換機(jī)構(gòu)自動(dòng)地先在快表快表中進(jìn)展查表轉(zhuǎn)換,假設(shè)轉(zhuǎn)換勝利,中進(jìn)展查表轉(zhuǎn)換,假設(shè)轉(zhuǎn)換勝利,那么稱(chēng)為那么稱(chēng)為命中命中,目前的,目前的命中命中率高達(dá)率高達(dá) 90%以上,使
14、分頁(yè)機(jī)以上,使分頁(yè)機(jī)制帶來(lái)的性能損失降低到了可接納的程度。假設(shè)在制帶來(lái)的性能損失降低到了可接納的程度。假設(shè)在快表快表中進(jìn)中進(jìn)展查表轉(zhuǎn)換失敗,那么退縮為普通的地址變換,概率小于展查表轉(zhuǎn)換失敗,那么退縮為普通的地址變換,概率小于 10%。利用利用Cache實(shí)現(xiàn)地址的快速變換:實(shí)現(xiàn)地址的快速變換:至此分頁(yè)機(jī)制才干得以流暢運(yùn)轉(zhuǎn)至此分頁(yè)機(jī)制才干得以流暢運(yùn)轉(zhuǎn)分頁(yè)機(jī)制之進(jìn)階:分頁(yè)機(jī)制之進(jìn)階:進(jìn)程的線性地址空間進(jìn)程的線性地址空間物理內(nèi)存物理內(nèi)存頁(yè)目錄表頁(yè)目錄表頁(yè)表頁(yè)表頁(yè)表頁(yè)表中心提示:中心提示: 分頁(yè)機(jī)制可以將進(jìn)程的數(shù)據(jù)離散地存放分頁(yè)機(jī)制可以將進(jìn)程的數(shù)據(jù)離散地存放到物理內(nèi)存中,不再需求延續(xù)的內(nèi)存空間,到物理內(nèi)
15、存中,不再需求延續(xù)的內(nèi)存空間,大大方便了內(nèi)存管理。大大方便了內(nèi)存管理。 但是,物理內(nèi)存終究是很有限的,如何但是,物理內(nèi)存終究是很有限的,如何在有限的內(nèi)存中,運(yùn)轉(zhuǎn)更多的程序呢?換句在有限的內(nèi)存中,運(yùn)轉(zhuǎn)更多的程序呢?換句話(huà)說(shuō)如何擴(kuò)展物理內(nèi)存呢?思索話(huà)說(shuō)如何擴(kuò)展物理內(nèi)存呢?思索10秒秒分頁(yè)機(jī)制之結(jié)束:虛擬內(nèi)存分頁(yè)機(jī)制之結(jié)束:虛擬內(nèi)存 海納百川海納百川 有容乃大有容乃大 在計(jì)算機(jī)的存儲(chǔ)設(shè)備中什么部件的容量是最在計(jì)算機(jī)的存儲(chǔ)設(shè)備中什么部件的容量是最大的?大的? 那么硬盤(pán)真能充作內(nèi)存來(lái)運(yùn)用嗎?是那么硬盤(pán)真能充作內(nèi)存來(lái)運(yùn)用嗎?是濫竽濫竽充數(shù)充數(shù)還是還是畫(huà)龍點(diǎn)睛畫(huà)龍點(diǎn)睛? 答案是:可以,而且絕大多數(shù)人目前都在
16、用答案是:可以,而且絕大多數(shù)人目前都在用,而且絕大多數(shù)人還不知道本人正在這樣用。,而且絕大多數(shù)人還不知道本人正在這樣用。 為他是計(jì)算機(jī)系的學(xué)生而驕傲吧,他知道了為他是計(jì)算機(jī)系的學(xué)生而驕傲吧,他知道了更多的關(guān)于計(jì)算機(jī)的微妙,雖然他也是剛剛剛知更多的關(guān)于計(jì)算機(jī)的微妙,雖然他也是剛剛剛知道。道。硬盤(pán)硬盤(pán) 分頁(yè)機(jī)制之結(jié)束:虛擬內(nèi)存的實(shí)現(xiàn)機(jī)制分頁(yè)機(jī)制之結(jié)束:虛擬內(nèi)存的實(shí)現(xiàn)機(jī)制進(jìn)程的線性地址空間進(jìn)程的線性地址空間物理內(nèi)存物理內(nèi)存頁(yè)目錄表頁(yè)目錄表頁(yè)表頁(yè)表內(nèi)內(nèi)存存已已滿(mǎn)滿(mǎn)物理硬盤(pán)物理硬盤(pán)虛擬內(nèi)存虛擬內(nèi)存? 中心提示:中心提示: 在前面的引見(jiàn)中提到,頁(yè)目錄表和頁(yè)表中在前面的引見(jiàn)中提到,頁(yè)目錄表和頁(yè)表中的的 32 位地址值的低位地址值的低 12 位都位都天生天生就是就是 0 。為。為實(shí)現(xiàn)虛擬內(nèi)存機(jī)制,需求利用這實(shí)現(xiàn)虛擬內(nèi)存機(jī)制,需求利用這 12 位,當(dāng)然位,當(dāng)然還需求其它硬件上的支持。還需求其它硬件上的支持。分頁(yè)機(jī)制之結(jié)束:虛擬內(nèi)存的實(shí)現(xiàn)機(jī)制分頁(yè)機(jī)制之結(jié)束:虛擬內(nèi)存的實(shí)現(xiàn)機(jī)制頁(yè)表中的數(shù)據(jù)項(xiàng)留意低頁(yè)表中的數(shù)據(jù)項(xiàng)留意低 12 位進(jìn)展了重定義位進(jìn)展了重定義1:表示該頁(yè)在內(nèi)存,表示該頁(yè)在內(nèi)存,0:表示在硬盤(pán)上表示在硬盤(pán)上欲從此處獲得該欲從此處獲得該物理頁(yè)物理頁(yè)的起始地址,需將此的起始地址,需將此值和值和0 xFFFFF000相?,以將低相?,以將低 12 位清
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年耕地租賃合同
- 廣告設(shè)備購(gòu)銷(xiāo)合同2024年
- 合伙企業(yè)協(xié)議格式
- 房地產(chǎn)代理銷(xiāo)售協(xié)議書(shū)2024年
- 服裝制造商合作合同
- 2024年二手房屋買(mǎi)賣(mài)合同范例
- 擔(dān)保合作協(xié)議填寫(xiě)指南
- 合伙餐館協(xié)議書(shū)樣本專(zhuān)業(yè)
- 裝修預(yù)算合同范本2024年
- 2024設(shè)備搬遷運(yùn)輸合同
- 酶催化細(xì)胞的化學(xué)反應(yīng) 課件 【高效課堂+備課精研】高一上學(xué)期生物滬科版必修一
- 重點(diǎn)初中英語(yǔ)教師經(jīng)驗(yàn)交流發(fā)言稿
- 溝槽開(kāi)挖監(jiān)理實(shí)施細(xì)則
- 一年級(jí)科學(xué)上冊(cè)教案《做個(gè)小偵探》
- 工藝管道安裝規(guī)范及驗(yàn)收標(biāo)準(zhǔn)重點(diǎn)課件
- 2023年燕舞集團(tuán)有限公司招聘筆試模擬試題及答案解析
- 100句英文記7000雅思單詞帶單詞解釋和音標(biāo)
- 勞務(wù)投標(biāo)書(shū)技術(shù)標(biāo)
- 送達(dá)地址確認(rèn)書(shū)(訴訟類(lèi)范本)
- 《馬克思主義發(fā)展史》第五章 馬克思列寧主義在蘇聯(lián)的發(fā)展及曲折
- ASME-第Ⅸ卷焊接工藝評(píng)定,焊工技能評(píng)定
評(píng)論
0/150
提交評(píng)論