c++存儲(chǔ)空間管理_第1頁
c++存儲(chǔ)空間管理_第2頁
c++存儲(chǔ)空間管理_第3頁
c++存儲(chǔ)空間管理_第4頁
c++存儲(chǔ)空間管理_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、存儲(chǔ)空間管理存儲(chǔ)空間管理東南大學(xué)電氣工程學(xué)院東南大學(xué)電氣工程學(xué)院School of Electrical Engineering, Southeast University定義存儲(chǔ)器的分級(jí)結(jié)構(gòu):存儲(chǔ)器的分級(jí)結(jié)構(gòu): 寄存器寄存器 高速緩沖存儲(chǔ)器高速緩沖存儲(chǔ)器(緩存緩存) 內(nèi)存儲(chǔ)器內(nèi)存儲(chǔ)器(簡稱內(nèi)存、主存、物理存儲(chǔ)器)(簡稱內(nèi)存、主存、物理存儲(chǔ)器) 處理機(jī)能直接訪問的存儲(chǔ)器。用來存放系統(tǒng)和用戶處理機(jī)能直接訪問的存儲(chǔ)器。用來存放系統(tǒng)和用戶的程序和數(shù)據(jù),其特點(diǎn)是存取速度快,存儲(chǔ)方式是以新的程序和數(shù)據(jù),其特點(diǎn)是存取速度快,存儲(chǔ)方式是以新?lián)Q舊,斷電信息丟失。換舊,斷電信息丟失。 外存儲(chǔ)器外存儲(chǔ)器(簡稱外存

2、、輔助存儲(chǔ)器)(簡稱外存、輔助存儲(chǔ)器) 處理機(jī)不能直接訪問的存儲(chǔ)器。用來存放用戶的各處理機(jī)不能直接訪問的存儲(chǔ)器。用來存放用戶的各種信息,存取速度相對(duì)內(nèi)存而言要慢得多,但它可用來種信息,存取速度相對(duì)內(nèi)存而言要慢得多,但它可用來長期保存用戶信息。長期保存用戶信息。內(nèi)存內(nèi)存存儲(chǔ)器管理存儲(chǔ)器管理 外存外存文件管理文件管理School of Electrical Engineering, Southeast University 存儲(chǔ)器管理的功能(系統(tǒng)區(qū)和用戶區(qū),針對(duì)用戶區(qū))存儲(chǔ)器管理的功能(系統(tǒng)區(qū)和用戶區(qū),針對(duì)用戶區(qū)) 存儲(chǔ)空間的分配與管理;存儲(chǔ)空間的分配與管理; 地址重定位地址重定位(邏輯地址與物理

3、地址的對(duì)應(yīng)關(guān)系)(邏輯地址與物理地址的對(duì)應(yīng)關(guān)系) 存儲(chǔ)保護(hù)存儲(chǔ)保護(hù) 存儲(chǔ)空間擴(kuò)充:存儲(chǔ)空間擴(kuò)充:虛擬存儲(chǔ)器技術(shù)以及各種調(diào)度算法。虛擬存儲(chǔ)器技術(shù)以及各種調(diào)度算法。存儲(chǔ)器管理School of Electrical Engineering, Southeast University地址重定位 邏輯地址邏輯地址(相對(duì)地址,虛地址):用戶的程序經(jīng)過匯編或編譯(相對(duì)地址,虛地址):用戶的程序經(jīng)過匯編或編譯后形成目標(biāo)代碼,目標(biāo)代碼通常采用相對(duì)地址的形式。后形成目標(biāo)代碼,目標(biāo)代碼通常采用相對(duì)地址的形式。其首地址為其首地址為0 0,其余指令中的地址都相對(duì)于首地址來編址。,其余指令中的地址都相對(duì)于首地址來編址。

4、不能用邏輯地址在內(nèi)存中讀取信息。不能用邏輯地址在內(nèi)存中讀取信息。 物理地址物理地址(絕對(duì)地址,實(shí)地址):內(nèi)存中存儲(chǔ)單元的地址。物(絕對(duì)地址,實(shí)地址):內(nèi)存中存儲(chǔ)單元的地址。物理地址可直接尋址。理地址可直接尋址。 地址映射地址映射:將用戶程序中的邏輯地址轉(zhuǎn)換為運(yùn)行時(shí)由機(jī)器直接:將用戶程序中的邏輯地址轉(zhuǎn)換為運(yùn)行時(shí)由機(jī)器直接尋址的物理地址。尋址的物理地址。School of Electrical Engineering, Southeast University邏輯地址、物理地址和地址映射邏輯地址、物理地址和地址映射地址映射地址映射 1100 Load A,1200 3456 。 。 。1200物理

5、地址空間物理地址空間Load A,data1data1 3456源程序源程序Load A,200 34560100200編譯連接編譯連接邏輯地址空間邏輯地址空間BA=1000地址重定位School of Electrical Engineering, Southeast University 程序在成為進(jìn)程前的準(zhǔn)備工作程序在成為進(jìn)程前的準(zhǔn)備工作形成源文件形成源文件( (符號(hào)地址符號(hào)地址) )形成目標(biāo)模塊形成目標(biāo)模塊( (模塊內(nèi)符號(hào)地址解析模塊內(nèi)符號(hào)地址解析) )由多個(gè)目標(biāo)模塊或程序庫生成可執(zhí)行文件由多個(gè)目標(biāo)模塊或程序庫生成可執(zhí)行文件( (模塊間模塊間符號(hào)地址解析符號(hào)地址解析) )構(gòu)造構(gòu)造PCB

6、PCB,形成進(jìn)程,形成進(jìn)程( (使用物理地址使用物理地址) )是指在程序裝入主存時(shí)已經(jīng)完成了邏輯地址是指在程序裝入主存時(shí)已經(jīng)完成了邏輯地址到物理地址的變換到物理地址的變換,在程序執(zhí)行期間不會(huì)再發(fā)生變化在程序執(zhí)行期間不會(huì)再發(fā)生變化.在程序運(yùn)行期間完成邏輯地址到物理地址的在程序運(yùn)行期間完成邏輯地址到物理地址的變換變換.地址重定位School of Electrical Engineering, Southeast University分區(qū)存儲(chǔ)管理基本思想:基本思想:將主存儲(chǔ)空間劃分成若干個(gè)連續(xù)的存儲(chǔ)區(qū),稱為將主存儲(chǔ)空間劃分成若干個(gè)連續(xù)的存儲(chǔ)區(qū),稱為分區(qū)分區(qū)。每個(gè)分區(qū)只能存儲(chǔ)一道程序,一個(gè)程序只能訪

7、問其所。每個(gè)分區(qū)只能存儲(chǔ)一道程序,一個(gè)程序只能訪問其所在分區(qū)的存儲(chǔ)單元。在分區(qū)的存儲(chǔ)單元。適用于單道程序系統(tǒng)適用于單道程序系統(tǒng) 內(nèi)存分為兩個(gè)連續(xù)區(qū)域:系統(tǒng)內(nèi)存分為兩個(gè)連續(xù)區(qū)域:系統(tǒng)區(qū),用戶區(qū)。應(yīng)用程序裝入到區(qū),用戶區(qū)。應(yīng)用程序裝入到用戶區(qū),可使用用戶區(qū)全部空用戶區(qū),可使用用戶區(qū)全部空間。間。 最簡單,適用于單道程序設(shè)計(jì)最簡單,適用于單道程序設(shè)計(jì)的的OSOS。 優(yōu)點(diǎn)優(yōu)點(diǎn):易于管理。:易于管理。 缺點(diǎn)缺點(diǎn):對(duì)要求內(nèi)存空間少的程:對(duì)要求內(nèi)存空間少的程序,造成內(nèi)存浪費(fèi)(空閑存儲(chǔ)序,造成內(nèi)存浪費(fèi)(空閑存儲(chǔ)區(qū))。區(qū))。0H7FFFHFFFFFH操作系統(tǒng)操作系統(tǒng)用戶程序區(qū)用戶程序區(qū)08000H界限寄存器界限

