操作系統(tǒng) 存儲管理.ppt_第1頁
操作系統(tǒng) 存儲管理.ppt_第2頁
操作系統(tǒng) 存儲管理.ppt_第3頁
操作系統(tǒng) 存儲管理.ppt_第4頁
操作系統(tǒng) 存儲管理.ppt_第5頁
已閱讀5頁,還剩141頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三章存儲管理,本章研究的主要目的:第一,充分有效利用主記憶,第二,為用戶提供便利的使用環(huán)境。 第3章存儲管理,3.1概述3.2地址映射3.3分區(qū)管理與3.4封裝更換3.5頁管理3.6段管理3.7段頁式管理3.8虛擬存儲管理,3.1概述,存儲分類內(nèi)存: CPU直接訪問,嘗試運行的專業(yè)外部內(nèi)存: CPU存儲無法直接訪問、暫時不運行的程序和數(shù)據(jù),訪問速度慢、容量大。 存儲管理是內(nèi)存管理,現(xiàn)代計算機系統(tǒng)的運行機制基于馮諾伊曼的存儲程序原理,即任何程序(包括操作系統(tǒng)本身)都會被加載到內(nèi)存中,占用一定的內(nèi)存空間,將程序的特定功能計算機采用二次存儲結(jié)構(gòu):內(nèi)存區(qū)域包括系統(tǒng)區(qū)域和用戶區(qū)域,系統(tǒng)區(qū)域包括OS程序

2、本身和系統(tǒng)擴展區(qū)域,用戶區(qū)域包括在目標(biāo)狀態(tài)下運行的系統(tǒng)程序、用戶程序和數(shù)據(jù)的外部存儲是大容量的磁盤和磁帶等, 存儲準(zhǔn)備執(zhí)行的程序和數(shù)據(jù),進(jìn)程執(zhí)行時,必須將這些對應(yīng)的程序和數(shù)據(jù)讀入存儲器中執(zhí)行。 在多個程序環(huán)境中,用戶區(qū)域可以同時存儲多個程序,并由多個程序共享。 計算機輔助存儲結(jié)構(gòu)和內(nèi)存管理是對內(nèi)存用戶區(qū)域的管理,不包括系統(tǒng)區(qū)域。 內(nèi)存管理目的:提高用戶易用性和內(nèi)存利用率。 內(nèi)存管理的主要任務(wù)是(1)內(nèi)存分配和回收。 (2)地址映射(3)內(nèi)存的共享。 (4)存儲保護(hù)。 (5)存儲擴展。 也稱為3.2地址映射、3.2.1邏輯地址3.2.2物理地址3.2.3地址映射方式、3.2.1邏輯地址、邏輯地址

3、、偽地址。 我們通常用高級語言或匯編語言編程時,源程序使用的地址都是符號地址。 例如,goto Label CALL subroutine1用戶不需要在意符號地址Label或subroutine1內(nèi)存中的物理位置,源程序在被編譯或裝配、鏈接時,以0地址為開頭地址每個指令或數(shù)據(jù)單元具有由虛擬空間規(guī)定的地址,并將該地址稱作邏輯地址或虛擬地址。 也稱為3.2.2物理地址、物理地址和實地址。 必須將所有程序加載到內(nèi)存中才能運行。 程序在運行時消耗的存儲空間有時稱為其內(nèi)存空間,有時稱為物理空間。 一個物理空間是若干物理地址的集合。地址映射、內(nèi)存分配區(qū)域確定后,將虛擬地址轉(zhuǎn)換為內(nèi)存的物理地址,即地址映射(

4、或重新配置)、3.2.3地址映射方式。 地址映射有靜態(tài)映射和動態(tài)映射兩種方式。 1 .靜態(tài)映射靜態(tài)映射由重定位加載器在程序加載到指定的內(nèi)存區(qū)域時同時發(fā)生。 設(shè)目標(biāo)程序被分配的存儲器區(qū)域的開頭地址為b,設(shè)程序中的所有邏輯地址(設(shè)為a )、對應(yīng)的存儲器空間的物理地址為B a。 動態(tài)映射是在程序運行期間進(jìn)行的,由硬件地址映射機制進(jìn)行。 在該方法中,安裝公共基地址發(fā)射器BR并保存當(dāng)前程序分配的存儲器空間的起始地址。 CPU用邏輯地址訪問存儲器時,映射機制就會自動地將BR寄存器的內(nèi)容加到邏輯地址中,制作實際的物理地址,2 .動態(tài)映射只是變更BR的內(nèi)容,就會改變程序的存儲空間,實現(xiàn)程序的重新配置。 所以B

