操作系統(tǒng)原理9-文件系統(tǒng).ppt_第1頁(yè)
操作系統(tǒng)原理9-文件系統(tǒng).ppt_第2頁(yè)
操作系統(tǒng)原理9-文件系統(tǒng).ppt_第3頁(yè)
操作系統(tǒng)原理9-文件系統(tǒng).ppt_第4頁(yè)
操作系統(tǒng)原理9-文件系統(tǒng).ppt_第5頁(yè)
已閱讀5頁(yè),還剩76頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1,2,第九章 文件系統(tǒng),3,第九章 文件系統(tǒng),9.1 文件系統(tǒng)的概念 9.1.1 引言,4,9.1 文件系統(tǒng)的概念9.1.2 文件,一、文件定義 1、文件是具有符號(hào)名的信息(數(shù)據(jù))項(xiàng)的 集合。 2、文件是具有符號(hào)名的記錄的集合。,5,9.1 文件系統(tǒng)的概念9.1.2 文件,二、文件名 根據(jù)文件的定義,每個(gè)文件必須有一個(gè)唯一的文件名, 不論是系統(tǒng)管理,還是用戶使用文件都使用文件名。 文件名是一個(gè)有限長(zhǎng)度的字符串。 DOS、WINDOWS系統(tǒng)中文件名: 文件名 文件擴(kuò)展名 文件名是一個(gè)不大于8個(gè)字符的字符串,但WINDOWS系 統(tǒng)中允許超長(zhǎng)文件名,最多可有256個(gè)字符,不區(qū)分英文 字母的大小寫。

2、,6,9.1 文件系統(tǒng)的概念9.1.2 文件,文件擴(kuò)展名: 不大于3個(gè)字符,一般用來(lái)表示文件的類型。 例如: C C語(yǔ)言源程序文件 COM 可執(zhí)行文件(小模式) EXE 可執(zhí)行文件(大模式) BAT 批處理文件 OBJ 目標(biāo)文件 hust.txt ll.c ll.obj ll.exe 操作系統(tǒng)教學(xué)片91.ppt,7,9.1 文件系統(tǒng)的概念9.1.2 文件,UNIX系統(tǒng)中的文件名: 文件名是一個(gè)不大于14個(gè)字符的字符串。并且區(qū)分英文 字母的大小寫。 例如:unix linux ll.c a .out aa AA 注意:在UNIX系統(tǒng)中文件名就是一個(gè)字符串,沒有文件名和文件擴(kuò) 展名之分,文件的類型

3、由用戶命名時(shí)確定。 例如,li.c,UNIX系統(tǒng)認(rèn)為這個(gè)文件名的長(zhǎng)度是4個(gè)字符。 而在DOS、WINDOWS系統(tǒng)中則解釋這個(gè)文件名,li是文件名,c是 文件擴(kuò)展名,表示該文件是一個(gè)C語(yǔ)言的源程序文件,而是文件名 和文件擴(kuò)展名的分隔符。,8,9.1 文件系統(tǒng)的概念9.1.2 文件,三。文件的分類 教材講了三種文件分類的方法,下面介紹UNIX系統(tǒng)文件 分類方法: 1、普通文件 普通文件是無(wú)結(jié)構(gòu)的字符的集合。 2、目錄文件 目錄文件是由文件的目錄項(xiàng)組成的文件。 3、特別文件 特別文件就是設(shè)備。,9,9.1 文件系統(tǒng)的概念9.1.2 文件,四、文件的屬性 文件屬性反映文件的類型、存取控制、等 UNIX

4、系統(tǒng)中文件屬性: 普通文件 d 目錄文件 p 管道文件 c 字符型設(shè)備文件 b 塊設(shè)備文件,10,9.1.3 文件系統(tǒng),9.1.3 文件系統(tǒng) 文件系統(tǒng)是操作系統(tǒng)中負(fù)責(zé)管理和存取文件信息的軟件 機(jī)構(gòu),它是由管理文件所需的數(shù)據(jù)結(jié)構(gòu)和相應(yīng)的管理軟 件以及訪問文件的一組操作組成。 從系統(tǒng)的角度看:文件系統(tǒng)是一個(gè)負(fù)責(zé)文件存儲(chǔ)空間管 理的機(jī)構(gòu)。 從用戶的角度看:文件系統(tǒng)是用戶在計(jì)算機(jī)上存儲(chǔ)信息 、和使用信息的接口。,11,9.1.3 文件系統(tǒng),通用文件系統(tǒng)應(yīng)具有以下功能: 1、提供用戶對(duì)文件操作的命令; 2、提供用戶共享文件的機(jī)制; 3、管理文件的存儲(chǔ)介質(zhì); 4、提供文件的存取控制的機(jī)制,保障文件及文件系

