操作系統(tǒng)第四版(湯小丹)第7章_第1頁
操作系統(tǒng)第四版(湯小丹)第7章_第2頁
操作系統(tǒng)第四版(湯小丹)第7章_第3頁
操作系統(tǒng)第四版(湯小丹)第7章_第4頁
操作系統(tǒng)第四版(湯小丹)第7章_第5頁
已閱讀5頁,還剩92頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 1第七章 文 件 管 理第七章第七章 文文 件件 管管 理理7.1 文件和文件系統(tǒng)7.2 文件的邏輯結(jié)構(gòu)7.3 文件目錄7.4 文件共享7.5 文件保護習(xí)題2 2第七章 文 件 管 理7.1 文件和文件系統(tǒng)文件系統(tǒng)的管理功能是將其管理的程序和數(shù)據(jù)通過組織為一系列文件的方式實現(xiàn)的。而文件則是指具有文件名的若干相關(guān)元素的集合。元素通常是記錄,而記錄又是一組有意義的數(shù)據(jù)項的集合??梢姡谖募到y(tǒng)的概念,可以把數(shù)據(jù)組成分為數(shù)據(jù)項、記錄和文件三級。3 3第七章 文 件 管 理7.1.1 數(shù)據(jù)項、記錄和文件1. 數(shù)據(jù)項在文件系統(tǒng)中,數(shù)據(jù)項是最低級的數(shù)據(jù)組織形式,可把它分成以下兩種類型:(1) 基本數(shù)

2、據(jù)項。(2) 組合數(shù)據(jù)項。 4 4第七章 文 件 管 理2. 記錄記錄是一組相關(guān)數(shù)據(jù)項的集合,用于描述一個對象在某方面的屬性。一個記錄應(yīng)包含哪些數(shù)據(jù)項,取決于需要描述對象的哪個方面。由于對象所處的環(huán)境不同可把他作為不同的對象。 5 5第七章 文 件 管 理3. 文件文件是指由創(chuàng)建者所定義的、具有文件名的一組相關(guān)元素的集合,可分為有結(jié)構(gòu)文件和無結(jié)構(gòu)文件兩種。 6 6第七章 文 件 管 理圖7-1 文件、記錄和數(shù)據(jù)項之間的層次關(guān)系7 7第七章 文 件 管 理7.1.2 文件名和類型1. 文件名和擴展名(1) 文件名。(2) 擴展名。8 8第七章 文 件 管 理2. 文件類型1) 按用途分類根據(jù)文件

3、的性質(zhì)和用途的不同,可將文件分為三類:(1) 系統(tǒng)文件,這是指由系統(tǒng)軟件構(gòu)成的文件。大多數(shù)的系統(tǒng)文件只允許用戶調(diào)用,但不允許用戶去讀,更不允許修改;有的系統(tǒng)文件不直接對用戶開放。(2) 用戶文件,指由用戶的源代碼、目標(biāo)文件、可執(zhí)行文件或數(shù)據(jù)等所構(gòu)成的文件。用戶將這些文件委托給系統(tǒng)保管。(3) 庫文件,這是由標(biāo)準子例程及常用的例程等所構(gòu)成的文件。這類文件允許用戶調(diào)用,但不允許修改。9 9第七章 文 件 管 理2) 按文件中數(shù)據(jù)的形式分類按這種方式分類,也可把文件分為三類:(1) 源文件,這是指由源程序和數(shù)據(jù)構(gòu)成的文件。通常,由終端或輸入設(shè)備輸入的源程序和數(shù)據(jù)所形成的文件都屬于源文件。它通常是由A

4、SCII碼或漢字所組成的。(2) 目標(biāo)文件,這是指把源程序經(jīng)過編譯程序編譯過,但尚未經(jīng)過鏈接程序鏈接的目標(biāo)代碼所構(gòu)成的文件。目標(biāo)文件所使用的后綴名是“.obj”。(3) 可執(zhí)行文件,這是指把編譯后所產(chǎn)生的目標(biāo)代碼經(jīng)過鏈接程序鏈接后所形成的文件。其后綴名是.exe。10 10第七章 文 件 管 理3) 按存取控制屬性分類根據(jù)系統(tǒng)管理員或用戶所規(guī)定的存取控制屬性,可將文件分為三類:(1) 只執(zhí)行文件,該類文件只允許被核準的用戶調(diào)用執(zhí)行,不允許讀和寫。(2) 只讀文件,該類文件只允許文件主及被核準的用戶去讀,不允許寫。(3) 讀寫文件,這是指允許文件主和被核準的用戶去讀或?qū)懙奈募?1 11第七章

