資源描述:
《操作系統(tǒng)第4章 存儲(chǔ)管理 ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第4章存儲(chǔ)管理4.1概述4.2連續(xù)分配方式4.3分頁(yè)存儲(chǔ)管理4.4分段存儲(chǔ)管理4.5虛擬存儲(chǔ)器本章主要內(nèi)容存儲(chǔ)管理一直是操作系統(tǒng)中的重要組成部分,因?yàn)轳T·諾依曼體系結(jié)構(gòu)就是建立在存儲(chǔ)程序概念上的,訪問(wèn)存儲(chǔ)器的操作占CPU時(shí)間的70%左右。計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)器一般分為主存儲(chǔ)器(簡(jiǎn)稱主存、內(nèi)存)和輔助存儲(chǔ)器(簡(jiǎn)稱輔存)。由于CPU只能直接與內(nèi)存進(jìn)行通信,因此計(jì)算機(jī)系統(tǒng)的程序以及與該程序相關(guān)的數(shù)據(jù),只有被裝入到內(nèi)存中才能有效地執(zhí)行。計(jì)算機(jī)系統(tǒng)能否高效地管理內(nèi)存空間,不僅直接反映存儲(chǔ)器的利用率,還會(huì)影響整個(gè)操作系統(tǒng)的性能。第4章存儲(chǔ)管理4.1概述4.2連續(xù)分配方式4.3
2、分頁(yè)存儲(chǔ)管理4.4分段存儲(chǔ)管理4.5虛擬存儲(chǔ)器4.1概述4.1.1存儲(chǔ)層次4.1.2地址轉(zhuǎn)換4.1.3程序的裝入1.層次結(jié)構(gòu)寄存器高速緩存主存儲(chǔ)器磁盤緩存固定磁盤可移動(dòng)存儲(chǔ)介質(zhì)2.高速緩存高速緩存通常采用靜態(tài)存儲(chǔ)器(SRAM),速度小于25ns,常見(jiàn)的容量有128KB和256KB兩種。它可以位于CPU和MMU之間(稱為虛地址Cache),也可以位于MMU和內(nèi)存之間(稱為實(shí)地址Cache)。Cache的管理Cache數(shù)據(jù)的一致性問(wèn)題4.1概述4.1.1存儲(chǔ)層次4.1.2地址轉(zhuǎn)換4.1.3程序的裝入1.邏輯地址和物理地址通常用戶程序是用高級(jí)語(yǔ)言編寫的,并以二進(jìn)制的形
3、式保存在計(jì)算機(jī)的輔存中,稱為源程序,源程序經(jīng)過(guò)編譯得到計(jì)算機(jī)能理解的目標(biāo)程序,目標(biāo)程序中的地址稱為邏輯地址(相對(duì)地址)。計(jì)算機(jī)主存中每個(gè)存儲(chǔ)單元都有一個(gè)編號(hào)與之對(duì)應(yīng),這些編號(hào)稱為物理地址(絕對(duì)地址)。2.地址轉(zhuǎn)換將用戶程序中的指令或數(shù)據(jù)的邏輯地址轉(zhuǎn)換為存儲(chǔ)空間中物理地址的工作稱為地址轉(zhuǎn)換或重定位。地址轉(zhuǎn)換有兩種方法:靜態(tài)重定位、動(dòng)態(tài)重定位內(nèi)存1300+N130011001000N3001000LOAD1,30012345LOAD1,300123450程序靜態(tài)地址重定位動(dòng)態(tài)地址重定位CPU存儲(chǔ)器程序內(nèi)存1300+N130011001000N3001000LOAD1
4、,30012345LOAD1,3001234503001000問(wèn)題:保護(hù)操作系統(tǒng)不受用戶進(jìn)程所影響,保護(hù)用戶進(jìn)程不受其他用戶進(jìn)程所影響方法:存儲(chǔ)鍵保護(hù)系統(tǒng)將主存劃分成大小相等的若干存儲(chǔ)塊,并給每個(gè)存儲(chǔ)塊都分配一個(gè)單獨(dú)的保護(hù)鍵(鎖);在程序狀態(tài)字PSW中設(shè)置有保護(hù)鍵字段,對(duì)不同的作業(yè)賦予不同的代碼(鑰匙);鑰匙和鎖相配才允許訪問(wèn)界限寄存器(下頁(yè)圖)上、下界防護(hù):硬件為分給用戶作業(yè)的連續(xù)的主存空間設(shè)置一對(duì)上、下界,分別指向該存儲(chǔ)空間的上、下界基址、限長(zhǎng)防護(hù):基址寄存器存放當(dāng)前正執(zhí)行者的程序地址空間所占分區(qū)的始址,限長(zhǎng)寄存器存放該地址空間的長(zhǎng)度3.存儲(chǔ)保護(hù)CPU<界限
5、寄存器邏輯地址YN尋址錯(cuò)誤物理地址基址寄存器內(nèi)存4.1概述4.1.1存儲(chǔ)層次4.1.2地址轉(zhuǎn)換4.1.3程序的裝入對(duì)用戶程序的處理步驟程序在運(yùn)行期間,被分為不同的生命期,每一步地址都有不同形式:編譯階段鏈接階段裝入階段執(zhí)行階段程序的鏈接根據(jù)鏈接時(shí)間的不同,可把鏈接分成如下三種:(1)靜態(tài)鏈接。在程序運(yùn)行之前,先將各目標(biāo)模塊及它們所需的庫(kù)函數(shù),鏈接成一個(gè)完整的裝配模塊,以后不再拆開(kāi)。我們把這種事先進(jìn)行鏈接的方式稱為靜態(tài)鏈接方式。(2)裝入時(shí)動(dòng)態(tài)鏈接。這是指將用戶源程序編譯后所得到的一組目標(biāo)模塊,在裝入內(nèi)存時(shí),采用邊裝入邊鏈接的鏈接方式。(3)運(yùn)行時(shí)動(dòng)態(tài)鏈接。這是指
6、對(duì)某些目標(biāo)模塊的鏈接,是在程序執(zhí)行中需要該(目標(biāo))模塊時(shí),才對(duì)它進(jìn)行的鏈接。程序鏈接示意圖程序的裝入1.絕對(duì)裝入方式(AbsoluteLoadingMode)2.可重定位裝入方式(RelocationLoadingMode)3.動(dòng)態(tài)運(yùn)行時(shí)裝入方式(DynamicRun-timeLoading)第4章存儲(chǔ)管理4.1概述4.2連續(xù)分配方式4.3分頁(yè)存儲(chǔ)管理4.4分段存儲(chǔ)管理4.5虛擬存儲(chǔ)器4.2連續(xù)分配方式4.2.1單用戶存儲(chǔ)管理4.2.2固定分區(qū)存儲(chǔ)管理4.2.3可變分區(qū)存儲(chǔ)管理4.2.4交換這是最簡(jiǎn)單的一種存儲(chǔ)管理方法,用于早期單用戶系統(tǒng)中。它的最大特點(diǎn)是內(nèi)存分
7、配方式簡(jiǎn)單,整個(gè)內(nèi)存空間被分割成系統(tǒng)區(qū)和用戶區(qū)兩部分,系統(tǒng)區(qū)用來(lái)存放操作系統(tǒng)駐留代碼和數(shù)據(jù),剩余空間則全部作為用戶區(qū),分配給一個(gè)用戶作業(yè)使用。os內(nèi)核代碼用戶進(jìn)程空閑區(qū)域系統(tǒng)區(qū)用戶區(qū)基址寄存器單用戶存儲(chǔ)管理內(nèi)存分配單用戶存儲(chǔ)管理的存儲(chǔ)保護(hù)CPU<界限寄存器邏輯地址YN尋址錯(cuò)誤物理地址基址寄存器內(nèi)存+4.2連續(xù)分配方式4.2.1單用戶存儲(chǔ)管理4.2.2固定分區(qū)存儲(chǔ)管理4.2.3可變分區(qū)存儲(chǔ)管理4.2.4交換固定分區(qū)存儲(chǔ)管理是滿足多道程序環(huán)境的最簡(jiǎn)單的存儲(chǔ)管理方案。“固定”是指分區(qū)的大小和個(gè)數(shù)是在開(kāi)機(jī)時(shí)由系統(tǒng)管理員指定,直到關(guān)機(jī)都不會(huì)再重新劃分。每個(gè)分區(qū)只能存儲(chǔ)一個(gè)
8、進(jìn)程,進(jìn)程也只能在它所駐