5、統(tǒng)的 安全性; 5、提供文件及文件系統(tǒng)的備份和恢復(fù)功能; 6、提供對(duì)文件的加密和解密功能。,12,9.2 文件的邏輯組織與存取方法9.2.1 文件的組織,可以用兩種不同的觀點(diǎn)去進(jìn)行研究文件結(jié)構(gòu) 用戶觀點(diǎn): 是研究用戶“思維”中的抽象文件,或稱邏輯文件,其研 究的側(cè)重點(diǎn)在于為用戶提供一種邏輯結(jié)構(gòu)清晰、使用簡(jiǎn) 便的邏輯文件形式。用戶將按照這種形式去存儲(chǔ)、檢索 和加工有關(guān)文件中的信息。 實(shí)現(xiàn)觀點(diǎn): 是研究駐留在設(shè)備“介質(zhì)”中的實(shí)際文件,或稱物理文件 。它研究的側(cè)重點(diǎn)是選擇一些工作性能良好、設(shè)備利用 率高的物理文件形式。系統(tǒng)將按照這種形式同外部設(shè)備 打交道并控制信息的傳輸,13,9.2 文件的邏輯組織

6、與存取方法9.2.1 文件的組織,文件的組織有兩種: 文件的邏輯結(jié)構(gòu): 文件的邏輯結(jié)構(gòu)是指用戶思維中文件的結(jié)構(gòu)。 文件的物理結(jié)構(gòu): 文件的物理結(jié)構(gòu)是指文件在存儲(chǔ)介質(zhì)上的結(jié)構(gòu)(或稱組 織)。在當(dāng)代,文件的存儲(chǔ)介質(zhì)是磁盤,包括軟盤、硬 盤和光盤、磁帶,早期還有磁鼓。由于目前的磁帶是模 擬磁盤的結(jié)構(gòu),所以文件的物理結(jié)構(gòu)主要是指磁盤上文 件的結(jié)構(gòu)。,14,9.2.2 文件的邏輯結(jié)構(gòu)和存取方法,一、文件的邏輯結(jié)構(gòu) 文件的邏輯結(jié)構(gòu): 結(jié)構(gòu)文件記錄式文件。 無(wú)結(jié)構(gòu)文件流式文件 1、流式文件 無(wú)結(jié)構(gòu)的流式文件是相關(guān)的有序字符的集合。文件的長(zhǎng) 度為所含字符數(shù)。 UNIX、DOS、WINDOWS系統(tǒng)中的普通文件都

7、是流式文 件。,15,9.2.2 文件的邏輯結(jié)構(gòu)和存取方法,2、記錄式文件 記錄式文件是一種結(jié)構(gòu)式文件,文件是記錄的集合. 每個(gè)記錄由彼此相關(guān)的域構(gòu)成。記錄可按順序編號(hào)為記錄1,記錄2,記錄n。如果文件中所有記錄的長(zhǎng)度都相同,則這種文件為定長(zhǎng)記錄文件。 定長(zhǎng)記錄文件的長(zhǎng)度 = 記錄個(gè)數(shù)x記錄長(zhǎng)度。 變長(zhǎng)記錄文件的長(zhǎng)度為各記錄長(zhǎng)度之和。 例如:學(xué)生登記表文件 xsdjb.dbf 姓名 學(xué)號(hào) 籍貫 通信地址 郵政編碼 李銘 925678 武昌 武昌關(guān)山街125號(hào) 430074 司馬樂 925679 北京 北京海軍路88號(hào) 100034,16,9.2.2 文件的邏輯結(jié)構(gòu)和存取方法,3、兩種文件的比較

8、 流式文件就象給一張白紙給用戶,用戶可將他的信息任 意地寫到紙上,沒有任何格式上的限制。 記錄式文件就象給一張表格給用戶,用戶要按表規(guī)定的 格式填信息。 顯然,結(jié)構(gòu)式文件對(duì)用戶的限制很大,使用起來(lái)就不方 便,所以記錄式文件被淘汰是理所當(dāng)然的。,17,9.2.2 文件的邏輯結(jié)構(gòu)和存取方法,二、存取方法 順序存?。?后一次存取總是在前次存取的基礎(chǔ)上進(jìn)行的。每次存取 不必給出存取開始的位置。 隨機(jī)存?。?每次存取操作都要指定存取操作的開始位置。在系統(tǒng)中 提供文件存取操作有: n = read(fd,buffer,size); m = write(fd,buffer,size); 這兩個(gè)操作總是從當(dāng)前

