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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、之分頁內(nèi)存管理之分頁內(nèi)存管理教材:湯子瀛教材:湯子瀛獲部級優(yōu)秀教材獲部級優(yōu)秀教材主講:柳軍主講:柳軍 內(nèi)存管理之分頁機(jī)制內(nèi)存管理之分頁機(jī)制0 x00403370進(jìn)程進(jìn)程A0 x00403370進(jìn)程進(jìn)程B?華南虎華南虎 vs 東北虎東北虎眼見為實:和平共處,此圖絕無造假眼見為實:和平共處,此圖絕無造假和平共處和平共處的并不復(fù)雜的并不復(fù)雜-簡單說就是查表轉(zhuǎn)換分頁地址變換簡單說就是查表轉(zhuǎn)換分頁地址變換0 x00403370進(jìn)程進(jìn)程 A的線的線性地址空間性地址空間0 x00403370進(jìn)程進(jìn)程 B的線的線性地址空間性地址空間物理內(nèi)存物理內(nèi)存A 的的分頁分頁地址地址變換變換機(jī)制機(jī)制B 的的分頁分頁地址地

2、址變換變換機(jī)制機(jī)制34860 x002038160 x0134370中心提示:中心提示: 地址變換可以將進(jìn)程之間相互重疊的地址變換可以將進(jìn)程之間相互重疊的“線性地址變換到不同的線性地址變換到不同的“物理地址,物理地址,從而防止了真正意義上的地址從而防止了真正意義上的地址“沖突,沖突,實現(xiàn)了進(jìn)程之間的相互隔離。此外還能實實現(xiàn)了進(jìn)程之間的相互隔離。此外還能實現(xiàn)其它很多益處,因此現(xiàn)代的操作系統(tǒng)都現(xiàn)其它很多益處,因此現(xiàn)代的操作系統(tǒng)都采用地址變換進(jìn)展內(nèi)存管理。采用地址變換進(jìn)展內(nèi)存管理。對對“線性地址的認(rèn)識:線性地址的認(rèn)識:1、邏輯地址:匯編言語、邏輯地址:匯編言語 (段段:偏移偏移) mov bx,10

3、00H mov ds,bx mov al,10H2、線性地址:由邏輯地址轉(zhuǎn)換得到、線性地址:由邏輯地址轉(zhuǎn)換得到1000H ds左移左移 4 位位10000H (實方式下實方式下)+ 10H 加上段內(nèi)偏移加上段內(nèi)偏移10010H3、物理地址:未分頁、物理地址:未分頁 線性地址線性地址 = 物理地址物理地址 分頁維護(hù)方式線性地址分頁維護(hù)方式線性地址 != 物理地址物理地址Intel x86 CPU 架構(gòu)下的三種架構(gòu)下的三種“地址地址闡明:闡明:1、分頁內(nèi)存管理將進(jìn)程的線性地址空間分成大小相等的片,、分頁內(nèi)存管理將進(jìn)程的線性地址空間分成大小相等的片,稱為頁面或頁,目前頁的大小取稱為頁面或頁,目前頁的

4、大小取 4096 (0 x1000)個字節(jié)。把物理個字節(jié)。把物理內(nèi)存分成與頁面一樣大小的存儲塊,稱為物理塊或頁框。內(nèi)存分成與頁面一樣大小的存儲塊,稱為物理塊或頁框。分頁存儲管理之原理闡明:分頁存儲管理之原理闡明:2、操作系統(tǒng)為進(jìn)程建立從線性地址頁到物理地址頁的變換關(guān)、操作系統(tǒng)為進(jìn)程建立從線性地址頁到物理地址頁的變換關(guān)系表,中間用到系表,中間用到 2 種線性表,分別稱為頁目錄表和頁表,表的種線性表,分別稱為頁目錄表和頁表,表的大小都是大小都是 4096 個字節(jié)。個字節(jié)。(關(guān)系見下頁關(guān)系見下頁)3、CPU內(nèi)部為分頁機(jī)制提供了硬件支持,以加快變換速度。內(nèi)部為分頁機(jī)制提供了硬件支持,以加快變換速度。第