8、寄存器中斷矢量表中斷矢量表空閑區(qū)空閑區(qū)單片機(jī)中的內(nèi)存設(shè)置單片機(jī)中的內(nèi)存設(shè)置School of Electrical Engineering, Southeast University 基本思想:基本思想:把內(nèi)存分為一些大小相等或不等連續(xù)區(qū)域把內(nèi)存分為一些大小相等或不等連續(xù)區(qū)域分區(qū)分區(qū)(partition),每個(gè)分區(qū)只能駐留一個(gè)程序每個(gè)分區(qū)只能駐留一個(gè)程序。操。操作系統(tǒng)占用其中一個(gè)分區(qū)。作系統(tǒng)占用其中一個(gè)分區(qū)。 特點(diǎn):特點(diǎn):適用于多道程序系統(tǒng)和分時(shí)系統(tǒng)適用于多道程序系統(tǒng)和分時(shí)系統(tǒng) 支持多個(gè)程序并發(fā)執(zhí)行支持多個(gè)程序并發(fā)執(zhí)行 問題:問題:存在存在碎片(小得難以使用的分區(qū))問題,碎片(小得難以使用的分

9、區(qū))問題,可能存可能存在在內(nèi)部碎片內(nèi)部碎片和和外部碎片外部碎片。 內(nèi)部碎片:內(nèi)部碎片:占用分區(qū)之內(nèi)未被利用的空間占用分區(qū)之內(nèi)未被利用的空間 外部碎片外部碎片:占用分區(qū)之間難以利用的空閑分區(qū)(通常:占用分區(qū)之間難以利用的空閑分區(qū)(通常是小空閑分區(qū))。是小空閑分區(qū))。分區(qū)存儲(chǔ)管理School of Electrical Engineering, Southeast University8 M8 M8 M8 M8 MOperating SystemOperating System8 M12 M8 M8 M6 M4 M2 M固定分區(qū)固定分區(qū)(大小相同大小相同)固定分區(qū)固定分區(qū)(多種大小多種大小)分區(qū)存

10、儲(chǔ)管理School of Electrical Engineering, Southeast University 優(yōu)點(diǎn):優(yōu)點(diǎn):簡單易于實(shí)現(xiàn),開銷小。簡單易于實(shí)現(xiàn),開銷小。 缺點(diǎn):缺點(diǎn): 內(nèi)部碎片造成浪費(fèi)內(nèi)部碎片造成浪費(fèi) 分區(qū)總數(shù)固定,限制了并發(fā)執(zhí)行的程序數(shù)目。分區(qū)總數(shù)固定,限制了并發(fā)執(zhí)行的程序數(shù)目。 采用的數(shù)據(jù)結(jié)構(gòu):采用的數(shù)據(jù)結(jié)構(gòu):分區(qū)表分區(qū)表(分區(qū)說明表分區(qū)說明表)記錄分區(qū)記錄分區(qū)的大小和使用情況的大小和使用情況Operating System空閑分區(qū)空閑分區(qū) 分區(qū)分區(qū)5作業(yè)作業(yè)C 分區(qū)分區(qū)4分區(qū)分區(qū)3分區(qū)分區(qū)2分區(qū)分區(qū)1空閑分區(qū)空閑分區(qū) 作業(yè)作業(yè)B 作業(yè)作業(yè)A 00000H08000H0

11、A000H12000H1A000H3A000H區(qū)區(qū)號(hào)號(hào)起始地址起始地址大小大小使用使用標(biāo)志標(biāo)志作業(yè)作業(yè)大小大小108000H8KY6K20A000H32KY24K312000H32KN41A000H128KY118K53A000H512KN內(nèi)存分區(qū)說明表內(nèi)存分區(qū)說明表分區(qū)存儲(chǔ)管理School of Electrical Engineering, Southeast University 動(dòng)態(tài)分區(qū)動(dòng)態(tài)分區(qū):在裝入作業(yè)和處理過程中,按其要求的內(nèi)存容:在裝入作業(yè)和處理過程中,按其要求的內(nèi)存容量以及當(dāng)時(shí)的內(nèi)存資源使用情況,將一塊大小與所要求相量以及當(dāng)時(shí)的內(nèi)存資源使用情況,將一塊大小與所要求相近的存儲(chǔ)區(qū)

12、分配給作業(yè)。近的存儲(chǔ)區(qū)分配給作業(yè)。 優(yōu)點(diǎn):優(yōu)點(diǎn):沒有內(nèi)部碎片。沒有內(nèi)部碎片。 缺點(diǎn):缺點(diǎn):有外部碎片。有外部碎片。分區(qū)存儲(chǔ)管理School of Electrical Engineering, Southeast UniversityOperating System128 K896 KOperating SystemProcess 1320 K576 KOperating SystemProcess 1320 KProcess 2224 K352 K分區(qū)存儲(chǔ)管理School of Electrical Engineering, Southeast UniversityOperating Sys

13、temProcess 1320 KProcess 2Process 3224 K288 K64 KOperating SystemProcess 1320 KProcess 3224 K288 K64 KOperating SystemProcess 1320 KProcess 3288 K64 KProcess 4128 K96 K分區(qū)存儲(chǔ)管理Process2結(jié)束結(jié)束Process4運(yùn)行運(yùn)行School of Electrical Engineering, Southeast UniversityOperating System320 KProcess 3288 K64 KProcess 4

14、128 K96 KOperating SystemProcess 3288 K64 KProcess 4128 K96 KProcess 2224 k96 K分區(qū)存儲(chǔ)管理Process1結(jié)束結(jié)束Process2再運(yùn)行再運(yùn)行School of Electrical Engineering, Southeast University 分區(qū)的數(shù)據(jù)結(jié)構(gòu)分區(qū)的數(shù)據(jù)結(jié)構(gòu):分區(qū)表,或分區(qū)鏈表:分區(qū)表,或分區(qū)鏈表 可以只記錄可以只記錄空閑分區(qū)空閑分區(qū),也可以同時(shí)記錄空閑和占用分區(qū),也可以同時(shí)記錄空閑和占用分區(qū) 單一分區(qū)表中,單一分區(qū)表中,表項(xiàng)數(shù)目表項(xiàng)數(shù)目隨著內(nèi)存的分配和釋放而動(dòng)態(tài)隨著內(nèi)存的分配和釋放而動(dòng)態(tài)改變

15、,表長難以確定,分配回收分區(qū)時(shí)降低查找速度。改變,表長難以確定,分配回收分區(qū)時(shí)降低查找速度。 分區(qū)表可以劃分為兩個(gè)表:分區(qū)表可以劃分為兩個(gè)表:空閑分區(qū)表空閑分區(qū)表,使用分區(qū)表使用分區(qū)表。從而減小每個(gè)表長度??臻e分區(qū)表(一般常用鏈表結(jié)構(gòu)從而減小每個(gè)表長度??臻e分區(qū)表(一般常用鏈表結(jié)構(gòu))中按不同分配算法相應(yīng)對(duì))中按不同分配算法相應(yīng)對(duì)表項(xiàng)排序表項(xiàng)排序。 分區(qū)分配和釋放算法分區(qū)分配和釋放算法 最先匹配法最先匹配法(first-fit):可能造成碎片化問題:可能造成碎片化問題 最佳匹配法最佳匹配法(best-fit):每次要從碎片開始查找,回收算法復(fù)雜:每次要從碎片開始查找,回收算法復(fù)雜 最差匹配法最差

