歷史
HFS首次出現在1985年9月17日,作為
Macintosh電腦上新的檔案系統。它取代只用於早期Mac型號所使用的平面檔案系統Macintosh File System(MFS)。因為Macintosh電腦所產生的數據,比其它通常的檔案系統,如
DOS使用的
FAT或原始
Unix檔案系統所允許存儲的數據更多。蘋果電腦開發了一種新式更適用的檔案系統,而不是採用現有的規格。例如,HFS允許檔案名稱最多有31個字元的長度,支持
metadata和雙分支(每個檔案的數據和資源支分開存儲)檔案。
儘管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。
檔案系統
計算機的
檔案系統是一種存儲和組織計算機數據的方法,它使得對其訪問和查找變得容易,檔案系統使用
檔案和
樹形目錄的抽象邏輯概念代替了硬碟和光碟等物理設備使用數據塊的概念,用戶使用檔案系統來保存數據不必關心數據實際保存在硬碟(或者光碟)的地址為多少的數據塊上,只需要記住這個檔案的所屬目錄和檔案名稱。在寫入新數據之前,用戶不必關心硬碟上的那個塊地址沒有被使用,硬碟上的存儲空間管理(分配和釋放)功能由檔案系統自動完成,用戶只需要記住數據被寫入到了哪個檔案中。
檔案系統通常使用
硬碟和
光碟這樣的
存儲設備,並維護檔案在設備中的物理位置。但是,實際上檔案系統也可能僅僅是一種訪問數據的界面而已,實際的數據是通過網路協定(如
NFS、
SMB、
9P等)提供的或者記憶體上,甚至可能根本沒有對應的檔案(如proc檔案系統)。