9、位置開始讀(或?qū)懀?,?zhí)行順序 存取操作。,18,9.2.2 文件的邏輯結(jié)構(gòu)和存取方法,leek(fd,offset,mode) 調(diào)整文件的讀寫起始位置的系統(tǒng)調(diào)用,若在read、write之 前執(zhí)行l(wèi)eek操作,就調(diào)整了文件的讀寫指針(讀寫開始的 位置),實(shí)現(xiàn)了隨機(jī)存取。,19,9.3 文件的物理結(jié)構(gòu),一個(gè)文件存儲(chǔ)介質(zhì),格式化后就分成許多大小相等的單 位存儲(chǔ)塊(物理盤塊),在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,一 般來(lái)說(shuō),每個(gè)物理塊是一個(gè)磁盤的扇區(qū),512字節(jié)。并給 每個(gè)存儲(chǔ)塊有個(gè)編號(hào),稱為物理塊號(hào)。 文件的物理結(jié)構(gòu)指文件在存儲(chǔ)介質(zhì)上質(zhì)結(jié)構(gòu),目前有三 種基本結(jié)構(gòu),即連續(xù)文件結(jié)構(gòu)、串聯(lián)文件結(jié)構(gòu)和索引文 件結(jié)構(gòu)。,2

10、0,9.3 文件的物理結(jié)構(gòu),21,9.3 文件的物理結(jié)構(gòu) 9.3.1 連續(xù)文件,22,9.3 文件的物理結(jié)構(gòu) 9.3.1 連續(xù)文件,評(píng)價(jià): 優(yōu)點(diǎn):結(jié)構(gòu)簡(jiǎn)單,實(shí)現(xiàn)容易,不需要額外的開銷。 缺點(diǎn):用戶創(chuàng)建文件時(shí)要給出文件的大?。?不利于文件的動(dòng)態(tài)增加和修改; 連續(xù)文件是一種連續(xù)結(jié)構(gòu)的文件,對(duì)每個(gè)文件 要求存放在存儲(chǔ)介質(zhì)上的連續(xù)的物理塊中,存 儲(chǔ)空間利用率不高。類似于存儲(chǔ)管理中的分區(qū) 適用于變化不大的順序訪問的文件,在流行的UNIX系統(tǒng) 中仍保留了連續(xù)文件結(jié)構(gòu)。,23,9.3.2 串聯(lián)文件,一個(gè)串聯(lián)文件結(jié)構(gòu)是按順序由串聯(lián)的塊組成的,即文件 的信息按存儲(chǔ)介質(zhì)的物理特性存于若干塊中。 每個(gè)物理塊的最末一

11、個(gè)字(或第一個(gè)字)作為鏈接字,它 指出后繼塊的物理地址。鏈?zhǔn)字羔槾娣旁谠撐募夸浿?。文件的結(jié)尾塊的指針為“”。 這種文件結(jié)構(gòu)不要求連續(xù)存放。 對(duì)于記錄式文件一塊中可包含一個(gè)邏輯記錄或多個(gè)邏輯 記錄,也可以若干物理塊包含一個(gè)邏輯記錄。,24,9.3.2 串聯(lián)文件,25,9.3.2 串聯(lián)文件,評(píng)價(jià): 1.存儲(chǔ)空間利用率高; 2.文件創(chuàng)建時(shí)用戶不必指出文件的大小; 3.文件動(dòng)態(tài)擴(kuò)充和修改容易。 4.順序存取效率高,隨機(jī)存取效率太低,如果訪問文件的 最后的內(nèi)容,實(shí)際上是要訪問整個(gè)文件。 類似于存儲(chǔ)管理中的頁(yè)式,26,9.3.3 文件照映,為了克服鏈接文件的存取效率太低的問題,人們提出文件映照的技術(shù),

