Введение

Журнальная файловая система, разработанная Apple.

HFS Plus или HFS+ (также известная как Mac OS Extended или HFS Extended) — это журнальная файловая система, разработанная компанией Apple Inc. Она заменила Иерархическую файловую систему (HFS) в качестве основной файловой системы компьютеров Apple с выпуском Mac OS 8.1 в 1998 году. HFS+ оставалась основной файловой системой Mac OS X до её замены на Apple File System (APFS), выпущенной вместе с macOS High Sierra в 2017 году. HFS+ также является одним из форматов, поддерживаемых цифровым музыкальным плеером iPod. По сравнению со своим предшественником HFS, также известным как Mac OS Standard или HFS Standard, HFS Plus поддерживает значительно большие файлы (адреса блоков имеют длину 32 бита вместо 16 бит) и использует Unicode (вместо Mac OS Roman или одного из нескольких других наборов символов) для именования элементов. Как и HFS, HFS Plus использует B-деревья для хранения большей части метаданных тома, но, в отличие от большинства файловых систем, поддерживающих жесткие ссылки, HFS Plus поддерживает жесткие ссылки на каталоги. HFS Plus допускает имена файлов длиной до 255 символов и n-разветвленные файлы, аналогичные NTFS, хотя до 2005 года почти любое системное программное обеспечение не использовало ветви, отличные от ветви данных и ветви ресурсов. HFS Plus также использует полную 32-битную таблицу распределения, а не 16-битную таблицу HFS, что улучшает использование пространства на больших дисках.

История

Изначально получив кодовое название Sequoia в процессе разработки, HFS+ был представлен 19 января 1998 года с выпуском Mac OS 8.1. С выпуском обновления Mac OS X 10.2.2 11 ноября 2002 года Apple добавила опциональную функцию журналирования в HFS Plus для повышения надёжности данных. Эти функции были доступны через графический интерфейс, с использованием приложения Disk Utility в Mac OS X Server, но только через командную строку в стандартной десктопной версии. Начиная с Mac OS X v10.3, все тома HFS Plus на всех компьютерах Mac по умолчанию были настроены на ведение журнала. В системе том HFS Plus с журналом идентифицируется как HFSJ. Mac OS X 10.3 также представила другую версию HFS Plus под названием HFSX. Тома HFSX практически идентичны томам HFS Plus, за исключением того, что они никогда не обрамляются оболочкой HFS, типичной для томов HFS Plus, и опционально поддерживают учет регистра для имен файлов и папок. Тома HFSX можно распознать по двум записям в заголовке тома: значению HX в поле подписи и 5 в поле версии. Mac OS X 10.3 представила ряд методов, предназначенных для предотвращения фрагментации файлов в HFS+. С Mac OS X 10.4 Apple добавила поддержку записей данных Inline Attribute Data, которые были частью реализации HFS Plus в Mac OS X, начиная как минимум с версии 10.0, но всегда помечались как "зарезервированные для будущего использования". До выпуска Mac OS X Server 10.4, HFS Plus поддерживал только стандартные разрешения файловой системы UNIX; однако, версия 10.4 представила поддержку безопасности файлов на основе списков контроля доступа, что обеспечивает более гибкий механизм определения разрешений файлов и также разработана для полной совместимости с моделями разрешений файлов на других платформах, таких как Microsoft Windows XP и Windows Server 2003. В Mac OS X Leopard 10.5 жёсткие ссылки на каталоги были добавлены как фундаментальная часть Time Machine. В Mac OS X Snow Leopard 10.6 была добавлена компрессия HFS+ с использованием Deflate (Zlib). В проектах с открытым исходным кодом и некоторых других областях это называется AppleFSCompression или decmpfs. Сжатые данные могут храниться либо в расширенном атрибуте, либо в ресурсной вилке. При использовании API, отличных от Apple, AppleFSCompression не всегда полностью прозрачна. OS X 10.9 представила два новых алгоритма: LZVN (libFastCompression) и LZFSE. В Mac OS X Lion 10.7 в операционную систему было добавлено логическое шифрование томов (известное как FileVault 2). Это дополнение к операционной системе никак не изменило логическую структуру файловой системы. Логический менеджер томов Apple известен как Core Storage, и его шифрование на уровне тома может применяться к файловым системам, отличным от HFS Plus. При наличии соответствующего оборудования как шифрование, так и расшифровка должны быть прозрачными.

Окна

По состоянию на май 2012 года, Apple выпустила только драйверы HFS+ для Windows XP, Windows Vista и Windows 7 как часть программного обеспечения Boot Camp в Mac OS X 10.6. Это означает, что пользователи этих систем могут читать данные на дисках HFS+, но не могут на них записывать. Microsoft разработала драйвер HFS+ для Xbox 360, главным образом для чтения iPod, отформатированных в HFS+. Бесплатное программное обеспечение с открытым исходным кодом jHFSplus, основанное на HFSExplorer и jpfm, позволяет монтировать разделы hfs/hfs+ в виде виртуальных папок только для чтения. Существует бесплатный плагин для Total Commander, который может читать файловые системы HFS и HFS+ и другие. DiskInternals Linux Reader можно использовать для извлечения и сохранения папок и файлов с жестких дисков и разделов HFS и HFS+. Коммерческий продукт MacDrive также доступен для монтирования дисков HFS и HFS+, оптических дисков и других носителей в Windows Explorer, обеспечивая как чтение, так и запись на тома, а также восстановление и форматирование дисков Mac. Коммерческий продукт Paragon HFS+ для Windows обеспечивает полный доступ на чтение и запись, а также управление дисками во всех версиях Windows от Windows XP до Windows Server 2008.

Кроссплатформенная

Свободная (GPL) альтернатива — HFSExplorer, разработанная Эриком Ларссоном. HFSExplorer — это Java-приложение для просмотра и извлечения файлов из тома HFS+ (Mac OS Extended) или тома HFSX (Mac OS Extended, с учетом регистра). Том может находиться как на физическом диске, так и в различных форматах образов дисков Apple, включая образы дисков с разреженным выделением места, либо в дампе файловой системы. Однако HFSExplorer предоставляет только доступ для чтения и не позволяет записывать данные на тома, отформатированные в HFS.