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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1 1第七章 文 件 管 理第七章第七章 文文 件件 管管 理理7.1 文件和文件系統7.2 文件的邏輯結構7.3 文件目錄7.4 文件共享7.5 文件保護習題2 2第七章 文 件 管 理7.1 文件和文件系統文件系統的管理功能是將其管理的程序和數據通過組織為一系列文件的方式實現的。而文件則是指具有文件名的若干相關元素的集合。元素通常是記錄,而記錄又是一組有意義的數據項的集合。可見,基于文件系統的概念,可以把數據組成分為數據項、記錄和文件三級。3 3第七章 文 件 管 理7.1.1 數據項、記錄和文件1. 數據項在文件系統中,數據項是最低級的數據組織形式,可把它分成以下兩種類型:(1) 基本數

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

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

4、SCII碼或漢字所組成的。(2) 目標文件,這是指把源程序經過編譯程序編譯過,但尚未經過鏈接程序鏈接的目標代碼所構成的文件。目標文件所使用的后綴名是“.obj”。(3) 可執行文件,這是指把編譯后所產生的目標代碼經過鏈接程序鏈接后所形成的文件。其后綴名是.exe。10 10第七章 文 件 管 理3) 按存取控制屬性分類根據系統管理員或用戶所規定的存取控制屬性,可將文件分為三類:(1) 只執行文件,該類文件只允許被核準的用戶調用執行,不允許讀和寫。(2) 只讀文件,該類文件只允許文件主及被核準的用戶去讀,不允許寫。(3) 讀寫文件,這是指允許文件主和被核準的用戶去讀或寫的文件。11 11第七章

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

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

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

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

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

10、構文件(1) 定長記錄。(2) 變長記錄。 2323第七章 文 件 管 理2) 無結構文件如果說在大量的信息管理系統和數據庫系統中,廣泛采用了有結構的文件形式的話(即文件是由定長或變長記錄構成的),那么在系統中運行的大量的源程序、可執行文件、庫函數等,所采用的就是無結構的文件形式,即流式文件。其文件的長度是以字節為單位的。對流式文件的訪問,則是利用讀、寫指針來指出下一個要訪問的字符。可以把流式文件看做是記錄式文件的一個特例:一個記錄僅有一個字節。2424第七章 文 件 管 理2. 按文件的組織方式分類根據文件的組織方式,可把有結構文件分為三類:(1) 順序文件。(2) 索引文件。(3) 索引順

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論