5、文 件 管 理4) 按組織形式和處理方式分類根據(jù)文件的組織形式和系統(tǒng)對其處理方式的不同,可將文件分為三類:(1) 普通文件。(2) 目錄文件。(3) 特殊文件。12 12第七章 文 件 管 理7.1.3 文件系統(tǒng)的層次結(jié)構(gòu)如圖7-2所示,文件系統(tǒng)的模型可分為三個層次:最底層是對象及其屬性,中間層是對對象進行操縱和管理的軟件集合,最高層是文件系統(tǒng)提供給用戶的接口。13 13第七章 文 件 管 理圖7-2 文件系統(tǒng)模型14 14第七章 文 件 管 理1. 對象及其屬性文件管理系統(tǒng)管理的對象如下:(1) 文件。(2) 目錄。(3) 磁盤(磁帶)存儲空間。 15 15第七章 文 件 管 理2. 對對象

6、操縱和管理的軟件集合該層是文件管理系統(tǒng)的核心部分。文件系統(tǒng)的功能大多是在這一層實現(xiàn)的,其中包括有: 對文件存儲空間的管理; 對文件目錄的管理; 用于將文件的邏輯地址轉(zhuǎn)換為物理地址的機制; 對文件讀和寫的管理; 對文件的共享與保護等功能。在實現(xiàn)這些功能時,OS通常都采取了層次組織結(jié)構(gòu),即在每一層中都包含了一定的功能,處于某個層次的軟件,只能調(diào)用同層或更低層次中的功能模塊。16 16第七章 文 件 管 理3. 文件系統(tǒng)的接口為方便用戶的使用,文件系統(tǒng)以接口的形式提供了一組對文件和記錄操作的方法和手段。通常是下面兩種類型的接口:(1) 命令接口,是指作為用戶與文件系統(tǒng)直接交互的接口,用戶可通過鍵盤終

7、端鍵入命令取得文件系統(tǒng)的服務(wù)。(2) 程序接口,是指作為用戶程序與文件系統(tǒng)的接口,用戶程序可通過系統(tǒng)調(diào)用取得文件系統(tǒng)的服務(wù),例如,用于創(chuàng)建文件的系統(tǒng)調(diào)用Creat,用于打開一個文件的系統(tǒng)調(diào)用Open等。17 17第七章 文 件 管 理7.1.4 文件操作 1. 最基本的文件操作最基本的文件操作包含下述內(nèi)容:(1) 創(chuàng)建文件。(2) 刪除文件。(3) 讀文件。(4) 寫文件。(5) 設(shè)置文件的讀/寫位置。 18 18第七章 文 件 管 理2. 文件的“打開”和“關(guān)閉”操作當(dāng)用戶要求對一個文件實施多次讀/寫或其它操作時,每次都要從檢索目錄開始。為了避免多次重復(fù)地檢索目錄,在大多數(shù)OS中都引入了“打

8、開”(open)這一文件系統(tǒng)調(diào)用,當(dāng)用戶第一次請求對某文件進行操作時,須先利用open系統(tǒng)調(diào)用將該文件打開。 19 19第七章 文 件 管 理3. 其它文件操作OS為用戶都提供了一系列文件操作的系統(tǒng)調(diào)用,其中最常用的一類是有關(guān)對文件屬性的操作,即允許用戶直接設(shè)置和獲得文件的屬性,如改變已存文件的文件名、改變文件的擁有者(文件主)、改變對文件的訪問權(quán),以及查詢文件的狀態(tài)(包括文件類型、大小和擁有者以及對文件的訪問權(quán)等)。另一類是有關(guān)目錄的操作,如創(chuàng)建一個目錄,刪除一個目錄,改變當(dāng)前目錄和工作目錄等。此外,還有用于實現(xiàn)文件共享的系統(tǒng)調(diào)用,以及用于對文件系統(tǒng)進行操作的系統(tǒng)調(diào)用等。2020第七章 文

