操作系統 第七章 文件管理_第1頁
操作系統 第七章 文件管理_第2頁
操作系統 第七章 文件管理_第3頁
操作系統 第七章 文件管理_第4頁
操作系統 第七章 文件管理_第5頁
已閱讀5頁,還剩60頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、計算機操作系統第七章第七章 文件管理文件管理本章內容n7.1 文件和文件系統文件和文件系統 n7.2 文件的邏輯結構文件的邏輯結構n7.3 文件目錄文件目錄n7.4 文件共享文件共享n7.5 文件保護文件保護7.1 文件和文件系統文件和文件系統 7.1.1 文件、記錄和數據項文件、記錄和數據項 1數據項數據項 最低級的數據組織形式,可把它分成以下兩種類型:最低級的數據組織形式,可把它分成以下兩種類型:(1)基本數據項。基本數據項。用于描述一個對象的某種屬性的字用于描述一個對象的某種屬性的字符集。是數據組織中可以命名的符集。是數據組織中可以命名的最小最小邏輯數據單位,邏輯數據單位,即原子數據,又

2、稱為數據元素或字段。即原子數據,又稱為數據元素或字段。 (2)組合數據項。組合數據項。它是由若干個基本數據項組成的,它是由若干個基本數據項組成的,簡稱組項簡稱組項 。根據屬性的不同,需要用不同的數據類型。根據屬性的不同,需要用不同的數據類型來描述。來描述。 記錄是一組相關數據項的集合,用于描述一個對記錄是一組相關數據項的集合,用于描述一個對象在某方面的屬性。象在某方面的屬性。 n例如,一個學生使用學號、姓名、年齡及所在系例如,一個學生使用學號、姓名、年齡及所在系班班 。是惟一能標識一個記錄的數據項。如:學是惟一能標識一個記錄的數據項。如:學號。號。 3文件文件 文件是具有文件名的一組相關元素的

3、集合。 :有結構的文件中,文件由若干個相關記錄組成;無結構文件則被看成是一個字符流。 n 文件在文件系統中是一個最大的數據單位;n文件必須有文件名,通常由一串ASCII碼或漢字構成。 n文件文件 的屬性可以包括:的屬性可以包括: (1)文件類型。文件類型。如源文件、目標文件如源文件、目標文件 等等(2)文件長度文件長度。單位可以是塊,字或字節。單位可以是塊,字或字節。 (3)文件的)文件的物理位置。物理位置。 指示文件在哪一個設備指示文件在哪一個設備上以及在該設備的哪個位置的指針。上以及在該設備的哪個位置的指針。(4)文件的)文件的建立時間建立時間。這是指文件最后一次的。這是指文件最后一次的修

4、改時間等。修改時間等。3文件文件7 - 1為了便于管理和控制文件而將文件分成若干種類為了便于管理和控制文件而將文件分成若干種類型。常用的幾種文件分類方法:型。常用的幾種文件分類方法:1)按用途分三類:系統,用戶,庫文件。)按用途分三類:系統,用戶,庫文件。2)按文件中數據的形式:源,目標以及可執行文)按文件中數據的形式:源,目標以及可執行文件。件。3)按存取控制屬性:只執行,只讀,讀寫。)按存取控制屬性:只執行,只讀,讀寫。7 - 2n1)對象及其屬性)對象及其屬性 對象有:文件,目錄,磁盤存儲空間。對象有:文件,目錄,磁盤存儲空間。n2)對對象操縱和管理的軟件集合)對對象操縱和管理的軟件集合