12、即把鏈接文件中的鏈接字集中在一結(jié)構(gòu)中,這樣既保持了鏈接文件的優(yōu)點(diǎn),也克服了其缺點(diǎn),DOS、WINDOWS系統(tǒng)就采用了這樣結(jié)構(gòu)。,27,9.3.3 文件照映,FAT:文件分配表,磁盤格式化 后建立,從磁盤的第二個(gè)開始, 有兩個(gè)相同的FAT。 磁盤的類型 : FDF,雙面,F(xiàn)CH,單面(9扇 區(qū)/磁道) F8H,硬盤 000H:空閑簇 FFFH:文件的結(jié)尾簇 XXXH:文件的下一簇,28,9.3.4 隨機(jī)文件,隨機(jī)文件結(jié)構(gòu)是另一種形式的非連續(xù)文件,文件數(shù)據(jù)存 放的存儲(chǔ)介質(zhì)上的物理塊號(hào)與文件的邏輯塊號(hào)一一對(duì)應(yīng) ,并建立這樣對(duì)應(yīng)關(guān)系的數(shù)據(jù)結(jié)構(gòu)文件索引表。 訪問文件時(shí),根據(jù)文件的邏輯塊號(hào)查文件索引表,找

13、到 對(duì)應(yīng)的物理塊號(hào),然后,進(jìn)行訪問。 隨機(jī)文件有三種形式的結(jié)構(gòu):直接地址結(jié)構(gòu)、索引結(jié)構(gòu) 、計(jì)算尋址結(jié)構(gòu)。 索引結(jié)構(gòu)是當(dāng)代計(jì)算機(jī)操作系統(tǒng)中普遍采用的結(jié)構(gòu),如 UNIX系統(tǒng)、LINUX系統(tǒng)。,29,9.3.4 隨機(jī)文件,索引文件結(jié)構(gòu) 這種文件結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)是文件的索引表,每個(gè)文件有一個(gè)索引表,表中每個(gè)表目包括:邏輯塊號(hào),物理塊號(hào)。 索引表位置:文件目錄中,文件的開頭等。 索引表大小:固定大小,非固定大小。,30,9.3.4 隨機(jī)文件,UNIX系統(tǒng)采用索引文件結(jié)構(gòu),UNIX系統(tǒng)采用多級(jí)間接索引結(jié)構(gòu),對(duì)小型文件采用直接索引,對(duì)大型文件采用間接索引,從而,既保證絕大多數(shù)的文件有高的存取效率,又能適應(yīng)存取

14、一些大型文件。(既保證了文件系統(tǒng)的高效率,又使其有很寬的適應(yīng)面)。,31,32,33,9.3.5 文件物理結(jié)構(gòu)的比較,連續(xù)文件的優(yōu)點(diǎn)是不需要額外的空間開銷,只要在文件目錄中指出文件的大小和首塊的塊號(hào)即可,對(duì)順序的訪問效率很高。適應(yīng)于順序存取。缺點(diǎn)是動(dòng)態(tài)地增長(zhǎng)和縮小系統(tǒng)開銷很大;文件創(chuàng)建時(shí)要求用戶提供文件的大??;存儲(chǔ)空間浪費(fèi)較大。 串聯(lián)文件克服了連續(xù)文件的不足之處,但文件的隨機(jī)訪問系統(tǒng)開銷較大。適應(yīng)于順序訪問的文件。DOS系統(tǒng)中改造了串聯(lián)文件的結(jié)構(gòu),使其克服了串聯(lián)文件的不足,但增加了系統(tǒng)的危險(xiǎn)性。,34,9.3.5 文件物理結(jié)構(gòu)的比較,索引文件既適應(yīng)于順序存訪問,也適應(yīng)于隨機(jī)訪問,是一種比較 好

15、的文件物理結(jié)構(gòu),但要有用于索引表的空間開銷和文件索引的時(shí)間開銷。UNIX系統(tǒng)是使用索引結(jié)構(gòu)成功的例子。 在當(dāng)前流行的一些UNIX操作系統(tǒng)的版本中,同時(shí)支持連續(xù)文件結(jié)構(gòu)和索引文件結(jié)構(gòu)。DOS、WINDOWS系統(tǒng)支撐類似于文件映照結(jié)構(gòu),35,9.4 存儲(chǔ)技術(shù)(自學(xué)),36,9.5 文件存儲(chǔ)空間管理,教材上講了幾機(jī)文件存儲(chǔ)空間管理的方法:空白文件、空閑塊鏈和位圖。(自學(xué)),37,9.5 文件存儲(chǔ)空間管理,UNIX系統(tǒng)的空閑塊的管理 在UNIX系統(tǒng)中每個(gè)子文件系統(tǒng)(一片軟盤、一個(gè)硬盤的 分區(qū),一卷磁帶)格式化后的結(jié)構(gòu)如圖所不,其中特別 塊是存放該子文件系統(tǒng)的管理信息,其中,包括空閑塊 管理信息。 s-