16、匹配法(worst-fit):分配速度快,碎片?。悍峙渌俣瓤?,碎片小動(dòng)態(tài)分區(qū)管理:動(dòng)態(tài)分區(qū)管理:分區(qū)存儲(chǔ)管理School of Electrical Engineering, Southeast University 引入:引入:其目標(biāo)是在較小的可用內(nèi)存中運(yùn)行較大的程序。常用其目標(biāo)是在較小的可用內(nèi)存中運(yùn)行較大的程序。常用于多道程序系統(tǒng),與分區(qū)存儲(chǔ)管理配合使用。于多道程序系統(tǒng),與分區(qū)存儲(chǔ)管理配合使用。 基本思想基本思想: :一個(gè)作業(yè)的若干程序段,或幾個(gè)作業(yè)的某些部分共一個(gè)作業(yè)的若干程序段,或幾個(gè)作業(yè)的某些部分共享同一存儲(chǔ)區(qū)。享同一存儲(chǔ)區(qū)。 優(yōu)點(diǎn)優(yōu)點(diǎn):解決小主存容量與大作業(yè)之間的矛盾。:解決小主存

17、容量與大作業(yè)之間的矛盾。 缺點(diǎn)缺點(diǎn):實(shí)現(xiàn)覆蓋管理的系統(tǒng)開銷較大。:實(shí)現(xiàn)覆蓋管理的系統(tǒng)開銷較大。覆蓋和交換School of Electrical Engineering, Southeast UniversityA20KB50KC30KF30KD20KE40KResident20KOverlay 050KOverlay 140KTotal: 190KTotal: 110K注:注:另一種覆蓋方法:另一種覆蓋方法:(100K)A(20K)占一個(gè)分區(qū):占一個(gè)分區(qū):20K;B(50K)、D(20K)和和E(40K)共用一個(gè)分區(qū):共用一個(gè)分區(qū):50K;F(30K)和和C(30K)共用一個(gè)分區(qū):共用一個(gè)分

18、區(qū):30K;覆蓋技術(shù)不存在調(diào)用關(guān)系的模塊不必同時(shí)裝入到內(nèi)存,從而可以相互覆蓋。不存在調(diào)用關(guān)系的模塊不必同時(shí)裝入到內(nèi)存,從而可以相互覆蓋。(即即不同時(shí)用的模不同時(shí)用的模塊可共用一個(gè)分區(qū)塊可共用一個(gè)分區(qū))缺點(diǎn):缺點(diǎn):1、確定覆蓋關(guān)系的復(fù)雜度、確定覆蓋關(guān)系的復(fù)雜度2、犧牲時(shí)間換取空間、犧牲時(shí)間換取空間School of Electrical Engineering, Southeast University 引入:解決主存容量不足的矛盾。引入:解決主存容量不足的矛盾。多個(gè)程序并發(fā)執(zhí)行,可以多個(gè)程序并發(fā)執(zhí)行,可以將暫時(shí)不能執(zhí)行的程序送到外存中,從而獲得空閑內(nèi)存空間將暫時(shí)不能執(zhí)行的程序送到外存中,從而獲

19、得空閑內(nèi)存空間來裝入新程序,或讀入保存在外存中而目前到達(dá)就緒狀態(tài)的來裝入新程序,或讀入保存在外存中而目前到達(dá)就緒狀態(tài)的進(jìn)程。交換單位為整個(gè)進(jìn)程的地址空間。常用于多道程序系進(jìn)程。交換單位為整個(gè)進(jìn)程的地址空間。常用于多道程序系統(tǒng)或小型分時(shí)系統(tǒng)中,與分區(qū)存儲(chǔ)管理配合使用。又稱作統(tǒng)或小型分時(shí)系統(tǒng)中,與分區(qū)存儲(chǔ)管理配合使用。又稱作“對(duì)換對(duì)換”或或“滾進(jìn)滾進(jìn)/ /滾出滾出(roll-in/roll-out)(roll-in/roll-out)”。 基本思想基本思想: :暫停執(zhí)行內(nèi)存中的進(jìn)程,將整個(gè)進(jìn)程的地址空間暫停執(zhí)行內(nèi)存中的進(jìn)程,將整個(gè)進(jìn)程的地址空間保存到外存的交換區(qū)中(換出保存到外存的交換區(qū)中(換出s

20、wap outswap out),而將外存中由阻),而將外存中由阻塞變?yōu)榫途w的進(jìn)程的地址空間讀入到內(nèi)存中,并將該進(jìn)程送塞變?yōu)榫途w的進(jìn)程的地址空間讀入到內(nèi)存中,并將該進(jìn)程送到就緒隊(duì)列(換入到就緒隊(duì)列(換入swap inswap in)。)。交換School of Electrical Engineering, Southeast University 優(yōu)點(diǎn)優(yōu)點(diǎn):增加并發(fā)運(yùn)行的程序數(shù)目,并且給用戶提供適當(dāng)?shù)模涸黾硬l(fā)運(yùn)行的程序數(shù)目,并且給用戶提供適當(dāng)?shù)捻憫?yīng)時(shí)間;編寫程序時(shí)不影響程序結(jié)構(gòu)。響應(yīng)時(shí)間;編寫程序時(shí)不影響程序結(jié)構(gòu)。 缺點(diǎn)缺點(diǎn): 對(duì)換入和換出的控制增加處理機(jī)開銷;程序整個(gè)地址空間都對(duì)換入和換

21、出的控制增加處理機(jī)開銷;程序整個(gè)地址空間都進(jìn)行傳送,沒有考慮執(zhí)行過程中地址訪問的統(tǒng)計(jì)特性。進(jìn)行傳送,沒有考慮執(zhí)行過程中地址訪問的統(tǒng)計(jì)特性。 考慮的問題:考慮的問題:換出進(jìn)程的選擇:一般換出短時(shí)間不會(huì)運(yùn)行的進(jìn)程換出進(jìn)程的選擇:一般換出短時(shí)間不會(huì)運(yùn)行的進(jìn)程交換時(shí)機(jī)的選擇:內(nèi)存不夠后有危險(xiǎn)時(shí)換出短時(shí)間不會(huì)交換時(shí)機(jī)的選擇:內(nèi)存不夠后有危險(xiǎn)時(shí)換出短時(shí)間不會(huì)運(yùn)行的進(jìn)程運(yùn)行的進(jìn)程交換空間的分配:可交換到外存的相同或不同對(duì)換區(qū)交換空間的分配:可交換到外存的相同或不同對(duì)換區(qū)換回內(nèi)存位置的確定:動(dòng)態(tài)重定位可以換回到不同的內(nèi)換回內(nèi)存位置的確定:動(dòng)態(tài)重定位可以換回到不同的內(nèi)存區(qū),否則只能換回到相同的內(nèi)存區(qū)存區(qū),否則只

22、能換回到相同的內(nèi)存區(qū)交換School of Electrical Engineering, Southeast University 交換技術(shù)與覆蓋技術(shù)相比,交換技術(shù)的缺點(diǎn)是要花交換技術(shù)與覆蓋技術(shù)相比,交換技術(shù)的缺點(diǎn)是要花費(fèi)大量內(nèi)、外存交換時(shí)間,所以外存中應(yīng)該保留交費(fèi)大量內(nèi)、外存交換時(shí)間,所以外存中應(yīng)該保留交換程序的副本換程序的副本 覆蓋與交換技術(shù)都實(shí)現(xiàn)了大作業(yè)在小內(nèi)存上運(yùn)行。覆蓋與交換技術(shù)都實(shí)現(xiàn)了大作業(yè)在小內(nèi)存上運(yùn)行。 覆蓋于與換技術(shù)的區(qū)別:覆蓋于與換技術(shù)的區(qū)別:覆蓋由用戶解決空間不足問題(即:覆蓋只能覆蓋由用戶解決空間不足問題(即:覆蓋只能在一個(gè)程序內(nèi)部進(jìn)行)在一個(gè)程序內(nèi)部進(jìn)行)交換由系統(tǒng)

