作業系統之 檔案管理 1

2021-07-25 02:34:04 字數 3405 閱讀 4864

檔案系統的管理功能是將其管理的程式和資料通過組織為一系列檔案的方式實現的。

檔案則是指具有檔名的若干相關元素的集合。

元素通常是記錄

記錄是一組有意義的資料項的集合。

可以把資料組成分為資料項、記錄和檔案**。

在檔案系統中,資料項是最低階的資料組織形式,可把它分成以下兩種型別:

(1) 基本資料項。  (2) 組合資料項。 

記錄是一組相關資料項的集合,用於描述乙個物件在某方面的屬性。

檔案是指由建立者所定義的、具有檔名的一組相關元素的集合,可分為有結構檔案和無結構檔案兩種。 

(1) 系統檔案,這是指由系統軟體構成的檔案。大多數的系統檔案只允許使用者呼叫,但不允許使用者去讀,更不允許修改;有的系統檔案不直接對使用者開放。

(2) 使用者檔案,指由使用者的源**、目標檔案、可執行檔案或資料等所構成的檔案。使用者將這些檔案委託給系統保管。

(3) 庫檔案,這是由標準子例程及常用的例程等所構成的檔案。這類檔案允許使用者呼叫,但不允許修改。

(1) 原始檔,這是指由源程式和資料構成的檔案。通常,由終端或輸入裝置輸入的源程式和資料所形成的檔案都屬於原始檔。它通常是由ascii碼或漢字所組成的。

(2) 目標檔案,這是指把源程式經過編譯程式編譯過,但尚未經過鏈結程式鏈結的目標**所構成的檔案。目標檔案所使用的字尾名是「.obj」。

(3) 可執行檔案,這是指把編譯後所產生的目標**經過鏈結程式鏈結後所形成的檔案。其字尾名是 .exe。

(1) 只執行檔案(2) 唯讀檔案(3) 讀寫檔案

(1) 普通檔案。  (2) 目錄檔案。  (3) 特殊檔案。

(1) 命令介面 (2) 程式介面

檔案管理系統的核心部分。① 對檔案儲存空間的管理;② 對檔案目錄的管理;③ 用於將檔案的邏輯位址轉換為實體地址的機制;④ 對檔案讀和寫的管理;⑤ 對檔案的共享與保護等功能

管理物件下:(1) 檔案。  (2) 目錄。 (3) 磁碟(磁帶)儲存空間。 

(1) 建立檔案。  (2) 刪除檔案。  (3) 讀檔案。  (4) 寫檔案。  (5) 設定檔案的讀/寫位置。 

1.提高檢索記錄速度和效率 2.方便對檔案進行修改 3.儘量減少檔案占用的儲存空間,不要求大片的連續儲存空間

大量的資訊管理系統和資料庫系統中

(1) 定長記錄。  (2) 變長記錄。 

大量的源程式、可執行檔案、庫函式等

檔案的長度是以位元組為單位的。對流式檔案的訪問,利用讀、寫指標來指出下乙個要訪問的字元。

最佳應用場合是在對檔案中的記錄進行批量訪問時。

所有邏輯檔案中順序檔案的訪問效率是最高的。

對於順序儲存裝置(如磁帶),也只有順序檔案才能被儲存並能有效地工作。

按關鍵字建立索引

變長記錄檔案查詢乙個記錄必須從第乙個記錄查起,一直順序查詢到目標記錄為止,耗時很長。

具有多個索引表的索引檔案

為每一種可能成為檢索條件的域(屬性或關鍵字)都配置一張索引表。在每乙個索引表中,都按相應的一種屬性或關鍵字進行排序。 

保留了順序檔案的關鍵特徵:記錄是按關鍵字的順序組織起來的。

增加的新特徵:

1.引入檔案索引表:通過該錶可以實現對索引順序檔案的隨機訪問

2.增加溢位(overflow)檔案: 用它來記錄新增加的、刪除的和修改的記錄。 

可根據不同檔案建立多級索引。

關鍵字本身就決定了記錄的實體地址。

利用hash函式(或稱雜湊函式)

可將關鍵字轉換為相應記錄的位址。

通常由hash函式所求得的並非是相應記錄的位址,而是指向某一目錄表相應表目的指標,該錶目的內容指向相應記錄所在的物理塊。

包含:(1) 檔名。(2) 檔案物理位置。(3) 檔案邏輯結構。(4) 檔案的物理結構

(1)檔案主的訪問許可權 (2)核准使用者的訪問許可權 (3)一般使用者的訪問許可權

(1)檔案的建立日期和時間

(2)檔案上一次修改的日期和時間

