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

下載本文檔

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

文檔簡(jiǎn)介

1、之之分頁內(nèi)存管理分頁內(nèi)存管理操作系統(tǒng)原理操作系統(tǒng)原理教材:湯子瀛教材:湯子瀛計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng)獲獲部級(jí)優(yōu)秀教材部級(jí)優(yōu)秀教材主講:柳軍主講:柳軍24.1相似的圖形相似的圖形 凌格風(fēng)空機(jī)凌格風(fēng)空機(jī) wk11 內(nèi)存管理之分頁機(jī)制內(nèi)存管理之分頁機(jī)制0 x00403370進(jìn)程進(jìn)程A0 x00403370進(jìn)程進(jìn)程B?思考:不同進(jìn)程的地址空間是相互沖突還思考:不同進(jìn)程的地址空間是相互沖突還 是和平共處?是和平共處?華南虎華南虎 vs 東北虎東北虎是是二虎相爭(zhēng)二虎相爭(zhēng)?還是還是和平共處和平共處?眼見為實(shí):(和平共處,此圖絕無造假)眼見為實(shí):(和平共處,此圖絕無造假)和平共處和平共處的秘密并不復(fù)雜的秘

2、密并不復(fù)雜-簡(jiǎn)單說就是簡(jiǎn)單說就是查表轉(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 的的分頁分頁地址地址變換變換機(jī)制機(jī)制34860 x002137038160 x0134370核心提示核心提示: 地址變換可以將進(jìn)程之間相互地址變換可以將進(jìn)程之間相互重疊重疊的的“線性地址線性地址”變換到變換到不同不同的的“物理地址物理地址”,從而,從而避免了真正意義上的地址避免了真正意義上的地址“沖突沖突”,實(shí)現(xiàn)了進(jìn)程之間的相互隔離。

3、此外還能,實(shí)現(xiàn)了進(jìn)程之間的相互隔離。此外還能實(shí)現(xiàn)其它很多好處,因此現(xiàn)代的操作系統(tǒng)實(shí)現(xiàn)其它很多好處,因此現(xiàn)代的操作系統(tǒng)都采用地址變換進(jìn)行內(nèi)存管理。都采用地址變換進(jìn)行內(nèi)存管理。對(duì)對(duì)“線性地址線性地址”的認(rèn)識(shí):的認(rèn)識(shí):1、邏輯地址邏輯地址:匯編語言:匯編語言 (段段:偏移偏移) mov bx,1000H mov ds,bx mov al,10H2、線性地址線性地址:由邏輯地址轉(zhuǎn)換得到:由邏輯地址轉(zhuǎn)換得到1000H ds左移左移 4 位位10000H (實(shí)模式下實(shí)模式下)+ 10H 加上段內(nèi)偏移加上段內(nèi)偏移10010H3、物理地址物理地址:未分頁:未分頁 線性地址線性地址 = 物理地址物理地址 分頁(

4、分頁(保護(hù)模式保護(hù)模式)線性地址)線性地址 != 物理地址物理地址Intel x86 CPU 架構(gòu)下的三種架構(gòu)下的三種“地址地址”說明:說明:1、分頁內(nèi)存管理將進(jìn)程的線性地址空間分成大小相等的片,、分頁內(nèi)存管理將進(jìn)程的線性地址空間分成大小相等的片,稱為稱為頁面頁面或或頁頁,目前頁的大小取,目前頁的大小取 4096 (0 x1000)個(gè)字節(jié)。把物理個(gè)字節(jié)。把物理內(nèi)存分成與頁面相同大小的存儲(chǔ)塊,稱為內(nèi)存分成與頁面相同大小的存儲(chǔ)塊,稱為物理塊物理塊或或頁框頁框。分頁存儲(chǔ)管理之原理說明:分頁存儲(chǔ)管理之原理說明:2、操作系統(tǒng)為進(jìn)程建立從線性地址頁到物理地址頁的變換關(guān)、操作系統(tǒng)為進(jìn)程建立從線性地址頁到物理

5、地址頁的變換關(guān)系表,中間用到系表,中間用到 2 種線性表,分別稱為種線性表,分別稱為頁目錄表頁目錄表和和頁表頁表,表的,表的大小都是大小都是 4096 個(gè)字節(jié)。個(gè)字節(jié)。(關(guān)系見下頁關(guān)系見下頁)3、CPU內(nèi)部為分頁機(jī)制提供了內(nèi)部為分頁機(jī)制提供了硬件支持硬件支持,以加快變換速度。,以加快變換速度。第第 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 位

6、地址,表中每個(gè)數(shù)位地址,表中每個(gè)數(shù)據(jù)都是據(jù)都是 4 Bytes。注意這些表中的數(shù)。注意這些表中的數(shù)據(jù)的據(jù)的低低 12 位都是位都是 0。0121023頁表頁表10 x5000頁表頁表10230 x20000 x60000 x60000 x5000011023011023CR34096字節(jié)字節(jié)0 x90000 x10000 x190000 x210000 x890000 x27000011023頁框頁框二級(jí)分頁地址變換機(jī)制:(重點(diǎn))二級(jí)分頁地址變換機(jī)制:(重點(diǎn)) 由操作系統(tǒng)負(fù)責(zé)建立由操作系統(tǒng)負(fù)責(zé)建立 (內(nèi)存中內(nèi)存中) CPU內(nèi)部高速寄存器內(nèi)部高速寄存器(保存正在運(yùn)行進(jìn)程的頁目錄表首地址)(保存正

7、在運(yùn)行進(jìn)程的頁目錄表首地址) 頁目錄表頁目錄表頁表頁表物理內(nèi)存物理內(nèi)存線性地址線性地址二級(jí)分頁地址變換中的基本運(yùn)算:二級(jí)分頁地址變換中的基本運(yùn)算:線性線性地址地址1010101010100000000010000000010031 22 21 12 11 01、頁內(nèi)偏移量、頁內(nèi)偏移量00000001000000000010101010101010& 000000000000000000001111111111110 xFFF-000000000000000000001010101010102、頁目錄表的索引、頁目錄表的索引3、頁表的索引、頁表的索引0000000100000000001

8、010101010101000000000000000000000000000000100右移右移22次次0000000100000000001010101010101000000000000000000001000000000010右移右移12次次& 000000000000000000000011111111110 x3FF00000000000000000000000000000010核心提示核心提示: 盡管我們?cè)谶@里計(jì)算了這些數(shù)據(jù),但即使是盡管我們?cè)谶@里計(jì)算了這些數(shù)據(jù),但即使是寫操作系統(tǒng),這些步驟也是寫操作系統(tǒng),這些步驟也是不必的不必的。從線性地址。從線性地址到物理地址之間的查

