計算機(jī)操作系統(tǒng)7要點_第1頁
計算機(jī)操作系統(tǒng)7要點_第2頁
計算機(jī)操作系統(tǒng)7要點_第3頁
計算機(jī)操作系統(tǒng)7要點_第4頁
計算機(jī)操作系統(tǒng)7要點_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計算機(jī)操作系統(tǒng)7要點存儲器是計算機(jī)系統(tǒng)的重要管理資源。因為任何程序和數(shù)據(jù)以及各種控制用的數(shù)據(jù)結(jié)構(gòu)都必須占用一定的存儲空間,故存儲管理直接影響著系統(tǒng)的性能。操作系統(tǒng)的任務(wù)之一是要盡可能地方便用戶使用存儲器,以及提高主存儲器的利用率。概述一、存儲管理機(jī)構(gòu)要解決的問題存儲分配問題。重點是研究存儲共享和各種分配算法。地址再定位問題。研究各種地址變換機(jī)構(gòu),以及靜態(tài)和動態(tài)再定位方法。存儲共享問題。研究多個進(jìn)程如何共享內(nèi)存。存儲保護(hù)問題。研究保護(hù)各類程序、數(shù)據(jù)區(qū)的方法。存儲擴(kuò)充問題。主要研究虛擬存儲器問題及其各種調(diào)度算法。

二、存儲組織和層次結(jié)構(gòu)寄存器register高速緩存cache主存儲器磁盤緩存磁盤可移動存儲介質(zhì)操作系統(tǒng)協(xié)調(diào)各存儲器的使用高速緩存Cache:少量的、非??焖佟嘿F、易變的內(nèi)存RAM:若干兆字節(jié)、中等速度、中等價格、易變的磁盤:數(shù)百兆或數(shù)千兆字節(jié)、低速、價廉、不易變的

速度與CPU取指速度相匹配內(nèi)存:是由存儲單元(字節(jié)或字)組成的一維連續(xù)的地址空間,簡稱內(nèi)存空間。用來存放當(dāng)前正在運(yùn)行程序的代碼及數(shù)據(jù),是程序中指令本身地址所指的、亦即程序計數(shù)器所指的存儲器。內(nèi)存可以分為:系統(tǒng)區(qū):用于存放操作系統(tǒng)用戶區(qū):用于裝入并存放用戶程序和數(shù)據(jù)。三、存儲管理的功能存儲分配和回收:分配和回收算法及相應(yīng)數(shù)據(jù)結(jié)構(gòu)。存儲共享和保護(hù):代碼和數(shù)據(jù)共享,地址空間訪問權(quán)限(讀、寫、執(zhí)行)地址變換(地址再定位、地址映射):可執(zhí)行文件生成中的鏈接技術(shù)程序加載(裝入)時的重定位技術(shù)進(jìn)程運(yùn)行時硬件和軟件的地址變換技術(shù)和機(jī)構(gòu)存儲器擴(kuò)充:存儲器的邏輯組織和物理組織;由應(yīng)用程序控制:覆蓋;由OS控制:交換(整個進(jìn)程空間),虛擬存儲的請求調(diào)入和預(yù)調(diào)入(部分進(jìn)程空間)內(nèi)存空間的管理、分配與回收(1)內(nèi)存空間的管理、分配與回收記錄內(nèi)存的使用情況

——設(shè)置相應(yīng)的內(nèi)存分配表(內(nèi)存分配回收的依據(jù))內(nèi)存空間劃分問題?靜態(tài)或動態(tài),等長或不等長內(nèi)存分配表位示圖:用一位(bit)表示一個空閑頁面(0:空閑,1:占用)空閑頁面表:包括首頁面號和頁面?zhèn)€數(shù),連續(xù)若干的頁面作為一組登記在表中空閑塊表:空閑塊首址和空閑塊長度,沒有記錄的區(qū)域即為進(jìn)程所占用空閑塊鏈表:將所有的空閑塊鏈成一個鏈表0…...110…...第0頁第1頁第i頁第n-1頁分配與回收

確定分配算法

實施內(nèi)存分配回收內(nèi)存內(nèi)存存儲分配和回收的三種方式:

直接指定方式、靜態(tài)和動態(tài)分配方式連續(xù)性離散性駐留性交換性一次性多次性2.存儲共享與保護(hù)內(nèi)存共享:兩個或多個進(jìn)程共用內(nèi)存中相同區(qū)域目的:節(jié)省內(nèi)存空間,提高內(nèi)存利用率實現(xiàn)進(jìn)程通信(數(shù)據(jù)共享)共享內(nèi)容:

代碼共享,要求代碼為純代碼數(shù)據(jù)共享存儲保護(hù)

保護(hù)目的:為多個程序共享內(nèi)存提供保障,使在內(nèi)存中的各道程序,只能訪問它自己的區(qū)域,避免各道程序間相互干擾,特別是當(dāng)一道程序發(fā)生錯誤時,不致于影響其他程序的運(yùn)行。通常由硬件完成保護(hù)功能,由軟件輔助實現(xiàn)。存儲空間一般分為兩個部分系統(tǒng)區(qū)用戶區(qū)保護(hù)系統(tǒng)程序區(qū)不被用戶侵犯(有意或無意的)不允許用戶程序讀寫不屬于自己地址空間的數(shù)據(jù)(系統(tǒng)區(qū)地址空間,其他用戶程序的地址空間)保護(hù)過程----防止地址越界每個進(jìn)程都有自己獨(dú)立的進(jìn)程空間,如果一個進(jìn)程在運(yùn)行時所產(chǎn)生的地址在其地址空間之外,則發(fā)生地址越界。即當(dāng)程序要訪問某個內(nèi)存單元時,由硬件檢查是否允許,如果允許則執(zhí)行,否則產(chǎn)生地址越界中斷,由操作系統(tǒng)進(jìn)行相應(yīng)處理。一般由硬件提供一對寄存器:

基址寄存器:存放起始地址

限長寄存器:存放長度

(或上界寄存器/下界寄存器)程序3200420032001000基址寄存器界限寄存器32004200上界寄存器下界寄存器上界<=被訪問地址<=下界基址<=被訪問地址<=基址+界限3200<=被訪問地址<=4200保護(hù)過程----防止操作越權(quán)對于允許多個進(jìn)程共享的存儲區(qū)域,每個進(jìn)程都有自己的訪問權(quán)限。如果一個進(jìn)程對共享區(qū)域的訪問違反了權(quán)限規(guī)定,則發(fā)生操作越權(quán),即讀寫保護(hù)。共享存儲區(qū)域的保護(hù)3.地址變換(地址再定位,地址映射)直接指定方式:程序員在編程序時或編譯程序?qū)υ闯绦蜻M(jìn)行編譯時,所用的是實際存儲地址。名空間——程序邏輯空間——邏輯地址(相對地址,虛地址)存儲空間——物理地址(絕對地址,實地址)地址映射程序的名空間、地址空間及存儲空間符號源程序目標(biāo)代碼可執(zhí)行代碼匯編編譯連接地址重定位名空間地址空間存儲空間:x=x+1::R=XR=R+1X=R:0:K100:100+K:R=XR=R+1X=R:邏輯地址、物理地址和地址映射邏輯地址(相對地址,虛地址):用戶的程序經(jīng)過匯編或編譯后形成目標(biāo)代碼,目標(biāo)代碼通常采用相對地址的形式。其首地址為0,其余指令中的地址都相對于首地址來編址。不能用邏輯地址在內(nèi)存中讀取信息。物理地址(絕對地址,實地址):內(nèi)存中存儲單元的地址。物理地址可直接尋址。地址映射:將用戶程序中的邏輯地址轉(zhuǎn)換為運(yùn)行時由機(jī)器直接尋址的物理地址。當(dāng)程序裝入內(nèi)存時,操作系統(tǒng)要為該程序分配一個合適的內(nèi)存空間,由于程序的邏輯地址與分配到內(nèi)存物理地址不一致,而CPU執(zhí)行指令時,是按物理地址進(jìn)行的,所以要進(jìn)行地址轉(zhuǎn)換。地址映射LoadAdata1data13456源程序編譯連接LoadA20034560100200邏輯地址空間LoadA2003456。。。1200物理地址空間BA=1100靜態(tài)分配和靜態(tài)再定位程序中列出各個需要重定位的地址單元和相對地址值。當(dāng)用戶程序被裝入內(nèi)存時,一次性實現(xiàn)邏輯地址到物理地址的轉(zhuǎn)換,以后不再轉(zhuǎn)換(一般在裝入內(nèi)存時由軟件完成)。即:裝入時根據(jù)所定位的內(nèi)存地址去修改每個重定位地址項,添加相應(yīng)偏移量。優(yōu)點:不需硬件支持,可以裝入有限多道程序。缺點:一個程序通常需要占用連續(xù)的內(nèi)存空間,程序裝入內(nèi)存后不能移動。不易實現(xiàn)共享。地址再定位(地址轉(zhuǎn)換)OS000065008000作業(yè)2作業(yè)2作業(yè)120000000150000002800作業(yè)14800動態(tài)分配和動態(tài)再定位