(3)當前使用資訊:

當前已開啟該檔案的程序數   是否被其它程序鎖住   檔案在記憶體中是否已被修改但尚未拷貝到盤上。

檔案目錄通常是存放在磁碟上的,當檔案很多時,檔案目錄可能要占用大量的盤塊。

在查詢目錄的過程中,必須先將存放目錄檔案的第乙個盤塊中的目錄調入記憶體,然後將使用者所給定的檔名,與目錄項中的檔名逐一比較。若未找到指定檔案,還需要將下一盤塊的目錄項調入記憶體。 

(存放在磁碟上的索引節點)每個檔案有唯一的乙個磁碟索引結點

包括(1) 檔案主識別符號,即擁有該檔案的個人或小組的識別符號;

(2) 檔案型別,包括正規檔案、目錄檔案或特別檔案;

(3) 檔案訪問許可權,指各類使用者對該檔案的訪問許可權;

(4) 檔案實體地址,每乙個索引結點中含有13個位址項,即iaddr(0)~iaddr(12),它們以直接或間接方式給出資料檔案所在盤塊的編號;

(5) 檔案長度,指以位元組為單位的檔案長度;

(6) 檔案連線計數,表明在本檔案系統中所有指向該(檔案的)檔名的指標計數;

(7) 檔案訪問時間,指出本檔案最近被程序訪問的時間、最近被修改的時間及索引結點最近被修改的時間。

(存放在記憶體中的索引結點)當檔案被開啟時,要將磁碟索引結點拷貝到記憶體的索引結點中,便於以後使用。

增加內容:

(1) 索引結點編號,用於標識記憶體索引結點;

(2) 狀態,指示 i 結點是否上鎖或被修改;

(3) 訪問計數,每當有一程序要訪問此i結點時,將該訪問計數加1,訪問完再減1;

(4) 檔案所屬檔案系統的邏輯裝置號;

(5) 鏈結指標,設定有分別指向空閒鍊錶和雜湊佇列的指標。

在整個檔案系統中只建立一張目錄表,每個檔案佔乙個目錄項,目錄項中含檔名、副檔名、檔案長度、檔案型別、檔案實體地址以及其它檔案屬性。

表明每個目錄項是否空閒,又設定了乙個狀態位。

為每乙個使用者再建立乙個單獨的使用者檔案目錄ufd(user file directory):

它由使用者所有檔案的檔案控制塊組成。

再建立乙個主檔案目錄mfd(master file directory):

在主檔案目錄中,每個使用者目錄檔案都占有乙個目錄項,其目錄項中包括使用者名稱和指向該使用者目錄檔案的指標。 

在每個檔案目錄中,只能有乙個根目錄,每個檔案和每個目錄都只能有乙個父目錄。

從根目錄到任何資料檔案都只有一條唯一的通路。

在單級目錄中,利用使用者提供的檔名,用順序查詢法直接從檔案目錄中找到指名檔案的目錄項。

在樹形目錄中,使用者提供的檔名是由多個檔案分量名組成的路徑名,此時需對多級目錄進行查詢。

系統利用使用者提供的檔名,並將它變換為檔案目錄的索引值,再利用該索引值到目錄中去查詢,這樣將顯著地提高檢索速度。

作業系統基礎之檔案管理

在使用計算機的過程中,需要大量的程式以及資料,而記憶體的容量有限,並且不能長期儲存資料,於是便將資料以檔案的形式儲存在外存中。隨著而來就又出現了新的問題了,如果直接將資料儲存在外存中,使用者直接面向磁碟進行操作,就會帶來很多的問題,比如 要求使用者熟悉磁碟的結構,了解各種檔案的屬性,在磁碟上的具體位...

作業系統 檔案管理

使用者作業中要用到各種各樣的資訊,如源程式 目標程式 資料 各種語言的編譯程式等。有的資訊需要長期儲存,而有的只是臨時使用。計算機系統經常把資訊儲存在磁碟等儲存介質上,也要利用輸入級 印表機等裝置進行資訊的輸入或輸出。啟動外圍裝置訪問資訊時一項相當複雜 繁瑣的工作。為減輕使用者的負擔和保證系統的安全...

作業系統 檔案管理

檔案系統是用來管理計算機內部儲存的程式和資料。陣列組成可分為 資料項 記錄和檔案。資料項可以組成記錄,記錄可以組成檔案。屬性 檔案具有以下屬性 檔案型別 檔案長度 檔案物理位置 檔案的建立時間。型別 檔案型別可分為普通檔案 目錄檔案 特殊檔案。為了方便統一管理,系統將所有的輸入輸出裝置都視為檔案。檔...