9、件 管 理7.2 文件的邏輯結(jié)構(gòu)(1) 文件的邏輯結(jié)構(gòu)(File Logical Structure)。(2) 文件的物理結(jié)構(gòu),又稱為文件的存儲結(jié)構(gòu)。 21 21第七章 文 件 管 理7.2.1 文件邏輯結(jié)構(gòu)的類型對文件邏輯結(jié)構(gòu)所提出的基本要求,首先是有助于提高對文件的檢索速度,即在將大批記錄組成文件時,應(yīng)采用一種有利于提高檢索記錄速度和效率的邏輯結(jié)構(gòu)形式。其次是該結(jié)構(gòu)應(yīng)方便對文件進行修改,即便于在文件中增加、刪除和修改一個或多個記錄。第三是降低文件存放在外存上的存儲費用,即盡量減少文件占用的存儲空間,不要求大片的連續(xù)存儲空間。2222第七章 文 件 管 理1. 按文件是否有結(jié)構(gòu)分類1) 有結(jié)

10、構(gòu)文件(1) 定長記錄。(2) 變長記錄。 2323第七章 文 件 管 理2) 無結(jié)構(gòu)文件如果說在大量的信息管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)中,廣泛采用了有結(jié)構(gòu)的文件形式的話(即文件是由定長或變長記錄構(gòu)成的),那么在系統(tǒng)中運行的大量的源程序、可執(zhí)行文件、庫函數(shù)等,所采用的就是無結(jié)構(gòu)的文件形式,即流式文件。其文件的長度是以字節(jié)為單位的。對流式文件的訪問,則是利用讀、寫指針來指出下一個要訪問的字符??梢园蚜魇轿募醋鍪怯涗浭轿募囊粋€特例:一個記錄僅有一個字節(jié)。2424第七章 文 件 管 理2. 按文件的組織方式分類根據(jù)文件的組織方式,可把有結(jié)構(gòu)文件分為三類:(1) 順序文件。(2) 索引文件。(3) 索引順

11、序文件。 2525第七章 文 件 管 理7.2.2 順序文件(Sequential File)1. 順序文件的排列方式在順序文件中的記錄,可以按照各種不同的順序進行排列。一般地,可分為兩種情況:(1) 串結(jié)構(gòu)。(2) 順序結(jié)構(gòu)。2626第七章 文 件 管 理2. 順序文件的優(yōu)缺點順序文件的最佳應(yīng)用場合是在對文件中的記錄進行批量存取時(即每次要讀或?qū)懸淮笈涗?。所有邏輯文件中順序文件的存取效率是最高的。此外,對于順序存儲設(shè)備(如磁帶),也只有順序文件才能被存儲并能有效地工作。2727第七章 文 件 管 理7.2.3 記錄尋址1. 隱式尋址方式對于定長記錄的順序文件,如果已知當(dāng)前記錄的邏輯地址,

12、便很容易確定下一個記錄的邏輯地址。 2828第七章 文 件 管 理圖7-3 定長和變長記錄文件2929第七章 文 件 管 理2. 顯式尋址方式該方式可用于對定長記錄的文件實現(xiàn)直接或隨機訪問。因為任何記錄的位置都很容易通過記錄長度計算出來。而對于可變長度記錄的文件則不能利用顯式尋址方式實現(xiàn)直接或隨機訪問,必須增加適當(dāng)?shù)闹С謾C構(gòu)方能實現(xiàn)。下面我們通過兩種方式對定長記錄實現(xiàn)隨機訪問:(1) 通過文件中記錄的位置。(2) 利用關(guān)鍵字。 3030第七章 文 件 管 理7.2.4 索引文件(Index File)1. 按關(guān)鍵字建立索引定長記錄的文件可以通過簡單的計算,很容易地實現(xiàn)隨機查找。但變長記錄文件查