在程序執(zhí)行過程中,占用的存儲空間大小與位置均是可變的。程序中虛擬內(nèi)存地址,裝入和執(zhí)行時通過硬件地址變換機(jī)構(gòu),完成虛擬地址到實際內(nèi)存地址的變換。優(yōu)點:OS可以將一個程序分散存放于不連續(xù)的內(nèi)存空間,可以移動程序,有利用實現(xiàn)共享。能夠支持程序執(zhí)行中產(chǎn)生的地址引用,如指針變量(而不僅是生成可執(zhí)行文件時的地址引用)。缺點:需要硬件支持(通常是CPU),OS實現(xiàn)較復(fù)雜。它是虛擬存儲的基礎(chǔ)。0100200300.........LOADA2003456邏輯地址空間200VR+1000BR110012001300物理地址空間3456.....LOADA200.....虛擬存儲器的基本思想是把作業(yè)地址空間和實際主存的存儲空間,視為兩個不同的概念。一個計算機(jī)系統(tǒng)采用一定技術(shù)為程序員提供了一個足夠大的地址空間,而完全不必考慮實際主存的大小。根據(jù)地址空間結(jié)構(gòu)不同,虛擬存儲器有兩種形式。單段式虛存多段式虛存4.虛擬存儲器概念的引入虛擬存儲的基本原理在程序裝入時,不必將其全部讀入到內(nèi)存,而只需將當(dāng)前需要執(zhí)行的部分頁或段讀入到內(nèi)存,就可讓程序開始執(zhí)行。在程序執(zhí)行過程中,如果需執(zhí)行的指令或訪問的數(shù)據(jù)尚未在內(nèi)存(稱為缺頁或缺段),則由處理器通知操作系統(tǒng)將相應(yīng)的頁或段調(diào)入到內(nèi)存,然后繼續(xù)執(zhí)行程序。另一方面,操作系統(tǒng)將內(nèi)存中暫時不使用的頁或段調(diào)出保存在外存上,從而騰出空間存放將要裝入的程序以及將要調(diào)入的頁或段。只需程序的一部分在內(nèi)存就可執(zhí)行。4.2早期存儲管理單一連續(xù)分配分區(qū)分配覆蓋和交換單用戶系統(tǒng)在一段時間內(nèi),只有一個進(jìn)程在內(nèi)存內(nèi)存分為兩個區(qū)域,一個供操作系統(tǒng)使用,一個供用戶使用。應(yīng)用程序裝入到用戶區(qū),可使用用戶區(qū)全部空間。優(yōu)點:內(nèi)存分配管理十分簡單,適用于單用戶、單任務(wù)的OS內(nèi)存利用率低。對要求內(nèi)存空間少的程序,造成內(nèi)存浪費(fèi);程序全部裝入,很少使用的程序部分也占用內(nèi)存。一、單一連續(xù)存儲管理OS內(nèi)存連續(xù)存儲管理實例用戶A作業(yè)用戶B作業(yè)用戶C作業(yè)……用戶獨(dú)占內(nèi)存用戶作業(yè)隊列界限地址柵欄寄存器用戶A作業(yè)用戶B作業(yè)用戶C作業(yè)二、分區(qū)存儲管理系統(tǒng)把內(nèi)存用戶區(qū)劃分為若干分區(qū),分區(qū)大小可以相等,也可以不等。每個進(jìn)程占據(jù)一個分區(qū)。固定分區(qū)可變分區(qū)再定位分區(qū)多重分區(qū)分區(qū)方式1.原理把內(nèi)存分為一些大小相等或不等的分區(qū)(partition),每個應(yīng)用進(jìn)程占用一個或幾個分區(qū)。操作系統(tǒng)占用其中一個分區(qū)。特點:適用于多道程序系統(tǒng)和分時系統(tǒng)支持多個程序并發(fā)執(zhí)行難以進(jìn)行內(nèi)存分區(qū)的共享問題:可能存在內(nèi)碎片和外碎片。內(nèi)碎片:占用分區(qū)之內(nèi)未被利用的空間。外碎片:占用分區(qū)之間難以利用的空閑分區(qū)。分區(qū)的數(shù)據(jù)結(jié)構(gòu):分區(qū)表,或分區(qū)鏈表可以只記錄空閑分區(qū),也可以同時記錄空閑和占用分區(qū)分區(qū)表中,表項數(shù)目隨著內(nèi)存的分配和釋放而動態(tài)改變,可以規(guī)定最大表項數(shù)目。分區(qū)表可以劃分為兩個表格:空閑分區(qū)表,占用分區(qū)表??臻e分區(qū)表中按不同分配算法相應(yīng)對表項排序。內(nèi)存緊縮(compaction):將各個占用分區(qū)向內(nèi)存一端移動。使各個空閑分區(qū)聚集在另一端,然后將各個空閑分區(qū)合并成為一個空閑分區(qū)。對占用分區(qū)進(jìn)行內(nèi)存數(shù)據(jù)搬移占用CPU時間如果對占用分區(qū)中的程序進(jìn)行"浮動",則其重定位需要硬件支持。緊縮時機(jī):每個分區(qū)釋放后,或內(nèi)存分配找不到滿足條件的空閑分區(qū)時2.固定分區(qū)(fixedpartitioning)

