HFS Plus


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

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)