5、 核心部分,包括:文件存儲空間的管理,文件核心部分,包括:文件存儲空間的管理,文件目錄的管理,邏輯地址與物理地址轉換機制,文目錄的管理,邏輯地址與物理地址轉換機制,文件讀寫管理,文件共享與保護等。件讀寫管理,文件共享與保護等。n3)文件系統的接口)文件系統的接口 向用戶提供兩種接口:命令(終端鍵入命令)向用戶提供兩種接口:命令(終端鍵入命令)和程序(系統調用)。和程序(系統調用)。:創建文件(分配外存,建立目錄項)、刪除文件(置空目錄項)、讀文件、寫文件、截斷文件(原有文件長度置0)和設置文件的讀寫位置(改變始終從始端開始讀/寫操作)。: “打開打開”(open),是指系統將指名文件的屬性,是

6、指系統將指名文件的屬性(包括該文件在外存上的物理位置)從外存拷貝(包括該文件在外存上的物理位置)從外存拷貝到內存打開文件表的一個表目中,并將該表目的到內存打開文件表的一個表目中,并將該表目的編號(或稱為索引)返回給用戶。編號(或稱為索引)返回給用戶。 “關閉關閉”(close)系統調用來關閉此文件,)系統調用來關閉此文件,OS將會把該文件從打開文件表中的表目上刪除掉。將會把該文件從打開文件表中的表目上刪除掉。 對文件屬性的操作,改變文件名、改變文件對文件屬性的操作,改變文件名、改變文件的擁有者,查詢文件的狀態等的擁有者,查詢文件的狀態等本章內容n7.1 文件和文件系統文件和文件系統 n7.2

7、文件的邏輯結構文件的邏輯結構n7.3 文件目錄文件目錄n7.4 文件共享文件共享n7.5 文件保護文件保護 n文件是由一系列的記錄組成的。文件是由一系列的記錄組成的。 n對于任何一個文件,都存在著以下兩種形式的結對于任何一個文件,都存在著以下兩種形式的結構:構: (1)文件的邏輯結構)文件的邏輯結構 從用戶觀點出發所觀察到的文件組織形式從用戶觀點出發所觀察到的文件組織形式 。(2)文件的物理結構)文件的物理結構 指文件在外存上的存儲組織形式指文件在外存上的存儲組織形式 。:是指由一個以上的記錄構成是指由一個以上的記錄構成的文件,故又把它稱為記錄式文件;的文件,故又把它稱為記錄式文件;n記錄的長

8、度可分為記錄的長度可分為定長定長和和不定長不定長兩類兩類 。n 可采用多種方式組織記錄,形成不同的文件:可采用多種方式組織記錄,形成不同的文件: 是由一系列記錄按某種順序排列所形是由一系列記錄按某種順序排列所形成的文件。成的文件。:當記錄為可變長度時,通常為之建立當記錄為可變長度時,通常為之建立一張索引表。一張索引表。 :它為文件建立一張索引表,為每它為文件建立一張索引表,為每一組記錄中的第一個記錄設置一個表項。一組記錄中的第一個記錄設置一個表項。 (2)是指由字符流構成的文件,是指由字符流構成的文件,故又稱為流式文件。故又稱為流式文件。n 無結構的文件形式,即流式文件,其長度以字節無結構的文

9、件形式,即流式文件,其長度以字節為單位為單位n在在UNIX系統中,所有的文件都被看作是流式文件系統中,所有的文件都被看作是流式文件 1邏輯記錄的排序邏輯記錄的排序 n文件中的記錄排列可歸納為以下兩種情況:文件中的記錄排列可歸納為以下兩種情況:串結構,各記錄之間的順序與關鍵字無關。通常串結構,各記錄之間的順序與關鍵字無關。通常的辦法是由時間來決定,即按存入時間的先后排的辦法是由時間來決定,即按存入時間的先后排列列 順序結構,指文件中的所有記錄按關鍵字排列。順序結構,指文件中的所有記錄按關鍵字排列。 :優點優點: (1)對順序文件的存取效率是所有邏輯文件中最高的. (2)只有順序文件才能存儲在磁帶