13、找一個記錄必須從第一個記錄查起,一直順序查找到目標(biāo)記錄為止,耗時很長。31 31第七章 文 件 管 理圖7-4 具有單個和多個索引表的索引文件3232第七章 文 件 管 理2. 具有多個索引表的索引文件使用按關(guān)鍵字建立索引表的索引文件與順序文件一樣,都只能按該關(guān)鍵字進行檢索。而實際應(yīng)用情況往往是:不同的用戶,為了不同的目的,希望能按不同的屬性(或不同的關(guān)鍵字)來檢索一條記錄。為實現(xiàn)此要求,需要為順序文件建立多個索引表,即為每一種可能成為檢索條件的域(屬性或關(guān)鍵字)都配置一張索引表。在每一個索引表中,都按相應(yīng)的一種屬性或關(guān)鍵字進行排序。 3333第七章 文 件 管 理7.2.5 索引順序文件 (

14、Index Sequential File) 1. 索引順序文件的特征 索引順序文件是對順序文件的一種改進,它基本上克服了變長記錄的順序文件不能隨機訪問,以及不便于記錄的刪除和插入的缺點。但它仍保留了順序文件的關(guān)鍵特征,即記錄是按關(guān)鍵字的順序組織起來的。它又增加了兩個新特征:一個是引入了文件索引表,通過該表可以實現(xiàn)對索引順序文件的隨機訪問;另一個是增加了溢出(overflow)文件,用它來記錄新增加的、刪除的和修改的記錄。 3434第七章 文 件 管 理2. 一級索引順序文件最簡單的索引順序文件只使用了一級索引。其具體的建立方法是,首先將變長記錄順序文件中的所有記錄分為若干個組,如50個記錄為

15、一個組。然后為順序文件建立一張索引表,并為每組中的第一個記錄在索引表中建立一個索引項,其中含有該記錄的關(guān)鍵字和指向該記錄的指針。索引順序文件是最常見的一種邏輯文件形式,如圖7-5所示。3535第七章 文 件 管 理圖7-5 索引順序文件3636第七章 文 件 管 理3. 兩級索引順序文件對于一個非常大的文件,為找到一個記錄而須查找的記錄數(shù)目仍然很多,例如,對于一個含有106個記錄的順序文件,當(dāng)把它作為索引順序文件時,為找到一個記錄,平均須查找1000個記錄。為了進一步提高檢索效率,可以為順序文件建立多級索引,即為索引文件再建立一張索引表,從而形成兩級索引表。 3737第七章 文 件 管 理7.

16、2.6 直接文件和哈希文件1. 直接文件 采用前述幾種文件結(jié)構(gòu)對記錄進行存取時,都須利用給定的記錄鍵值,先對線性表或鏈表進行檢索,以找到指定記錄的物理地址。然而對于直接文件,則可根據(jù)給定的關(guān)鍵字直接獲得指定記錄的物理地址。換而言之,關(guān)鍵字本身就決定了記錄的物理地址。 3838第七章 文 件 管 理2. 哈希(Hash)文件這是目前應(yīng)用最為廣泛的一種直接文件。它利用Hash函數(shù)(或稱散列函數(shù))可將關(guān)鍵字轉(zhuǎn)換為相應(yīng)記錄的地址。但為了能實現(xiàn)文件存儲空間的動態(tài)分配,通常由Hash函數(shù)所求得的并非是相應(yīng)記錄的地址,而是指向某一目錄表相應(yīng)表目的指針,該表目的內(nèi)容指向相應(yīng)記錄所在的物理塊,如圖7-6所示。

17、3939第七章 文 件 管 理圖7-6Hash文件的邏輯結(jié)構(gòu)4040第七章 文 件 管 理7.3 文 件 目 錄 (1) 實現(xiàn)“按名存取”。(2) 提高對目錄的檢索速度。(3) 文件共享。(4) 允許文件重名。 41 41第七章 文 件 管 理7.3.1 文件控制塊和索引結(jié)點1. 文件控制塊FCB(File Control Block)為了能對系統(tǒng)中的大量文件施以有效的管理,在文件控制塊中,通常應(yīng)含有三類信息,即基本信息、存取控制信息及使用信息。4242第七章 文 件 管 理1) 基本信息類基本信息類包括:(1) 文件名。(2) 文件物理位置。(3) 文件邏輯結(jié)構(gòu)。(4) 文件的物理結(jié)構(gòu)。43

18、43第七章 文 件 管 理2) 存取控制信息類存取控制信息類包括文件主的存取權(quán)限、核準用戶的存取權(quán)限以及一般用戶的存取權(quán)限。4444第七章 文 件 管 理3) 使用信息類使用信息類包括文件的建立日期和時間、文件上一次修改的日期和時間,以及當(dāng)前使用信息。這些信息包括當(dāng)前已打開該文件的進程數(shù),是否被其它進程鎖住,文件在內(nèi)存中是否已被修改但尚未拷貝到盤上等。應(yīng)該說明,對于不同OS的文件系統(tǒng),由于功能不同,可能只含有上述信息中的某些部分。4545第七章 文 件 管 理圖7-7 MS-DOS的文件控制塊4646第七章 文 件 管 理2. 索引結(jié)點1) 索引結(jié)點的引入文件目錄通常是存放在磁盤上的,當(dāng)文件很