預(yù)先把可分配的主存儲器空間分割成若干個連續(xù)區(qū)域,稱為一個分區(qū)。每個分區(qū)的大小可以相同也可以不同,但分區(qū)大小固定不變,每個分區(qū)裝一個且只能裝一個作業(yè)。存儲分配:如果有一個空閑區(qū),則分配給進(jìn)程。分區(qū)大小相等:只適合于多個相同程序的并發(fā)執(zhí)行(處理多個類型相同的對象)。分區(qū)大小不等:多個小分區(qū)、適量的中等分區(qū)、少量的大分區(qū)。根據(jù)程序的大小,分配當(dāng)前空閑的、適當(dāng)大小的分區(qū)。固定分區(qū)(大小相同)固定分區(qū)(多種大小)固定分區(qū)內(nèi)存分配管理通過設(shè)置內(nèi)存分配表,內(nèi)存分配簡單分區(qū)號起始地址長度狀態(tài)進(jìn)程名固定分區(qū)說明表主存分配圖固定式分區(qū)舉例

分區(qū)號分區(qū)容量作業(yè)容量剩余容量123458KB32KB32KB120KB520KB1KB9KB9KB33KB121KB7KB23KB23KB87KB399KB合計712KB173KB539KB此時如果有5個作業(yè),其容量分別為1K,9k,9K,33K,121K,可按下表分配給各區(qū)。固定分區(qū)的進(jìn)程隊列由于固定分區(qū)的大小一經(jīng)定義無法改變,所以一個程序到達(dá)時,盡可能把它放入能容納它的最小分區(qū)內(nèi)。固定分區(qū)存儲管理的地址轉(zhuǎn)換CPU操作系統(tǒng)區(qū)用戶分區(qū)1用戶分區(qū)2用戶分區(qū)3用戶分區(qū)4用戶分區(qū)5B下限寄存器+邏輯地址絕對地址<(B+L)B+L上限寄存器越界中斷YesNo0000優(yōu)點:易于實現(xiàn),開銷小。缺點:內(nèi)碎片造成浪費(fèi)分區(qū)總數(shù)固定,限制了并發(fā)執(zhí)行的程序數(shù)目。可引入覆蓋和交換技術(shù)。OS(InternalFragmentation)覆蓋(overlay)引入:其目標(biāo)是在較小的可用內(nèi)存中運(yùn)行較大的程序。常用于多道程序系統(tǒng),與分區(qū)存儲管理配合使用。原理:一個程序的幾個代碼段或數(shù)據(jù)段,按照時間先后來占用公共的內(nèi)存空間。將程序必要部分(常用功能)的代碼和數(shù)據(jù)常駐內(nèi)存;可選部分(不常用功能)在其他程序模塊中實現(xiàn),平時存放在外存中(覆蓋文件),在需要時才裝入到內(nèi)存;不存在調(diào)用關(guān)系的模塊不必同時裝入到內(nèi)存,從而可以相互覆蓋。(即不同時用的模塊可共用一個分區(qū))A20KB50KC30KF30KD20KE40KTotal:190KResident20KOverlay050KOverlay140KTotal:110K覆蓋技術(shù)缺點:編程時必須劃分程序模塊和確定程序模塊之間的覆蓋關(guān)系,增加編程復(fù)雜度。從外存裝入覆蓋文件,以時間延長來換取空間節(jié)省。交換(s)引入:多個程序并發(fā)執(zhí)行,可以將暫時不能執(zhí)行的程序送到外存中,從而獲得空閑內(nèi)存空間來裝入新程序,或讀入保存在外存中而目前到達(dá)就緒狀態(tài)的進(jìn)程。交換單位為整個進(jìn)程的地址空間。原理:暫停執(zhí)行內(nèi)存中的進(jìn)程,將整個進(jìn)程的地址空間保存到外存的交換區(qū)中,而將外存中由阻塞變?yōu)榫途w的進(jìn)程的地址空間讀入到內(nèi)存中,并將該進(jìn)程送到就緒隊列。優(yōu)點:增加并發(fā)運(yùn)行的程序數(shù)目,并且給用戶提供適當(dāng)?shù)捻憫?yīng)時間;編寫程序時不影響程序結(jié)構(gòu);缺點:對換入和換出的控制增加處理機(jī)開銷;程序整個地址空間都進(jìn)行傳送,沒有考慮執(zhí)行過程中地址訪問的統(tǒng)計特性。與覆蓋技術(shù)相比,交換技術(shù)不要求用戶給出程序段之間的邏輯覆蓋結(jié)構(gòu);而且,交換發(fā)生在進(jìn)程或作業(yè)之間,而覆蓋發(fā)生在同一進(jìn)程或作業(yè)內(nèi)。此外,覆蓋只能覆蓋那些與覆蓋段無關(guān)的程序段。3.可變分區(qū)分配基本思想:內(nèi)存不是預(yù)先劃分好的。在裝入程序時按其初始要求分配。當(dāng)作業(yè)裝入時,根據(jù)作業(yè)的需求和內(nèi)存空間的使用情況來決定是否分配。若有足夠的空間,則按需要分割一部分分區(qū)給該進(jìn)程;否則令其等待主存空間。或在其執(zhí)行中通過系統(tǒng)調(diào)用進(jìn)行分配或改變分區(qū)大小。內(nèi)存管理:設(shè)置內(nèi)存空閑塊表——記錄了空閑區(qū)起始地址和長度內(nèi)存分配:動態(tài)分配內(nèi)存回收:當(dāng)某一塊歸還后,前后空間合并,修改內(nèi)存空閑塊表作業(yè)6256KB作業(yè)5128KB作業(yè)424KB(a)作業(yè)3(120KB)作業(yè)2(32KB)作業(yè)1(8KB)OS1024KB504KB384KB352KB320KB312KB0(b)作業(yè)3(120KB)作業(yè)2(32KB)作業(yè)1(8KB)OS1024KB504KB384KB352KB320KB312KB0作業(yè)6(256KB)作業(yè)5(128KB)作業(yè)4(24KB)888KB632KB376KB(c)作業(yè)1(8KB)OS0作業(yè)6(256KB)作業(yè)5(128KB)作業(yè)4(24KB)1624KB504KB352KB320KB312KB888KB632KB376KB可變式分區(qū)舉例可變分區(qū)的分配分區(qū)號分區(qū)容量分區(qū)位置狀態(tài)18kB312KB已分配232kB320KB已分配3--空4120kB384KB已分配5--空…………空閑分區(qū)狀態(tài)表分區(qū)號分區(qū)容量分區(qū)位置狀態(tài)132KB352KB可用2520KB504KB可用…………已分配分區(qū)表系統(tǒng)使用分區(qū)說明表對內(nèi)存管理可用空閑區(qū)分區(qū)表已分配分區(qū)狀態(tài)表申請分配一個xKB大小的分區(qū)置空白區(qū)號f=1f大于最后一個空白區(qū)號?空白區(qū)可用?保存空白區(qū)的起始地址空白區(qū)f的大小≥xKB空白區(qū)的狀態(tài)=空項修改空白區(qū)的大小和起始地址在已分配表中找一個狀態(tài)=空項的分區(qū)號

