檔案的邏輯結構
◆ 邏輯結構的檔案型別
檔案可以分為有結構檔案和無結構檔案
有結構檔案
1>內容由定長記錄和可變長記錄組成
2>定長記錄儲存檔案格式,檔案描述等結構化資料項。
3>可變長記錄儲存檔案具體內容
無結構檔案
1>也稱為流式檔案
2>檔案內容長度以位元組為單位,如exe,dll,so檔案
◆ 順序檔案
順序檔案指的是按順序存放在儲存介質中的檔案。
如磁帶的特性使得磁帶檔案只能儲存順序檔案。
順序檔案是所有邏輯檔案當中儲存效率最高的。
◆ 索引檔案
可變長檔案不適合使用順序檔案格式儲存,索引檔案是為了解決可變長檔案儲存而發明的一種檔案格式。
索引檔案需要配合索引表完成儲存的操作。
索引表
key-->value結構,value是實際儲存的內容。
輔存的儲存空間分配
◆ 輔存的分配方式
鏈結分配又分為隱式和顯式。
1>連續分配
如圖所示123456這些連續的扇區分配給檔案去儲存。
優勢:順序讀取檔案內容非常容易,速度很快
劣勢:但是對儲存的要求高,要求滿足容量的連續儲存空間
2>鏈結分配
鏈結分配可以將檔案儲存在離散的盤塊中,但是需要額外的儲存空間儲存檔案的盤塊鏈結順序。
如果是隱式分配,那麼當前盤塊會單獨儲存指向下乙個盤塊的鏈結。
非常適合順序訪問,隨機訪問效率很低。同時可靠性很差,某乙個鏈結出問題,影響整個檔案儲存。
如果是顯式分配
會單獨使用乙個顯式分配用到的表(file allocation table)即fat,儲存物理盤塊和下一盤塊。
不支援高效的隨機儲存(fat記錄項比較多)
檢索時fat表占用較大的儲存空間(需要將整個fat表載入到記憶體)
3>索引分配
把檔案的所有盤塊集中儲存(索引), 讀取某個檔案時,將檔案索引讀取進記憶體即可。
如圖所示,12是檔案的索引,這裡面儲存了檔案所使用到的盤塊。
每個檔案擁有乙個索引塊,記錄所有盤塊資訊
索引分配方式支援直接訪問盤塊
檔案較大時,索引分配方式具有明顯優勢
儲存空間管理
空閒表,空閒鍊錶,位示圖
空閒表
( 以空間大小作為標準)
◆ 空閒盤區的分配與記憶體分配類似
◆ 首次適應演算法、迴圈適應演算法等
◆ **過程也與記憶體**類似
空閒鍊錶
◆ 空閒鍊錶法把所有空閒盤區組成乙個空閒鍊錶
◆ 每個鍊錶節點儲存空閒盤塊和空閒的數目
位示圖
◆ 位示圖維護成本很低
◆ 位示圖可以非常容易找到空閒盤塊
◆ 位示圖使用0/1位元位,占用空間很小
目錄管理
目錄通過目錄樹管理,使得任何檔案或目錄都只有唯一路徑。
作業系統 檔案管理
使用者作業中要用到各種各樣的資訊,如源程式 目標程式 資料 各種語言的編譯程式等。有的資訊需要長期儲存,而有的只是臨時使用。計算機系統經常把資訊儲存在磁碟等儲存介質上,也要利用輸入級 印表機等裝置進行資訊的輸入或輸出。啟動外圍裝置訪問資訊時一項相當複雜 繁瑣的工作。為減輕使用者的負擔和保證系統的安全...
作業系統 檔案管理
檔案系統是用來管理計算機內部儲存的程式和資料。陣列組成可分為 資料項 記錄和檔案。資料項可以組成記錄,記錄可以組成檔案。屬性 檔案具有以下屬性 檔案型別 檔案長度 檔案物理位置 檔案的建立時間。型別 檔案型別可分為普通檔案 目錄檔案 特殊檔案。為了方便統一管理,系統將所有的輸入輸出裝置都視為檔案。檔...
作業系統 檔案管理
9 檔案系統的層次結構 10 磁碟 外存 10.4 磁碟的管理 1 順序檔案 2 索引檔案 3 索引順序檔案 1 實現 乙個檔案對應乙個fcb 檔案控制塊 乙個fcb就是乙個目錄項,多個fcb組成檔案目錄 2 操作 搜尋 建立檔案 刪除檔案 顯示檔案 修改檔案 3 目錄結構 4 索引結點 存放除了檔...