9、表轉(zhuǎn)換由到物理地址之間的查表轉(zhuǎn)換由 CPU 內(nèi)部?jī)?nèi)部自動(dòng)自動(dòng)進(jìn)進(jìn)行,無需人工干預(yù)。行,無需人工干預(yù)。物理內(nèi)存物理內(nèi)存二級(jí)分頁地址的完整運(yùn)行流程二級(jí)分頁地址的完整運(yùn)行流程:(重中之重):(重中之重)線性線性地址地址1010101010100000000010000000010031 22 21 12 11 0物理內(nèi)存物理內(nèi)存0 x002000CR3(PDBR)0 x002000頁目錄表頁目錄表起始地址起始地址0 x003000012340 x0020100 x0020110 x0020120 x0020130 x003000頁表起始頁表起始地址地址0 x0060000 x00006AAAX0 x

10、00000AAA0 x002FFF0 x003FFF+ 0 x00006000-0 x00006AAA012思考(思考(15秒)秒): 啟用分頁內(nèi)存管理之啟用分頁內(nèi)存管理之后帶來的明顯的后帶來的明顯的不利不利現(xiàn)現(xiàn)象是什么?象是什么?二級(jí)分頁地址機(jī)制帶來的問題:二級(jí)分頁地址機(jī)制帶來的問題:線性線性地址地址1010101010100000000010000000010031 22 21 12 11 00 x01002AAA1、無分頁、無分頁0 x01002AAA物理內(nèi)存物理內(nèi)存2、開啟分頁機(jī)制、開啟分頁機(jī)制CR3(頁目錄表頁目錄表) X1次次頁表頁表第第1次次頁框頁框第第2次次 X第第3次次頁框頁