19、多時,文件目錄可能要占用大量的盤塊。在查找目錄的過程中,必須先將存放目錄文件的第一個盤塊中的目錄調(diào)入內(nèi)存,然后將用戶所給定的文件名,與目錄項中的文件名逐一比較。若未找到指定文件,還需要將下一盤塊的目錄項調(diào)入內(nèi)存。 4747第七章 文 件 管 理圖7-8 UNIX的文件目錄4848第七章 文 件 管 理2) 磁盤索引結(jié)點這是存放在磁盤上的索引結(jié)點。每個文件有唯一的一個磁盤索引結(jié)點,它主要包括以下內(nèi)容:(1) 文件主標(biāo)識符,即擁有該文件的個人或小組的標(biāo)識符;(2) 文件類型,包括正規(guī)文件、目錄文件或特別文件;(3) 文件存取權(quán)限,指各類用戶對該文件的存取權(quán)限;(4) 文件物理地址,每一個索引結(jié)點中

20、含有13個地址項,即iaddr(0)iaddr(12),它們以直接或間接方式給出數(shù)據(jù)文件所在盤塊的編號;4949第七章 文 件 管 理(5) 文件長度,指以字節(jié)為單位的文件長度;(6) 文件連接計數(shù),表明在本文件系統(tǒng)中所有指向該(文件的)文件名的指針計數(shù);(7) 文件存取時間,指出本文件最近被進程存取的時間、最近被修改的時間及索引結(jié)點最近被修改的時間。5050第七章 文 件 管 理3) 內(nèi)存索引結(jié)點這是存放在內(nèi)存中的索引結(jié)點。當(dāng)文件被打開時,要將磁盤索引結(jié)點拷貝到內(nèi)存的索引結(jié)點中,便于以后使用。在內(nèi)存索引結(jié)點中又增加了以下內(nèi)容:(1) 索引結(jié)點編號,用于標(biāo)識內(nèi)存索引結(jié)點;(2) 狀態(tài),指示i結(jié)

21、點是否上鎖或被修改;(3) 訪問計數(shù),每當(dāng)有一進程要訪問此i結(jié)點時,將該訪問計數(shù)加1,訪問完再減1;(4) 文件所屬文件系統(tǒng)的邏輯設(shè)備號;(5) 鏈接指針,設(shè)置有分別指向空閑鏈表和散列隊列的指針。51 51第七章 文 件 管 理7.3.2 簡單的文件目錄1. 單級文件目錄這是最簡單的文件目錄。在整個文件系統(tǒng)中只建立一張目錄表,每個文件占一個目錄項,目錄項中含文件名、文件擴展名、文件長度、文件類型、文件物理地址以及其它文件屬性。此外,為表明每個目錄項是否空閑,又設(shè)置了一個狀態(tài)位。單級文件目錄如圖7-9所示。5252第七章 文 件 管 理圖7-9 單級文件目錄5353第七章 文 件 管 理2. 兩

22、級文件目錄為了克服單級文件目錄所存在的缺點,可以為每一個用戶再建立一個單獨的用戶文件目錄UFD(User File Directory)。這些文件目錄具有相似的結(jié)構(gòu),它由用戶所有文件的文件控制塊組成。此外,在系統(tǒng)中再建立一個主文件目錄MFD(Master File Directory);在主文件目錄中,每個用戶目錄文件都占有一個目錄項,其目錄項中包括用戶名和指向該用戶目錄文件的指針。 5454第七章 文 件 管 理圖7-10 兩級文件目錄5555第七章 文 件 管 理7.3.3 樹形結(jié)構(gòu)目錄(Tree-Structured Directory)1. 樹形目錄在現(xiàn)代OS中,最通用且實用的文件目錄

