1、linux檔案系統分配策略:
塊分配( block allocation ) 和 擴充套件分配 ( extent allocation )
塊分配:磁碟上的檔案塊根據需要分配給檔案,避免了儲存空間的浪費。但當檔案擴充時,會造成檔案中檔案塊的不連續,從而導致過多的磁碟尋道時間。
每一次檔案擴充套件時,塊分配演算法就需要寫入檔案塊的結構資訊,也就是 meta-dada 。meta-data總是與檔案一起寫入儲存裝置,改變檔案的操作要等到所有meta-data的操作都完成後才能進行,
因此,meta-data的操作會明顯降低整個檔案系統的效能。
擴充套件分配: 檔案建立時,一次性分配一連串連續的塊,當檔案擴充套件時,也一次分配很多塊。meta-data在檔案建立時寫入,當檔案大小沒有超過所有已分配檔案塊大小時,就不用寫入meta-data,直到需要再分配檔案塊的時候。
擴充套件分配採用成組分配塊的方式,減少了scsi裝置寫資料的時間,在讀取順序檔案時具有良好的效能,但隨機讀取檔案時,就和塊分配類似了。
檔案塊的組或塊簇 ( block cluster) 的大小是在編譯時確定的。簇的大小對檔案系統的效能有很大的影響。
注: meta-data 元資訊:和檔案有關的資訊,比如許可權、所有者以及建立、訪問或更改時間等。
2、檔案的記錄形式
linux文家系統使用索引節點(inode)來記錄檔案資訊。索引節點是一種資料結構,它包含了乙個檔案的長度、建立及修改時間、許可權、所屬關係、磁碟中的位置等資訊。
乙個檔案系統維護了乙個索引節點的陣列,每個檔案或目錄都與索引節點陣列中的唯一的元素對應。每個索引節點在陣列中的索引號,稱為索引節點號。
linux檔案系統將檔案索引節點號和檔名同時儲存在目錄中,所以,目錄只是將檔案的名稱和它的索引節點號結合在一起的一張表,目錄中每一對檔名稱和索引節點號稱為乙個連線。
對於乙個檔案來說,有乙個索引節點號與之對應;而對於乙個索引節點號,卻可以對應多個檔名。
連線分為軟連線和硬連線,其中軟連線又叫符號連線。
硬連線: 原檔名和連線檔名都指向相同的實體地址。目錄不能有硬連線;硬連線不能跨檔案系統(不能跨越不同的分割槽),檔案在磁碟中只有乙個拷貝。
由於刪除檔案要在同乙個索引節點屬於唯一的連線時才能成功,因此硬連線可以防止不必要的誤刪除。
軟連線: 用 ln -s 命令建立檔案的符號連線。符號連線是linux特殊檔案的一種,作為乙個檔案,它的資料是它所連線的檔案的路徑名。沒有防止誤刪除的功能。瀋陽463解放軍醫院
linux檔案系統基礎知識
2012 02 06 13 15 標籤 linux 基礎知識 分類 file system 1 linux檔案系統分配策略 塊分配 block allocation 和 擴充套件分配 extent allocation 塊分配 磁碟上的檔案塊根據需要分配給檔案,避免了儲存空間的浪費。但當檔案擴充時,...
linux檔案系統基礎知識
1 linux檔案系統分配策略 塊分配 block allocation 和 擴充套件分配 extent allocation 塊分配 磁碟上的檔案塊根據需要分配給檔案,避免了儲存空間的浪費。但當檔案擴充時,會造成檔案中檔案塊的不連續,從而導致過多的磁碟尋道時間。每一次檔案擴充套件時,塊分配演算法就...
linux檔案系統基礎知識
1.linux檔案系統結構 大部分linux檔案系統的結構都與unix檔案系統結構類似,都包括幾個重要概念 超級區塊 索引節點 資料塊 目錄塊。其中,在超級區塊中包含有關該磁碟或分割槽上的檔案系統的整體資訊,如檔案系統的大小等。索引節點,包含了針對該磁碟或分割槽上的檔案系統的整體資訊,如檔案的訪問許...