16、nfree :空閑塊數(shù) s_free100:空閑塊塊號(hào) s_flock:鎖位,38,9.5 文件存儲(chǔ)空間管理 UNIX系統(tǒng)的空閑塊的管理,39,9.5 文件存儲(chǔ)空間管理 UNIX系統(tǒng)的空閑塊的管理,40,9.6 文件目錄9.6.1 文件目錄及內(nèi)容,文件目錄: 文件目錄即文件名址錄。它是一張記錄所有文件名及其 存放地址、文件的說(shuō)明和控制信息的表格。 一般情況下,每個(gè)文件占用一個(gè)表目,即每個(gè)文件有一 個(gè)文件的目錄項(xiàng)。,41,9.6 文件目錄9.6.1 文件目錄及內(nèi)容,文件目錄項(xiàng): 1.文件名 2.文件的大小,單位:字節(jié) 3.文件在物理存儲(chǔ)介質(zhì)中的位置 。取決于文件的物理結(jié)構(gòu) 。 對(duì)于連續(xù)文件:文件

17、起始?jí)K號(hào)( 即文件的第一個(gè)物理塊塊號(hào)); 對(duì)于串聯(lián)文件:指向第一個(gè)物理 塊的指針; 對(duì)于索引文件:索引表。,4.存取控制信息 文件主和其它用戶對(duì)該文件的訪 問權(quán)限。 5.管理信息 包含文件創(chuàng)建的日期和時(shí)間,最 近修改該文件的日期和時(shí)間等。 6.文件的類型,42,9.6.2 一級(jí)目錄結(jié)構(gòu),一級(jí)文件目錄 最簡(jiǎn)單的文件目錄結(jié)構(gòu)是在系統(tǒng)中建立一張線性表,每 個(gè)文件占一表目,由文件名和文件的說(shuō)明和管理信息組 成。這樣的表稱為一級(jí)文件目錄. 一級(jí)文件目錄的主要功能是實(shí)現(xiàn)“按名存取”, 并且實(shí)現(xiàn) 容易。 主要問題是重名問題 所謂“重名”是指不同用戶對(duì)不同文件起了相同的名字,即 兩個(gè)或多個(gè)文件只有一個(gè)相同的符

18、號(hào)名,43,9.6.2 一級(jí)目錄結(jié)構(gòu),44,9.6.3 二級(jí)目錄結(jié)構(gòu)(自學(xué)),45,目錄文件 由文件的目錄項(xiàng)組成的文件稱為目錄文件。 系統(tǒng)中有一個(gè)根目錄(或根目錄文件),在這個(gè)目錄中 可登記一般文件,也可以登記目錄文件,在每個(gè)目錄文 件中可以登記一般文件,也可以登記目錄文件。 根據(jù)這個(gè)遞歸定義就形成了一個(gè)倒立的樹的結(jié)構(gòu)。對(duì)于 一棵樹,它有一個(gè)樹根(只有一個(gè),根目錄),在樹根 上可以長(zhǎng)樹葉(一般文件),也可以長(zhǎng)樹枝(子目錄文 件);對(duì)于每個(gè)樹技又可以長(zhǎng)樹枝,也可以長(zhǎng)樹葉。,9.6.4 多級(jí)目錄結(jié)構(gòu)(樹型目錄結(jié)構(gòu)),46,9.6.4 多級(jí)目錄結(jié)構(gòu),路徑名: 一個(gè)文件的路徑名是由根目錄到 該文件的通

19、路上所有目錄文件名 和該文件的符號(hào)名組成的。 DOS WINDOWS系統(tǒng)中文件路徑名 ART BIUI D BP NIX系統(tǒng)中文件路徑名 /A/R/T /B/IU/I /D /B/P,47,48,9.10 UNIX文件系統(tǒng)9.10.1文件的靜態(tài)結(jié)構(gòu),一、三種文件類型 UNIX系統(tǒng)中有普通文件、目錄文件和特別文件。 目錄文件是由文件目錄項(xiàng)組成的文件。 文件目錄項(xiàng)由文件名和文件I節(jié)點(diǎn)號(hào)組成 I節(jié)點(diǎn)號(hào)(2) 文件名(14) UNIX系統(tǒng)中文件目錄項(xiàng)只包括文件名和I節(jié)點(diǎn)號(hào),把通常 目錄項(xiàng)中的信息放在一個(gè)叫索引節(jié)點(diǎn)(I節(jié)點(diǎn))的結(jié)構(gòu)中 ,有兩個(gè)優(yōu)點(diǎn):其一是便于文件的共享,即不同的用戶 可以通過(guò)不同的文件路

