




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、安徽科技學院 設計人:趙艷紅第第9章章 內存管理(內存管理(2)教師:計算機操作系統(tǒng)課程組教師:計算機操作系統(tǒng)課程組E-mail: E-mail: (趙艷紅)(趙艷紅) (沈峰)(沈峰) 校重點建設課程校重點建設課程1精選課件1Contents分頁分頁校重點建設課程校重點建設課程2精選課件2引言引言? 為了消除外部碎片從而提高內存使用效率,能否把為了消除外部碎片從而提高內存使用效率,能否把進程在內存中連續(xù)存儲這種情況改變,使之非連續(xù)進程在內存中連續(xù)存儲這種情況改變,使之非連續(xù)存儲?存儲?把進程的把進程的邏輯內存邏輯內存分割成不同的分割成不同的塊塊。把把物理內存物理內存也分割為不同的也分割為不同
2、的塊塊。p 分割的方法不一樣,會導致以下不同的內存管理方分割的方法不一樣,會導致以下不同的內存管理方案:案:分段分段、分頁分頁、帶有分頁的分段帶有分頁的分段。內存管理方案是通過硬件與操作系統(tǒng)相互配合實現(xiàn)內存管理方案是通過硬件與操作系統(tǒng)相互配合實現(xiàn)的。的。校重點建設課程校重點建設課程3精選課件39.4 分頁分頁9.4.1 基本方法基本方法n 把把物理內存物理內存分割成大小相等且大小固定的塊,稱之分割成大小相等且大小固定的塊,稱之為為幀幀(frame),也稱為,也稱為物理頁物理頁。幀大小幀大?。?12Byte64KByte,80386中:中:4KByte.幀號幀號n 把進程的把進程的邏輯內存邏輯內
3、存也分割為與幀大小一樣的塊,稱也分割為與幀大小一樣的塊,稱之為之為頁頁,也稱為,也稱為邏輯頁邏輯頁。n 備份存儲器(如硬盤、備份存儲器(如硬盤、SD卡等)也分割為與幀大卡等)也分割為與幀大小一樣的塊。小一樣的塊。校重點建設課程校重點建設課程4精選課件49.4.1 基本方法基本方法n 當一個程序從當一個程序從硬盤硬盤調入到調入到內存內存時,要把時,要把整個整個程序程序即程序的所有頁都調入到內存。即程序的所有頁都調入到內存。在在請求分頁式請求分頁式虛擬存儲管理方案中只需要把虛擬存儲管理方案中只需要把當前當前運行運行需要的需要的頁頁調入調入內存內存中。中。校重點建設課程校重點建設課程5精選課件5頁表
4、頁表l作用:表示作用:表示頁號頁號與與幀號幀號的一一對應關系的一一對應關系l組成:組成:頁號頁號+幀號幀號l大部分操作系統(tǒng)都把大部分操作系統(tǒng)都把頁表頁表存儲在存儲在內存內存中。中。l頁表頁表的的大小大小由由進程的長度進程的長度決定。決定。例如,對于一個每頁長例如,對于一個每頁長1 K1 K,大小為,大小為20 K20 K的進程來說,如的進程來說,如果一個內存單元存放一個頁表項,則只要分配給該頁表果一個內存單元存放一個頁表項,則只要分配給該頁表2020個存儲單元即可。個存儲單元即可。l每個進程至少擁有一個頁表。每個進程至少擁有一個頁表。校重點建設課程校重點建設課程6精選課件6邏輯內存和物理內存的
5、分頁模型邏輯內存和物理內存的分頁模型n頁到幀頁到幀的的地址轉換地址轉換是通過是通過硬件硬件完成的,如右圖所示。完成的,如右圖所示。nCPU產(chǎn)生的產(chǎn)生的邏輯地址邏輯地址分為兩部分為兩部分:分:頁號頁號(p):是頁表的是頁表的索引值索引值,頁表頁表中包含每頁對應的中包含每頁對應的幀號幀號頁偏移頁偏移(d):它與幀號組合形它與幀號組合形成成物理地址物理地址。在在80386中,地址為中,地址為32位。位。12位表示頁偏移:頁長位表示頁偏移:頁長為為4 KB20位表示頁號:位表示頁號: 頁數(shù)頁數(shù)1024K個個邏輯地址結構如下圖所邏輯地址結構如下圖所示:示:p分頁示例:頁長分頁示例:頁長4Byte,物理內
6、存:,物理內存:32Byte。頁表頁表邏輯內存邏輯內存物理內存物理內存頁碼頁碼邏輯地址邏輯地址0 0對應對應的的頁碼頁碼為為0 0,頁,頁偏移為偏移為0 0,根據(jù),根據(jù)頁表,頁碼頁表,頁碼0 0對對應的應的幀號幀號是是5 5。所以邏輯地址所以邏輯地址0 0對應的物理地址對應的物理地址是是5 5* *4+0=204+0=20即即幀幀號頁長頁偏號頁長頁偏移移邏輯地址邏輯地址0對應的物理地址對應的物理地址是多少?是多少?123012305674幀號幀號校重點建設課程校重點建設課程9精選課件9示例示例? 假設某假設某OS中,頁和幀的大小都為中,頁和幀的大小都為1KB,有一個進,有一個進程其頁表如下圖所
7、示,此進程有一條指令為程其頁表如下圖所示,此進程有一條指令為LOAD 1,2500,此指令的虛地址為,此指令的虛地址為100。問題:問題:(1)虛地址虛地址100對應的物理地址。對應的物理地址。(2) 指令中表示操作數(shù)的虛地址指令中表示操作數(shù)的虛地址2500對應的物理地對應的物理地址址? 解:解:(1)(1)為了找出邏輯地址為了找出邏輯地址100100對應的物理地址,硬件地址變換機對應的物理地址,硬件地址變換機構首先將構首先將100100轉換為頁號轉換為頁號p p與頁偏移與頁偏移d d組成的邏輯地址形式。即組成的邏輯地址形式。即p=0p=0,d=100d=100。從頁表中可知第。從頁表中可知第
8、0 0頁與頁與2 2號幀相對應,將幀號號幀相對應,將幀號2 2與與頁偏移頁偏移d=100d=100相連,得到物理內存地址:相連,得到物理內存地址:2 2* *1024+100=21481024+100=2148。210241002148校重點建設課程校重點建設課程11精選課件11示例示例(2) (2) 指令中表示操作數(shù)的虛地址指令中表示操作數(shù)的虛地址25002500對應的物理地址對應的物理地址? ? 答案:答案:86448644。 課后請計算答案為什么是課后請計算答案為什么是86448644。校重點建設課程校重點建設課程12精選課件12n 分頁技術分頁技術不會不會產(chǎn)生產(chǎn)生外部碎片外部碎片:每個
9、幀都可能:每個幀都可能會被使用。會被使用。n 分頁技術分頁技術會會產(chǎn)生產(chǎn)生內部碎片內部碎片:因為分配單位是:因為分配單位是幀。如果一個進程要求的內存并不是幀的整幀。如果一個進程要求的內存并不是幀的整數(shù)倍,那么最后一個幀就可能用不完。數(shù)倍,那么最后一個幀就可能用不完。例如:如果頁大?。豪纾喝绻摯笮。?048Byte2048Byte,進程大?。?,進程大?。?2766Byte72766Byte,則進程需要,則進程需要3535個頁和個頁和1086Byte1086Byte。該進程會得到該進程會得到3636個幀。因此會產(chǎn)生個幀。因此會產(chǎn)生2048-2048-1086=962Byte1086=962By
10、te的內部碎片。的內部碎片。l當系統(tǒng)需要執(zhí)行一個進程時,它將檢查進程當系統(tǒng)需要執(zhí)行一個進程時,它將檢查進程所需要的頁數(shù)所需要的頁數(shù)。因此,如果進程需要因此,如果進程需要n個頁,那么內存中至少應有個頁,那么內存中至少應有n個個空閑幀空閑幀。如果有,則可以分配給新進程。如果有,則可以分配給新進程。l進程的第一頁裝入一個空閑幀中,幀號放入進程的頁表中。進程的第一頁裝入一個空閑幀中,幀號放入進程的頁表中。下一頁分配給另一個空閑幀,其幀號也放入進程的頁表中,下一頁分配給另一個空閑幀,其幀號也放入進程的頁表中,等等。等等。頁表的各項隨之被填充頁表的各項隨之被填充。校重點建設課程校重點建設課程14精選課件1
11、49.4.2 硬件支持硬件支持? 操作系統(tǒng)如何保存頁表?操作系統(tǒng)如何保存頁表?有的操作系統(tǒng)把頁表存儲在有的操作系統(tǒng)把頁表存儲在寄存器寄存器中。如中。如DEC DEC PDP-11PDP-11。大部分操作系統(tǒng)都把頁表存儲大部分操作系統(tǒng)都把頁表存儲在內存中在內存中。這時將。這時將頁表基寄存器頁表基寄存器(PTBR(PTBR,其作用與如下圖中的控制,其作用與如下圖中的控制寄存器相同寄存器相同) )指向指向頁表頁表。PTBRPTBR的值保存在進程的的值保存在進程的PCBPCB中。中。校重點建設課程校重點建設課程15精選課件159.4.2 硬件支持硬件支持校重點建設課程校重點建設課程16精選課件16說明
12、說明(1) 地址變換過程地址變換過程:CPU中的地址變換機構自動完成。中的地址變換機構自動完成。(2)頁表頁表:在內存中,取一個數(shù)據(jù)或指令:在內存中,取一個數(shù)據(jù)或指令至少要訪問內至少要訪問內存兩次存兩次以上:獲取以上:獲取物理地址物理地址、取、取數(shù)據(jù)數(shù)據(jù)或或指令指令。n 為了提高查找速度:把為了提高查找速度:把最近使用最近使用過的過的頁表項頁表項放進放進小小型型的的高速緩沖存儲器高速緩沖存儲器中,稱之為中,稱之為翻譯后備緩沖器翻譯后備緩沖器(translation look-aside buffer,TLB)。 TLB中保存的條目個數(shù)一般在中保存的條目個數(shù)一般在641024。80386中中:T
13、LB中為中為32項。項。v當當CPUCPU產(chǎn)生產(chǎn)生邏輯地址邏輯地址后,其后,其頁號頁號提交給提交給TLBTLB。如果找到。如果找到頁號頁號也也就找到了就找到了幀號幀號,則不需要再查找頁表了。如果在,則不需要再查找頁表了。如果在TLBTLB中中找不找不到到頁號,則需要頁號,則需要訪問頁表訪問頁表,當?shù)玫?,當?shù)玫綆枎柡缶涂梢栽L問后就可以訪問內存內存。同時將同時將頁號與幀號頁號與幀號增加到增加到TLBTLB中中,供下次訪問此頁時,供下次訪問此頁時TLBTLB使用。使用。如果如果TLBTLB條目條目已滿已滿,則操作系統(tǒng)會選擇一個條目將它移出,則操作系統(tǒng)會選擇一個條目將它移出TLBTLB。校重點建設
14、課程校重點建設課程18精選課件189.4.3 保護保護 分頁環(huán)境下,分頁環(huán)境下,內存保護內存保護是通過與每個幀相關聯(lián)的是通過與每個幀相關聯(lián)的保保護位護位來實現(xiàn)的。來實現(xiàn)的。 保護位的保護位的類型類型:用于指示頁可讀、可寫、可讀:用于指示頁可讀、可寫、可讀/ /寫、寫、有效有效/ /無效等。無效等。 有效有效/ /無效位無效位:有效時,表示該值相關的:有效時,表示該值相關的頁頁在進程在進程的的邏輯地址空間內邏輯地址空間內,是合法(或有效)的頁。無效,是合法(或有效)的頁。無效時,表示該時,表示該頁不在頁不在進程的邏輯地址空間內,進程進程的邏輯地址空間內,進程訪訪問此頁問此頁時會產(chǎn)生時會產(chǎn)生非法操
15、作非法操作即無效地址引用。即無效地址引用。 操作系統(tǒng)可以通過操作系統(tǒng)可以通過保護位保護位設置該頁設置該頁有效有效/ /無效。無效。校重點建設課程校重點建設課程19精選課件19示例示例p 某計算機系統(tǒng)其某計算機系統(tǒng)其物理地址空間物理地址空間為為1414位(位(016383),016383),有一個程序其有一個程序其邏輯地址空間邏輯地址空間為為010468010468。若頁大?。?。若頁大?。?KB2KB,那么得到如下圖所示的頁表。,那么得到如下圖所示的頁表。 有效的地址范圍有效的地址范圍:012287012287。12288163831228816383對于此程對于此程序來說,都是無效地址。序來說
16、,都是無效地址。校重點建設課程校重點建設課程20精選課件20示例示例校重點建設課程校重點建設課程21精選課件219.4.4 頁表結構頁表結構lIntel 80386Intel 80386中的中的地址空地址空間是間是232232,頁大小頁大?。?KB4KB (212)(212),可表示的頁個,可表示的頁個數(shù)是數(shù)是232/212 232/212 個。也個。也即一個進程的頁表中條即一個進程的頁表中條目個數(shù)最多可以是:目個數(shù)最多可以是:232/212 232/212 個,如果每個,如果每個條目大小為個條目大小為4B4B,則每,則每個這個個這個頁表的大小是頁表的大小是4M4M。頁表還必須在內存中連頁表還
17、必須在內存中連續(xù)存放。續(xù)存放。如何使頁表可如何使頁表可以不必連續(xù)存放在內存以不必連續(xù)存放在內存中?中?校重點建設課程校重點建設課程22精選課件22n Intel 80386解決這個問題的方法:解決這個問題的方法:兩層分頁兩層分頁算法,算法,即將頁表再分頁即將頁表再分頁保存。這時,邏輯地保存。這時,邏輯地址的結構如圖所示。址的結構如圖所示。P1是是外部頁表的索引外部頁表的索引,P2是是內部頁表的索內部頁表的索引。引。校重點建設課程校重點建設課程23精選課件23Intel 80386中兩層分頁的地址轉換中兩層分頁的地址轉換又稱為頁目又稱為頁目錄表錄表頁表頁表校重點建設課程校重點建設課程24精選課件249.4.5 共享頁共享頁n 共享代碼共享代碼如果代碼是可重入的,那么就可以供多個進程共如果代碼是可重入的,那么就可以供多個進程共享。例如編輯器、編譯器等。享。例如編輯器、編譯器等。n 私有數(shù)據(jù)私有數(shù)據(jù)每個進程都有自己的數(shù)據(jù)頁。每個進程都有自己的數(shù)據(jù)頁。校重點建設課
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 班主任在班級活動中的引導角色計劃
- 合同范本音樂app
- 股骨頸骨折護理查房
- 班級班規(guī)的制定與執(zhí)行計劃
- 2025年自然拼讀2級標準課件材料
- 學校周邊安全環(huán)境的構建計劃
- 建立有效的會議記錄機制計劃
- 第3課 中華文明的起源2024-2025學年新教材七年級上冊歷史新教學設計(統(tǒng)編版2024)
- 以活動促學習的班級實踐計劃
- 《貴州水城礦業(yè)股份有限公司水城縣米籮煤礦(新立一期)(延續(xù))礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》評審意見
- (高清版)外墻外保溫工程技術標準JGJ144-2019
- 機電控制與可編程序控制器課程設計報告
- 簡版?zhèn)€人征信報告模板
- 森林防火主題教育班會PPT
- 船舶安檢缺陷處理建議表籍國內航行海船
- 輻照交聯(lián)電線電纜型號說明
- 公路工程決算編制辦法(交公路發(fā)2004-507號)附表
- 礦山機械無人駕駛項目可行性研究報告模板
- 預充氣競技步槍 標準A4靶紙
- 避免同業(yè)競爭承諾函
- 產(chǎn)品批量質量事故追責管理規(guī)范
評論
0/150
提交評論