版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第四章 存儲器管理(gunl)第0節(jié) 存儲管理概述(i sh)一、存儲器的層次結(jié)構(gòu)1、在現(xiàn)代(xindi)計算機系統(tǒng)中,存儲器是信息處理的來源與歸宿,占據(jù)重要位置。但是,在現(xiàn)有技術(shù)條件下,任何一種存儲裝置,都無法從速度、容量、是否需要電源維持等等多方面,同時滿足用戶的需求。實際上它們組成了一個速度由快到慢,容量由小到大的存儲裝置層次。圖4-1 計算機系統(tǒng)存儲器層次示意圖2、各種存儲器寄存器、高速緩存Cache:容量很小、非??焖?、昂貴、需要電源維持、CPU可直接訪問;內(nèi)存RAM:容量在若干KB、MB、GB,中等速度、中等價格、需要電源維持、CPU可直接訪問;磁盤高速緩存:一般設于主存中;多種類
2、型的磁盤(c pn):容量(rngling)在數(shù)MB或數(shù)GB,低速(d s)、價廉、不需要電源維持、 CPU不可直接訪問;由操作系統(tǒng)協(xié)調(diào)這些存儲器的使用。二、存儲管理(主存管理)的目的1、盡可能地方便用戶;提高主存儲器的使用效率,使主存儲器在速度、規(guī)模和成本之間獲得較好的權(quán)衡。(注意CPU和主存儲器,這兩類資源管理的區(qū)別)2、存儲管理的主要功能:地址重定位主存空間的分配與回收主存空間的保護和共享主存空間的擴充三、邏輯地址與物理地址1、邏輯地址(相對地址,虛地址):用戶源程序經(jīng)過編譯/匯編、鏈接后,程序內(nèi)每條指令、每個數(shù)據(jù)等信息,都會生成自己的地址。一個用戶程序的所有邏輯地址組成這個程序的邏輯地
3、址空間(也稱地址空間)。這個空間是以0為基址、線性或多維編址的。2、物理地址(絕對地址,實地址):是一個實際內(nèi)存(字節(jié))單元的編址。計算機內(nèi)所有內(nèi)存單元的物理地址組成系統(tǒng)的物理地址空間,它是從0開始的、是一維的;將用戶(yngh)程序(chngx)被裝進內(nèi)存,一個程序所占有(zhnyu)的所有內(nèi)存單元的物理地址組成該程序的物理地址空間(也稱存儲空間)。四、地址映射(變換、重定位)當程序被裝進內(nèi)存時,通常每個信息的邏輯地址和它的物理地址是不一致的,需要把(程序中的)邏輯地址轉(zhuǎn)換為對應的物理地址-地址映射;例如指令 LOAD L,2500 /*將2500號單元內(nèi)的數(shù)據(jù)送入寄存器L*/ -P123圖
4、4-3 作業(yè)裝進內(nèi)存時的情況地址映射分靜態(tài)和動態(tài)兩種方式。1、靜態(tài)地址重定位是程序裝入時集中一次進行的地址變換計算。物理地址 = 重定位的首地址 + 邏輯地址優(yōu)點:簡單,不需要硬件支持;缺點:一個作業(yè)必須(bx)占據(jù)連續(xù)(linx)的存儲空間;裝入內(nèi)存(ni cn)的作業(yè)一般不再移動;不能實現(xiàn)虛擬存儲。2、動態(tài)地址重定位:在程序執(zhí)行的過程中,每當CPU訪問一個內(nèi)存地址之前對要訪問的地址進行地址變換計算。圖4-12 動態(tài)地址重定位示意圖優(yōu)點:一個作業(yè)可以使用非連續(xù)存儲空間;能實現(xiàn)虛擬存儲;有利于程序段的共享。缺點:需要硬件支持。五、存儲分配與回收在程序運行開始時、運行過程中,OS根據(jù)一定的存儲管
5、理方法,在內(nèi)存中為程序及其數(shù)據(jù)找到合適的位置,將它們裝入內(nèi)存; 程序運行結(jié)束后,OS收回程序釋放的內(nèi)存資源,并進行適當?shù)恼?,以便再分配給其他的程序使用。六、存儲保護為多道并發(fā)程序共享內(nèi)存提供(tgng)保障,使在內(nèi)存(ni cn)中的各道程序“各行其道( xn q do)”,只能訪問屬于自己的區(qū)域(自己的物理地址空間),避免各道程序間相互干擾。特別是當一道程序發(fā)生錯誤時,不致于影響其他程序的運行。通常由硬件完成保護功能,由軟件輔助實現(xiàn)。存儲保護可以實現(xiàn):保護系統(tǒng)程序區(qū)不被用戶侵犯(有意或無意的);不允許用戶程序讀寫不屬于自己地址空間的數(shù)據(jù)(系統(tǒng)區(qū)地址空間、其他用戶程序的地址空間),出現(xiàn)地址越
6、界;地址越界存儲保護的過程:每個進程都有自己獨立的進程空間。如果一個進程在運行時所產(chǎn)生的要訪問的地址落在其地址空間之外,稱為發(fā)生了地址越界。每當程序要訪問某個內(nèi)存單元時,由硬件檢查是否允許,如果允許則執(zhí)行,否則產(chǎn)生地址越界中斷,由操作系統(tǒng)進行相應處理。程序只能在自己的訪問權(quán)限范圍內(nèi)讀/寫內(nèi)存。七、存儲共享內(nèi)存共享:多道環(huán)境中,兩個或多個并發(fā)進程共用內(nèi)存中相同區(qū)域。目的:節(jié)省內(nèi)存空間,提高內(nèi)存利用率,實現(xiàn)進程通信(數(shù)據(jù)共享)。共享內(nèi)容:代碼共享(要求代碼為純代碼);數(shù)據(jù)共享。八、存儲(cn ch)“擴充(kuchng)”為了(wi le)給大作業(yè)提供方便,由OS把內(nèi)存和外存統(tǒng)一管理起來,實現(xiàn)自動
7、覆蓋。當一個大作業(yè)在執(zhí)行時,有一部分邏輯地址空間的內(nèi)容在內(nèi)存,另一部分在外存。當要訪問的信息不在內(nèi)存時,由OS(而不是程序員安排的I/O指令)自動把它們從外存調(diào)入內(nèi)存。從效果上看,這樣的OS好象為這個用戶作業(yè)提供了一個容量比實際內(nèi)存大的存儲器,從而實現(xiàn)了存儲“擴充”。擴充后的存儲器稱為虛擬存儲器。九、存儲管理方法1、連續(xù)分配方式 (1) 單一連續(xù)存儲區(qū)管理(單道環(huán)境下) (2) 分區(qū)式存儲管理2、離散分配方式 (1) 分頁式存儲管理 (2) 分段式存儲管理 (3) 段頁式存儲管理3、實現(xiàn)虛擬存儲的分配方式 主要是一些請求式的分配方式,如請求分頁式存儲管理、請求分段式存儲管理等。對于以上每一種存
8、儲管理方法我們應該掌握: 基本原理(思想方法) 存儲管理使用(shyng)的數(shù)據(jù)結(jié)構(gòu) 邏輯地址(dzh)的格式 地址變換的方式(fngsh) 存儲的分配和回收過程 特點(優(yōu)、缺點)第1節(jié) 程序的裝入(和鏈接)一、程序的裝入就是OS的裝入程序(Loader)將用戶程序的裝入模塊裝入內(nèi)存。1、絕對裝入方式編譯時產(chǎn)生絕對地址的目標代碼。程序被裝入內(nèi)存后,邏輯地址與實際裝入的內(nèi)存地址完全相同,故執(zhí)行過程中,不需對指令和數(shù)據(jù)進行地址變換。程序中所使用的絕對地址,可在編譯或匯編時給出,也可由程序員直接賦予。 但在由程序員直接給出絕對地址時,不僅要求程序員熟悉內(nèi)存的使用情況,而且一旦程序或數(shù)據(jù)被修改后,可能
9、要改變程序中的所有地址。因此,通常是寧可在程序中采用符號地址,然后在編譯或匯編時,再將這些符號地址轉(zhuǎn)換為絕對地址。2、可重定位(dngwi)裝入方式編譯時產(chǎn)生相對地址的目標代碼(di m)。程序被裝入內(nèi)存(ni cn)時,進行地址變換,然后在訪問時直接取指令和數(shù)據(jù)。3、動態(tài)運行時裝入方式 編譯時產(chǎn)生相對地址的目標代碼。程序被裝入內(nèi)存后,并不立即把裝入模塊中的相對地址轉(zhuǎn)換為絕對地址,而是把這種地址轉(zhuǎn)換推遲到程序真正要執(zhí)行時才進行。當要對一條指令或一個數(shù)據(jù)進行訪問時,才對它的地址進行轉(zhuǎn)換。因此,裝入內(nèi)存后的所有地址都仍是相對地址。第2節(jié) 連續(xù)分配存儲管理方式一、單一連續(xù)分配1、基本原理把內(nèi)存分為系
10、統(tǒng)區(qū)和用戶區(qū)兩部分,系統(tǒng)區(qū)提供給OS使用(通常是內(nèi)存的低址部分);用戶區(qū)(指除系統(tǒng)區(qū)以外的全部內(nèi)存空間)提供給用戶使用。用戶區(qū)是一個連續(xù)的存儲區(qū),每次裝入一道用戶作業(yè),整個系統(tǒng)的用戶空間被一道用戶作業(yè)獨占。2、存儲(cn ch)分配和回收過程(guchng) 如下圖所示的主存分配與回收法。并且由裝入程序進行靜態(tài)地址重定位,檢查其絕對地址是否超越,即可達到保護系統(tǒng)(xtng)的目的。工作流程:3、特點:存儲管理簡單,只適用于單道環(huán)境內(nèi)存(ni cn)利用率很低程序的運行(ynxng)受主存容量限制基本不需要管理(gunl)的數(shù)據(jù)結(jié)構(gòu)二、固定分區(qū)分配固定分區(qū)式存儲管理是滿足多道程序的最簡單的存儲管
11、理方案。它的基本思想是:將內(nèi)存的用戶區(qū)劃分成若干個固定的空間,稱為分區(qū)。當程序到達時,由系統(tǒng)給它分配一個適當大小的分區(qū),將程序和數(shù)據(jù)連續(xù)存入,使進程得以并發(fā)執(zhí)行。每個分區(qū)只能存儲一個程序,而且程序也只能在它所駐留的分區(qū)中運行;作業(yè)的邏輯地址空間是線性的,物理地址空間是連續(xù)的;主要采用靜態(tài)地址重定位方式進行地址變換。1、基本原理系統(tǒng)生成時,把可分配的主存儲器空間分割成若干個區(qū)域,每個區(qū)域稱為一個分區(qū)(每個分區(qū)的內(nèi)部是連續(xù)的)。每個分區(qū)的大小可以相同也可以不同,但分區(qū)大小、地址固定不變,每個分區(qū)能裝一個且只能裝一個作業(yè)。2、管理使用的數(shù)據(jù)結(jié)構(gòu)分區(qū)說明表:記錄系統(tǒng)中的現(xiàn)有內(nèi)存分區(qū)及其使用狀態(tài)。3、存
12、儲(cn ch)分配與回收過程當有一個(y )用戶作業(yè)請求裝入時,由OS檢索分區(qū)說明表,從中找一個大小能滿足要求的、空閑(kngxin)的分區(qū),將用戶作業(yè)裝入,并在分區(qū)說明表中將該分區(qū)的狀態(tài)置為“已分配”;若沒有找到大小足夠的分區(qū),則拒絕為該程序分配內(nèi)存。當一個用戶作業(yè)完成后,由OS將其占有的分區(qū)收回,將該分區(qū)的狀態(tài)改為“未分配”。4、特點可以支持多道程序運行程序的運行受主存容量和分區(qū)大小限制內(nèi)存利用率仍很低三、動態(tài)分區(qū)分配1、基本思想系統(tǒng)在啟動時,除了OS常駐內(nèi)存部分占用的內(nèi)存空間外,系統(tǒng)中只有一個空閑分區(qū);當有作業(yè)要裝入內(nèi)存時,檢索空閑分區(qū)表,找一個能滿足作業(yè)要求的空閑分區(qū),從中劃出一個大
13、小正好滿足要裝入作業(yè)要求的存儲區(qū),分配給這一作業(yè),剩下的部分被作為一個新的空閑分區(qū)記錄在空閑分區(qū)表中。2、存儲管理的數(shù)據(jù)結(jié)構(gòu)(sh j ji u)(二選一)(1) 空閑區(qū)表-記錄目前系統(tǒng)中每個空閑區(qū)的起始地址(dzh)和長度;(2) 空閑分區(qū)鏈-將目前系統(tǒng)中的空閑分區(qū)按一定的順序鏈接起來。在每個分區(qū)的頭、尾設置指向前后分區(qū)的指針(zhzhn),并記錄本分區(qū)的一些分配控制信息。系統(tǒng)設立一個鏈首指針,指向第一個空閑塊。圖4-7 空閑(kngxin)分區(qū)鏈3、存儲分配與回收(hushu)過程(1) 分配(fnpi)-每當有一個作業(yè)申請內(nèi)存空間時:圖4-8 內(nèi)存分配流程(2) 回收-會出現(xiàn)四種情況圖4
14、-9 內(nèi)存回收(hushu)時的情況回收區(qū)與它前面的一個(y )空閑區(qū)相鄰(a)回收區(qū)與它后面(hu mian)的一個空閑區(qū)相鄰(b)回收區(qū)與它前、后的兩個空閑區(qū)相鄰(c)回收區(qū)前后都沒有相鄰的空閑區(qū)當某一塊歸還后,要根據(jù)不同的情況,前后空間合并,再分別處理存儲管理的數(shù)據(jù)結(jié)構(gòu)。4、存儲分配的算法-當滿足條件的空閑分區(qū)多于一個時,選哪一個?取決于空閑分區(qū)表或空閑分區(qū)鏈中分區(qū)排列順序的組織方法(1) 首次適應算法:按空閑區(qū)首地址從低到高來組織空閑分區(qū)表或空閑分區(qū)鏈;每次分區(qū)時,總是從表頭或鏈首開始掃描,找到第一個足夠大的空白區(qū)分配。(2) 循環(huán)首次適應算法(下次適應算法):類似首次適應法的數(shù)據(jù)組織
15、。每次分區(qū)時,總是從上次查找結(jié)束的地方開始掃描,找到一個足夠大的空白區(qū)分配,并循環(huán)查找。(3) 最佳適應(shyng)算法:按空閑區(qū)容量(rngling)大小從小到大來組織組織空閑分區(qū)表或空閑分區(qū)鏈。每次分區(qū)時,總是從表頭或鏈首開始掃描。所以,接到內(nèi)存(ni cn)申請時,會在空閑區(qū)中找到一個滿足要求的最小空閑區(qū)進行分配。(4) 最壞適應算法:與最佳適應法相反,它在作業(yè)選擇存儲塊時,總是尋找一個滿足要求的最大的空閑分區(qū)。討論以上算法的優(yōu)缺點.6、動態(tài)分區(qū)方式中的“碎片”問題經(jīng)過一段時間的分配回收后,內(nèi)存中會出現(xiàn)很多很小的空閑塊。它們每一塊都較小,不足以滿足一般作業(yè)的分配要求;但其容量總和卻有著
16、相當?shù)囊?guī)模。這些空閑塊被稱為碎片。碎片的存在造成了存儲資源的浪費。解決辦法:碎片整理-緊湊,通過在內(nèi)存移動程序,將所有小的空閑區(qū)域合并為大的空閑區(qū)域。問題:系統(tǒng)開銷大(?)。圖4-11 碎片(su pin)整理四、動態(tài)(dngti)可重定位(dngwi)分區(qū)分配1、動態(tài)重定位引入的原因在動態(tài)分區(qū)分配中,“碎片”整理,是定時進行或在存儲回收時進行的,所有用戶程序的存儲分區(qū)都要進行改動,并重新進行靜態(tài)地址重定位。這樣的“碎片”整理工作將花費較多的系統(tǒng)開銷。2、動態(tài)重定位分區(qū)分配處理流程可重定位分區(qū)分配,與動態(tài)分區(qū)方法基本相同,但它的碎片整理是在存儲分配時進行的,以滿足新作業(yè)需求為目的,并采用動態(tài)地
17、址重定位。圖4-13 動態(tài)(dngti)可重定位分區(qū)(fn q)分配示意圖五、對換(du hun)(交換)技術(shù)“對換”引入的原因: -P135所謂“對換”,是指系統(tǒng)允許在一個作業(yè)已經(jīng)進入內(nèi)存執(zhí)行的過程中,仍能把它調(diào)出內(nèi)存、再調(diào)入內(nèi)存。把內(nèi)存中暫時不能運行的進程或者暫時不用的程序和數(shù)據(jù),調(diào)出到外存上,以便騰出足夠的內(nèi)存空間,再把已具備運行條件的進程或進程所需要的程序和數(shù)據(jù),調(diào)入內(nèi)存。對換是提高內(nèi)存利用率的有效措施。可以將整個進程換入、換出,也可以將進程的一部分(頁、段)換入、換出。前者主要用于緩解目前系統(tǒng)中內(nèi)存的不足,后者主要用于實現(xiàn)虛擬存儲。 -P136對換空間的管理:在具有對換功能的OS中,
18、通常把外存分為文件區(qū)和對換區(qū)。前者用于存放文件,后者用于存放從內(nèi)存換出的進程。P136-137進程(jnchng)(整體(zhngt)的換出:系統(tǒng)(xtng)首先選擇處于阻塞狀態(tài)且優(yōu)先級最低的進程作為換出進程,然后啟動磁盤,將該進程的程序和數(shù)據(jù)傳送到磁盤的對換區(qū)上。若傳送過程未出現(xiàn)錯誤,便可回收該進程所占用的內(nèi)存空間,并對該進程的PCB做相應的修改。當目前沒有阻塞進程時,也可將優(yōu)先級低的就緒進程換出。進程(整體)的換入: 系統(tǒng)定時查看所有進程的狀態(tài),從中找出“就緒”狀態(tài)但已換出的進程,將其中換出時間(換出到磁盤上)最久的進程作為換入進程,將之換入,直至已無可換入的進程或無可換出的進程為止。以上
19、談到的是整體交換,部分交換在虛擬存儲中介紹。六、動態(tài)分區(qū)式存儲管理特點的討論1、作業(yè)連續(xù)存放(作業(yè)的邏輯地址空間和物理地址空間都是一維的)2、有限的虛擬存儲分區(qū)式管理不能實現(xiàn)那種用戶進程所需空間只受內(nèi)外存容量之和限制的虛擬存儲,只能使用覆蓋和交換等存儲擴充技術(shù),實現(xiàn)進程掛起,這是一種有限的虛擬存儲-并發(fā)進程的總?cè)萘靠梢源笥趦?nèi)存容量,但每一個進程的容量小于內(nèi)存。3、存儲保護:使用界限寄存器。一般由硬件提供一對寄存器:基址(j zh)寄存器:存放起始地址,限長寄存器:存放長度(或上界寄存器/下界寄存器)4、主要(zhyo)優(yōu)缺點:實現(xiàn)了多進程對內(nèi)存(ni cn)的共享,支持多道程序設計;要求較少的
20、硬件支持,管理方法簡單,容易實現(xiàn)。內(nèi)存利用率仍不高(碎片問題);用戶作業(yè)的大小受分區(qū)大小的限制;不能實現(xiàn)信息的共享。第3節(jié) 基本分頁存儲管理方式基本原理將系統(tǒng)的物理地址空間劃分成大小相同的片,稱為塊;將作業(yè)的邏輯地址空間劃分成和塊大小一樣的片,稱為頁(最后不足一頁的也算一頁);給作業(yè)進行存儲分配時,將作業(yè)的一頁存入存儲器的一塊中。邏輯上相鄰的頁,物理上可以不相鄰。塊的大小與頁的大小一致,與系統(tǒng)內(nèi)存的大小以及內(nèi)、外存間數(shù)據(jù)的傳輸速度相關(guān),通常是2nB。二、邏輯(lu j)地址的格式作業(yè)的邏輯地址(dzh)空間是從0開始(kish)、一維的,每個邏輯地址由頁號和頁內(nèi)地址組成,見下圖左;對某特定機器
21、,其地址結(jié)構(gòu)是一定的,頁的大小固定為L(應該是2的冪,通常為1KB8KB)。若給定一個邏輯地址A,則頁號P和頁內(nèi)地址d可按下式解析而求得,見下圖右。三、存儲管理的數(shù)據(jù)結(jié)構(gòu)1、頁表:每個進程(jnchng)一張,在初次為進程分配內(nèi)存時建立進程的頁表。一個進程分為(fn wi)多少頁,它的頁表就有多少行(表目)。每一行中記錄(jl)著進程的一頁對應存放的塊。另外,頁表的每一個表目還包括一個存取控制字段。頁表用于進行地址變換。2、存儲分塊表:整個系統(tǒng)一張,每一項對應一個內(nèi)存存儲塊,記錄該存儲塊的使用狀態(tài):已分配或空閑。通常用位示圖來表示存儲分塊表。四、地址變換進程的頁表一般(ybn)是常駐內(nèi)存、連續(xù)
22、存放的,頁表的首地址和長度存在進程的PCB中。系統(tǒng)(xtng)為執(zhí)行(zhxng)態(tài)的用戶進程提供了一個頁表寄存器,用來存放這個進程的頁表首地址和長度。采用動態(tài)地址重定位。1、基本的地址變換過程:例: 0100:LOAD 2452,A(1) 指令的邏輯地址0100,它存在0頁,第100號單元中;查頁表:0頁 10塊 算出指令的物理地址:10100 到內(nèi)存單元10100中取指令 LOAD 2452,A;(2) 目的操作數(shù)的邏輯地址2452,它排在2頁第452號單元中;查頁表: 2頁 8塊 算出操作數(shù)的物理地址:08452 將A送入08452號內(nèi)存單元。2、引入快表:由于(yuy)頁表也存放在主存
23、中,這樣,每讀寫一個內(nèi)存單元,首先必須讀內(nèi)存一次,訪問頁表,之后根據(jù)形成的實際地址再訪問內(nèi)存,這樣使訪問主存的次數(shù)加倍,因而(yn r)使總的處理速度明顯下降。為了(wi le)解決這個問題人們采用一組寄存器,存放最近訪問過的頁的頁表表項-引入“快表”每次地址變換時,首先查找快表,若找到所需頁的表項,則快速形成物理地址。否則,再去頁表中查找后形成物理地址,同時把該頁的表項寫入快表。如果設計得當,快表的命中率可以很高。五、存儲的分配和回收1、存儲分配計算一個作業(yè)所需要的總塊數(shù)N查位示圖,看看是否還有N+1個空閑塊,如果不夠,就拒絕分配如果有足夠的空閑塊,則首先申請一塊(y kui),為作業(yè)建立(
24、jinl)頁表,將頁表的首地址(dzh)和長度N存入進程的PCB中分配N個空閑塊給該作業(yè),依次裝入作業(yè)的N個頁,將頁號和對應的塊號填入頁表修改位示圖2、存儲回收進程執(zhí)行結(jié)束,系統(tǒng)對照頁表,依次收回分給它的N個塊,修改位示圖;撤消它的頁表,收回頁表所占塊,修改位示圖。六、兩級和多級頁表現(xiàn)代的大多數(shù)計算機系統(tǒng),都支持非常大的邏輯地址空間(232264)。頁表就變得非常大,超過了1頁可以容納的范圍。可采用兩個方法來解決這一問題: 采用離散分配方式來解決難以找到一塊連續(xù)的大內(nèi)存空間的問題; 只將當前需要的部分頁表項調(diào)入內(nèi)存,其余的頁表項仍駐留在磁盤上,需要時再調(diào)入。1、兩級頁表邏輯(lu j)地址的格
25、式為:2、多級頁表字長(z chn)32位的計算機,進程頁表多大?用戶(yngh)邏輯地址空間最大 232=4GB設:頁面(y min)大小為 212=4KB則:一個(y )進程最多 220 頁設:頁表的每個表項占4B則:進程(jnchng)頁表最長為4B220=210212B = 1024 頁外頁表最長 10244B=4KB,正好一頁。當計算機的字長增加到64位時,如果仍以4KB為一頁,一個作業(yè)可以有252頁。頁表與外頁表的長度將是。此時,必須采用多級頁表,將外層頁表再進行分頁,再將各分頁離散地裝入到不相鄰接的物理塊中,再利用第2級的外層頁表來映射它們之間的關(guān)系。 此即多級頁表。七、反智頁表
26、簡述 -P144八、基本(靜態(tài))頁式存儲管理的特點1、作業(yè)的邏輯地址空間是一維的;2、是一種離散式分配的存儲管理方法,用戶作業(yè)不要求連續(xù)的存儲空間,碎片的規(guī)模小于1頁,而且數(shù)量很少,存儲利用率高;3、要求進程在執(zhí)行前全部裝入內(nèi)存,所以進程的大小仍受內(nèi)存空間的限制;4、“頁”是存儲的單位,在邏輯上沒有意義,很難實現(xiàn)有效的信息共享、存儲保護、動態(tài)增長、動態(tài)鏈接等。第4節(jié) 基本分段存儲管理方式一、分段式存儲管理的引入在分頁式存儲管理中:進程(jnchng)的邏輯地址空間是連續(xù)的。一個進程(程序(chngx)與數(shù)據(jù))是一個(y )整體;“頁”是一個存儲的單位,在邏輯上沒有意義,不便進行程序段或數(shù)據(jù)段的
27、共享;進程所需的存儲塊是一次性、靜態(tài)分配的,程序和數(shù)據(jù)都不能動態(tài)增長。引入分段存儲管理方式,主要是為了滿足用戶和程序員的下述一系列需要: -P145-146(1) 方便編程 (2) 信息共享(3) 信息保護 (4) 動態(tài)增長 (5) 動態(tài)鏈接二、基本原理一個用戶作業(yè)的程序和數(shù)據(jù)按其邏輯結(jié)構(gòu)可以分為若干段,每一段在邏輯上都是完整的,每段內(nèi)有從0開始的、連續(xù)的邏輯地址空間。在存儲分配時,系統(tǒng)為每一段分配一個連續(xù)的存儲區(qū),而不同段之間的存放的空間可以是不連續(xù)的。三、邏輯(lu j)地址格式分段式存儲管理中,用戶作業(yè)的邏輯地址(dzh)空間是二維的(可能(knng)不連續(xù)),一個單元的邏輯地址格式為:
28、每一個段號和一個邏輯段的名稱對應。四、存儲管理的數(shù)據(jù)結(jié)構(gòu)段表:每個進程設置一個,屬于進程的現(xiàn)場信息。段表的格式:段表中的每一行對應一個邏輯段。作業(yè)有幾邏輯段,段表的長度就有幾行。段表中最重要(zhngyo)的信息是它的前三項,依靠它進行地址重定位。五、地址變換進程的段表一般是常駐內(nèi)存、連續(xù)存放的,段表的首地址和長度(chngd)存在進程的PCB中。系統(tǒng)(xtng)為執(zhí)行(zhxng)態(tài)的用戶進程提供了段表寄存器,用來存放這個進程的段表首地址和長度。六、存儲分配與回收在段式存儲管理中,內(nèi)存的空閑空間,采用類似動態(tài)分區(qū)式存儲管理的方式組織、分配和回收。只是在這里,存放在分區(qū)中的對象是進程的一個邏輯
29、段,而不是整個進程。1、存儲分配首先,程序開始的若干邏輯段,按照類似動態(tài)分區(qū)分配的方法被逐一放入內(nèi)存。伴隨著存儲訪問(地址變換),存儲分配逐步完成。2、存儲(cn ch)回收當作業(yè)執(zhí)行完畢時,系統(tǒng)將段表中各行記錄(jl)的分區(qū),采用類似(li s)動態(tài)分區(qū)分配的回收方法進行逐一回收,然后撤消段表,回收段表占用的分區(qū)。七、分頁和分段的主要區(qū)別1、頁是信息的物理(存儲)單位,分頁是為實現(xiàn)離散分配方式,以消減內(nèi)存的零頭,提高內(nèi)存的利用率。或者說,分頁僅僅是由于系統(tǒng)管理的需要而不是用戶的需要。段則是信息的邏輯單位,它含有一組其意義相對完整的信息。分段的目的是為了能更好地滿足用戶的需要。2、頁的大小固定且由系統(tǒng)決定,由系統(tǒng)把邏輯地址劃分為頁號和頁內(nèi)地址兩部分,是由機器硬件實現(xiàn)的,因而在系統(tǒng)中只能有一種大小的頁面;而段的長度卻不固定,決定于用戶所編寫的程序的邏輯,通常由編譯程序在對源程序進行編譯時,根據(jù)信息的性質(zhì)來劃分。3、分頁的作業(yè)地址空間是一維的,即單一的線性的邏輯地址空間,程序員只需利用一個記憶符,即可表示一個地址;而分段的作業(yè)地址空間則是二維的,程序員在標識一個地址時,既需給出段名,又需給出段內(nèi)地址。八、信息(xnx)共享的實現(xiàn)當多個進程都要執(zhí)行某
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度企業(yè)內(nèi)部停車場車輛停放管理責任合同2篇
- 二零二五年度農(nóng)村養(yǎng)牛飼料供應合同協(xié)議
- 2024年中國男式印花T-恤衫市場調(diào)查研究報告
- 2024年中國電機定轉(zhuǎn)子市場調(diào)查研究報告
- 2025年度新材料研發(fā)項目預付款合作合同3篇
- 二零二五年度農(nóng)村個人房屋買賣合同附農(nóng)村土地承包經(jīng)營權(quán)流轉(zhuǎn)合同3篇
- 2025年度汽車轉(zhuǎn)讓合同范本:包含車輛檢測與排放標準要求3篇
- 2025年度網(wǎng)絡安全防護免責協(xié)議書:網(wǎng)絡安全防御措施實施2篇
- 2024年中國水溶性彩色鉛筆芯市場調(diào)查研究報告
- 2025年度新能源儲能項目信息咨詢服務合同樣本2篇
- 北京市海淀區(qū)2023-2024學年四年級上學期期末英語試題
- 2024年湖北省漢江國有資本投資集團有限公司招聘筆試參考題庫含答案解析
- 廣州市九區(qū)聯(lián)考2023-2024學年高一上學期期末教學質(zhì)量監(jiān)測數(shù)學試卷(原卷版)
- 西方國家的量刑建議制度及其比較
- 游戲方案模板
- 幼兒園大班數(shù)學上學期期末考試-試題測試
- 地震預警安裝方案
- 汽車產(chǎn)品定義 培訓課件
- NICU患兒常規(guī)監(jiān)測和護理要點
- 數(shù)字工程勘察信息平臺構(gòu)建
- 噴涂設備保養(yǎng)和維護操作規(guī)程
評論
0/150
提交評論