23、解決空間不足問題(即:交換可以交換由系統(tǒng)解決空間不足問題(即:交換可以在任意程序間進(jìn)行)在任意程序間進(jìn)行)覆蓋對(duì)程序結(jié)構(gòu)有嚴(yán)格的限制覆蓋對(duì)程序結(jié)構(gòu)有嚴(yán)格的限制交換對(duì)程序結(jié)構(gòu)沒有限制交換對(duì)程序結(jié)構(gòu)沒有限制覆蓋與交換的比較School of Electrical Engineering, Southeast University引入:引入:避開作業(yè)的連續(xù)性要求,將一個(gè)作業(yè)存放在不連續(xù)的避開作業(yè)的連續(xù)性要求,將一個(gè)作業(yè)存放在不連續(xù)的存儲(chǔ)空間中,以很好地存儲(chǔ)空間中,以很好地解決碎片解決碎片問題。問題?;舅枷牖舅枷?系統(tǒng)把內(nèi)存物理空間等分為若干大小相等、位置固系統(tǒng)把內(nèi)存物理空間等分為若干大小相等、位

24、置固定的定的塊(或幀)塊(或幀)。將程序的邏輯地址空間劃分為與塊大小相。將程序的邏輯地址空間劃分為與塊大小相同的同的頁或頁面頁或頁面(page or page frame),程序加載時(shí),分配其,程序加載時(shí),分配其所需的所有塊,這些塊不必連續(xù)。所需的所有塊,這些塊不必連續(xù)。需要需要CPU的硬件支持。的硬件支持。頁面式存儲(chǔ)管理地址空間分成大小相同的部分地址空間分成大小相同的部分 頁頁存貯空間分成大小相同的部分存貯空間分成大小相同的部分 塊塊( (頁幀頁幀) )頁大小塊大小頁大小塊大小School of Electrical Engineering, Southeast University 頁表頁