5、R也被稱為重定位寄存器。3.3分區(qū)管理、3.3.1固定分區(qū)管理3.3.2可變分區(qū)管理3.3.3為了滿足地址轉(zhuǎn)換和存儲保護(hù)、分區(qū)管理思想、多通道編程技術(shù),將內(nèi)存空間劃分為一些大小相等的連續(xù)區(qū)域區(qū)分方式是單連續(xù)分配固定區(qū)分可變區(qū)分2種可重新分配區(qū)分多重區(qū)分、3.3.1固定區(qū)分管理、固定區(qū)分管理的基本原理:將內(nèi)存分為幾個大小相等或不同的區(qū)分,區(qū)分大小和區(qū)分總數(shù)由OS在系統(tǒng)啟動時建立,一旦建立,在系統(tǒng)運行中, 各分區(qū)的大小和分區(qū)總數(shù)是一定的,使用的數(shù)據(jù)結(jié)構(gòu)主要有分區(qū)說明表(PDT ),在PDT中,每一行分別記載一個分區(qū)的特性,各條目包含分區(qū)編號、分區(qū)長度、開頭地址、分區(qū)3.3.1固定分區(qū)管理、(1)基

6、本概念、物理地址:實際存儲器編號邏輯地址:基地址偏移地址的重新配置:將用戶程序指令中的相對地址轉(zhuǎn)換為絕對地址空間中的絕對地址的過程(2)單連續(xù)分區(qū)基本思想操作系統(tǒng)區(qū)域作業(yè)區(qū)域1個用戶程序壟斷作業(yè)區(qū)域、單一連續(xù)分配、浪費、單一連續(xù)分配僅適用于單一程序設(shè)定修訂環(huán)境,不能充分利用處理機、主存儲。 在采用1000H、2000H、3000H、4000H、靜態(tài)重新定位程序之前完成了重新定位工作的特征:在運行程序之前完成了地址重新定位,即分配了地址空間的軟件實現(xiàn)重新定位后,程序的行命令中的地址不再反映實際的位置(2)單連續(xù)分區(qū)存儲管理,實質(zhì)上:將存儲分為操作系統(tǒng)區(qū)域和用戶區(qū)域兩部分,用戶區(qū)域一次重新定位一個

7、任務(wù),即單通道程序的靜態(tài)重新定位邊界寄存器:存儲用戶區(qū)域的起始地址,cpu在管理下允許訪問任意地址。在目標(biāo)狀態(tài)下,為了不發(fā)生訪問過境,各方必須在每次保存時進(jìn)行比較,(2)單連續(xù)區(qū)域的缺點、單通道程序、效率低、 資源利用率低的更換技術(shù):將工作信息保存在輔助內(nèi)存中,一次只存入一個內(nèi)存中執(zhí)行,當(dāng)I/o請求或時間片到達(dá)時,更換內(nèi)存,插入其他工作。 工作小于用戶區(qū)域就會浪費工作。工作大于用戶區(qū)域就無法執(zhí)行工作的目標(biāo)技術(shù):使一個工作的多個段能夠使用相同的內(nèi)存區(qū)域,將通用的內(nèi)存區(qū)域稱為目標(biāo)區(qū)域,Main(10kb ) 實現(xiàn)B(30kb )、D(20kb )、E(40kb )、 (備份隊列)可接受的分區(qū)的最大

8、最小作業(yè)位于該分區(qū)的備份隊列中。 缺點:一些地塊很忙,有點空閑的改善:分區(qū)的分配和釋放,使多個分區(qū)可以共享一個隊列,問題提出:多個作業(yè)共享一個分區(qū)時,如何調(diào)度,即bank選擇作業(yè)。 解決方案:從隊列中選擇第一個可容納的作業(yè)。 缺點:選擇工作過小會浪費的工作中能夠容納的最大工作。缺點: PDT、地址重新定位和存儲保護(hù)使用分區(qū)分配表來區(qū)分小任務(wù),并至少保留一個小分區(qū),以滿足小任務(wù)的執(zhí)行效率低下的要求。 每個分區(qū)只有一個作業(yè)。 分區(qū)的起始地址是作業(yè)的基地址防止程序之間的過境訪問的方法:解決過境方法:低邊界寄存器高邊界寄存器、固定分區(qū)的特征和不足、特征:多通道作業(yè)獨立分配分區(qū),一次加載分區(qū)靜態(tài)重新定位

