HPFS
HPFS
HPFS,即High Performance File System(高性能文件系統),最早是隨 OS/2 1.2 引入的,目的是提高訪問當時市場上出現的更大硬碟的能力。
此外,當時也需要一個新的可以擴展命名系統、組織性和安全性的文件系統,以便滿足網路伺服器市場日益增長的需求。HPFS 保留了 FAT 的目錄組織,同時增加了基於文件名的自動目錄排序功能。文件名擴展到最多可為 254 個雙位元組字元。HPFS 還允許由“數據”和特殊屬性組成文件,從而在支持其他命名規則和安全性方面增加了靈活性。此外,分配單位也從簇改為物理扇區(512 位元組),這減少了磁碟空間的浪費。
在 HPFS 下,目錄項包含的信息比在 FAT 下更多。至於屬性文件,則還包括有關修改、創建、訪問日期和時間的信息。在 HPFS 下,目錄項不是指向文件的第一個簇,而是指向 FNODE。FNODE 可以包含文件的數據、指向文件的數據的指針或其他最終指向文件的數據的結構。
HPFS 試圖將一個文件儘可能分配在連續的扇區內。這樣做是為了提高連續處理文件的速度。
HPFS 將一個驅動器組織成一系列的 8 MB 頻帶,並且只要有可能文件就包含在其中一個頻帶中。頻帶與頻帶之間為 2K 的分配點陣圖,用來跟蹤一個頻帶內哪些扇區已分配,哪些扇區尚未分配。分頻帶可以提高性能,原因是驅動器頭不必回到磁碟的邏輯頂部(通常是 0 柱面),而只需回到最近的頻帶分配點陣圖就可以判斷文件的存儲位置。
此外,HPFS 還包括兩個唯一的特殊數據對象
超級塊位於邏輯扇區 16 處,它包含一個指向根目錄的 FNODE 的指針。使用 HPFS 的最大風險之一是,如果因壞扇區導致超級塊丟失或損壞,分區的內容也會損壞,即使驅動器的其餘部分都很好。通過將所有內容複製到另一個具有好的扇區 16 的驅動器上並重建超級塊的辦法,有可能恢復驅動器上的數據。但是,這是一個非常複雜的任務。
備用塊位於邏輯扇區 17 處,它包含一個“修復”表和備用目錄塊。在 HPFS 下,當檢測到一個壞扇區時,“修復”項即被用來邏輯地指向一個現有的好扇區來替代壞扇區。這種處理寫入錯誤的技術稱為修復。
所謂修復技術,就是在因壞扇區導致發生錯誤時,文件系統會將信息移到另一個扇區中,同時將原來的扇區標記為壞扇區。這些過程對於所有正在執行磁碟 I/O 操作的應用程序而言都是透明的(也就是說,應用程序完全不知道硬碟出過問題)。使用支持修復的文件系統可以消除像 FAT 遇到壞扇區時出現的“Abort, Retry, or Fail?”這樣的錯誤信息。
注意:Windows NT 附帶的 HPFS 版本不支持修復。
HPFS 最適用於 200-400 MB 範圍的驅動器。有關 HPFS 的優點的更多討論,請參見下列文章:《Microsoft Windows NT Server Concepts and Planning Guide》第 5 章“Choosing a File System”《Microsoft Windows NT Workstation 4.0 Resource Kit》第 18 章“Choosing a File System”《Microsoft Windows NT Server 4.0 Resource Kit Resource Guide》第 3 章“Which File System to Use on Which Volumes”
由於 HPFS 帶來的系統開銷,因此,大約 200 MB 以下的卷最好不要選擇使用此文件系統。此外,對於大約 400 MB 以上的卷,使用此文件系統會出現性能下降。在 Windows NT 下,您不能對 HPFS 設置安全性。
只有 Windows NT 3.1、3.5 和 3.51 版支持 HPFS。Windows NT 4.0 不能訪問 HPFS 分區。