23、無疑是樹形結(jié)構(gòu)目錄。它可以明顯地提高對目錄的檢索速度和文件系統(tǒng)的性能。主目錄在這里被稱為根目錄,在每個文件目錄中,只能有一個根目錄,每個文件和每個目錄都只能有一個父目錄。把數(shù)據(jù)文件稱為樹葉,其它的目錄均作為樹的結(jié)點,或稱為子目錄。圖7-11示出了樹形結(jié)構(gòu)目錄。5656第七章 文 件 管 理圖7-11 多級目錄結(jié)構(gòu)5757第七章 文 件 管 理2. 路徑名和當(dāng)前目錄1) 路徑名(path name)在樹形結(jié)構(gòu)目錄中,從根目錄到任何數(shù)據(jù)文件都只有一條唯一的通路。在該路徑上,從樹的根(即主目錄)開始,把全部目錄文件名與數(shù)據(jù)文件名依次地用“/”連接起來,即構(gòu)成該數(shù)據(jù)文件唯一的路徑名。 5858第七章

24、文 件 管 理2) 當(dāng)前目錄(Current Directory)當(dāng)一個文件系統(tǒng)含有許多級時,每訪問一個文件,都要使用從樹根開始,直到樹葉(數(shù)據(jù)文件)為止的、包括各中間節(jié)點(目錄)名的全路徑名。 5959第七章 文 件 管 理3. 目錄操作(1) 創(chuàng)建目錄。(2) 刪除目錄。 不刪除非空目錄。 可刪除非空目錄。(3) 改變目錄。(4) 移動目錄。(5) 鏈接(Link)操作。(6) 查找。6060第七章 文 件 管 理7.3.4 目錄查詢技術(shù)1. 線性檢索法線性檢索法又稱為順序檢索法。在單級目錄中,利用用戶提供的文件名,用順序查找法直接從文件目錄中找到指名文件的目錄項。在樹形目錄中,用戶提供的

25、文件名是由多個文件分量名組成的路徑名,此時需對多級目錄進行查找。假定用戶給定的文件路徑名是/usr/ast/mbox,則查找/usr/ast/mbox文件的過程如圖7-12所示。61 61第七章 文 件 管 理圖7-12 查找/usr/ast/mbox的步驟6262第七章 文 件 管 理2. Hash方法在7.2.6節(jié)中曾介紹了Hash文件。如果我們建立了一張Hash索引文件目錄,便可利用Hash方法進行查詢,即系統(tǒng)利用用戶提供的文件名,并將它變換為文件目錄的索引值,再利用該索引值到目錄中去查找,這樣將顯著地提高檢索速度。6363第七章 文 件 管 理7.4 文 件 共 享在現(xiàn)代計算機系統(tǒng)中,

26、必須提供文件共享手段,即指系統(tǒng)應(yīng)允許多個用戶(進程)共享同一份文件。這樣,在系統(tǒng)中只需保留該共享文件的一份副本。如果系統(tǒng)不能提供文件共享功能,就意味著凡是需要該文件的用戶,都須各自備有此文件的副本,顯然這會造成對存儲空間的極大浪費。 6464第七章 文 件 管 理7.4.1 基于有向無循環(huán)圖實現(xiàn)文件共享1. 有向無循環(huán)圖DAG(Directed Acyclic Graph)在嚴格的樹形結(jié)構(gòu)目錄中,每個文件只允許有一個父目錄,父目錄可以有效地擁有該文件,其它用戶要想訪問它,必須經(jīng)過其屬主目錄來訪問該文件。這就是說,對文件的共享是不對稱的,或者說,樹形結(jié)構(gòu)目錄是不適合文件共享的。如果允許一個文件可

27、以有多個父目錄,即有多個屬于不同用戶的多個目錄,同時指向同一個文件,這樣雖會破壞樹的特性,但這些用戶可用對稱的方式實現(xiàn)文件共享,而不必再通過其屬主目錄來訪問。6565第七章 文 件 管 理圖7-13 有向無循環(huán)圖目錄層次6666第七章 文 件 管 理2. 利用索引結(jié)點為了解決這個問題,可以引用索引結(jié)點,即諸如文件的物理地址及其它的文件屬性等信息,不再是放在目錄項中,而是放在索引結(jié)點中。在文件目錄中只設(shè)置文件名及指向相應(yīng)索引結(jié)點的指針,如圖7-14所示。 6767第七章 文 件 管 理圖7-14 基于索引結(jié)點的共享方式6868第七章 文 件 管 理圖7-15 進程B鏈接前后的情況6969第七章