9、缺點:作業(yè)大小通常與分區(qū)大小不一致。大作業(yè)可能沒有分配足夠大的分區(qū),無法執(zhí)行。3.3.2可變分區(qū)的內(nèi)存管理,實質(zhì):工作請求進(jìn)入內(nèi)存當(dāng)時的記憶體有足夠的空間可以滿足作業(yè)要求,分為作業(yè)和大型記憶體區(qū)域的優(yōu)點:所有的作業(yè)都會裁剪身體,不會產(chǎn)生內(nèi)部的碎片(內(nèi)外的碎片)缺點:由于分割區(qū)的數(shù)量逐漸增加,各個分割區(qū)也逐漸減少,所以有些分割區(qū)也會逐漸減少。 3.3.2可變分區(qū)管理、1 .可變分區(qū)/動態(tài)分區(qū)與固定分區(qū)有3點不同:1)創(chuàng)建分區(qū)時間可變分區(qū):在系統(tǒng)運行中、作業(yè)加載時動態(tài)創(chuàng)建固定分區(qū):系統(tǒng)2 )分區(qū)的大小可變分區(qū):根據(jù)工作對象內(nèi)存的需求量進(jìn)行分配。 固定分區(qū):預(yù)先設(shè)置,沒有固定。 3 )分區(qū)的個數(shù)可變

10、分區(qū):變化不定。 固定分區(qū):固定不變。 1 )對于基本原理可變分區(qū)管理,在系統(tǒng)初始啟動時,存儲器除操作系統(tǒng)區(qū)外,其自適應(yīng)空間是完全大的可用空間。 在有作業(yè)申請的情況下,如果從空閑區(qū)域制作與作業(yè)需求量相應(yīng)的區(qū)域并進(jìn)行分配,回收作業(yè)結(jié)束時釋放的區(qū)域,與該分區(qū)相鄰的是空閑區(qū)域,則合并為一個大的空閑區(qū)域。 隨著一系列的分配和再利用,內(nèi)存形成了一些占有空間和可用空間交錯的布局。 2 .可知可變分區(qū)分配、可變分區(qū)管理也存在“碎片化”問題。 解決辦法是掌握碎片連接或緊密連接的時機: (1)回收某個占有區(qū)域。 (2)需要為新作業(yè)分配內(nèi)存容量,但是找不到適當(dāng)大小的可用空間,所有可用空間的總?cè)萘磕軌驖M足作業(yè)的需求

11、量的情況。 通常以拼接或密集的方式處理這些狀況,但當(dāng)然需要進(jìn)行重新配置,并通過動態(tài)地址映射方法來實現(xiàn)。 2 )固定分區(qū)中使用的靜態(tài)表數(shù)據(jù)結(jié)構(gòu)分區(qū)說明表PDT不能采用,因為數(shù)據(jù)結(jié)構(gòu)可變分區(qū)的分區(qū)數(shù)動態(tài)地變化以描述存儲器的使用狀態(tài)。 通常,可變分區(qū)的存儲器分配狀況用占有區(qū)域說明表UPT和空閑區(qū)域說明表FPT (或空閑區(qū)域鏈結(jié)構(gòu))來記錄??勺兎謪^(qū)問題導(dǎo)致的問題是提出一種分區(qū)分配算法,通過該算法來合并每個分區(qū),使得程序可以在存儲器中自由地移動,并且僅通過空閑空間的聚合提供根據(jù),并且動態(tài)重新創(chuàng)建的算法選擇用于工作的適當(dāng)分區(qū)比較:1000H,2000H,3000H,4000H,1000H,1000H,1,

12、固定分區(qū)存儲管理將主存儲器劃分為多個連續(xù)的區(qū)域,每個劃分的分區(qū)的數(shù)目是固定的,并且每個分區(qū)的大小()是固定的。 a是一致的b可以全部相同或不同的c,但是通過作業(yè)長度固定數(shù)d在分割時確定,長度不變的2,以固定分區(qū)方式來管理主存儲器的最大缺點是() a是內(nèi)存保護(hù)b的主存儲空間利用率不高c是需要硬件的地址轉(zhuǎn)換機制d分配算法復(fù)雜,(4)可用空間的整合、整合定時:調(diào)度某作業(yè)(大作業(yè)) :為了滿足大作業(yè)的需要,不得不整合, -執(zhí)行管理可用空間的作業(yè)并釋放資源時:始終保持大的內(nèi)存空間,但由于合并頻率高,開銷增加。管理方式:需要分配表法、單鏈接表法、雙鏈接表法、表法、0、20、28、60、92、212、512