5、第 0 頁頁0.0 xFFF 0 x1000.0 x1FFF 0 x2000.0 x2FFF第第 1 頁頁第第 2頁頁0 x3000第第 3 頁頁頁目錄表頁目錄表0 x2000頁表頁表04096字節(jié)字節(jié)頁目錄表和頁表的關(guān)系:很重要頁目錄表和頁表的關(guān)系:很重要闡明:闡明: 為了表征為了表征 32 位地址,表中每個數(shù)位地址,表中每個數(shù)據(jù)都是據(jù)都是 4 Bytes。留意這些表中的數(shù)。留意這些表中的數(shù)據(jù)的低據(jù)的低 12 位都是位都是 0。0121023頁表頁表10 x5000頁表頁表10230 x20000 x60000 x60000 x5000011023011023CR34096字節(jié)字節(jié)0 x90

6、000 x10000 x190000 x210000 x890000 x27000011023頁框頁框二級分頁地址變換機(jī)制:重點二級分頁地址變換機(jī)制:重點 由操作系統(tǒng)擔(dān)任建立由操作系統(tǒng)擔(dān)任建立 (內(nèi)存中內(nèi)存中) CPU內(nèi)部高速存放器保管正在運(yùn)轉(zhuǎn)進(jìn)程的頁目錄表首地址內(nèi)部高速存放器保管正在運(yùn)轉(zhuǎn)進(jìn)程的頁目錄表首地址 頁目錄表頁目錄表頁表頁表物理內(nèi)存物理內(nèi)存線性地址線性地址二級分頁地址變換中的根本運(yùn)算:二級分頁地址變換中的根本運(yùn)算:線性線性地址地址1010101010100000000010000000010031 22 21 12 11 01、頁內(nèi)偏移量、頁內(nèi)偏移量00000001000000000

7、010101010101010& 000000000000000000001111111111110 xFFF-000000000000000000001010101010102、頁目錄表的索引、頁目錄表的索引3、頁表的索引、頁表的索引0000000100000000001010101010101000000000000000000000000000000100右移右移22次次0000000100000000001010101010101000000000000000000001000000000010右移右移12次次& 0000000000000000000000111111

8、11110 x3FF00000000000000000000000000000010中心提示:中心提示: 雖然我們在這里計算了這些數(shù)據(jù),但即使是雖然我們在這里計算了這些數(shù)據(jù),但即使是寫操作系統(tǒng),這些步驟也是不用的。從線性地址寫操作系統(tǒng),這些步驟也是不用的。從線性地址到物理地址之間的查表轉(zhuǎn)換由到物理地址之間的查表轉(zhuǎn)換由 CPU 內(nèi)部自動進(jìn)內(nèi)部自動進(jìn)展,無需人工干涉。展,無需人工干涉。物理內(nèi)存物理內(nèi)存二級分頁地址的完好運(yùn)轉(zhuǎn)流程:重中之重二級分頁地址的完好運(yùn)轉(zhuǎn)流程:重中之重線性線性地址地址1010101010100000000010000000010031 22 21 12 11 0物理內(nèi)存物理內(nèi)存

9、0 x002000CR3(PDBR)0 x002000頁目錄表頁目錄表起始地址起始地址0 x003000012340 x0020190 x0020190 x0020190 x0020190 x003000頁表起始頁表起始地址地址0 x0060000 x00006AAAX0 x00000AAA0 x002FFF0 x003FFF+ 0 x00006000-0 x00006AAA012思索思索15秒:秒: 啟用分頁內(nèi)存管理之啟用分頁內(nèi)存管理之后帶來的明顯的不利景后帶來的明顯的不利景象是什么?象是什么?二級分頁地址機(jī)制帶來的問題:二級分頁地址機(jī)制帶來的問題:線性線性地址地址1010101010100

