ch4-4.1存儲器工作原理4.2連續(xù)存儲管理_第1頁
ch4-4.1存儲器工作原理4.2連續(xù)存儲管理_第2頁
ch4-4.1存儲器工作原理4.2連續(xù)存儲管理_第3頁
ch4-4.1存儲器工作原理4.2連續(xù)存儲管理_第4頁
ch4-4.1存儲器工作原理4.2連續(xù)存儲管理_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、操作系統(tǒng)教程(第5版)第4章 存儲管理高等教育出版社 2014年1月笫四章 存儲管理4.1 存儲器工作原理 4.2 連續(xù)存儲管理 4.3 分頁存儲管理 4.4 分段存儲管理 4.5 虛擬存儲管理 4.6存儲管理方案和虛存頁面替換算法小結4.7 Linux虛擬存儲管理 存儲管理的功能分配和去配:抽象和映射:隔離和共享:存儲擴充:4.1 存儲器工作原理 4.1.1存儲器層次 4.1.2地址轉換與存儲保護 4.1.1 存儲器層次寄存器高速緩存內存儲器磁盤緩存固定磁盤可移動存儲介質各級存儲器性能4.1.2 地址轉換與存儲保護(1)程序的編譯、鏈接、裝載和執(zhí)行 鏈接動態(tài)重定位靜態(tài)重定位源程序模塊1源程序

2、模塊2源程序模塊n目標代碼1目標代碼2目標代碼n可重定位目標代碼(裝載代碼)(外存)編譯裝載執(zhí)行程序名字空間邏輯地址空間物理地址空間可執(zhí)行二進代碼(內存)靜態(tài)鏈接系統(tǒng)庫可執(zhí)行二進代碼(內存) 動態(tài)鏈接系統(tǒng)庫編譯、鏈接、裝載(1)編譯程序負責記錄引用發(fā)生的位置,編譯或匯編的結果產(chǎn)生相應的多個目標代碼模塊,每個都附有供引用使用的內部符號表和外部符號表。符號表中依次給出每個符號名及在本目標代碼模塊中的名字地址,在模塊被鏈接時進行轉換。 鏈接需要解析內部和外部符號表,把對符號名字引用轉換為數(shù)值引用,要轉換每個涉及名字地址的程序入口點和數(shù)據(jù)引用點成為數(shù)值地址。裝入時根據(jù)指定的內存塊首地址,再次修改和調整

3、被裝載模塊中的每個邏輯地址,將邏輯地址綁定到物理地址。 編譯、鏈接、裝載(2)鏈接程序(linker)的作用是根據(jù)目標模塊之間的調用和依賴關系,將主調模塊、被調模塊、以及所用到的庫函數(shù)裝配和鏈接成一個完整的可裝載執(zhí)行模塊。根據(jù)程序鏈接發(fā)生的時刻和鏈接方式,可分成三種: (1)靜態(tài)鏈接 (2)動態(tài)鏈接 (3)運行時鏈接編譯、鏈接、裝載(3)裝載程序(loader)把可執(zhí)行程序裝入內存方式有三種:(1)絕對裝載。裝載模塊中的指令地址始終與其內存中的地址相同,即在模塊中出現(xiàn)的所有地址都是內存絕對地址。(2)可重定位裝載。根據(jù)內存當時使用情況,決定將裝載代碼模塊放入內存的物理位置。模塊內使用的地址都是

4、相對地址。(3)動態(tài)運行時裝載。為提高內存利用率,裝入內存的程序可換出到磁盤上,適當時候再換入到內存中,對換前后程序在內存中的位置可能不同,即允許進程的內存映像在不同時候處于不同位置,此時模塊內使用的地址必為相對地址。編譯、鏈接、裝載(4)可執(zhí)行程序邏輯地址轉換 (綁定)為物理地址的過程稱地址重定位 、地址映射或地址轉換,基于上述程序裝載方式,可區(qū)分三種地址重定位。() 靜態(tài)地址重定位() 動態(tài)地址重定位( 3 ) 運行時鏈接地址重定位存儲保護涉及:防止地址越界和控制正確存取。各道程序只能訪問自己的內存區(qū)而不能互相干擾,必須對內存中的程序和數(shù)據(jù)進行保護,以免受到其他程序有意或無意的破壞。可對進