10、上,并能有效地工作。 缺點缺點 :(1)在交互應用的場合,如果用戶(程序)要求查找或修改單個記錄,為此系統便要去逐個地查找諸記錄。 (2)如果想增加或刪除一個記錄,都比較困難。1) 定長記錄的順序文件定長記錄的順序文件 如果已知當前記錄的邏輯地址,便很容易確定下一個記錄的邏輯地址。 在讀一個文件時,可設置一個讀指針Rptr。令它指向下一個記錄的首地址,每當讀完一個記錄時,便執行: Rptr:=Rptr十L (L為記錄長度)2)變長記錄的順序文件)變長記錄的順序文件 在每次讀或寫完一個記在每次讀或寫完一個記錄后,須將讀或寫指針加上錄后,須將讀或寫指針加上LiWptr:=Wptr十十Li(Li 是

11、剛讀或剛寫完的記錄的長度)n對于定長記錄,可方便地實現直接存取。對于變長對于定長記錄,可方便地實現直接存取。對于變長記錄就較難實現直接存取,為了解決這一問題,為記錄就較難實現直接存取,為了解決這一問題,為變長記錄文件建立一張索引表,索引表是按鍵排序變長記錄文件建立一張索引表,索引表是按鍵排序的,可以方便地實現直接存取。的,可以方便地實現直接存取。 : 將順序文件中的所有記錄分為若將順序文件中的所有記錄分為若干個組干個組, 為順序文件建立一張索引表,在索引表為順序文件建立一張索引表,在索引表中為每組中的第一個記錄建立一個索引項,其中中為每組中的第一個記錄建立一個索引項,其中含有該記錄的鍵值和指向

12、該記錄的指針。含有該記錄的鍵值和指向該記錄的指針。n索引順序文件索引順序文件n文件檢索文件檢索n在對索引順序文件進行檢索時,首先也是利在對索引順序文件進行檢索時,首先也是利用用戶用用戶(程序程序)所提供的所提供的關鍵字關鍵字以及某種查找以及某種查找算法去檢索索引表,算法去檢索索引表,找到該記錄所在找到該記錄所在記錄組中記錄組中第一個記錄第一個記錄的表項的表項,從中得,從中得到該記錄組第一個記錄在主文件中的位置;到該記錄組第一個記錄在主文件中的位置;n然后,再利用然后,再利用順序查找法順序查找法去查找主文件,從去查找主文件,從中找到所要求的記錄。中找到所要求的記錄。n文件檢索效率文件檢索效率n如

13、果在一個順序文件中所含有的記錄數為如果在一個順序文件中所含有的記錄數為N,則,則為檢索到具有指定關鍵字的記錄,平均須查找為檢索到具有指定關鍵字的記錄,平均須查找N/2 個記錄;個記錄;n但對于索引順序文件,則為能檢索到具有指定關但對于索引順序文件,則為能檢索到具有指定關鍵字的記錄,平均只要查找個鍵字的記錄,平均只要查找個 記錄數。記錄數。n例如,有一個順序文件含有例如,有一個順序文件含有10 000 個記錄,平個記錄,平均須查找的記錄數為均須查找的記錄數為5000 個。但對于索引順序個。但對于索引順序文件,則平均只須查找文件,則平均只須查找100個記錄。可見,它的個記錄。可見,它的檢索效率是順

14、序文件的檢索效率是順序文件的50 倍倍.N n對于直接文件,可根據給定的記錄鍵值,直對于直接文件,可根據給定的記錄鍵值,直接獲得指定記錄的物理地址。換言之,記錄接獲得指定記錄的物理地址。換言之,記錄鍵值本身就決定了記錄的物理地址。鍵值本身就決定了記錄的物理地址。n這種由記錄這種由記錄 鍵值到記錄物理地址的轉換被稱鍵值到記錄物理地址的轉換被稱為為n利用利用Hash函數,可將記錄函數,可將記錄鍵值轉換為相應記錄的地址。鍵值轉換為相應記錄的地址。n為了能實現文件存儲空間的為了能實現文件存儲空間的動態分配,通常由動態分配,通常由Hash函函數所求得的并非是相應記錄數所求得的并非是相應記錄的地址,而是指