P置分區(qū)P的大小為

xKB置分區(qū)起始地址置分區(qū)狀態(tài)為已分配返回一個分區(qū)號此次無法分配f+1→fYYNN<>=請求一個分區(qū)的流程釋放一個分區(qū)的流程分區(qū)分配算法分區(qū)分配算法:尋找某個空閑分區(qū),其大小需大于或等于程序的要求。若是大于要求,則將該分區(qū)分割成兩個分區(qū),其中一個分區(qū)為要求的大小并標(biāo)記為“占用”,而另一個分區(qū)為余下部分并標(biāo)記為“空閑”。分區(qū)的先后次序通常是從內(nèi)存低端到高端。分區(qū)釋放算法:需要將相鄰的空閑分區(qū)合并成一個空閑分區(qū)。(這時要解決的問題是:合并條件的判斷和合并時機(jī)的選擇)分配算法按空閑塊鏈接的方式不同,可以有以下四種算法:首次適應(yīng)法下次適應(yīng)法(循環(huán)首次適應(yīng)法)最佳適應(yīng)法最壞適應(yīng)法I.首次適應(yīng)算法(FirstFit:FF)將自由區(qū)按存貯順序鏈成一個隊列,用一指針指向隊首,分配時將找到的第一個滿足要求的空白區(qū)分配給它。首次適應(yīng)算法實例:指針10k60k90k20k要求:有四塊自由區(qū)域,為一程序分配19k內(nèi)存。指針10k60k90k20k41kFF特點:簡單,查找次數(shù)少,在高地址區(qū)中保持較大自由區(qū)域。II.循環(huán)首次適應(yīng)(Nextfit:NF)12指針移動將自由區(qū)組成環(huán)狀隊列,按循環(huán)順序?qū)ふ易杂蓞^(qū)。(與FF區(qū)別,頭指針從低地址開始向高地址循環(huán)移動)NF特點:使得小的自由區(qū)均勻分布,易于與其它自由區(qū)合并。III.最佳適應(yīng)算法(Bestfit:BF)將自由區(qū)按大小排成隊列,尋找時總是以最小的自由區(qū)開始,找到第一個合適的分區(qū)。BF特點:最佳地利用分區(qū),查找效率低,碎片多而小。最佳適應(yīng)算法實例指針10k20k60k90k1k要求:有四塊自由區(qū),為一程序分配19k內(nèi)存。指針10k60k90k20kIV.最壞適應(yīng)算法(Worstfit:WF)將自由區(qū)排序(按從大到小),并尋找最大自由區(qū)域進(jìn)行分配。實例:BF特點:不會出現(xiàn)小的自由區(qū)。指針90k60k20k10k指針90k60k20k10k71k指針10k60k90k20k算法比較實驗實例:設(shè)系統(tǒng)自由區(qū)鏈表為指針7k3k10k8k20k5kabcdef要求:k,4k內(nèi)存空間,試用四種算法求出分配塊。FF:c,a3k3k2.5k8k20k5kabcdefNF:c,d7k3k2.5k4k20k5kabcdef8.5k10k8k7k5k3kecdafbWF:e,e3k5k7k0.5k10k20kbfadce3k5k7k0.5k10k20kbfadce再排序從小到大分配塊為d,f3k5k7k8k10k20kbfadceBF:首先從小到大排序0.5k3k1k7k10k20kdbface可再定位式分區(qū)分配的靠攏過程