20、徑名來(lái)共享一個(gè)文件;其二是加 快文件檢索的速度。,49,9.10 UNIX文件系統(tǒng)9.10.1文件的靜態(tài)結(jié)構(gòu),50,9.10.1文件的靜態(tài)結(jié)構(gòu),特別塊(管理塊)結(jié)構(gòu): 特別塊是在磁盤格式化 時(shí)建立的,當(dāng)一個(gè)文件 子系統(tǒng)安裝到系統(tǒng)中時(shí) ,系統(tǒng)將申請(qǐng)一個(gè)內(nèi)存 緩沖區(qū)來(lái)存放特別塊。,51,9.10.1文件的靜態(tài)結(jié)構(gòu),52,9.10 UNIX文件系統(tǒng)9.10.1文件的靜態(tài)結(jié)構(gòu),三、文件的靜態(tài)結(jié)構(gòu) UNIX系統(tǒng)中,一個(gè)文件存 在要占用如下資源: 至少占用一個(gè)文件目錄項(xiàng); 僅占用一磁盤I節(jié)點(diǎn); 占用一個(gè)或多個(gè)磁盤塊 (物理塊)。,53,9.10 UNIX文件系統(tǒng)9.10.1文件的靜態(tài)結(jié)構(gòu),i_uid:文件

21、主的用戶名 i-gid:用戶組名 i-mode:文件的類型和文件的存取控制權(quán)限 IALLOC:此I節(jié)點(diǎn)被占用 IFDIR目錄文件 IFCHR字符文件 IFBLK塊文件 IREAD讀 IWRITE寫 IEXEC執(zhí)行,共分三組,表示文件主、同組用戶和其它用戶的權(quán)限 i_mode0表示該I節(jié)點(diǎn)空閑 i_nlink文件的聯(lián)接數(shù),在UNIX系統(tǒng)中一個(gè)文件可以登記在不同的目錄文件中,目的是為不同的用戶共享文件提供支持。 i_atime最近使用時(shí)間 i_mtime最近修改時(shí)間 i_addr文件索引表,54,2.文件的索引結(jié)構(gòu)。,55,9.10.1文件的靜態(tài)結(jié)構(gòu) 2.文件的索引結(jié)構(gòu),56,9.10.1文件的靜

22、態(tài)結(jié)構(gòu) 2.文件的索引結(jié)構(gòu),在結(jié)構(gòu)中的索引表有個(gè)表目, 前10個(gè)表目存放文件數(shù)據(jù)塊的地址,采用直接索引;如果文件的長(zhǎng)度超過(guò)10個(gè)數(shù)據(jù)塊; 第11個(gè)表目登記的是一次間接索引塊的物理塊號(hào),該塊存放索引表,而不是文件的內(nèi)容,采用一次間接索引; 第12個(gè)表目登記二次間接索引塊的物理塊號(hào),該塊存放二次間接索引表,每個(gè)表目中登記的是一次間索引表的物理塊號(hào);,57,9.10.1文件的靜態(tài)結(jié)構(gòu) 2.文件的索引結(jié)構(gòu),第13個(gè)表目登記的是三次間接索引塊的物理塊號(hào),該塊存放三次間接索引表,每個(gè)表目中登記的是存放二次間接索引表的物理塊號(hào)。 這種結(jié)構(gòu)對(duì)于小于等于10個(gè)物理塊的文件采用直接索引,可從結(jié)構(gòu)的索引表中直接取到

