分層檔案系統
分層檔案系統(Hierarchical File System,HFS)是一種由蘋果電腦開發,並使用在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卷需要下面的五個結構:
- 卷的邏輯塊0和1是啟動塊,它包含系統啟動資訊。例如,啟動時載入的系統名稱和殼(通常是Finder)檔案。
- 邏輯塊2包含主目錄塊(Master Directory Block,簡稱MDB)。
- 邏輯塊3是卷點陣圖(Volume Bitmap)的啟動塊,它追蹤分配塊使用狀態。
- 總目錄檔案(Catalog File)是一個包含所有檔案的記錄和儲存在卷中目錄的B*-tree。
- 擴充溢位檔案(Extent Overflow File)是當最初總目錄檔案中三個擴充佔用後,另外一個包含額外擴充記錄的分配塊對應資訊的B*-tree。
參見
外部連結
- (英文)HFS規格(官方)
- (英文)HFS入門——來自 MWJ 的PDF檔案
- (英文)MacWindows(解答轉換平台問題的網站)
- (英文)Filesystems HOWTO - Macintosh分層檔案系統(有點過時) (頁面存檔備份,存於互聯網檔案館)
- (簡體中文)Mac OS X開發檔案中的檔案系統