4.可再定位式分區(qū)分配利用浮動寄存器進(jìn)行地址變換地址變換可再定位式分區(qū)分配算法流程

請求分配一個大小為xKB的分區(qū)有大于xKB的空白區(qū)嗎?空白區(qū)的總和≥xKB?執(zhí)行靠攏操作并修改狀態(tài)表分配一個分區(qū)并修改狀態(tài)表返回一個分區(qū)號此時無法分配YYNN分區(qū)分配可重定位分區(qū)的優(yōu)缺點優(yōu)點:解決了可變分區(qū)分配所引入的“外部碎片”問題。消除內(nèi)存碎片,提高內(nèi)存利用率。缺點:提高硬件成本,緊湊時花費(fèi)CPU時間。5.多重分區(qū)以上討論都是基于一個作業(yè)在主存中占據(jù)的是一個連續(xù)分區(qū)的假定。為了支持結(jié)構(gòu)化程序設(shè)計,操作系統(tǒng)往往把一道作業(yè)分成若干片段如子程序、主程序、數(shù)據(jù)組等)。這樣,片段之間就不需要連續(xù)了。只要增加一些重定位寄存器,就可以有效地控制一道作業(yè)片段之間的調(diào)用。這種給一個作業(yè)分配一個以上分區(qū)的方法,稱為多重分區(qū)分配。采用這種方法時,作業(yè)可以在其執(zhí)行期間申請附加的分區(qū)。

