- 3 兼容性
- ? 類 Unix 操作系統
- ? 微軟視窗
- 4 碎片化
HFS+
編輯文件系統 HFS++ 或 - 更常見 - HFS+ 是 HFS 的進一步發展。 首字母縮寫詞代表分層文件系統。 它于 1998 年 1 月 19 日與 Mac OS 8.1 一起推出,長期以來一直是運行 Mac OS X 的 Macintosh 計算機(自 2012 年起稱為 OS X,自 2016 年起稱為 macOS)和 iOS 設備(iPhone、iPad、iPod、 Apple TV 和 Apple Watch)并可用于所有內部和外部存儲媒體。 在 Mac OS X 本身中,它被稱為 Mac OS Extended,其前身 HFS 被稱為 Mac OS Standard。
與 FAT16/32 相比,HFS+ 的分配單元更小——這可以帶來更高的分區效率或分區管理和訪問速度。
HFS+ 的繼任者是 2016 年推出的 Apple 文件系統 (APFS)。
HFS+變體
編輯HFS+ 有多種變體,其中一些可以組合使用。 為了完整起見,較舊的 HFS 也按原樣列在此處,或者在 Mac OS X 上的“磁盤工具”中可供選擇。 一些舊版本在新版本的 OS X/macOS 中不再可用。
Mac OS Standard 舊的分層文件系統,自 1986 年以來可用。 Mac OS Extended 新的 HFS+ 文件系統于 1998 年 1 月 19 日隨 Mac OS 8.1 一起引入。 它是 Mac OS 8.1 到 9.2.2(最后一個經典 Mac OS 版本,直到 2001)和 Mac OS X 到 10.2(Jaguar,2002)的默認文件系統。Mac OS 擴展(日志式)也稱為 jHFS+或 HFS+J,首次在 Mac OS X Server 10.2.2(2002 年,基于“Jaguar”)中引入,并成為桌面版 Mac OS X Panther(10.3,2003 年)的標準配置。 日志不是文件系統本身的一部分,而是在操作系統中以兩個常規文件.journal 和.journal_info_block 的形式實現為虛擬文件系統(VFS),因此文件系統本身可以與或集成沒有日記。 舊版本的 Mac OS/ Mac OS X 也可以使用相同的文件系統,但沒有 Journal.Mac OS Extended(日志式,區分大小寫)這個變體也在 Mac OS X Panther (10.3, 2003) 中引入。 操作系統對文件名中的大小寫字母進行嚴格區分,也稱為區分大小寫。 此變體使用不同的分區標識符,也稱為 HFSX。 這可以防止分區(以及文件系統)被安裝在較舊的不兼容版本的 Mac OS/Mac OS X 下,因為這可能導致數據丟失。在這種區分大小寫的變體中,HFSX 在被 APFS 取代之前iOS 設備上的默認文件系統。
除了 HFSX 變體之外,文件系統(其驅動程序)在默認情況下不會區分 HFS+ 文件名中的大小寫字母,例如 例如,filename.ext(xxx個大寫字母)表示與 filename.ext(全部小寫)相同的文件。 規范化(大小寫字母的轉換,Unicode 的 NFD 規范化)發生在文件系統驅動程序中。
在 2006 年從 PowerPC 轉向 Intel 架構后,HFS+ 僅用于日志版本。 與免費文件系統 ext3/ext4、XFS 和 ReiserFS 或 Microsoft 的商業 NTFS 一樣,它比不使用日志記錄的文件系統(FAT16 和 FAT32、ext2、HFS 等)更穩定。
分區標識符
在經典 Mac OS 和 Mac OS X 的 PowerPC 版本上,HFS 和 HFS+ 在 Apple 分區映射 (APM) 中使用相同的分區標識符 Apple_HFS。 另一方面,在 HFSX 變體中,標識符 Apple_HFSX 用于兼容性原因,因此較舊的操作系統不會無意中集成更現代(不兼容)的 HFS+ 變體,這可能導致系統不穩定和數據丟失。 這是 i.a. 這是區分大小寫的 HFSX 版本的情況,但不是日志版本。
由于切換到英特爾處理器架構 IA-32 2006,GUID 分區表 (GPT) 被用作分區表。 舊的 HFS 分區不再顯示在其中 - GUID 為 48465300-0000-11AA-AA11-00306543ECAC 的 HFSX 是 HFS-Plus 文件系統的標準 GPT 標識符。
RAID 和 FileVault 分區在 GUID 分區表 (GPT) 中具有不同的分區 GUID,就像 Apple 分區映射 (APM) 中的 RAID 分區一樣。 這些分區類型也可以包含 HFS-Plus 文件系統,但不是必須的。
兼容性
編輯類 Unix 操作系統
在 Linux 發行版下,如果內核支持 hfsplus 文件系統,通常只需掛載即可讀寫 HFS/HFS+他們支持; 否則軟件包 hfsutils(僅限 HFS)和 hfsplus 可用于后續安裝。 可能需要安裝 hfsprogs 或禁用文件系統日志記錄以支持寫入。 BSD系統也有相應的軟件包。 這意味著如果安裝了適當的內核支持,Unix/Linux 系統可以讀取磁盤上的數據。
微軟視窗
HFS+ 只能在附加軟件的幫助下由基于 NT 的 Windows 操作系統使用。 Mac OS X Snow Leopard(10.6,2009)附帶的 Boot Camp 3.0 提供了讀取 HFS+ 文件系統的能力。
Windows 上的 HFS(+) 免費軟件
- catacombae 的 HFSExplorer(需要 Java SE Runtime Environment 5.0 或更高版本)
Windows 上 HFS(+) 的專有軟件
- Acute Systems 的 TransMac
- Mediafour 的 MacDrive
- Paragon Software Group 的 HFS+ for Windows
- DataViz 的 MacOpener(已停止開發)
- DiskInternals Research 的 Windows 版 Linux Reader?
Mac OS X/經典
Mac OS X 上的 Classic 環境需要使用 HFS+ 格式化的系統分區,不支持 UFS 文件系統。
碎片化
編輯HFS 和 HFS+ 旨在找到xxx的可用磁盤空間塊來存儲文件。 只有當一個文件放不下xxx的空閑內存塊時,才會將文件拆分(分片),將尚未寫入的部分存儲在另一個塊中。
這種方法假設文件的大小在寫入時是事先已知的。 這種情況在 Mac OS X 上很常見,因為用于處理文檔的系統庫的設計方式通常是自動更新文件:保存更改時,文檔的當前版本將同時寫入一個新文件go,然后刪除早期版本并將文件名轉移到新文件中。
此外,Mac OS X 會盡可能避免重復使用已刪除文件的已釋放內存塊。 此外,從 Mac OS X 10.2(“Jaguar”,2002 年)開始,免費塊借記被推遲以將多個小塊的預留合并為一個大的連續塊的單一借記。
如果文件增長緩慢,則這種碎片避免是無效的,即在初始創建文件后稍后附加更多塊。 從 Mac OS X Panther (10.3, 2003) 開始,操作系統因此也可以在運行時進行碎片整理(動態碎片整理)。
打開文件時,會檢查文件是否被分成八個以上的部分。 如果是這種情況并且以下所有條件也適用,則將文件移動到足夠大的空閑內存區域,從而進行碎片整理:
- 該文件只能由單個進程打開。
- 它在可寫媒體上。
- 文件大小不超過 20 MiB。
- 文件在最后一分鐘內沒有被修改。
- 操作系統已運行至少三分鐘。
Mac OS X 10.3 版使用的另一種方法(Panther,2003)是對頻繁使用的文件進行自動分組(自適應熱文件聚類):通過持續維護對每個文件的讀取訪問頻率的統計數據來識別 Mac OS X 采用使用最頻繁的文件并將它們移動到文件系統中位于核心元數據后面的區域。 在此移動過程中,文件會進行碎片整理并放置在 HFS 文件系統最常用元素的附近,從而xxx限度地減少磁頭移動。 文件的使用強度是通過將過去 60 小時的觀察窗口內讀取的字節數除以文件的總大小來確定的。 文件系統總容量的0.5%作為這些文件的存儲區域。 此區域中的文件數量限制為最多 5,000 個,并且只有 10 MiB 或更小的文件才會參與該過程。
其他碎片整理方法不是 Mac OS X 的一部分。Apple 建議不要使用程序進行后續碎片整理,因為它通常不值得使用。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/358207/