11、框就是物理內(nèi)存頁就是物理內(nèi)存頁的邊界,即起始地址的邊界,即起始地址核心提示核心提示: 二級(jí)分頁地址機(jī)制帶來的嚴(yán)重問題就是二級(jí)分頁地址機(jī)制帶來的嚴(yán)重問題就是內(nèi)存內(nèi)存訪問效率訪問效率的嚴(yán)重下降,由不分頁時(shí)的的嚴(yán)重下降,由不分頁時(shí)的 1 次,上升次,上升到了到了 3 次,這個(gè)問題必須解決。次,這個(gè)問題必須解決。 知錯(cuò)能改知錯(cuò)能改 善莫大焉善莫大焉關(guān)于關(guān)于 CPU 的一些知識(shí):的一些知識(shí):1、衡量、衡量CPU性能的指標(biāo),除寄存性能的指標(biāo),除寄存器字長(zhǎng)、主頻外,器字長(zhǎng)、主頻外,CPU內(nèi)部?jī)?nèi)部Cache容量是非常重要的。容量是非常重要的。2、CPU內(nèi)部的內(nèi)部的 Cache 是是靜態(tài)靜態(tài)存存儲(chǔ)器儲(chǔ)器(SRA

12、M),不同于普通的內(nèi)存,不同于普通的內(nèi)存(DRAM)。3、由于、由于 Cache 的制造的制造成本成本很高昂很高昂,Cache的容量都不大(的容量都不大(Mbytes量級(jí))。量級(jí))。計(jì)算機(jī)內(nèi)部各主要器件的工作速度對(duì)比計(jì)算機(jī)內(nèi)部各主要器件的工作速度對(duì)比: 1、CPU:典型工作頻率:典型工作頻率3GHz,最快(含,最快(含Cache) 2、DRAM:普通內(nèi)存,:普通內(nèi)存,DDR800,實(shí)際頻率,實(shí)際頻率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ī):1

13、0B1KB/S 6、鍵盤:、鍵盤: 10B/S利用利用Cache實(shí)現(xiàn)地址的快速變換:實(shí)現(xiàn)地址的快速變換:頁目錄表頁目錄表頁表頁表物理內(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è)具有并行查尋能力的特殊高速緩沖寄存器,又稱為有并行查尋能力的特殊高速緩沖寄存器,又稱為聯(lián)想寄存器聯(lián)想寄存器(Associative Memory),或稱為,或稱為快表快表,在,在IBM系統(tǒng)中又取名系統(tǒng)中又取名為為TLB(Translation Lookaside Buffer),用以存放當(dāng)前訪問的那,用以

14、存放當(dāng)前訪問的那些頁目錄表和頁表項(xiàng)。些頁目錄表和頁表項(xiàng)。 此時(shí)的地址變換過程是:在此時(shí)的地址變換過程是:在CPU給出給出線性地址線性地址后,由地址后,由地址變換機(jī)構(gòu)自動(dòng)地變換機(jī)構(gòu)自動(dòng)地先先在在快表快表中進(jìn)行查表轉(zhuǎn)換,若轉(zhuǎn)換成功,則中進(jìn)行查表轉(zhuǎn)換,若轉(zhuǎn)換成功,則稱為稱為命中命中,目前的,目前的命中命中率高達(dá)率高達(dá) 90%以上,使分頁機(jī)制帶以上,使分頁機(jī)制帶來的性能損失降低到了可接收的程度。若在來的性能損失降低到了可接收的程度。若在快表快表中進(jìn)行查表中進(jìn)行查表轉(zhuǎn)換失敗,則退縮為一般的地址變換,概率小于轉(zhuǎn)換失敗,則退縮為一般的地址變換,概率小于 10%。利用利用Cache實(shí)現(xiàn)地址的快速變換:實(shí)現(xiàn)地址

