分層檔案系統

分層文件系統Hierarchical File SystemHFS)是一種由蘋果電腦開發,並使用在Mac OS上的文件系統。最初被設計用於軟盤硬盤,同時也可以在在只讀媒體如CD-ROM上見到。

歷史

HFS首次出現在1985年9月17日,作為Macintosh電腦上新的文件系統。它取代只用於早期Mac型號所使用的平面文件系統Macintosh File System(MFS)。因為Macintosh電腦所產生的數據,比其它通常的文件系統,如DOS使用的FAT或原始Unix文件系統所允許存儲的數據更多。蘋果電腦開發了一種新式更適用的文件系統,而不是採用現有的規格。例如,HFS允許文件名最多有31個字符的長度,支持元數據和雙分支(每個文件的數據和資源支分開存儲)文件。

儘管HFS像其它大多數文件系統一樣被視為專有的格式,但是只有它為大多數最新的操作系統提供了很好的通用解決方法以存取HFS格式磁盤。

在1998年,蘋果電腦發布了HFS Plus,其改善了HFS對磁盤空間的地址定位效率低下,並加入了其它的改進。當前版本的Mac OS仍舊支持HFS,但從Mac OS X開始HFS卷不能作為啟動用。

構成方式

分層文件系統把一個卷分為許多512字節的「邏輯塊」。這些邏輯塊被編組為「分配塊」,這些分配塊可以根據卷的尺寸包含一個或多個邏輯塊。HFS對地址分配塊使用16位數值,分配塊的最高限制數量是65536。

組成一個HFS卷需要下面的五個結構:

  1. 卷的邏輯塊0和1是啟動塊,它包含系統啟動信息。例如,啟動時載入的系統名稱和殼(通常是Finder)文件。
  2. 邏輯塊2包含主目錄塊Master Directory Block,簡稱MDB)。
  3. 邏輯塊3是卷位圖Volume Bitmap)的啟動塊,它追蹤分配塊使用狀態。
  4. 總目錄文件Catalog File)是一個包含所有文件的記錄和儲存在卷中目錄的B*-tree
  5. 擴展溢出文件Extent Overflow File)是當最初總目錄文件中三個擴展占用後,另外一個包含額外擴展記錄的分配塊對應信息的B*-tree

參見

外部連結