25、表(PMT) :又稱頁面映象表,記錄一個(gè)作業(yè)程序的記錄一個(gè)作業(yè)程序的頁號(hào)所對(duì)應(yīng)的內(nèi)存塊號(hào)。頁號(hào)所對(duì)應(yīng)的內(nèi)存塊號(hào)。 需要需要CPU的硬件支持。的硬件支持。頁號(hào)塊號(hào)塊號(hào)012238分配時(shí)頁對(duì)分配時(shí)頁對(duì)應(yīng)塊,但不應(yīng)塊,但不要求連續(xù)要求連續(xù)頁表包括:頁號(hào),塊號(hào)頁面式存儲(chǔ)管理School of Electrical Engineering, Southeast University頁幀頁幀1919Operating System作業(yè)作業(yè)2 2(頁(頁0 0) 00000H00000H0B000H0B000H0A800H0A800H0B800H0B800H0C000H0C000H0E000H0E000H作

26、業(yè)作業(yè)1 1(頁(頁0 0) 作業(yè)作業(yè)2 2(頁(頁2 2) 作業(yè)作業(yè)1 1(頁(頁1 1) 作業(yè)作業(yè)2 2(頁(頁1 1) 作業(yè)作業(yè)3 3(頁(頁0 0) 物理地址空間物理地址空間頁幀頁幀0 0頁幀頁幀2020頁幀頁幀2121頁幀頁幀2222頁幀頁幀2323頁幀頁幀2424頁幀頁幀2525頁幀頁幀2626頁幀頁幀2727頁幀頁幀28280C800H0C800H0D000H0D000H0D800H0D800H0 01 1邏輯地址空間邏輯地址空間作業(yè)作業(yè)1(4K)1(4K)0 01 1作業(yè)作業(yè)2(5K)2(5K)2 20 0作業(yè)作業(yè)3(1.8K)3(1.8K)0 01 1頁表頁表0 01 12

27、20 0頁幀號(hào)頁幀號(hào)222220202525212124242727頁面式存儲(chǔ)管理School of Electrical Engineering, Southeast University 地址變換:地址變換:指令所給出地址分為兩部分:邏輯頁號(hào),頁內(nèi)偏指令所給出地址分為兩部分:邏輯頁號(hào),頁內(nèi)偏移地址移地址查進(jìn)程頁表,得物理頁號(hào)查進(jìn)程頁表,得物理頁號(hào)物理地址物理地址 頁面大?。喉撁娲笮。和ǔJ菐淄ǔJ菐譑B到幾十到幾十KB(?。ㄈ?的冪)。的冪)。 小小內(nèi)部碎片小;大內(nèi)部碎片?。淮箜摫矶?,管理開銷小,交換時(shí)對(duì)頁表短,管理開銷小,交換時(shí)對(duì)外存外存I/O效率高。效率高。頁面式存儲(chǔ)管理School

28、of Electrical Engineering, Southeast UniversityProgramPagingMain MemoryVirtual AddressRegisterPage TablePageFrameOffsetP#Frame #Page Table PtrPage #OffsetFrame #Offset+頁式地址變換頁面式存儲(chǔ)管理School of Electrical Engineering, Southeast University引入:引入:向用戶提供大容量存儲(chǔ)器,把內(nèi)存和外存統(tǒng)一考慮,向用戶提供大容量存儲(chǔ)器,把內(nèi)存和外存統(tǒng)一考慮,外存作為存儲(chǔ)信息的主要媒介

29、,內(nèi)存作為處理機(jī)需要訪問的外存作為存儲(chǔ)信息的主要媒介,內(nèi)存作為處理機(jī)需要訪問的數(shù)據(jù)緩沖區(qū)。數(shù)據(jù)緩沖區(qū)。基本思想基本思想:運(yùn)行一個(gè)作業(yè)程序時(shí),并不要求把該作業(yè)的全部程運(yùn)行一個(gè)作業(yè)程序時(shí),并不要求把該作業(yè)的全部程序和數(shù)據(jù)都裝入內(nèi)存,可只把目前要執(zhí)行的幾頁調(diào)入內(nèi)存的序和數(shù)據(jù)都裝入內(nèi)存,可只把目前要執(zhí)行的幾頁調(diào)入內(nèi)存的空閑存儲(chǔ)塊,其余部分仍保存在外存,以后根據(jù)作業(yè)程序運(yùn)空閑存儲(chǔ)塊,其余部分仍保存在外存,以后根據(jù)作業(yè)程序運(yùn)行情況需要時(shí)再調(diào)入內(nèi)存。行情況需要時(shí)再調(diào)入內(nèi)存。請(qǐng)求式頁面存儲(chǔ)管理 需解決的問題:需解決的問題: 提供一種機(jī)制,檢測(cè)訪問的頁是否在內(nèi)存,若不在,為之提供一種機(jī)制,檢測(cè)訪問的頁是否在內(nèi)存

30、,若不在,為之分配一物理頁,修改頁表項(xiàng),并將邏輯頁調(diào)入到物理頁。分配一物理頁,修改頁表項(xiàng),并將邏輯頁調(diào)入到物理頁。 選擇淘汰算法:選擇淘汰算法:當(dāng)外存上某頁信息需調(diào)入內(nèi)存而內(nèi)存中又無空閑存儲(chǔ)塊時(shí),則需按某種當(dāng)外存上某頁信息需調(diào)入內(nèi)存而內(nèi)存中又無空閑存儲(chǔ)塊時(shí),則需按某種淘汰算法從內(nèi)存中選擇一頁將其內(nèi)容淘汰。淘汰算法從內(nèi)存中選擇一頁將其內(nèi)容淘汰。淘汰算法不合理將產(chǎn)生淘汰算法不合理將產(chǎn)生抖動(dòng)現(xiàn)象抖動(dòng)現(xiàn)象剛被調(diào)出的頁馬上又被要求調(diào)入。剛被調(diào)出的頁馬上又被要求調(diào)入。School of Electrical Engineering, Southeast University 存儲(chǔ)保護(hù)的目的:存儲(chǔ)保護(hù)的目的

31、: 保護(hù)保護(hù)系統(tǒng)程序區(qū)系統(tǒng)程序區(qū)不被用戶侵犯(有意或無意的)不被用戶侵犯(有意或無意的) 不允許用戶程序讀寫不允許用戶程序讀寫不屬于自己地址空間的數(shù)據(jù)不屬于自己地址空間的數(shù)據(jù)(系統(tǒng)(系統(tǒng)區(qū)地址空間,其他用戶程序的地址空間)區(qū)地址空間,其他用戶程序的地址空間)1. 存儲(chǔ)保護(hù)存儲(chǔ)保護(hù)由于存儲(chǔ)保護(hù)由于存儲(chǔ)保護(hù)檢查檢查是針對(duì)每個(gè)是針對(duì)每個(gè)存儲(chǔ)訪問操作存儲(chǔ)訪問操作進(jìn)行的,必須由進(jìn)行的,必須由相應(yīng)的處理器相應(yīng)的處理器硬件機(jī)構(gòu)支持硬件機(jī)構(gòu)支持。頁面的共享與保護(hù)School of Electrical Engineering, Southeast University 存儲(chǔ)保護(hù)類型存儲(chǔ)保護(hù)類型 界限保護(hù)界限保

32、護(hù):所有訪問地址必須在上下界之間;每個(gè)進(jìn)程都有:所有訪問地址必須在上下界之間;每個(gè)進(jìn)程都有自己獨(dú)立的進(jìn)程空間,如果一個(gè)進(jìn)程在運(yùn)行時(shí)所產(chǎn)生的地址自己獨(dú)立的進(jìn)程空間,如果一個(gè)進(jìn)程在運(yùn)行時(shí)所產(chǎn)生的地址在其地址空間之外,則發(fā)生在其地址空間之外,則發(fā)生地址越界地址越界。 訪問方式保護(hù)訪問方式保護(hù):通過保護(hù)鍵匹配來判斷:通過保護(hù)鍵匹配來判斷存儲(chǔ)訪問方式存儲(chǔ)訪問方式是否合是否合法。對(duì)于允許多個(gè)進(jìn)程共享的存儲(chǔ)區(qū)域,每個(gè)進(jìn)程都有自己法。對(duì)于允許多個(gè)進(jìn)程共享的存儲(chǔ)區(qū)域,每個(gè)進(jìn)程都有自己的訪問權(quán)限。如果一個(gè)進(jìn)程對(duì)共享區(qū)域的訪問違反了權(quán)限規(guī)的訪問權(quán)限。如果一個(gè)進(jìn)程對(duì)共享區(qū)域的訪問違反了權(quán)限規(guī)定,則發(fā)生定,則發(fā)生操作越

33、權(quán)操作越權(quán)(即讀寫保護(hù)即讀寫保護(hù))。對(duì)每個(gè)內(nèi)存區(qū)域指定一個(gè)。對(duì)每個(gè)內(nèi)存區(qū)域指定一個(gè)鍵值和若干禁止的訪問方式,進(jìn)程中也指定鍵值,如果訪問鍵值和若干禁止的訪問方式,進(jìn)程中也指定鍵值,如果訪問時(shí)鍵值不匹配而且是被禁止的訪問方式,則出錯(cuò);時(shí)鍵值不匹配而且是被禁止的訪問方式,則出錯(cuò); 環(huán)保護(hù)環(huán)保護(hù):處理器狀態(tài)分為多個(gè)環(huán):處理器狀態(tài)分為多個(gè)環(huán)(ring),分別具有不同的,分別具有不同的存儲(chǔ)存儲(chǔ)訪問特權(quán)級(jí)別訪問特權(quán)級(jí)別(privilege),通常是級(jí)別高的在內(nèi)環(huán),編號(hào)?。ǎǔJ羌?jí)別高的在內(nèi)環(huán),編號(hào)小(如如0環(huán))級(jí)別最高;可訪問同環(huán)或更低級(jí)別環(huán)的環(huán))級(jí)別最高;可訪問同環(huán)或更低級(jí)別環(huán)的數(shù)據(jù)數(shù)據(jù);可調(diào)用;可調(diào)用

34、同環(huán)或更高級(jí)別環(huán)的同環(huán)或更高級(jí)別環(huán)的服務(wù)服務(wù)。頁面的共享與保護(hù)School of Electrical Engineering, Southeast University 共享頁面共享頁面:在物理頁面表中有引用計(jì)數(shù)。:在物理頁面表中有引用計(jì)數(shù)。只能共享不被修改只能共享不被修改的頁面的頁面。這。這對(duì)用戶應(yīng)用是透明對(duì)用戶應(yīng)用是透明的,完全由操作系統(tǒng)控制,目的,完全由操作系統(tǒng)控制,目的在于的在于減少系統(tǒng)內(nèi)的物理頁面總數(shù)減少系統(tǒng)內(nèi)的物理頁面總數(shù)。 當(dāng)共享頁從內(nèi)存中淘汰或重新裝入內(nèi)存時(shí),共享該頁的所當(dāng)共享頁從內(nèi)存中淘汰或重新裝入內(nèi)存時(shí),共享該頁的所有作業(yè)進(jìn)程的頁表中的相應(yīng)頁表項(xiàng)必須被同時(shí)更新。有作業(yè)進(jìn)程

35、的頁表中的相應(yīng)頁表項(xiàng)必須被同時(shí)更新。 寫時(shí)復(fù)制寫時(shí)復(fù)制(copy on write):如果一個(gè)進(jìn)程要改寫共享頁面:如果一個(gè)進(jìn)程要改寫共享頁面,則先把該頁面復(fù)制一份,讓該進(jìn)程訪問復(fù)制后的頁面,則先把該頁面復(fù)制一份,讓該進(jìn)程訪問復(fù)制后的頁面,而讓其他進(jìn)程訪問復(fù)制前的頁面。而讓其他進(jìn)程訪問復(fù)制前的頁面。通過通過引用計(jì)數(shù)引用計(jì)數(shù)(reference count)來描述存儲(chǔ)區(qū)的共享,引用計(jì)來描述存儲(chǔ)區(qū)的共享,引用計(jì)數(shù)表示數(shù)表示共享它的進(jìn)程的數(shù)目共享它的進(jìn)程的數(shù)目:2.存儲(chǔ)共享存儲(chǔ)共享頁面的共享與保護(hù)School of Electrical Engineering, Southeast Universit

36、y 段式存儲(chǔ)管理基本思想:段式存儲(chǔ)管理基本思想:將程序的地址空間劃分為將程序的地址空間劃分為若干個(gè)段若干個(gè)段(segment),程序加載時(shí),程序加載時(shí),分配其所需的所有段(內(nèi)存分區(qū)),這些段分配其所需的所有段(內(nèi)存分區(qū)),這些段不必連續(xù)不必連續(xù);物理內(nèi);物理內(nèi)存的管理采用存的管理采用動(dòng)態(tài)分區(qū)動(dòng)態(tài)分區(qū)。需要需要CPU的硬件支持的硬件支持。段式存儲(chǔ)管理地址結(jié)構(gòu)如下:地址結(jié)構(gòu)如下:段號(hào)S段內(nèi)位移量d通過通過段表實(shí)現(xiàn)邏輯地址到物理地址的映射段表實(shí)現(xiàn)邏輯地址到物理地址的映射段表結(jié)構(gòu):段表結(jié)構(gòu):該段在內(nèi)存中的首地址;段長;訪問權(quán)限,段該段在內(nèi)存中的首地址;段長;訪問權(quán)限,段存在位(該段是否在內(nèi)存)存在位(

37、該段是否在內(nèi)存)段表中各表項(xiàng)按段號(hào)從小到大順序排列段表中各表項(xiàng)按段號(hào)從小到大順序排列School of Electrical Engineering, Southeast UniversityB0SA0NY0LX0PM0K邏輯段號(hào)邏輯段號(hào)01234作業(yè)作業(yè)1 的地址空間的地址空間10003200500060008000PKSLN主存主存K 3200P 1500L 6000N 8000S 5000長度長度 段地址段地址01234操作系統(tǒng)操作系統(tǒng)段式存儲(chǔ)管理School of Electrical Engineering, Southeast UniversityBase + dProgramSe

38、gmentationMain MemoryVirtual AddressRegisterSegment TableSegmentdS#Length BaseSeg Table PtrSeg #Offset = dSegment Table+段式存儲(chǔ)管理School of Electrical Engineering, Southeast University 程序通過分段程序通過分段(segmentation)劃分為多個(gè)模塊,如代碼段、劃分為多個(gè)模塊,如代碼段、數(shù)據(jù)段、共享段。數(shù)據(jù)段、共享段。 可以分別可以分別編寫和編譯編寫和編譯 可以針對(duì)不同類型的段采取不同的可以針對(duì)不同類型的段采取不同的保

39、護(hù)保護(hù) 可以按段為單位來進(jìn)行可以按段為單位來進(jìn)行共享共享,包括通過動(dòng)態(tài)鏈接進(jìn)行代碼,包括通過動(dòng)態(tài)鏈接進(jìn)行代碼共享共享 優(yōu)點(diǎn):優(yōu)點(diǎn): 沒有內(nèi)部碎片,外部碎片可以通過內(nèi)存拼接來消除。沒有內(nèi)部碎片,外部碎片可以通過內(nèi)存拼接來消除。 便于改變進(jìn)程占用空間的大小。便于改變進(jìn)程占用空間的大小。 便于模塊化,便于處理共享問題。便于模塊化,便于處理共享問題。 缺點(diǎn):缺點(diǎn): 進(jìn)程全部裝入內(nèi)存。進(jìn)程全部裝入內(nèi)存。 段的最大長度受限于主存空間,開銷大。段的最大長度受限于主存空間,開銷大。段式存儲(chǔ)管理School of Electrical Engineering, Southeast University頁式管理和

40、段式管理的比較頁式管理和段式管理的比較 分頁是出于分頁是出于系統(tǒng)管理系統(tǒng)管理的需要,分段是出于的需要,分段是出于用戶應(yīng)用用戶應(yīng)用的需要。的需要。 一條指令或一個(gè)操作數(shù)可能會(huì)跨越兩個(gè)頁的分界處,而一條指令或一個(gè)操作數(shù)可能會(huì)跨越兩個(gè)頁的分界處,而不會(huì)跨越兩個(gè)段的分界處。不會(huì)跨越兩個(gè)段的分界處。 頁大小頁大小是系統(tǒng)固定的,而是系統(tǒng)固定的,而段大小段大小則通常不固定。則通常不固定。 邏輯地址表示:邏輯地址表示: 分頁是一維的,各個(gè)模塊在鏈接時(shí)必須組織成同一個(gè)地分頁是一維的,各個(gè)模塊在鏈接時(shí)必須組織成同一個(gè)地址空間;址空間; 分段是二維的,各個(gè)模塊在鏈接時(shí)可以每個(gè)段組織成一分段是二維的,各個(gè)模塊在鏈接時(shí)

41、可以每個(gè)段組織成一個(gè)地址空間。個(gè)地址空間。 通常段比頁大,因而段表比頁表短,可以縮短查找時(shí)間,提通常段比頁大,因而段表比頁表短,可以縮短查找時(shí)間,提高訪問速度。高訪問速度。School of Electrical Engineering, Southeast University是頁式和段式存儲(chǔ)管理的結(jié)合。是頁式和段式存儲(chǔ)管理的結(jié)合。段頁式存儲(chǔ)管理為了獲得分段在邏輯上的優(yōu)點(diǎn)和分頁在管理存儲(chǔ)空間方面為了獲得分段在邏輯上的優(yōu)點(diǎn)和分頁在管理存儲(chǔ)空間方面的優(yōu)點(diǎn)采用段頁式存貯管理。的優(yōu)點(diǎn)采用段頁式存貯管理。1. 1. 將邏輯地址空間以段劃分段式特征將邏輯地址空間以段劃分段式特征2. 2. 將物理地址空間

42、以頁劃分頁式特征將物理地址空間以頁劃分頁式特征3. 3. 每一段的地址空間劃分為頁每一段的地址空間劃分為頁School of Electrical Engineering, Southeast University 存儲(chǔ)管理的存儲(chǔ)管理的分配單位分配單位是:段,頁是:段,頁 邏輯地址邏輯地址的組成:段號(hào),頁號(hào),頁內(nèi)偏移地址。的組成:段號(hào),頁號(hào),頁內(nèi)偏移地址。 將段內(nèi)地址將段內(nèi)地址d分為段內(nèi)頁號(hào)和頁內(nèi)偏移地址兩部分。分為段內(nèi)頁號(hào)和頁內(nèi)偏移地址兩部分。 地址變換地址變換:先查段表,再查該段的頁表。缺段中斷和缺:先查段表,再查該段的頁表。缺段中斷和缺頁中斷。頁中斷。地址結(jié)構(gòu):地址結(jié)構(gòu):SPWS:段號(hào)P

43、:頁號(hào)W:頁內(nèi)偏移地址d段頁式存儲(chǔ)管理School of Electrical Engineering, Southeast University優(yōu)點(diǎn):優(yōu)點(diǎn):具有分段存儲(chǔ)管理和分頁存儲(chǔ)管理的全部優(yōu)點(diǎn);具有分段存儲(chǔ)管理和分頁存儲(chǔ)管理的全部優(yōu)點(diǎn);為用戶提供了大量的虛擬存儲(chǔ)空間,提高內(nèi)存的利用率。為用戶提供了大量的虛擬存儲(chǔ)空間,提高內(nèi)存的利用率。對(duì)大、中型計(jì)算機(jī)來說,是使用最廣泛、最靈活的一種對(duì)大、中型計(jì)算機(jī)來說,是使用最廣泛、最靈活的一種存儲(chǔ)管理。存儲(chǔ)管理。缺點(diǎn):缺點(diǎn):增加了硬件成本、系統(tǒng)復(fù)雜性和管理上的開銷;增加了硬件成本、系統(tǒng)復(fù)雜性和管理上的開銷;表格占用了大量的存儲(chǔ)空間;表格占用了大量的存儲(chǔ)

44、空間;仍存在內(nèi)部碎片,存在系統(tǒng)顛簸的危險(xiǎn)。仍存在內(nèi)部碎片,存在系統(tǒng)顛簸的危險(xiǎn)。段頁式存儲(chǔ)管理School of Electrical Engineering, Southeast University文件管理文件管理 文件管理的功能文件管理的功能 文件系統(tǒng)概念文件系統(tǒng)概念 文件結(jié)構(gòu)與存取方法文件結(jié)構(gòu)與存取方法 文件目錄管理文件目錄管理 文件存儲(chǔ)空間管理文件存儲(chǔ)空間管理 文件使用一般模型文件使用一般模型 文件共享、保護(hù)和保密文件共享、保護(hù)和保密School of Electrical Engineering, Southeast University文件管理的功能文件管理的功能 目標(biāo):目標(biāo): 使

45、用方便,便于共享,安全可靠使用方便,便于共享,安全可靠 功能:功能: 提供用戶對(duì)文件操作的命令;實(shí)現(xiàn)文件的提供用戶對(duì)文件操作的命令;實(shí)現(xiàn)文件的“按名存按名存取取”。 提供用戶共享文件的機(jī)制;提供用戶共享文件的機(jī)制; 提供文件的存取控制的機(jī)制,保障文件及文件系統(tǒng)的提供文件的存取控制的機(jī)制,保障文件及文件系統(tǒng)的安全性;安全性; 管理文件的存儲(chǔ)介質(zhì)管理文件的存儲(chǔ)介質(zhì).School of Electrical Engineering, Southeast University文件系統(tǒng)概念文件系統(tǒng)概念 文件:邏輯上具有完整意義的數(shù)據(jù)或信息的集合。文件:邏輯上具有完整意義的數(shù)據(jù)或信息的集合。 文件名:一個(gè)

46、有限長度的字符串。文件名:一個(gè)有限長度的字符串。 文件名文件名 文件擴(kuò)展名文件擴(kuò)展名 按文件性質(zhì)和用途分:按文件性質(zhì)和用途分: 系統(tǒng)文件系統(tǒng)文件 庫文件庫文件 用戶文件用戶文件 按保護(hù)級(jí)別分:按保護(hù)級(jí)別分: 只讀文件只讀文件 讀寫文件讀寫文件 執(zhí)行文件執(zhí)行文件 不保護(hù)文件不保護(hù)文件School of Electrical Engineering, Southeast University1) 有效有效地分配文件存貯器的存貯空間地分配文件存貯器的存貯空間(物理介質(zhì)物理介質(zhì))2) 提供提供一種組織數(shù)據(jù)的方法一種組織數(shù)據(jù)的方法(按名存取、邏輯結(jié)構(gòu)、組按名存取、邏輯結(jié)構(gòu)、組織數(shù)據(jù)織數(shù)據(jù))3) 提供提供