5、程執(zhí)行時所產(chǎn)生的所有內存訪問地址進行檢查,確保進程僅訪問它自己的內存區(qū),這就是地址越界保護,越界保護依賴于硬件設施,常用的有:界地址和存儲鍵。進程訪問分配給自己的內存區(qū)時,要對訪問權限進行檢查,如允許讀、寫、執(zhí)行等,從而確保數(shù)據(jù)的安全性和完整性,防止有意或無意的誤操作而破壞內存信息,這就是信息存取保護。4.2 連續(xù)存儲空間管理4.2.1 固定分區(qū)存儲管理 4.2.2 可變分區(qū)存儲管理 4.2.3 內存不足的存儲管理技術4.2.1 固定分區(qū)存儲管理固定分區(qū)存儲管理的基本思想:固定分區(qū)存儲管理的數(shù)據(jù)結構:作業(yè)進入固定分區(qū)排隊策略: 固定分區(qū)存儲管理地址轉換和存儲保護 B下限寄存器邏輯地址CPU絕對

6、地址操作系統(tǒng)區(qū)用戶分區(qū)1用戶分區(qū)2用戶分區(qū)3B+L2上限寄存器B+L2越界中斷用戶分區(qū)4用戶分區(qū)5用戶分區(qū)64.2.2 可變分區(qū)存儲管理 可變分區(qū) 存儲管理是按作業(yè)的實際大小來劃分分區(qū),且分區(qū)個數(shù)也是隨機的,實現(xiàn)多個作業(yè)對內存的共享,進一步提高內存資源利用率。 可變分區(qū)方式內存分配示例操作系統(tǒng)作業(yè)1空閑區(qū)作業(yè)2空閑區(qū)4KB10KB46KB52KB128KB操作系統(tǒng)作業(yè)1空閑區(qū)作業(yè)2空閑區(qū)4KB10KB40KB46KB52KB128KB作業(yè)3操作系統(tǒng)作業(yè)1空閑區(qū)4KB10KB40KB128KB作業(yè)3可變分區(qū)存儲管理數(shù)據(jù)結構 可變分區(qū)內存分配表可由兩張表格組成,“已分配區(qū)表”“未分配區(qū)表”可變分區(qū)

7、回收算法 A X B A B A X A X B B x 變?yōu)樽優(yōu)樽優(yōu)樽優(yōu)閄終止前X終止后鏈表空閑區(qū)管理方法空閑區(qū)開頭單元存放本空閑區(qū)長度及下個空閑區(qū)起始地址,把所有空閑區(qū)都鏈接起來,設置第一塊空閑區(qū)地址指針,讓它指向第一塊空閑區(qū)地址。申請空閑區(qū);歸還空閑區(qū)??勺兎謪^(qū)管理分配算法1) 最先適應分配算法 2) 下次適應分配算法3) 最優(yōu)適應分配算法 4) 最壞適應分配算法5) 快速適應分配算法 可變分區(qū)地址轉換與存儲保護 基址基址寄存器邏輯地址CPU絕對地址操作系統(tǒng)區(qū)空閑分區(qū)1用戶作業(yè)1空閑分區(qū)2限長限長寄存器限長越界中斷多對基址/限長寄存器 進程B虛CPU進程A虛CPU物理內存進程A私有空間進

8、程B私有空間共享區(qū)重定位寄存器1限長寄存器1重定位寄存器2限長寄存器2重定位寄存器1限長寄存器1重定位寄存器2限長寄存器2 多對重定位寄存器支持內存共享4.2.3內存不足的存儲管理技術 操作系統(tǒng)作業(yè)1空閑區(qū)作業(yè)2空閑區(qū)作業(yè)3空閑區(qū)操作系統(tǒng)作業(yè)1作業(yè)2作業(yè)3空閑區(qū)操作系統(tǒng)作業(yè)1作業(yè)2作業(yè)3空閑區(qū)作業(yè)41.移動技術有關移動問題討論移動條件移動時機移動算法2. 對換技術(1)對換的作用對換進程選擇UNIX對換器對換技術(2)為平衡系統(tǒng)負載,通過選擇一個進程,把其暫時移出到磁盤,騰出空間給其他進程使用,同時把磁盤中的某個進程再換進內存,讓其投入運行,這種互換稱對換。把時間片耗盡或優(yōu)先級較低的進程換出,因為短時間內它們不會被投入運行; 數(shù)據(jù)區(qū)和堆棧是進程運行時

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論