HFS Plus

(перенаправлено с «HFS+»)

HFS Plus или HFS+ или Mac OS Extended — файловая система, разработанная Apple Inc. для замены ранее использовавшейся HFS, основной файловой системы на компьютерах Macintosh. Ещё с этой файловой системой может работать плеер iPod. HFS+ можно рассматривать как усовершенствованную версию HFS для расширения возможностей Mac OS. Во время разработки эта система называлась Sequoia.

HFS+
РазработчикApple
Файловая системаHierarchical File System Plus
Дата представления19 января 1998 (Mac OS 8.1)
Метка томаApple_HFS (Apple Partition Map)
0xAF (MBR)
Apple_HFSX (Apple Partition Map) для HFSX
48465300-0000-11AA-
AA11-00306543ECAC
(GPT)
Структура
Содержимое папокB-дерево
Размещение файловB-дерево
Сбойные сектораB-дерево
Ограничения
Максимальный размер файла16 EiB
Максимум файловНеограничено
Максимальная длина имени файла255 символов (255 закодированных UTF-16 символов, нормализованных до модифицированного Apple формата Unicode Normalization Format D)
Максимальный размер тома16 EiB
Допустимые символы в названияхUnicode, любые символы, включая NUL. OS API может использовать некоторые символы для совместимости
Возможности
Свойстваaccess, attributes modified, backed up, contents modified, created
Диапазон дат1 января 1904 - 6 февраля 2158
Точность хранения даты
Потоки метаданныхЕсть
Атрибутыцвет (3 бита, остальные флаги по одному биту), заблокировано, другая иконка, бандл, невидимый, псевдоним, системный, стационарный, инициализирован, нет ресурсов INIT, общий, рабочий стол
Права доступаправа Unix, ACL (начиная с Mac OS X Server 10.4)
Фоновая компрессияДа (на Mac OS X v10.6 или выше)
Фоновое шифрованиеДа (на Mac OS X v10.7 или выше), для версий выше 10.3 и ниже 10.7 можно использовать тома .dmg, зашифрованные AES
Поддерживается ОСMac OS 8, Mac OS 9, macOS

HFS+ является улучшенной версией HFS с поддержкой файлов большого размера (32-битная адресация вместо старой 16-битной) и использует кодировку UTF-16 для имён файлов и папок. HFS+ поддерживает имена длиной до 255 символов формата UTF-16 и многопоточные файлы подобно NTFS (однако почти все программы используют только поток данных (англ. data fork) и поток с ресурсами (англ. resource fork)). HFS+ также использует 32-битную таблицу привязки файла к месту на диске (англ. allocation mapping table) вместо 16-битной в HFS. При объёме диска в 1 ГБ размер кластера (блока) составлял 16 КБ — даже файл из 1 байта занимал все 16 КБ.

Подобно своей предшественнице, HFS+ использует древовидную структуру, называемую B*-дерево для хранения большей части метаданных.

История

HFS+ была представлена 19 января 1998 г. вместе с Mac OS 8.1, но впервые её представили в качестве тестовой файловой системы для так и не вышедшей OS Copland (1994—1996 гг.).Начиная с 11 ноября 2002 г., с выпуском обновления 10.2.2, Apple Inc. сделала возможным журналирование для повышения надёжности хранения информации. Оно было легко доступно с серверной версией Mac OS X, но только через интерфейс командной строки с настольных клиентов. Начиная с macOS X Panther журналирование стало включённым по умолчанию, а том с журналом получил название HFSJ.

В Mac OS 10.3 появилась файловая система HFSX, позволяющая, в отличие от HFS+, работать в режиме с учётом регистра имен.

Описание

Том в HFS+ поделён на секторы (в HFS назывались логическими блоками), обычно равные 512 байтам. Один или более секторов составляют кластер, общее число кластеров зависит от объёма диска.32-битная адресация позволяет получить доступ к 4 294 967 296 (232) кластерам против старых 65 536 (216)

Первоначально тома HFS+ включались внутри стандартной файловой системы HFS в транслятор — так называемый HFS Wrapper (после перехода на процессоры Intel эту практику Apple прекратила). Этот подход преследовал две цели. Во-первых, это позволяло старым компьютерам Macintosh без поддержки HFS+ загружаться с такого раздела, во-вторых, это позволяло упростить переход на новую файловую систему путём создания простейшего загрузочного тома HFS, на котором есть доступный только для чтения файл Where_have_all_my_files_gone? (с англ. — «Куда пропали все мои файлы?»). Файл содержит информацию для пользователей Mac OS без поддержки HFS+ о том, что этот логический диск требует операционную систему с поддержкой HFS+. Заголовок HFS-тома содержит сигнатуру и смещение до вложенного HFS+-тома. Секторы, используемые HFS+, помечены в HFS как дефектные блоки (англ. bad blocks).