作業系統-檔案管理(參考王道)
檔案的概念
在系統執行時,計算機以程序為基本單位進行資源的排程和分配,而在使用者進行的輸入輸出彙總,則以檔案為基本單位。
自底向上定義
資料項:
檔案中最低階資料組織形式。
基本資料項:用於表述一個物件的某種屬性的一個值,是資料中可命名的最小邏輯資料單位,即院子資料。
組合資料項:由多個基本資料項組成。
記錄:
是一組相關資料項的集合。
檔案:
是以計算機硬碟為載體儲存在計算機上的資訊集合。
由建立者所定義的一組相似記錄組成。
有結構檔案:檔案有一組相似記錄組成,又稱記錄式檔案。
1.順序檔案(可以定長或變長的,可以順序儲存或鏈式儲存,在訪問時需要順序搜尋檔案)
在對記錄進行批量操作時,即每次都要讀或寫一大批記錄,對順序檔案的效率是所有邏輯檔案中最高的,此外,也只有順序檔案才能儲存在磁帶上,並能有效地工作,但順序檔案對查詢,修改,增加或刪除單個記錄的操作比較困難。
1.1串結構 記錄之間的順序與關鍵字無關。
1.2順序結構 對記錄按關鍵字排序
2.索引檔案
定長記錄檔案
查詢第i個Ai=i*L
可變長記錄檔案
Ai=求和Li+i
變長檔案智慧順序查詢,系統開銷較大,為此可以建立一張索引表加快檢索速度。索引表本身是定長記錄的順序檔案。
3.索引順序檔案
結合,將順序檔案中的所有記錄分為若干組,為順序檔案建立一張索引表,在索引表中為每組中的第一個記錄建立一個索引表,其中含有該記錄的關鍵字值和該記錄的指標。
4.直接檔案或雜湊檔案
給定記錄的鍵值或通過Hash函式轉換的鍵值直接決定記錄的實體地址。這中對映結構不同於順序檔案或索引檔案,沒有順序的特性。雜湊檔案又很高的存取速度,但是會引起衝突,即不同關鍵字的雜湊函式值相同。
無結構檔案:
而無結構檔案則被看成是一個字元流,比如一個二進位制檔案或字元檔案,又稱流式檔案。
無結構檔案是最簡單的檔案組織形式。無結構檔案將資料順序組織成記錄並積累儲存,它是有序相關資訊項的集合。以位元組為單位,由於無結構檔案沒有結構,因而對記錄的訪問智慧通過窮舉搜尋的方式,故這種檔案形式對大多數應用不適用。但字元流的無機構檔案管理簡單,使用者可以方便地對其進行操作,所以,那些對基本資訊單位操作不多的檔案較適於採用字元流的無結構方式,如原始檔,目的碼檔案等。
檔案屬性
通常包括以下:
1.名稱:唯一,以容易讀取的形式儲存。
2.識別符號:標識檔案系統內檔案的唯一標籤,通常為數字,他是對人不可讀的一種內部名稱。
3.型別:被支援不同型別的檔案系統所使用
4.位置:指向裝置和裝置上檔案的指標
5.大小:檔案當前大小(用位元組,字或塊表示),也可包含檔案允許的最大值。
6.保護:對檔案進行保護的訪問控制資訊
7.時間,日期和使用者標識:檔案建立,上次修改,上次訪問的相關資訊,使用者保護,安全和跟蹤檔案的使用。
(所有檔案的資訊都儲存在目錄結構中,而目錄結構也儲存在外存上,檔案資訊當需要時再調入記憶體,通常,目錄條目包括檔名稱及其唯一識別符號,而識別符號定位其他屬性資訊。)
檔案操作
建立檔案
1.在檔案系統中找到空間
2.在目錄中為新檔案建立條目
寫檔案
讀檔案
檔案重定位
刪除檔案
截斷檔案