操作系统4-文件管理
Posted lunar-ubuntu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统4-文件管理相关的知识,希望对你有一定的参考价值。
操作系統4-文件系統
文件
文件是計算機系統中信息存放的一種組織形式
文件的分類
- 系統文件
- 庫文件:系統為用戶提供的各種庫函數和實用程序等,用戶只能實用不能修改。
- 用戶文件
文件的性質
- 普通文件
- 目錄文件:記錄目錄裡面的文件列表信息
- 設備文件:把設備作為文件管理和使用(typical Linux)
文件屬性:指定文件的類型、操作特性和存取保護等信息,存放在文件所在目錄的目錄文件中。
MS-DOS系統中:文件屬性佔目錄的一個字節
文件結構
- 邏輯結構:強調文件信息項的構成方式和用戶的存取方式
- 記錄式文件:文件頭要包含文件的各種控制信息和說明信息
- 流式文件:只有文件的內容,沒有額外的內容。現在操作系統都是流式文件,由應用程序解釋和處理文件。
- 物理結構:文件在存儲設備上的存儲結構
- 邏輯結構:強調文件信息項的構成方式和用戶的存取方式
文件存取
- 順序存取:文件讀取時,讀寫指針指向第一個信息項
- 隨機存取:存取操作時指定存取的位置。
文件物理結構
連續文件:文件按邏輯塊的順序存放在硬盤連續的物理存儲塊中。
文件目錄記錄文件的長度和第一個存儲塊的塊號。
缺點:不利於文件的動態增長,不利於文件的插入和刪除。
索引文件
不連續地存儲在物理塊中,文件目錄記錄文件的邏輯塊和物理塊之間的對應關係。
顯然索引文件結構比連續文件結構更加適合更加頻繁更改的文件。
串聯文件
不連續地存儲在物理塊中,每個存儲塊有一個指針指向下一個存儲塊。
不利於文件的隨機存取。
串聯文件的應用:FAT文件系統
FAT文件系統(File Allocation Table)
文件分配表(FAT表)
FAT系統應用了串聯文件的結構,但是將每個文件的next指針統一地有序地存儲在了一個表中,稱為FAT表。
訪問方式:如果當前的存儲塊號是i,那麼下一個存儲塊的地址就是FAT(i)。
所以可以說FAT系統巧妙地結合索引和串聯系統的特點。
扇區
磁盤上最小的可尋址的存儲單元(512字節)
簇(cluster) = 存儲塊
設備的最小存取單元,固定數量的扇區
示例:
- 369KB硬盤:簇 = 2個扇區(1024字節)
- 2GB硬盤:簇 = 64個扇區(32KB)
一般硬盤容量越大,簇包含的扇區數量越大。
FAT元素數目和簇的數目一致,FAT元素的寬度與可以標識的簇的數量的關係為(2^n)。
磁盤容量 = FAT長度 * 簇扇區數 * 扇區大小
常說的FAT16文件系統就是說FAT表支持的最大的元素寬度為16位,能標識的簇容量為(2^{16})位。通過FAT長度計算出來磁盤容量就是FAT支持的最大磁盤分區容量。
FAT16格式化的磁盤
啟動扇區 FAT1 FAT2 根目錄 其他目錄和文件 FAT1和FAT2的內容一致,為了防止被破壞而有一個備份。
存儲空間管理
記錄磁盤使用情況,管理和分配、回收存儲空間
空閒文件目錄
- 空閒文件:把連續空閒區看成一個特殊文件
- 空閒文件目錄:每個表項對應一個空閒文件,記錄有第一個空閒塊號,空閒塊個數和響應的物理塊號。
空閒塊鏈
把所有的空閒塊鏈接在一起,當申請者需要空閒塊時,從鏈頭開始搜索空閒塊直到遇到合適的空閒塊。回收空間時,把釋放的空閒塊逐個加在鏈尾。這個和內存管理的機制是一樣的。
位示圖
從內存中劃出若干個字節,每個bit表示一個存儲塊空閒或佔用。1表示空閒。
文件目錄管理
文件目錄
記錄文件名和存放地址的目錄表
具有將文件名轉換為物理地址的功能
還記錄有文件屬性
目錄文件:文件目錄以文件形式存與外存,這個文件叫做目錄文件。
目錄結構
不同系統的結構不一樣
- DOS系統(32字節):文件名 擴展名 屬性 保留 時間日期 首塊號 大小
- Unix
- 索引節點
- 文件目錄項中的文件名和其他屬性信息分開,後者單獨組成一個定長數據結構:索引節點i_node
典型的文件系統
FAT16 FAT32 (Microsoft patent)
NTFS
EXT2 EXT3 EXT4 (Linux)
以上是关于操作系统4-文件管理的主要内容,如果未能解决你的问题,请参考以下文章