23、文件數(shù)據(jù)塊的物理塊號(hào),不需要進(jìn)行任何轉(zhuǎn)換和計(jì)算,加快文件存取的速度,提高文件系統(tǒng)的使用效率;對(duì)于一些大型文件或巨型文件,系統(tǒng)采用間接索引的方法也可以方便的管理和使用,只不過(guò)要付出些代價(jià)。因此,不論是幾仍至幾個(gè)字節(jié)的文件,還是幾十、甚至更大的文件都能存在于系統(tǒng)中。,58,9.10.1文件的靜態(tài)結(jié)構(gòu) 2.文件的索引結(jié)構(gòu),系統(tǒng)中采用這種方法主要是照顧小型文件,保證對(duì)小型文件的存取高效快速,同時(shí)又兼顧大型文件和巨型文件。這與系統(tǒng)的環(huán)境有關(guān),系統(tǒng)的設(shè)計(jì)者提供以下的統(tǒng)計(jì)資料說(shuō)明他采用這種結(jié)構(gòu)的理由。其統(tǒng)計(jì)資料說(shuō):在系統(tǒng)的環(huán)境下,小于個(gè)物理塊的文件約占所有使用文件的,其它文件約占,其中巨型文件不到。在實(shí)際應(yīng)

24、用中的文件大小的分布情況與這個(gè)統(tǒng)計(jì)結(jié)果是相符的。,59,60,9.10.2 UNIX樹型目錄結(jié)構(gòu)一、UNIX系統(tǒng)目錄結(jié)構(gòu),整個(gè)系統(tǒng)有個(gè)根目錄文件(DOS、WINDOWS系統(tǒng)中有一個(gè)根目錄區(qū)),相當(dāng)于一棵樹的樹根, 并有多級(jí)目錄文件(與DOS概念相同,WINDOWS中叫做文件夾),相當(dāng)于樹枝。 還有許多文件(普通文件和特別文件),相當(dāng)于樹葉。,61,9.10.2 UNIX樹型目錄結(jié)構(gòu)二、文件的安裝和拆卸,UNIX系統(tǒng)采用樹型目錄結(jié)構(gòu),整個(gè)文件系統(tǒng)由根文件系統(tǒng)和若干個(gè)子文件系統(tǒng)所組成 。 根文件系統(tǒng)是基本文件系統(tǒng),在系統(tǒng)生成時(shí)產(chǎn)生。 子文件系統(tǒng)是駐留其它文件存儲(chǔ)介質(zhì)上的文件系統(tǒng),例如,一片軟盤、一

25、盤的邏輯分區(qū)、一卷磁帶、一個(gè)磁鼓等,在UNIX環(huán)境下格式化后成為一個(gè)子文件系統(tǒng),經(jīng)過(guò)UNIX系統(tǒng)提供的安裝命令裝到系統(tǒng)中,與根文件系統(tǒng)和已經(jīng)安裝在系統(tǒng)中的其它子文件系統(tǒng)一起形成一個(gè)完整的文件系統(tǒng),當(dāng)某個(gè)子系統(tǒng)不再使用時(shí),用拆卸命令將該子文件系統(tǒng)拆卸下來(lái)。 蹤上所述,在UNIX環(huán)境下總只有一個(gè)完整的樹型目錄結(jié)構(gòu)。所以,在UNIX系統(tǒng)環(huán)境下使用文件只要給出文件的路徑名即可。,62,9.10.2 UNIX樹型目錄結(jié)構(gòu),三、文件的聯(lián)接 UNIX系統(tǒng)是一個(gè)多用戶的操作系統(tǒng),為了使多個(gè)用戶能方便地共享系統(tǒng)中的某些文件,UNIX系統(tǒng)提供文件的聯(lián)接操作(取別名),方法見用戶手冊(cè)。,63,9.10.3 打開文件

26、的結(jié)構(gòu),用戶在使用文件之前必須要使打開文件操作,為什么? 文件是存放在磁盤上的。磁盤屬于外存儲(chǔ)器,它是CPU不能直接訪問的存儲(chǔ)器,當(dāng)然,用戶就不能直接存取存放在磁盤上的文件。但用戶又要使用文件,這樣,在使用文件之前,就要在內(nèi)存中建立存取文件的結(jié)構(gòu),然后,通過(guò)對(duì)這個(gè)結(jié)構(gòu)的訪問來(lái)達(dá)到對(duì)文件的訪問。,64,9.10.3 打開文件的結(jié)構(gòu),內(nèi)存中建立的存取文件的結(jié)構(gòu),稱為文件控制塊(FCB),包含文件目錄的信息和對(duì)文件存取的有關(guān)信息。 該結(jié)構(gòu)是在打開文件操作中建立的,并向用戶返回FCB的首地址,用戶以后使用文件(如讀、寫)就使用FCB首址。顯然,用戶要使用具體的內(nèi)存地址,這對(duì)用戶來(lái)說(shuō)是非常困難的。 UN