10、000000010000000010031 22 21 12 11 00 x01002AAA1、無分頁、無分頁0 x01002AAA物理內(nèi)存物理內(nèi)存2、開啟分頁機(jī)制、開啟分頁機(jī)制CR3(頁目錄表頁目錄表) X1次次頁表頁表第第1次次頁框頁框第第2次次 X第第3次次頁框就是物理內(nèi)存頁頁框就是物理內(nèi)存頁的邊境,即起始地址的邊境,即起始地址中心提示:中心提示: 二級分頁地址機(jī)制帶來的嚴(yán)重問題就是內(nèi)存二級分頁地址機(jī)制帶來的嚴(yán)重問題就是內(nèi)存訪問效率的嚴(yán)重下降,由不分頁時的訪問效率的嚴(yán)重下降,由不分頁時的 1 次,上升次,上升到了到了 3 次,這個問題必需處理。次,這個問題必需處理。 知錯能改知錯能改 善

11、莫大焉善莫大焉關(guān)于關(guān)于 CPU 的一些知識:的一些知識:1、衡量、衡量CPU性能的目的,除存放性能的目的,除存放器字長、主頻外,器字長、主頻外,CPU內(nèi)部內(nèi)部Cache容量是非常重要的。容量是非常重要的。2、CPU內(nèi)部的內(nèi)部的 Cache 是靜態(tài)存是靜態(tài)存儲器儲器(SRAM),不同于普通的內(nèi)存,不同于普通的內(nèi)存(DRAM)。3、由于、由于 Cache 的制造本錢很高昂的制造本錢很高昂,Cache的容量都不大的容量都不大Mbytes量級。量級。計算機(jī)內(nèi)部各主要器件的任務(wù)速度對比:計算機(jī)內(nèi)部各主要器件的任務(wù)速度對比: 1、CPU:典型任務(wù)頻率:典型任務(wù)頻率3GHz,最快含,最快含Cache 2、D

12、RAM:普通內(nèi)存,:普通內(nèi)存,DDR800,實踐頻率,實踐頻率400M 3、硬盤:、硬盤: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、鍵盤:、鍵盤: 10B/S利用利用Cache實現(xiàn)地址的快速變換:實現(xiàn)地址的快速變換:頁目錄表頁目錄表頁表頁表物理內(nèi)存物理內(nèi)存CPU內(nèi)部內(nèi)部高速運(yùn)轉(zhuǎn)高速運(yùn)轉(zhuǎn)CacheCache 為了提高地址變換速度,可在地址變換機(jī)構(gòu)中增設(shè)一個具為了提高地址變換速度,可在地址變換機(jī)構(gòu)中增設(shè)一個具有并行查尋才干的特殊高速緩沖存放器,又稱

13、為有并行查尋才干的特殊高速緩沖存放器,又稱為聯(lián)想存放器聯(lián)想存放器(Associative Memory),或稱為,或稱為快表快表,在,在IBM系統(tǒng)中又取名系統(tǒng)中又取名為為TLB(Translation Lookaside Buffer),用以存放當(dāng)前訪問的那,用以存放當(dāng)前訪問的那些頁目錄表和頁表項。些頁目錄表和頁表項。 此時的地址變換過程是:在此時的地址變換過程是:在CPU給出線性地址后,由地址給出線性地址后,由地址變換機(jī)構(gòu)自動地先在變換機(jī)構(gòu)自動地先在快表快表中進(jìn)展查表轉(zhuǎn)換,假設(shè)轉(zhuǎn)換勝利,中進(jìn)展查表轉(zhuǎn)換,假設(shè)轉(zhuǎn)換勝利,那么稱為那么稱為命中命中,目前的,目前的命中命中率高達(dá)率高達(dá) 90%以上,使