多重分區(qū)分配如圖所示,作業(yè)A、B分別被分成兩個片段放進(jìn)互不相連的存儲區(qū)域中。由兩個變址寄存器實現(xiàn)控制。主要優(yōu)點:(1)實現(xiàn)了主存的共享,因而有助于多道程序設(shè)計,更有效地利用了處理機(jī)和I/O設(shè)備,從而使系統(tǒng)的吞吐量和作業(yè)周轉(zhuǎn)時間得到了相應(yīng)的改善。至于主存利用率,可變式分區(qū)比固定式分區(qū)高些,可再定位式分區(qū)則更高些。(2)相對于后面介紹的存儲管理方式,本方案為實現(xiàn)分區(qū)分配所使用的表格、占用的存儲容量相對較少,算法也相對簡單。(3)實現(xiàn)存儲保護(hù)的措施也比較簡單。(4)多重分區(qū)分配方案能實現(xiàn)對子程序、數(shù)據(jù)段的共享。

分區(qū)分配方案的評價(1)主存仍不能充分利用,除了可再定位式分區(qū)法外,都存在著嚴(yán)重的碎片問題。另外,即使不把存儲器分碎,整個空白區(qū)也可能因容納不下一個作業(yè)而造成浪費(fèi)。(2)不能實現(xiàn)對主存的擴(kuò)充。因此,作業(yè)的大小受到主存可用空間的限制。(3)和單一連續(xù)分配一樣,要求一個作業(yè)在執(zhí)行之前必須全部裝入主存,因此在主存中可能包含從未使用過的信息。(4)采用靠攏方法,雖然能解決碎片問題,但有時需移動大量信息,從而損失了處理機(jī)時間。(5)除多重分區(qū)外,幾個共行作業(yè)之間不能共享存入主存的單一信息副本(如公用子程序、數(shù)據(jù)段等)。

主要缺點:一、基本原理把用戶程序按邏輯頁劃分成大小相等的部分,稱為頁。從0開始編制頁號,頁內(nèi)地址是相對于0編址。頁號頁內(nèi)地址4.3分頁存儲管理邏輯地址邏輯地址用戶程序的劃分是由系統(tǒng)自動完成的,對用戶是透明的。一般,一頁的大小為2的整數(shù)次冪,因此,地址的高位部分為頁號,低位部分為頁內(nèi)地址。0111223頁號P頁內(nèi)位移量W編號0~4096相對地址0~4096內(nèi)存空間內(nèi)存塊:按頁的大小劃分為大小相等的區(qū)域,稱為內(nèi)存塊(又叫物理頁面,頁框)。內(nèi)存分配:以頁為單位進(jìn)行分配,并按作業(yè)的頁數(shù)多少來分配。邏輯上相鄰的頁,物理上不一定相鄰,通過頁表把作業(yè)的各個頁面與頁框?qū)?yīng)起來。

...01234560123456作業(yè)的地址空間頁框(物理塊)頁號頁表主存中頁框(物理塊).......頁面變換表列出了作業(yè)的邏輯地址與其在主存中的物理地址間的對應(yīng)關(guān)系。頁面大小:頁面的大小應(yīng)選擇得適中,且頁面大小應(yīng)是2的冪一個頁表中包含若干個表目,自然序號對應(yīng)于用戶程序中的頁號,塊號是該頁對應(yīng)的物理塊號。頁面變換表的每一個表目除了包含指向頁框的指針外,還包括一個存取控制字段。二、地址變換機(jī)構(gòu)

分頁

溫馨提示

  • 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

提交評論