13、、(5)空閑分區(qū)分配算法、第一個自適應(yīng)算法、最佳自適應(yīng)算法、最佳自適應(yīng)空閑空間最佳自適應(yīng)算法:如果有剩馀部分,作為空白區(qū)域插入到適當(dāng)?shù)奈恢茫哼x擇并分配容量接近的可用空間,產(chǎn)生大量碎片。分配策略/算法、分區(qū)策略/算法、最壞的自適應(yīng)(最壞的) Worst fit :以容量遞減的順序排列可用空間表內(nèi)的可用空間。 查找分區(qū)說明表,找到符合申請長度的第一個可用空間,然后分配它。 剩下的部分插入適當(dāng)?shù)奈恢谩?最差自適應(yīng)算法:分割大的可用空間,還會產(chǎn)生大的可用空間,可以使可用空間均等減少,避免碎片化。分配策略/算法,首次/首次適應(yīng)First fit :空閑空間按地址大小的增加順序排列。 查找分區(qū)說明表,找到

14、符合申請長度的第一個可用空間,然后分配它。 其馀部分保留在可用空間表的原始位置。 最初的自適應(yīng)算法:因為盡可能利用內(nèi)存的低地址部分,所以低地址部分會立即產(chǎn)生大量的片斷。分區(qū)策略/算法、唯一的最佳化算法、分區(qū)大小順序(8KB、16KB、32 KB、 )的作業(yè)根據(jù)請求的容量被劃分到對應(yīng)的存儲級別, 只有在PDT中相應(yīng)級別的分區(qū)可用時才進(jìn)行內(nèi)存分配的可變分區(qū)示例(初始/初始自適應(yīng)算法)、分配、收集2、3、在可變分區(qū)中請求/分配分區(qū)的流、可變分區(qū)回收的流可變分區(qū)法系統(tǒng)不預(yù)先劃分固定分區(qū),而是在加載程序時創(chuàng)建分區(qū),并且分區(qū)容量正好適應(yīng)工作的大小,而且分區(qū)的數(shù)目也是可變的。 可變分區(qū)法的內(nèi)存利用率高于固定

15、式分區(qū)法。 固定式分區(qū)和可變式分區(qū)的優(yōu)點是,對多個編程有用的不限于很多硬件,為了保護(hù)存儲,只需要邊界地址寄存器。采用的算法相對簡單,容易實現(xiàn),固定式分區(qū)和可變式分區(qū)分區(qū)大小受主存儲容量的限制,不能擴展主存儲容量。 碎片化問題,經(jīng)過一定期間的分配回收,存儲器中存在很多小的空閑塊。 每個都很小,不足以滿足分配要求,但其修訂符合分配要求。 這些空閑塊被稱為片段。 導(dǎo)致存儲資源的浪費,“碎片”問題解決,緊湊技術(shù):通過內(nèi)存移動程序,使所有小的可用空間變大(也稱為縮小技術(shù)、緊湊技術(shù)、浮動技術(shù)、移動技術(shù)) 中整合的問題:如果采用開銷大的移動定時可重定位分區(qū)多路復(fù)用分區(qū)、可重定位分區(qū)分配/浮動分區(qū)分配、可解決

16、碎片化問題的移動技術(shù),則不僅可以在主存儲器中移動數(shù)據(jù)塊,還可以在內(nèi)存分配表中使用另外,可重定位分區(qū)分配的方法僅僅是變更浮動寄存器的內(nèi)容,就通過浮動寄存器進(jìn)行地址變換,將被稱作重定位寄存器或者浮動寄存器的地址變換: 320k-352K=-32K也就是說,即使移動到新的位置,作業(yè)的命令和數(shù)據(jù)也不變,在執(zhí)行時,在浮動寄存器內(nèi)地址轉(zhuǎn)換自動完成。 例如,執(zhí)行指令l 1,352 kb 9800時,將320KB 9800中的數(shù)據(jù)01557100讀入1號寄存器。 可重新配置的分區(qū)接近的時間,在一個分區(qū)內(nèi)的工作完成后立即接近。 實施程序移動處理功能需要時間,盡可能減少接近操作次數(shù)。 在對某個作業(yè)請求分區(qū)時,在當(dāng)時的存儲器中沒有足夠大小的空閑區(qū)域,但是滿足空閑區(qū)域的和的情況下,需要進(jìn)行接近操作。 這種接近度遠(yuǎn)小于上述

溫馨提示

  • 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

提交評論