47、合適的存取方法合適的存取方法(順序存取、隨機(jī)存取順序存取、隨機(jī)存取) 從系統(tǒng)的角度看從系統(tǒng)的角度看:文件系統(tǒng)是一個(gè)負(fù)責(zé)文件存儲(chǔ)空間:文件系統(tǒng)是一個(gè)負(fù)責(zé)文件存儲(chǔ)空間管理的機(jī)構(gòu)。管理的機(jī)構(gòu)。 從用戶的角度看從用戶的角度看:文件系統(tǒng)是用戶在計(jì)算機(jī)上存儲(chǔ)信:文件系統(tǒng)是用戶在計(jì)算機(jī)上存儲(chǔ)信息和使用信息的接口。息和使用信息的接口。文件系統(tǒng)概念文件系統(tǒng)概念School of Electrical Engineering, Southeast University文件結(jié)構(gòu)與存取方法文件結(jié)構(gòu)與存取方法邏輯文件:邏輯文件:從用戶觀點(diǎn)出發(fā),所觀察到的文件組織形式,是從用戶觀點(diǎn)出發(fā),所觀察到的文件組織形式,是用戶可以

48、直接處理的數(shù)據(jù)及其結(jié)構(gòu),它獨(dú)立于文件及其介質(zhì)用戶可以直接處理的數(shù)據(jù)及其結(jié)構(gòu),它獨(dú)立于文件及其介質(zhì)的物理特性,又稱為文件組織。的物理特性,又稱為文件組織。物理文件:物理文件:文件的存儲(chǔ)結(jié)構(gòu),是文件在外存上存儲(chǔ)組織形式,文件的存儲(chǔ)結(jié)構(gòu),是文件在外存上存儲(chǔ)組織形式,與存儲(chǔ)介質(zhì)的存儲(chǔ)特性有關(guān)。與存儲(chǔ)介質(zhì)的存儲(chǔ)特性有關(guān)。 邏輯結(jié)構(gòu):邏輯結(jié)構(gòu): 指用戶思維中文件的結(jié)構(gòu)。指用戶思維中文件的結(jié)構(gòu)。 物理結(jié)構(gòu):物理結(jié)構(gòu): 指文件在存儲(chǔ)介質(zhì)上的結(jié)構(gòu)(或存儲(chǔ)組織)。指文件在存儲(chǔ)介質(zhì)上的結(jié)構(gòu)(或存儲(chǔ)組織)。 文件的存儲(chǔ)介質(zhì):磁盤(軟盤、硬盤、光盤)、磁文件的存儲(chǔ)介質(zhì):磁盤(軟盤、硬盤、光盤)、磁帶,磁鼓。帶,磁鼓。