15、向一目錄表的地址,而是指向一目錄表相應表目的指針,該表目的相應表目的指針,該表目的內容指向相應記錄所在的物內容指向相應記錄所在的物理塊。理塊。 本章內容n7.1 文件和文件系統文件和文件系統 n7.2 文件的邏輯結構文件的邏輯結構n7.3 文件目錄文件目錄n7.4 文件共享文件共享n7.5 文件保護文件保護7.3 文件目錄文件目錄 n對目錄管理的要求如下對目錄管理的要求如下 :(1)實現)實現“按名存取按名存取”。 (2)提高對目錄的檢索速度。)提高對目錄的檢索速度。 (3)文件共享。)文件共享。 (4)允許文件重名。)允許文件重名。 n為了能對一個文件進行正確的存取,必須為文件為了能對一個文

16、件進行正確的存取,必須為文件設置用于描述和控制文件的數據結構,稱之為設置用于描述和控制文件的數據結構,稱之為“” n把文件控制塊的有序集合稱為把文件控制塊的有序集合稱為。 n一個文件目錄也被看作是一個文件,稱為一個文件目錄也被看作是一個文件,稱為。 (1)文件控制塊的基本信息)文件控制塊的基本信息文件名;文件物理位置;文件邏輯結構文件名;文件物理位置;文件邏輯結構(表明文件是流式還是記錄式,定長還是變長(表明文件是流式還是記錄式,定長還是變長等);文件物理結構(順序文件,鏈式還是等);文件物理結構(順序文件,鏈式還是索引文件)。索引文件)。(2)存取控制信息類)存取控制信息類存取權限存取權限(

17、3)使用信息類)使用信息類文件的建立日期和時間等。文件的建立日期和時間等。(1)索引結點的引入)索引結點的引入 n文件描述信息單獨形成文件描述信息單獨形成一個稱為索引結點的數一個稱為索引結點的數據結構,簡稱為據結構,簡稱為i結點。結點。n在文件目錄中的每個目在文件目錄中的每個目錄項,僅由文件名和指錄項,僅由文件名和指向該文件所對應的向該文件所對應的i結點結點的指針所構成。的指針所構成。(2)磁盤索引結點包括以下內容:)磁盤索引結點包括以下內容: 文件主標識符,文件類型,存取權限,文件文件主標識符,文件類型,存取權限,文件物理地址,文件長度,文件連接計數(系統中所物理地址,文件長度,文件連接計數

18、(系統中所有指向該文件名的指針計數),文件存取時間。有指向該文件名的指針計數),文件存取時間。(3)內存索引結點包括以下內容:)內存索引結點包括以下內容: 索引結點編號,狀態,訪問計數,文件所屬索引結點編號,狀態,訪問計數,文件所屬文件系統的邏輯設備號,鏈接指針。文件系統的邏輯設備號,鏈接指針。n 目錄結構的組織,關系到文件系統的存取速度,目錄結構的組織,關系到文件系統的存取速度,也關系到文件的共享性和安全性。因此,組織好也關系到文件的共享性和安全性。因此,組織好文件的目錄,是設計好文件系統的重要環節。文件的目錄,是設計好文件系統的重要環節。 n目前常用的目錄結構形式有目前常用的目錄結構形式有

19、單級目錄單級目錄、兩級目錄兩級目錄和和多級目錄多級目錄。 1單級目錄結構單級目錄結構 是簡單且能實現目錄管理的是簡單且能實現目錄管理的基本功能基本功能按名存取。按名存取。: (1)查找速度慢。)查找速度慢。 (2)不允許重名。)不允許重名。 (3)不便于實現文件共享。)不便于實現文件共享。 適合單用戶環境。適合單用戶環境。 1單級目錄結構單級目錄結構 2. 兩級目錄兩級目錄 n為每一個用戶建立一個單獨的用戶文件目錄UFD,再建立一個主文件目錄MFD。在主文件目錄中,每個用戶目錄文件都占有一個目錄項,其目錄項中包括用戶名和指向該用戶目錄文件的指針n兩級目錄結構優點:兩級目錄結構優點: (1)提高