14、分頁機(jī)以上,使分頁機(jī)制帶來的性能損失降低到了可接納的程度。假設(shè)在制帶來的性能損失降低到了可接納的程度。假設(shè)在快表快表中進(jìn)中進(jìn)展查表轉(zhuǎn)換失敗,那么退縮為普通的地址變換,概率小于展查表轉(zhuǎn)換失敗,那么退縮為普通的地址變換,概率小于 10%。利用利用Cache實現(xiàn)地址的快速變換:實現(xiàn)地址的快速變換:至此分頁機(jī)制才干得以流暢運(yùn)轉(zhuǎn)至此分頁機(jī)制才干得以流暢運(yùn)轉(zhuǎn)分頁機(jī)制之進(jìn)階:分頁機(jī)制之進(jìn)階:進(jìn)程的線性地址空間進(jìn)程的線性地址空間物理內(nèi)存物理內(nèi)存頁目錄表頁目錄表頁表頁表頁表頁表中心提示:中心提示: 分頁機(jī)制可以將進(jìn)程的數(shù)據(jù)離散地存放分頁機(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)更多的程序呢?換句話說如何擴(kuò)展物理內(nèi)存呢?思索話說如何擴(kuò)展物理內(nèi)存呢?思索10秒秒分頁機(jī)制之結(jié)束:虛擬內(nèi)存分頁機(jī)制之結(jié)束:虛擬內(nèi)存 海納百川海納百川 有容乃大有容乃大 在計算機(jī)的存儲設(shè)備中什么部件的容量是最在計算機(jī)的存儲設(shè)備中什么部件的容量是最大的?大的? 那么硬盤真能充作內(nèi)存來運(yùn)用嗎?是那么硬盤真能充作內(nèi)存來運(yùn)用嗎?是濫竽濫竽充數(shù)充數(shù)還是還是畫龍點睛畫龍點睛? 答案是:可以,而且絕大多數(shù)人目前都在

16、用答案是:可以,而且絕大多數(shù)人目前都在用,而且絕大多數(shù)人還不知道本人正在這樣用。,而且絕大多數(shù)人還不知道本人正在這樣用。 為他是計算機(jī)系的學(xué)生而驕傲吧,他知道了為他是計算機(jī)系的學(xué)生而驕傲吧,他知道了更多的關(guān)于計算機(jī)的微妙,雖然他也是剛剛剛知更多的關(guān)于計算機(jī)的微妙,雖然他也是剛剛剛知道。道。硬盤硬盤 分頁機(jī)制之結(jié)束:虛擬內(nèi)存的實現(xiàn)機(jī)制分頁機(jī)制之結(jié)束:虛擬內(nèi)存的實現(xiàn)機(jī)制進(jìn)程的線性地址空間進(jìn)程的線性地址空間物理內(nèi)存物理內(nèi)存頁目錄表頁目錄表頁表頁表內(nèi)內(nèi)存存已已滿滿物理硬盤物理硬盤虛擬內(nèi)存虛擬內(nèi)存? 中心提示:中心提示: 在前面的引見中提到,頁目錄表和頁表中在前面的引見中提到,頁目錄表和頁表中的的 32 位地址值的低位地址值的低 12 位都位都天生天生就是就是 0 。為。為實現(xiàn)虛擬內(nèi)存機(jī)制,需求利用這實現(xiàn)虛擬內(nèi)存機(jī)制,需求利用這 12 位,當(dāng)然位,當(dāng)然還需求其它硬件上的支持。還需求其它硬件上的支持。分頁機(jī)制之結(jié)束:虛擬內(nèi)存的實現(xiàn)機(jī)制分頁機(jī)制之結(jié)束:虛擬內(nèi)存的實現(xiàn)機(jī)制頁表中的數(shù)據(jù)項留意低頁表中的數(shù)據(jù)項留意低 12 位進(jìn)展了重定義位進(jìn)展了重定義1:表示該頁在內(nèi)存,表示該頁在內(nèi)存,0:表示在硬盤上表示在硬盤上欲從此處獲得該欲從此處獲得該物理頁物理頁的起始地址,需將此的起始地址,需將此值和值和0 xFFFFF000相?,以將低相?,以將低 12 位清

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論