linux檔案系統基礎知識彙總

  1、linux檔案系統分配策略

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特殊檔案的一種,作為一個檔案,它的資料是它所連線的檔案的路徑名。沒有防止誤刪除的功能。

  3、檔案系統型別:

ext2 : 早期linux中常用的檔案系統

ext3 : ext2的升級版,帶日誌功能

RAMFS : 記憶體檔案系統,速度很快

NFS : 網路檔案系統,由SUN發明,主要用於遠端檔案共享

MS-DOS : MS-DOS檔案系統

VFAT : Windows 95/98 作業系統採用的檔案系統

FAT : Windows XP 作業系統採用的檔案系統

NTFS : Windows NT/XP 作業系統採用的檔案系統

HPFS : OS/2 作業系統採用的檔案系統

PROC : 虛擬的程序檔案系統

ISO9660 : 大部分光碟所採用的檔案系統

ufsSun : OS 所採用的檔案系統

NCPFS : Novell 伺服器所採用的檔案系統

SMBFS : Samba 的共享檔案系統

XFS : 由SGI開發的先進的日誌檔案系統,支援超大容量檔案

JFS :IBM的AIX使用的日誌檔案系統

ReiserFS : 基於平衡樹結構的檔案系統

udf: 可擦寫的資料光碟檔案系統

  4、虛擬檔案系統VFS

linux支援的所有檔案系統稱為邏輯檔案系統,而linux在傳統的邏輯檔案系統的基礎上增加料一個蓄念檔案系統( Vitual File System ,VFS) 的介面層。

虛擬檔案系統(VFS) 位於檔案系統的最上層,管理各種邏輯檔案系統,並可以遮蔽各種邏輯檔案系統之間的差異,提供統一檔案和裝置的訪問介面。

  5、檔案的邏輯結構

檔案的`邏輯結構可分為兩大類: 位元組流式的無結構檔案 和 記錄式的有結構檔案。

由位元組流(位元組序列)組成的檔案是一種無結構檔案或流式檔案 ,不考慮檔案內部的邏輯結構,只是簡單地看作是一系列位元組的序列,便於在檔案的任意位置新增內容。

由記錄組成的檔案稱為記錄式檔案 ,記錄是這種檔案型別的基本資訊單位,記錄式檔案通用於資訊管理。

  6、檔案型別

普通檔案 : 通常是流式檔案

目錄檔案 : 用於表示和管理系統中的全部檔案

連線檔案 : 用於不同目錄下檔案的共享

裝置檔案 : 包括塊裝置檔案和字元裝置檔案,塊裝置檔案表示磁碟檔案、光碟等,字元裝置檔案按照字元操作終端、鍵盤等裝置。

管道(FIFO)檔案 : 提供程序建通訊的一種方式

套接字(socket) 檔案: 該檔案型別與網路通訊有關

  7、檔案結構: 包括索引節點和資料

索引節點 : 又稱 I 節點,在檔案系統結構中,包含有關相應檔案的資訊的一個記錄,這些資訊包括檔案許可權、檔名、檔案大小、存放位置、建立日期等。檔案系統中所有檔案的索引節點儲存在索引節點表中。

資料 : 檔案的實際內容。可以是空的,也可以非常大,並且擁有自己的結構。