20、了檢索目錄的速度。)提高了檢索目錄的速度。(2)在不同的用戶目錄中,可以使用相同的文)在不同的用戶目錄中,可以使用相同的文件名。件名。 (3)不同用戶還可使用不同的文件名來訪問系)不同用戶還可使用不同的文件名來訪問系統中的同一個共享文件。統中的同一個共享文件。 2. 兩級目錄兩級目錄 7.3.3 樹形結構目錄(多級目錄結構)樹形結構目錄(多級目錄結構)(1)目錄結構:)目錄結構:主目錄在這里主目錄在這里被稱為根目錄,被稱為根目錄,把數據文件稱把數據文件稱為樹葉,其它為樹葉,其它的目錄均作為的目錄均作為樹的結點。樹的結點。(2)路徑名)路徑名從樹的根(即主目錄)開始,把全部目錄文件名從樹的根(即

21、主目錄)開始,把全部目錄文件名與數據文件名,依次地用與數據文件名,依次地用“/”連接起來,即構成連接起來,即構成該數據文件的路徑名(該數據文件的路徑名(path name)。)。系統中的每一個文件都有惟一的路徑名。系統中的每一個文件都有惟一的路徑名。(3)當前目錄)當前目錄為每個進程設置一個為每個進程設置一個“當前目錄當前目錄”,又稱為,又稱為“工工作目錄作目錄”進程對各文件的訪問都相對于進程對各文件的訪問都相對于“當前目當前目錄錄”而進行。而進行。7.3.3 樹形結構目錄(多級目錄結構)樹形結構目錄(多級目錄結構)在用戶要創建一個新文件時,只需查看在自在用戶要創建一個新文件時,只需查看在自己

22、的己的UFD及其子目錄中,有無與新建文件相及其子目錄中,有無與新建文件相同的文件名。若無,便可在同的文件名。若無,便可在UFD或其某個子或其某個子目錄中增加一個新目錄項。目錄中增加一個新目錄項。 采用下述兩種方法處理:采用下述兩種方法處理: (1)不刪除非空目錄。)不刪除非空目錄。 (2)可刪除非空目錄。)可刪除非空目錄。 (4)增加和刪除目錄)增加和刪除目錄 1線性檢索法線性檢索法n 線性檢索法又稱為順序檢索法。線性檢索法又稱為順序檢索法。 在單級目錄中,利用用戶提供的文件名,用順序查在單級目錄中,利用用戶提供的文件名,用順序查找法直接從文件目錄中找到指名文件的目錄項。找法直接從文件目錄中找

23、到指名文件的目錄項。在樹型目錄中,用戶提供的文件名是由多個文件分在樹型目錄中,用戶提供的文件名是由多個文件分量名組成的路徑名,此時須對多級目錄進行查找。量名組成的路徑名,此時須對多級目錄進行查找。 1線性檢索法線性檢索法假定用戶給定的文件路徑名是/usr/ast/mbox,則查找/usr/ast/mbox文件的過程如圖7-12 所示: 建立了一張Hash索引文件目錄,系統利用用戶提供的文件名并將它變換為文件目錄的索引值,再利用該索引值到目錄中去查找。nHash方法將顯著地提高檢索速度。 n在文件名中使用了通配符“* ”、“?”等,系統便無法利用Hash法檢索目錄,因此,需要利用線性查找法查找目

