版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第七章文件管理,7.1文件和文件系統(tǒng)7.2文件的邏輯結(jié)構(gòu)7.3文件目錄7.4文件共享7.5文件保護(hù)練習(xí),7.1文件和文件系統(tǒng)文件系統(tǒng)的管理功能是通過將其管理的程序和數(shù)據(jù)組織成一系列文件來實現(xiàn)的。文件是具有文件名的相關(guān)元素的集合。元素通常是一條記錄,而記錄是一組有意義的數(shù)據(jù)項。因此,基于文件系統(tǒng)的概念,數(shù)據(jù)組合可以分為三個層次:數(shù)據(jù)項、記錄和文件。7.1.1數(shù)據(jù)項、記錄和文件1。數(shù)據(jù)項在文件系統(tǒng)中,數(shù)據(jù)項是最低的數(shù)據(jù)組織形式,可分為以下兩類:(1)基本數(shù)據(jù)項。(2)合并數(shù)據(jù)項。記錄在某些方面,記錄是用來描述對象屬性的一組相關(guān)數(shù)據(jù)項。記錄應(yīng)該包含哪些數(shù)據(jù)項取決于需要描述對象的哪個方面。因為物體處于
2、不同的環(huán)境中,所以它可以被視為不同的物體。文件文件是指由創(chuàng)建者定義文件名的一組相關(guān)元素,可分為結(jié)構(gòu)化文件和非結(jié)構(gòu)化文件。圖7-1文件、記錄和數(shù)據(jù)項之間的層次關(guān)系7.1.2文件名和類型1。文件名和擴(kuò)展名(1)文件名。(2)延伸。按用途分類的文件按其性質(zhì)和用途可分為三類:(1)系統(tǒng)文件,指由系統(tǒng)軟件組成的文件。大多數(shù)系統(tǒng)文件只允許用戶調(diào)用,但不允許用戶讀取或修改。有些系統(tǒng)文件不直接對用戶開放。(2)用戶文件是指由用戶源代碼、目標(biāo)文件、可執(zhí)行文件或數(shù)據(jù)組成的文件。用戶將這些文件委托給系統(tǒng)保管。(3)庫文件,它是由標(biāo)準(zhǔn)子程序和普通子程序組成的文件。這樣的文件允許用戶調(diào)用,但不能修改。根據(jù)文件中數(shù)據(jù)的分
3、類,文件也可以分為三類:(1)源文件,即由源程序和數(shù)據(jù)組成的文件。通常,由源程序形成的文件和由終端或輸入設(shè)備輸入的數(shù)據(jù)屬于源文件。它通常由ASCII碼或漢字組成。(2)目標(biāo)文件,指由已被編譯器編譯但未被鏈接器鏈接的目標(biāo)代碼組成的文件。目標(biāo)文件使用的后綴是”。obj。(3)可執(zhí)行文件,指通過鏈接程序鏈接編譯后生成的目標(biāo)代碼而形成的文件。它的后綴是。exe。按訪問控制屬性分類根據(jù)系統(tǒng)管理員或用戶指定的訪問控制屬性,文件可分為三類:(1)只執(zhí)行文件,只允許被批準(zhǔn)的用戶調(diào)用和執(zhí)行,不允許讀寫。(2)只讀文件,只能由文件所有者和批準(zhǔn)的用戶讀取,不能寫入。(3)讀寫文件,指文件所有者和批準(zhǔn)用戶允許讀寫的文
4、件。4)按組織形式和處理方法分類根據(jù)文件的不同組織形式和處理方法,文件可分為三類:(1)普通文件。(2)目錄文件。(3)特殊文件。文件系統(tǒng)的層次結(jié)構(gòu)如圖7-2所示。文件系統(tǒng)的模型可以分為三個層次:底層是對象及其屬性,中間層是用于操作和管理對象的軟件集合,頂層是文件系統(tǒng)向用戶提供的接口。圖7-2文件系統(tǒng)模型1。對象及其屬性文件管理系統(tǒng)管理的對象如下:(1)文件。(2)內(nèi)容。(3)磁盤(磁帶)存儲空間。用于對象操作和管理的軟件集這一層是文件管理系統(tǒng)的核心部分。文件系統(tǒng)的大部分功能都是在這個層次上實現(xiàn)的,包括:文件存儲空間的管理;文件目錄管理;將文件的邏輯地址轉(zhuǎn)換成物理地址的機(jī)制;文件讀寫管理;共享
5、和保護(hù)文件等。在實現(xiàn)這些功能時,操作系統(tǒng)通常采用層次化的組織結(jié)構(gòu),即每一層都包含一定的功能,一定級別的軟件只能調(diào)用同一級別或更低級別的功能模塊。文件系統(tǒng)接口為了方便用戶,文件系統(tǒng)以接口的形式提供了一套操作文件和記錄的方法和手段。通常有兩種類型的接口:(1)命令接口,即用戶可以直接與文件系統(tǒng)交互的接口,用戶可以通過鍵盤終端輸入命令來獲得文件系統(tǒng)服務(wù)。(2)程序接口是指用戶程序和文件系統(tǒng)之間的接口。用戶程序可以通過系統(tǒng)調(diào)用獲得文件系統(tǒng)服務(wù),如創(chuàng)建文件的創(chuàng)建和打開文件的打開。7.1.4文件操作1。最基本的文件操作最基本的文件操作包括以下內(nèi)容:(1)創(chuàng)建文件。(2)刪除文件。(3)閱讀文件。(4)書寫
6、文件。(5)設(shè)置文件的讀/寫位置。文件的打開和關(guān)閉操作當(dāng)用戶需要對文件執(zhí)行多個讀/寫操作或其他操作時,每次都必須從檢索目錄開始。為了避免重復(fù)搜索目錄,大多數(shù)操作系統(tǒng)都引入了文件系統(tǒng)調(diào)用“open”。當(dāng)用戶第一次請求操作文件時,必須使用open system調(diào)用打開該文件。其他文件操作系統(tǒng)為用戶提供一系列文件操作的系統(tǒng)調(diào)用,其中最常用的是文件屬性操作,允許用戶直接設(shè)置和獲取文件屬性,如更改文件名、所有者、訪問權(quán)限和查詢文件狀態(tài)(包括文件類型、大小、所有者和訪問權(quán)限等)。)。另一個是關(guān)于目錄操作,如創(chuàng)建目錄、刪除目錄、更改當(dāng)前目錄和工作目錄等。此外,還有文件共享的系統(tǒng)調(diào)用和操作文件系統(tǒng)的系統(tǒng)調(diào)用。
7、7.2文件的邏輯結(jié)構(gòu)(1)文件的邏輯結(jié)構(gòu)。(2)文件的物理結(jié)構(gòu)也稱為文件的存儲結(jié)構(gòu)。文件邏輯結(jié)構(gòu)類型對文件邏輯結(jié)構(gòu)的基本要求首先是有助于提高文件的檢索速度,即當(dāng)大量記錄被制成文件時,應(yīng)采用有利于提高檢索記錄的速度和效率的邏輯結(jié)構(gòu)形式。其次,結(jié)構(gòu)應(yīng)該便于修改文件,即使在文件中添加、刪除和修改了一個或多個記錄。第三是降低存儲在外部存儲器中的文件的存儲成本,即,最大限度地減少文件占用的存儲空間,而不需要大的連續(xù)存儲空間。1。根據(jù)文件是否有結(jié)構(gòu)進(jìn)行分類1)有結(jié)構(gòu)文件1)固定長度的記錄。(2)可變長度記錄。非結(jié)構(gòu)化文件如果在大量的信息管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)中廣泛使用結(jié)構(gòu)化文件(即文件由固定長度或可變長度的
8、記錄組成),那么系統(tǒng)中運行的大量源程序、可執(zhí)行文件和庫函數(shù)都采用非結(jié)構(gòu)化文件,即流文件。其文件長度以字節(jié)為單位。要訪問流文件,讀寫指針用于指出下一個要訪問的字符。流文件可以被視為記錄文件的一種特殊情況:一個記錄只有一個字節(jié)。按文件組織分類根據(jù)文件的組織,結(jié)構(gòu)化文件可分為三類:(1)順序文件。(2)索引文件。(3)索引序列文件。7.2.2順序文件)1。順序文件的排列順序文件中的記錄可以按不同的順序排列。一般來說,它可以分為兩種情況:(1)字符串結(jié)構(gòu)。(2)序列結(jié)構(gòu)。順序文件的優(yōu)點和缺點順序文件的最佳應(yīng)用是成批訪問記錄(即一次讀取或?qū)懭氪罅坑涗?。在所有邏輯文件中,順序文件的訪問效率最高。此外,對
9、于順序存儲設(shè)備(如磁帶),只有順序文件才能有效存儲和工作。7.2.3記錄尋址1。隱式尋址模式對于具有固定長度記錄的順序文件,如果當(dāng)前記錄的邏輯地址已知,則很容易確定下一個記錄的邏輯地址。圖7-3固定長度和可變長度記錄文件2。顯式尋址模式該模式可用于實現(xiàn)對固定長度記錄文件的直接或隨機(jī)訪問。因為任何記錄的位置都可以很容易地通過記錄長度來計算。然而,對于具有可變長度記錄的文件,直接或隨機(jī)訪問不能通過顯式尋址來實現(xiàn),必須添加適當(dāng)?shù)闹С謾C(jī)構(gòu)來實現(xiàn)。接下來,我們通過兩種方式實現(xiàn)對固定長度記錄的隨機(jī)訪問:(1)通過文件中記錄的位置。(2)使用關(guān)鍵詞。7.2.4索引文件)1。通過簡單的計算,可以很容易地隨機(jī)搜
10、索具有以關(guān)鍵字索引的固定長度記錄的文件。但是,從第一條記錄到目標(biāo)記錄需要很長時間才能找到一條記錄。圖7-4帶有單個和多個索引表的索引文件2。具有多個索引表的索引文件由關(guān)鍵字索引。與順序文件一樣,帶有索引表的索引文件只能通過該關(guān)鍵字檢索。實際上,不同的用戶希望根據(jù)不同的屬性(或不同的關(guān)鍵字)檢索記錄,以達(dá)到不同的目的。為了滿足這一要求,有必要為順序文件建立多個索引表,即為每個可能成為檢索條件的域(屬性或關(guān)鍵字)配置一個索引表。在每個索引表中,它是按相應(yīng)的屬性或關(guān)鍵字排序的。7.2.5索引順序文件)1。索引順序文件的特征索引順序文件是對順序文件的改進(jìn),它基本上克服了可變長度記錄的順序文件不能隨機(jī)訪
11、問、刪除和插入記錄不方便的缺點。但是,它仍然保留了順序文件的關(guān)鍵特征,即記錄是按照關(guān)鍵字的順序組織的。它增加了兩個新的特點:一是引入了文件索引表,通過它可以實現(xiàn)對索引順序文件的隨機(jī)訪問;另一種是添加溢出文件來記錄新添加、刪除和修改的記錄。一級索引序列文件最簡單的索引序列文件只使用一級索引。具體的建立方法是將變長記錄序列文件中的所有記錄分成若干組,如一組50條記錄。然后,為順序文件建立一個索引表,并在索引表中為每個組中的第一個記錄建立一個索引條目,其中包含記錄的關(guān)鍵字和指向該記錄的指針。索引順序文件是最常見的邏輯文件形式,如圖7-5所示。圖7-5索引順序文件3。兩級索引順序文件對于非常大的文件,
12、仍有許多記錄需要查找。例如,對于包含106條記錄的順序文件,當(dāng)將其用作索引順序文件時,平均需要找到1000條記錄。為了進(jìn)一步提高檢索效率,可以為順序文檔建立多級索引,即可以為索引文檔建立索引表,從而形成兩級索引表。7.2.6直接文件和哈希文件1。當(dāng)使用上述文件結(jié)構(gòu)訪問記錄時,有必要首先使用給定的記錄鍵值來搜索線性表或鏈表,以找到指定記錄的物理地址。但是,對于直接文件,可以根據(jù)給定的關(guān)鍵字直接獲得指定記錄的物理地址。換句話說,關(guān)鍵字本身決定了記錄的物理地址。哈希文件這是目前使用最廣泛的直接文件。它使用哈希函數(shù)(或哈希函數(shù))將關(guān)鍵字轉(zhuǎn)換為相應(yīng)記錄的地址。然而,為了實現(xiàn)文件存儲空間的動態(tài)分配,哈希函
13、數(shù)通常獲得的不是相應(yīng)記錄的地址,而是指向目錄表中相應(yīng)條目的指針,條目的內(nèi)容指向相應(yīng)記錄所在的物理塊,如圖7-6所示。圖7-6哈希文件的邏輯結(jié)構(gòu),7.3文檔目錄(1)實現(xiàn)“按名稱訪問”。(2)提高目錄檢索速度。(3)文件共享。(4)允許文件具有相同的名稱。7.3.1文件控制塊和索引節(jié)點1。文件控制塊FCB(File Control Block)為了有效地管理系統(tǒng)中的大量文件,文件控制塊通常包含三種類型的信息,即基本信息、訪問控制信息和使用信息?;拘畔㈩惢拘畔㈩惏?1)文件名。(2)文件的物理位置。(3)文件的邏輯結(jié)構(gòu)。(4)文件的物理結(jié)構(gòu)。訪問控制信息類訪問控制信息類包括文件所有者、授權(quán)用
14、戶和一般用戶的訪問權(quán)限。使用信息類使用信息類包括文件建立的日期和時間、文件最后修改的日期和時間以及當(dāng)前使用信息。這些信息包括已打開文件的進(jìn)程數(shù)、文件是否被其他進(jìn)程鎖定、文件是否已在內(nèi)存中修改但未復(fù)制到磁盤等。應(yīng)該注意的是,對于不同的操作系統(tǒng)文件系統(tǒng),由于它們的功能不同,它們可能只包含上述部分信息。圖7-7文件控制塊。索引節(jié)點1)索引節(jié)點的導(dǎo)入文件目錄通常存儲在磁盤上。當(dāng)有許多文件時,文件目錄可能會占用大量磁盤塊。在搜索目錄的過程中,您必須首先將存儲目錄文件的第一個磁盤塊中的目錄轉(zhuǎn)移到內(nèi)存中,然后將用戶給出的文件名與目錄條目中的文件名逐一進(jìn)行比較。如果找不到指定的文件,則需要將下一個塊的目錄條目
15、轉(zhuǎn)移到內(nèi)存中。圖7-8 UNIX文件目錄2)磁盤索引節(jié)點這是存儲在磁盤上的索引節(jié)點。每個文件都有一個唯一的磁盤索引節(jié)點,主要包括以下內(nèi)容:(1)文件主標(biāo)識符,即擁有該文件的個人或組的標(biāo)識符;(2)文件類型,包括常規(guī)文件、目錄文件或特殊文件;(3)文件訪問權(quán)是指各種用戶對文件的訪問權(quán);(4)文件物理地址,每個索引節(jié)點包含13個地址項,即iaddr(0)iaddr(12),直接或間接給出數(shù)據(jù)文件所在磁盤塊的編號;(5)文件長度是指以字節(jié)為單位的文件長度;(6)文件連接計數(shù),表示指向該文件系統(tǒng)中文件名的所有指針的計數(shù);(7)文件訪問時間,表示該文件最近被進(jìn)程訪問的時間、最近被修改的時間以及索引節(jié)點最
16、近被修改的時間。3)內(nèi)存索引節(jié)點這是存儲在內(nèi)存中的索引節(jié)點。打開文件時,將磁盤索引節(jié)點復(fù)制到內(nèi)存中的索引節(jié)點,以備后用。將以下內(nèi)容添加到內(nèi)存索引節(jié)點:(1)索引節(jié)點號用于標(biāo)識內(nèi)存索引節(jié)點;(2)狀態(tài),表示該節(jié)點是否被鎖定或修改;(3)訪問計數(shù):當(dāng)一個進(jìn)程想要訪問這個I節(jié)點時,在訪問計數(shù)上加1,然后在訪問后減1;(4)文件所屬文件系統(tǒng)的邏輯設(shè)備號;(5)鏈接指針,分別提供指向空閑鏈表和散列隊列的指針。7.3.2簡單文件目錄1。單層文件目錄這是最簡單的文件目錄。整個文件系統(tǒng)只建立一個目錄表,每個文件占用一個目錄項,目錄項包含文件名、文件擴(kuò)展名、文件長度、文件類型、文件物理地址等文件屬性。此外,設(shè)置狀態(tài)位以指示每個目錄條目是否空閑。單層文件目錄如圖7-9所示。圖7-9單層文件目錄2。兩級文件目錄為了克服單級文件目錄的缺點,可以為每個用戶建立單獨的用戶文件目錄UFD(用戶文件目錄)。這些文件目錄具有相似的結(jié)構(gòu),由用戶擁有的
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年合肥科技職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性考試模擬試題帶答案解析
- 醫(yī)院志愿者服務(wù)標(biāo)準(zhǔn)
- 心理護(hù)理對抑郁患者的干預(yù)
- 醫(yī)療保險市場分析與趨勢
- 2026年河南建筑職業(yè)技術(shù)學(xué)院單招職業(yè)技能筆試參考題庫帶答案解析
- 心臟重癥患者護(hù)理實踐與探討
- 2026年川北幼兒師范高等??茖W(xué)校單招綜合素質(zhì)筆試備考題庫帶答案解析
- 2026年黑龍江護(hù)理高等??茖W(xué)校高職單招職業(yè)適應(yīng)性測試備考題庫有答案解析
- 醫(yī)療信息化安全與合規(guī)性
- 財務(wù)顧問課件
- 2026年廣西貴港市華盛集團(tuán)新橋農(nóng)工商有限責(zé)任公司招聘備考題庫及答案詳解1套
- 陜西能源職業(yè)技術(shù)學(xué)院2026年教師公開招聘備考題庫完整答案詳解
- 綠化苗木種植合同范本
- 2026年遼寧省沈陽市單招職業(yè)傾向性測試題庫及參考答案詳解一套
- 冶金原理李洪桂課件
- 2025年南京市導(dǎo)游綜合知識問答題庫及答案
- 2026《初中英語?優(yōu)翼學(xué)練優(yōu)》八上早讀本
- GB/T 1301-2025鑿巖釬桿用中空鋼
- 關(guān)于安吉物流市場的調(diào)查報告
- 抑郁病診斷證明書
- 歷史時空觀念的教學(xué)與評價
評論
0/150
提交評論