49、目前文件的物理結(jié)構(gòu)主要是指磁盤上文件的結(jié)構(gòu)。目前文件的物理結(jié)構(gòu)主要是指磁盤上文件的結(jié)構(gòu)。School of Electrical Engineering, Southeast University 記錄式文件(有格式文件):記錄式文件(有格式文件):是一種有結(jié)構(gòu)的文件。由一個(gè)是一種有結(jié)構(gòu)的文件。由一個(gè)或多個(gè)記錄組成?;蚨鄠€(gè)記錄組成。 以邏輯記錄為單位進(jìn)行存取。以邏輯記錄為單位進(jìn)行存取。 定長記錄文件:定長記錄文件:文件中所有記錄的長度相同。文件中所有記錄的長度相同。 變長記錄文件:變長記錄文件:每個(gè)記錄的長度可以不同每個(gè)記錄的長度可以不同 無結(jié)構(gòu)的流式文件(無格式文件):無結(jié)構(gòu)的流式文件(無格

50、式文件):是有序字符的集合,文是有序字符的集合,文件的長度等于該文件包含的字符數(shù)。流式文件不分成記錄,件的長度等于該文件包含的字符數(shù)。流式文件不分成記錄,而是直接由一連串信息組成。而是直接由一連串信息組成。UNIX、DOS、WINDOWS系系統(tǒng)中的普通文件都是流式文件。統(tǒng)中的普通文件都是流式文件。文件結(jié)構(gòu)與存取方法文件結(jié)構(gòu)與存取方法School of Electrical Engineering, Southeast Universityl1記錄1 l2記錄2(a) 變長指示記錄長度l1l2記錄1 記錄2ll(b) 定長記錄文件記錄文件變長:每個(gè)記錄的頭幾個(gè)字節(jié)存儲(chǔ)記錄長度變長:每個(gè)記錄的頭幾

51、個(gè)字節(jié)存儲(chǔ)記錄長度文件結(jié)構(gòu)與存取方法文件結(jié)構(gòu)與存取方法School of Electrical Engineering, Southeast University優(yōu)點(diǎn):優(yōu)點(diǎn): 在空間利用上比較省,沒有額外的說明和控制信息。在空間利用上比較省,沒有額外的說明和控制信息。對(duì)流式文件而言,它是按信息的個(gè)數(shù)或以特殊字對(duì)流式文件而言,它是按信息的個(gè)數(shù)或以特殊字符為界進(jìn)行存取的。符為界進(jìn)行存取的。流式文件流式文件文件結(jié)構(gòu)與存取方法文件結(jié)構(gòu)與存取方法School of Electrical Engineering, Southeast University文件的物理結(jié)構(gòu)文件的物理結(jié)構(gòu) 文件存儲(chǔ)介質(zhì)格式化后就

52、分成許多大小相等的單位文件存儲(chǔ)介質(zhì)格式化后就分成許多大小相等的單位存儲(chǔ)塊(物理盤塊)。存儲(chǔ)塊(物理盤塊)。 一般來說,每個(gè)物理塊是一個(gè)磁盤的扇區(qū),一般來說,每個(gè)物理塊是一個(gè)磁盤的扇區(qū),512字節(jié)。字節(jié)。 每個(gè)存儲(chǔ)塊有個(gè)編號(hào),稱為物理塊號(hào)。每個(gè)存儲(chǔ)塊有個(gè)編號(hào),稱為物理塊號(hào)。 文件的物理結(jié)構(gòu)指文件在存儲(chǔ)介質(zhì)上結(jié)構(gòu),目前有三種文件的物理結(jié)構(gòu)指文件在存儲(chǔ)介質(zhì)上結(jié)構(gòu),目前有三種基本結(jié)構(gòu)基本結(jié)構(gòu): 連續(xù)結(jié)構(gòu)連續(xù)結(jié)構(gòu) 鏈接結(jié)構(gòu)鏈接結(jié)構(gòu) 索引結(jié)構(gòu)索引結(jié)構(gòu)School of Electrical Engineering, Southeast University連續(xù)結(jié)構(gòu)連續(xù)結(jié)構(gòu) 連續(xù)文件是一種連續(xù)結(jié)構(gòu)的文件,對(duì)