24、錄。 2 Hash方法方法 n在進行文件名的轉換時,有可能把在進行文件名的轉換時,有可能把”n個不同的文件個不同的文件名轉換為相同的名轉換為相同的Hash值,稱謂的值,稱謂的”。:在利用在利用Hash值查找目錄時,如果目錄表中相應的值查找目錄時,如果目錄表中相應的目錄項是空的,則表示系統中并無指定文件。目錄項是空的,則表示系統中并無指定文件。如果目錄項中的文件名與指定文件名相匹配,則表如果目錄項中的文件名與指定文件名相匹配,則表示該目錄項正是所要尋找的文件所對應的目錄項,示該目錄項正是所要尋找的文件所對應的目錄項,故而可從中找到該文件所在的物理地址。故而可從中找到該文件所在的物理地址。如果在目

25、錄表的相應目錄項中的文件名與指定文件如果在目錄表的相應目錄項中的文件名與指定文件名并不匹配,則表示發生了名并不匹配,則表示發生了“Hash沖突沖突”。 2 Hash方法方法 :將其Hash值再加上一個常數(該常數應與目錄的長度值互質),形成新的索引值,再返回到第一步重新開始查找。 2Hash方法方法 本章內容n7.1 文件和文件系統文件和文件系統 n7.2 文件的邏輯結構文件的邏輯結構n7.3 文件目錄文件目錄n7.4 文件共享文件共享n7.5 文件保護文件保護7.4 文件共享文件共享n文件共享即指系統應允許多個用戶(進程)文件共享即指系統應允許多個用戶(進程)共享同一份文件。在系統中只需保留

26、該共共享同一份文件。在系統中只需保留該共享文件的一份副本。享文件的一份副本。 n當前常用的兩種文件共享方法當前常用的兩種文件共享方法 :(1)基于索引結點的共享方式)基于索引結點的共享方式(2)利用符號鏈實現文件共享)利用符號鏈實現文件共享 7.4.1 基于索引結點的共享方式基于索引結點的共享方式 7.4.1 基于索引結點的共享方式基于索引結點的共享方式 7.4.1 基于索引結點的共享方式基于索引結點的共享方式7.4.2 利用符號鏈實現文件共享 n為使為使B能共享能共享C的一個文件的一個文件F,可以由系統,可以由系統,也取名為,也取名為F并將并將F寫入寫入B的目的目錄中,以實現錄中,以實現B的

27、目錄與文件的目錄與文件F的鏈接;在新文件中的鏈接;在新文件中只包含被創文件只包含被創文件F的路徑名。這樣的鏈接方法被稱的路徑名。這樣的鏈接方法被稱為為n新文件中的路徑名,則只被看作是符號鏈。當新文件中的路徑名,則只被看作是符號鏈。當B要要訪問被鏈接的文件訪問被鏈接的文件F且正要讀且正要讀LINK類新文件時,將類新文件時,將被被OS截獲,截獲,OS根據新文件中的路徑名去讀該文件,根據新文件中的路徑名去讀該文件,于是就實現了用戶于是就實現了用戶B對文件對文件F的共享。的共享。n在利用符號鏈方式實現文件共享時,只是文件主在利用符號鏈方式實現文件共享時,只是文件主才擁有指向其索引結點的指針,而共享該文件的其才擁有指向其索引結點的指針,而共享該文件的其它用戶,則只有該文件的路徑名,并不擁有指向其它用戶,則只有該文件的路徑名,并不擁有指向其索引結點的指針。索引結點的指針。n符號鏈方式優點:能連接任何機器上的文件。符號鏈方式優點:能連接任何機器上的文件。n每增加一個連接,就增加一個文件名,各用戶使每增加一個連接,就增加一個文件名,各用戶使用自己的名字去共享文件。用自己的名字去共享文件。n缺點:備份是可能會產生多個拷貝。缺點:備份是可能會產生多個拷貝。7.4.2 利用符號鏈實現文件共享 本章內容

溫馨提示

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

評論

0/150

提交評論