內(nèi)存管理-分頁(yè)機(jī)制ppt課件_第1頁(yè)
內(nèi)存管理-分頁(yè)機(jī)制ppt課件_第2頁(yè)
內(nèi)存管理-分頁(yè)機(jī)制ppt課件_第3頁(yè)
內(nèi)存管理-分頁(yè)機(jī)制ppt課件_第4頁(yè)
內(nèi)存管理-分頁(yè)機(jī)制ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論