28、文 件 管 理7.4.2 利用符號鏈接實現(xiàn)文件共享1. 利用符號鏈接(Symbolic Linking)的基本思想利用符號鏈接實現(xiàn)文件共享的基本思想,是允許一個文件或子目錄有多個父目錄,但其中僅有一個作為主(屬主)父目錄,其它的幾個父目錄都是通過符號鏈接方式與之相鏈接的(簡稱鏈接父目錄)。 7070第七章 文 件 管 理圖7-16 使用符號鏈接的目錄層次71 71第七章 文 件 管 理2. 如何利用符號鏈實現(xiàn)共享為使鏈接父目錄D5能共享文件F,可以由系統(tǒng)創(chuàng)建一個LINK類型的新文件,也取名為F,并將F寫入鏈接父目錄D5中,以實現(xiàn)D5與文件F8的鏈接。在新文件F中只包含被鏈接文件F8的路徑名。這

29、樣的鏈接方法被稱為符號鏈接。新文件F中的路徑名則只被看做是符號鏈。當(dāng)用戶通過D5訪問被鏈接的文件F8,且正要讀LINK類新文件時,此要求將被OS截獲,OS根據(jù)新文件中的路徑名去找到文件F8,然后對它進行讀(寫),這樣就實現(xiàn)了用戶B對文件F的共享。7272第七章 文 件 管 理3. 利用符號鏈實現(xiàn)共享的優(yōu)點在利用符號鏈方式實現(xiàn)文件共享時,只是文件主才擁有指向其索引結(jié)點的指針;而共享該文件的其他用戶則只有該文件的路徑名,并不擁有指向其索引結(jié)點的指針。這樣,也就不會發(fā)生在文件主刪除一共享文件后留下一懸空指針的情況。當(dāng)文件的擁有者把一個共享文件刪除后,如果其他用戶又試圖通過符號鏈去訪問一個已被刪除的共

30、享文件,則會因系統(tǒng)找不到該文件而使訪問失敗,于是再將符號鏈刪除,此時不會產(chǎn)生任何影響。7373第七章 文 件 管 理4. 利用符號鏈的共享方式存在的問題利用符號鏈的共享方式也存在著一些問題:當(dāng)其他用戶去讀共享文件時,系統(tǒng)是根據(jù)給定的文件路徑名逐個分量(名)地去查找目錄,直至找到該文件的索引結(jié)點。因此,在每次訪問共享文件時,都可能要多次地讀盤。這使每次訪問文件的開銷甚大,且增加了啟動磁盤的頻率。此外,要為每個共享用戶建立一條符號鏈,而由于鏈本身實際上是一個文件,盡管該文件非常簡單,卻仍要為它配置一個索引結(jié)點,這也要耗費一定的磁盤空間。7474第七章 文 件 管 理7.5 文 件 保 護在現(xiàn)代計算

31、機系統(tǒng)中,存放了越來越多的寶貴信息供用戶使用,給人們帶來了極大的好處和方便,但同時也有著潛在的不安全性。影響文件安全性的主要因素有:(1) 人為因素。(2) 系統(tǒng)因素。(3) 自然因素。7575第七章 文 件 管 理為了確保文件系統(tǒng)的安全性,可針對上述原因而采取三方面的措施:(1) 通過存取控制機制,防止由人為因素所造成的文件不安全性。(2) 采取系統(tǒng)容錯技術(shù),防止系統(tǒng)部分的故障所造成的文件的不安全性。(3) 建立后備系統(tǒng),防止由自然因素所造成的不安全性。7676第七章 文 件 管 理7.5.1 保護域(Protection Domain)1. 訪問權(quán)為了對系統(tǒng)中的對象加以保護,應(yīng)由系統(tǒng)來控制

32、進程對對象的訪問。對象可以是硬件對象,如磁盤驅(qū)動器、打印機;也可以是軟件對象,如文件、程序。對對象所施加的操作也有所不同,如對文件可以是讀,也可以是寫或執(zhí)行操作。我們把一個進程能對某對象執(zhí)行操作的權(quán)力,稱為訪問權(quán)(Access right)。 7777第七章 文 件 管 理2. 保護域為了對系統(tǒng)中的資源進行保護而引入了保護域的概念,保護域簡稱為“域”?!坝颉笔沁M程對一組對象訪問權(quán)的集合,進程只能在指定域內(nèi)執(zhí)行操作。這樣,“域”也就規(guī)定了進程所能訪問的對象和能執(zhí)行的操作。 7878第七章 文 件 管 理圖7-17 三個保護域7979第七章 文 件 管 理3. 進程和域間的靜態(tài)聯(lián)系在進程和域之間可