15、的快速變換:至此分頁機(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)存中,不再需要到物理內(nèi)存中,不再需要連續(xù)連續(xù)的內(nèi)存空間,的內(nèi)存空間,大大方便了內(nèi)存管理。大大方便了內(nèi)存管理。 但是,物理內(nèi)存終究是很有限的,如何但是,物理內(nèi)存終究是很有限的,如何在有限的內(nèi)存中,運(yùn)行更多的程序呢?換句在有限的內(nèi)存中,運(yùn)行更多的程序呢?換句話說如何擴(kuò)充物理內(nèi)存呢?(思考話說如何擴(kuò)充物理內(nèi)存呢?(思考10秒

16、)秒)分頁機(jī)制之完結(jié):虛擬內(nèi)存分頁機(jī)制之完結(jié):虛擬內(nèi)存 海納百川海納百川 有容乃大有容乃大 在計(jì)算機(jī)的存儲(chǔ)設(shè)備中什么部件的在計(jì)算機(jī)的存儲(chǔ)設(shè)備中什么部件的容量容量是最是最大的?大的? 那么硬盤真能充作內(nèi)存來使用嗎?是那么硬盤真能充作內(nèi)存來使用嗎?是濫竽濫竽充數(shù)充數(shù)還是還是畫龍點(diǎn)睛畫龍點(diǎn)睛? 答案是:答案是:可以可以,而且絕大多數(shù)人目前都在用,而且絕大多數(shù)人目前都在用,而且絕大多數(shù)人還不知道自己正在這樣用。,而且絕大多數(shù)人還不知道自己正在這樣用。 為你是計(jì)算機(jī)系的學(xué)生而為你是計(jì)算機(jī)系的學(xué)生而自豪吧自豪吧,你知道了,你知道了更多的關(guān)于計(jì)算機(jī)的奧妙,雖然你也是剛剛才知更多的關(guān)于計(jì)算機(jī)的奧妙,雖然你也是

17、剛剛才知道。道。硬盤硬盤 分頁機(jī)制之完結(jié):虛擬內(nèi)存的實(shí)現(xiàn)機(jī)制分頁機(jī)制之完結(jié):虛擬內(nèi)存的實(shí)現(xiàn)機(jī)制進(jìn)程的線性地址空間進(jìn)程的線性地址空間物理內(nèi)存物理內(nèi)存頁目錄表頁目錄表頁表頁表內(nèi)內(nèi)存存已已滿滿物理硬盤物理硬盤虛擬內(nèi)存虛擬內(nèi)存? 核心提示核心提示: 在前面的介紹中提到,頁目錄表和頁表中在前面的介紹中提到,頁目錄表和頁表中的的 32 位地址值的低位地址值的低 12 位都位都天生天生就是就是 0 。為。為實(shí)現(xiàn)虛擬內(nèi)存機(jī)制,需要利用這實(shí)現(xiàn)虛擬內(nèi)存機(jī)制,需要利用這 12 位,當(dāng)然位,當(dāng)然還需要其它硬件上的支持。還需要其它硬件上的支持。分頁機(jī)制之完結(jié):虛擬內(nèi)存的實(shí)現(xiàn)機(jī)制分頁機(jī)制之完結(jié):虛擬內(nèi)存的實(shí)現(xiàn)機(jī)制頁表中的數(shù)據(jù)項(xiàng)(注意低頁表中的數(shù)據(jù)項(xiàng)(注意低 12 位進(jìn)行了重定義)位進(jìn)行了重定義)1:表示該頁在內(nèi)存,表示該頁在內(nèi)存,0:表示在硬盤上表示在硬盤上欲從此處獲得該欲從此處獲得該物理頁物理頁的起始地址,需將此的起始地址,需將此值和值和0 xFFFFF000相相?,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論