27、IX系統(tǒng)中打開文件的結(jié)構(gòu)包括活動(dòng)I節(jié)點(diǎn)表,系統(tǒng)打開文件表和用戶文件描述符表,65,9.10.3 打開文件的結(jié)構(gòu),一、活動(dòng)I節(jié)點(diǎn) i_flag打開文件的標(biāo)志 ILOCK:鎖位 IUPD:修改標(biāo)志 IMOUNT:安裝點(diǎn) IWANT:有進(jìn)程等待 ITEXT:純正文段 i_count:訪問計(jì)數(shù) i_dev:文件所在設(shè)備號(hào) i_number:I節(jié)點(diǎn)號(hào),66,9.10.3 打開文件的結(jié)構(gòu),二、打開文件表 f_flag:標(biāo)志 FREAD:讀 FWRITE:寫 FPIPE:管道 f_count:訪問計(jì)數(shù) f_inode:指向活動(dòng)I節(jié)點(diǎn)指針 f_offset:讀寫指針,67,9.10.3 打開文件的結(jié)構(gòu),三、用

28、戶文件描述符表(進(jìn)程打開文件表) 每個(gè)進(jìn)程有一個(gè)用戶文件描述符表,存放在進(jìn)程的user結(jié)構(gòu)中,u.u_ofileNOFILE。 NOFILE15是一常數(shù),表示一個(gè)進(jìn)程最多能同時(shí)打開15個(gè)文件。 這一個(gè)結(jié)構(gòu)類似于一般操作系統(tǒng)中的FCB。,68,9.10.3 打開文件的結(jié)構(gòu)四、打開文件結(jié)構(gòu)之間的關(guān)系,69,9.10.3 打開文件的結(jié)構(gòu)四、打開文件結(jié)構(gòu)之間的關(guān)系,文件共享的三個(gè)層次: 1.父子進(jìn)程共享同一文件,子進(jìn)程在創(chuàng)建時(shí)繼承了父進(jìn)程的所有打開的文件,體現(xiàn)在對(duì)某個(gè)打開文件表目的共享;,70,9.10.3 打開文件的結(jié)構(gòu)四、打開文件結(jié)構(gòu)之間的關(guān)系,2.不同的用戶打開了同一個(gè)文件(以不同的文件名) 進(jìn)

29、程2 open(“/unix/li.c”,READ) 進(jìn)程3 open(“/user/ll.i”,WRITE) 文件/unix/li.c和/user/ll.i是同一個(gè)文件;,71,9.10.3 打開文件的結(jié)構(gòu)四、打開文件結(jié)構(gòu)之間的關(guān)系,3.不同的進(jìn)程以不同的用途打開同一個(gè)文件 進(jìn)程1 open(“/user1/ll”,READ) 進(jìn)程3 open(“/user1/ll”,WRITE),72,9.10.4 文件操作系統(tǒng)調(diào)用一、文件系統(tǒng)調(diào)用及其它算法的關(guān)系,73,9.10.4 文件操作系統(tǒng)調(diào)用,二.系統(tǒng)調(diào)用 oprn 使用文件之前必須使打開文件操作,UNIX系統(tǒng)中打開文件的系統(tǒng)調(diào)用是open,其調(diào)

30、用格式是: fd=open(pathname,flags); 功能:打開一個(gè)指定的文件; 輸入?yún)?shù):pathname 要打開文件的路徑名 flags 指示打開文件的類型(讀或?qū)懀?返回參數(shù):fd 文件描述符(一個(gè)小的正整數(shù)) 若fd=-1則表示系統(tǒng)調(diào)用失敗,對(duì)所有系統(tǒng) 調(diào)用都是。,74,執(zhí)行過(guò)程: 調(diào)用namei()將文件的路徑名轉(zhuǎn)換成I節(jié)點(diǎn); 文件不存在或非法訪問,返回1; 申請(qǐng)打開文件表項(xiàng),f_count+;f_offset置0; f_inode指向I節(jié)點(diǎn); 分配用戶文件描述表項(xiàng),將打開文件表首地址填入; 若打開文件的類型是清文件,則釋放該文件占用的所有磁盤塊; 返回用戶描述表項(xiàng)的編號(hào)。,9.10.4 文件操作系統(tǒng)調(diào)用 二.系統(tǒng)調(diào)用 oprn,75,9.10.4 文件操作系統(tǒng)調(diào)用 二.系統(tǒng)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論