在設計檔案系統之前,有許多共通的關鍵詞是需要明確的定義的,以避免語意含糊而造成誤導。今天的文章就是要來定義這些關鍵詞:Disk、Block、Partition、Volume、Superblock、Metadata、Journaling、I-node。
在設計檔案系統之前,有許多共通的關鍵詞是需要明確的定義的,以避免語意含糊而造成誤導。今天的文章就是要來定義這些關鍵詞:Disk、Block、Partition、Volume、Superblock、Metadata、Journaling、I-node。
Disk:不會因為斷電而抹除資料的儲存媒體--磁碟。磁碟(disk)的最小儲存單位稱為sector或block,以目前的硬碟來說,通常是512bytes。
Block:寫入磁碟或是檔案系統的最小單位。檔案系統所作的每一個動作都是在操作這些block。特別注意的是,檔案系統的block大小,永遠等於或大於磁碟上的block大小(考考你,知道為什麼嗎)。
Partition: Disk上部分block的集合。一個disk可以包含多個partition。
Volume: 儲存媒體如disk上一些block集合所被賦予的名稱。這些block的集合可能來自一個完整的或是部分的disk,也可能由跨越多個disk所組成,這點是和partition有所不同之處。
Superblock: 在volume中,檔案系統用以儲存自身資訊的區塊。Superblock中的資訊通常包括像是volume的大小、名稱等等。
Metadata: 用以描述資料性質的資訊,但是不包含在資料上。像是記錄檔案大小的資訊,他不是檔案資料的本體,而只是用以說明資料的一個性質--大小。
Journaling: 用以確保檔案系統metadata的內容完整性的技術,以避免系統在不正常斷電下造成檔案毀損。
I-node: 檔案系統用來記錄所有metadata的地方,同時也記錄所有跟檔案控制相關的內容,所以I-node又稱為file control block(FCB)。
這些是主要常用到的關鍵詞,其中I-node借用於Unix作業系統。而方才提到的,檔案系統的block必須大於或等於disk上的block大小,其原因就是disk上的block是磁碟系統運作的基本單位。檔案系統建立在磁碟系統之上,所以檔案系統的最小單位不能小於磁碟系統。