53、每個(gè)文件要求存放在連續(xù)文件是一種連續(xù)結(jié)構(gòu)的文件,對(duì)每個(gè)文件要求存放在存儲(chǔ)介質(zhì)上的連續(xù)的物理塊中。存儲(chǔ)介質(zhì)上的連續(xù)的物理塊中。 存儲(chǔ)空間利用率不高。類似于存儲(chǔ)管理中的分區(qū),適用于存儲(chǔ)空間利用率不高。類似于存儲(chǔ)管理中的分區(qū),適用于變化不大的順序訪問的文件。變化不大的順序訪問的文件。 在在UNIX系統(tǒng)中仍保留了連續(xù)文件結(jié)構(gòu)。系統(tǒng)中仍保留了連續(xù)文件結(jié)構(gòu)。 優(yōu)點(diǎn):優(yōu)點(diǎn):結(jié)構(gòu)簡單,實(shí)現(xiàn)容易,不需要額外的開銷。結(jié)構(gòu)簡單,實(shí)現(xiàn)容易,不需要額外的開銷。 缺點(diǎn):缺點(diǎn): 用戶創(chuàng)建文件時(shí)要給出文件的大?。挥脩魟?chuàng)建文件時(shí)要給出文件的大?。?不利于文件的動(dòng)態(tài)增加和修改;不利于文件的動(dòng)態(tài)增加和修改;School of El

54、ectrical Engineering, Southeast University鏈接結(jié)構(gòu)鏈接結(jié)構(gòu) 鏈接鏈接結(jié)構(gòu)是按順序由結(jié)構(gòu)是按順序由鏈接鏈接的塊組成的。的塊組成的。即每個(gè)物理塊的最末一個(gè)字即每個(gè)物理塊的最末一個(gè)字( (或第一個(gè)字或第一個(gè)字) )作為鏈接作為鏈接字,它指出后繼塊的物理地址。字,它指出后繼塊的物理地址。鏈?zhǔn)字羔槾娣旁谠撐募夸浿?。文件的結(jié)尾塊的指鏈?zhǔn)字羔槾娣旁谠撐募夸浿?。文件的結(jié)尾塊的指針為針為“NULLNULL”。 不要求連續(xù)存放。不要求連續(xù)存放。 對(duì)于記錄式文件一塊中可包含一個(gè)邏輯記錄或多個(gè)邏輯對(duì)于記錄式文件一塊中可包含一個(gè)邏輯記錄或多個(gè)邏輯記錄,也可以若干物理塊包含一

55、個(gè)邏輯記錄。記錄,也可以若干物理塊包含一個(gè)邏輯記錄。School of Electrical Engineering, Southeast University 存儲(chǔ)空間利用率高;存儲(chǔ)空間利用率高; 文件創(chuàng)建時(shí)用戶不必指出文件的大??;文件創(chuàng)建時(shí)用戶不必指出文件的大小; 文件動(dòng)態(tài)擴(kuò)充和修改容易。文件動(dòng)態(tài)擴(kuò)充和修改容易。 順序存取效率高,隨機(jī)存取效率太低,如果訪問文件的最順序存取效率高,隨機(jī)存取效率太低,如果訪問文件的最后的內(nèi)容,實(shí)際上是要訪問整個(gè)文件。后的內(nèi)容,實(shí)際上是要訪問整個(gè)文件。鏈接結(jié)構(gòu)鏈接結(jié)構(gòu)School of Electrical Engineering, Southeast Univ

56、ersity索引結(jié)構(gòu)索引結(jié)構(gòu) 非連續(xù)文件存放非連續(xù)文件存放 文件索引表:每個(gè)文件有一個(gè)索引表,表中包括:邏文件索引表:每個(gè)文件有一個(gè)索引表,表中包括:邏輯塊號(hào),物理塊號(hào)。輯塊號(hào),物理塊號(hào)。 訪問文件時(shí),根據(jù)文件的邏輯塊號(hào)查文件索引表,找訪問文件時(shí),根據(jù)文件的邏輯塊號(hào)查文件索引表,找到對(duì)應(yīng)的物理塊號(hào),然后,進(jìn)行訪問。到對(duì)應(yīng)的物理塊號(hào),然后,進(jìn)行訪問。 索引結(jié)構(gòu)即保持了鏈?zhǔn)浇Y(jié)構(gòu)的優(yōu)點(diǎn),又克服了其缺點(diǎn)索引結(jié)構(gòu)即保持了鏈?zhǔn)浇Y(jié)構(gòu)的優(yōu)點(diǎn),又克服了其缺點(diǎn)(既能順序存取,也可隨機(jī)存儲(chǔ))(既能順序存取,也可隨機(jī)存儲(chǔ)) 索引結(jié)構(gòu)是當(dāng)代計(jì)算機(jī)操作系統(tǒng)中普遍采用的結(jié)構(gòu),索引結(jié)構(gòu)是當(dāng)代計(jì)算機(jī)操作系統(tǒng)中普遍采用的結(jié)構(gòu),如

57、如UNIXUNIX系統(tǒng)、系統(tǒng)、LINUXLINUX系統(tǒng)。系統(tǒng)。School of Electrical Engineering, Southeast University索引結(jié)構(gòu)索引結(jié)構(gòu)School of Electrical Engineering, Southeast University 順序存?。喉樞虼嫒。?記錄式文件中:記錄式文件中:嚴(yán)格按照物理記錄排列的順序依次存取。嚴(yán)格按照物理記錄排列的順序依次存取。 無結(jié)構(gòu)的流式文件:無結(jié)構(gòu)的流式文件:從文件當(dāng)前位置開始讀寫,然后根據(jù)從文件當(dāng)前位置開始讀寫,然后根據(jù)當(dāng)前位置的位移讀寫后繼的信息。當(dāng)前位置的位移讀寫后繼的信息。讀寫文件存儲(chǔ)器上的一

58、個(gè)物理塊的方法。讀寫文件存儲(chǔ)器上的一個(gè)物理塊的方法。 直接存?。S機(jī)存取):直接存?。S機(jī)存取):按任意次序存取文件中的記錄,而按任意次序存取文件中的記錄,而不是順序的不是順序的 記錄式文件中:記錄式文件中:對(duì)定長記錄的順序文件,可直接存取;對(duì)對(duì)定長記錄的順序文件,可直接存取;對(duì)變長記錄的順序文件,需建立一張索引表,以指出每個(gè)記變長記錄的順序文件,需建立一張索引表,以指出每個(gè)記錄的長度和起始位置,索引表按記錄號(hào)順序排列。錄的長度和起始位置,索引表按記錄號(hào)順序排列。 無結(jié)構(gòu)的流式文件:無結(jié)構(gòu)的流式文件:事先把該文件的現(xiàn)行位置指針設(shè)置到事先把該文件的現(xiàn)行位置指針設(shè)置到欲讀寫信息的起始位置。欲讀寫信

59、息的起始位置。文件的存取方法文件的存取方法School of Electrical Engineering, Southeast Universityl1記錄1 l2記錄2(a) 變長指示記錄長度l1l2記錄1 記錄2ll(b) 定長12iiiPPllPPii1記錄文件記錄文件變長:每個(gè)記錄的頭幾個(gè)字節(jié)存儲(chǔ)記錄長度,這里為變長:每個(gè)記錄的頭幾個(gè)字節(jié)存儲(chǔ)記錄長度,這里為2 2個(gè)字節(jié)個(gè)字節(jié)文件的存取方法文件的存取方法School of Electrical Engineering, Southeast University磁盤(磁鼓)磁盤(磁鼓)磁帶磁帶文件的物理文件的物理結(jié)構(gòu)結(jié)構(gòu) 連續(xù)連續(xù)鏈表鏈

60、表索引索引連續(xù)連續(xù)存取方法存取方法 順序、直接順序、直接順序順序順序、直接順序、直接順序順序文件結(jié)構(gòu)、存儲(chǔ)設(shè)備和存取方法之間的關(guān)系文件結(jié)構(gòu)、存儲(chǔ)設(shè)備和存取方法之間的關(guān)系文件的存取方法文件的存取方法School of Electrical Engineering, Southeast University文件目錄管理文件目錄管理 文件的組成文件的組成 一級(jí)目錄一級(jí)目錄 二級(jí)目錄二級(jí)目錄 多級(jí)目錄多級(jí)目錄School of Electrical Engineering, Southeast University文件的組成文件的組成 文件目錄項(xiàng)文件目錄項(xiàng):又稱為:又稱為文件控制塊(文件控制塊(FCB

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論