33、以一一對應(yīng),即一個進程只聯(lián)系著一個域。這意味著,在進程的整個生命期中,其可用資源是固定的,我們把這種域稱為“靜態(tài)域”。在這種情況下,進程運行的全過程都是受限于同一個域,這將會使賦予進程的訪問權(quán)超過了實際需要。 8080第七章 文 件 管 理4. 進程和域間的動態(tài)聯(lián)系方式在進程和域之間,也可以是一對多的關(guān)系,即一個進程可以聯(lián)系著多個域。在此情況下,可將進程的運行分為若干個階段,其每個階段聯(lián)系著一個域,這樣便可根據(jù)運行的實際需要來規(guī)定在進程運行的每個階段中所能訪問的對象。 81 81第七章 文 件 管 理7.5.2 訪問矩陣1. 基本的訪問矩陣我們可以利用一個矩陣來描述系統(tǒng)的訪問控制,并把該矩陣稱

34、為訪問矩陣(Access Matrix)。訪問矩陣中的行代表域,列代表對象,矩陣中的每一項是由一組訪問權(quán)組成的。因為對象已由列顯式地定義,故可以只寫出訪問權(quán)而不必寫出是對哪個對象的訪問權(quán),每一項訪問權(quán)access(i, j)定義了在域Di中執(zhí)行的進程能對對象Qj所施加的操作集。8282第七章 文 件 管 理圖7-18 一個訪問矩陣8383第七章 文 件 管 理2. 具有域切換權(quán)的訪問矩陣為了實現(xiàn)在進程和域之間的動態(tài)聯(lián)系,應(yīng)能夠?qū)⑦M程從一個保護域切換到另一個保護域。為了能對進程進行控制,同樣應(yīng)將切換作為一種權(quán)力,僅當(dāng)進程有切換權(quán)時,才能進行這種切換。為此,在訪問矩陣中又增加了幾個對象,分別把它們

35、作為訪問矩陣中的幾個域;當(dāng)且僅當(dāng)switchaccess(i, j)時,才允許進程從域i切換到域j。 8484第七章 文 件 管 理圖7-19 具有切換權(quán)的訪問控制矩陣8585第七章 文 件 管 理7.5.3訪問矩陣的修改1. 拷貝權(quán)(Copy Right)我們可利用拷貝權(quán)將在某個域中所擁有的訪問權(quán)(access(i, j)擴展到同一列的其它域中,亦即,為進程在其它的域中也賦予對同一對象的訪問權(quán)(access(k, j),如圖7-20所示。 8686第七章 文 件 管 理圖7-20 具有拷貝權(quán)的訪問控制矩陣8787第七章 文 件 管 理2. 所有權(quán)(Owner Right)人們不僅要求能將已有

36、的訪問權(quán)進行有控制的擴散,而且同樣需要能增加某種訪問權(quán),或者能刪除某種訪問權(quán)。此時,可利用所有權(quán)(O)來實現(xiàn)這些操作。 8888第七章 文 件 管 理圖7-21 帶所有權(quán)的訪問矩陣8989第七章 文 件 管 理3. 控制權(quán)(Control Right)拷貝權(quán)和所有權(quán)都是用于改變矩陣內(nèi)同一列的各項訪問權(quán)的,或者說,是用于改變在不同域中運行的進程對同一對象的訪問權(quán)的。控制權(quán)則可用于改變矩陣內(nèi)同一行中(域中)的各項訪問權(quán),亦即,用于改變在某個域中運行的進程對不同對象的訪問權(quán)的。如果在access(i,j)中包含了控制權(quán),則在域Di中運行的進程可以刪除在域Dj中運行的進程對各對象的任何訪問權(quán)。 9090第七章 文 件 管 理圖7-22 具有控制權(quán)的訪問矩陣91 91第七章 文 件 管 理7.5.4 訪問矩陣的實現(xiàn)1. 訪問控制表(Ac

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論