HFS (Hierarchical File System)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 04:13, 24 декабря 2016.
HFS
Полное название Hierarchical File System
Содержимое каталога B-tree
Распределение файлов Bitmap
Сбойные блоки B-tree
Limits
Макс. размер томаTB (2 × 10244 bytes)
Макс. размер файлаGB (2 × 10243 bytes)
Макс. количество файлов 65535
Макс. длина имени файла 31 characters
Разрешенные символы
в именах файлов
All 8-bit values except colon ":". Discouraged null and nonprints.
Features
Даты зарегистрирован Creation, modification, backup
Диапазон дат January 1, 1904 - February 6, 2040
Дата резолюции 1s
Вилка Only 2 (data and resource)
Признаки Color (3 bits, all other flags 1 bit), locked, custom icon, bundle, invisible, alias, system, stationery, inited, no INIT resources, shared, desktop
Разрешения файловой системы AppleShare
Прозрачное сжатие Yes (third-party), Stacker
Транспорантное шифрование No
Другие
Операционная система Mac OS, OS X, Linux, Microsoft Windows (through MacDrive or Boot Camp[citation needed] IFS drivers)

HFS (англ. Hierarchical File System – иерархическая файловая система) — файловая система, разработанная Apple Computer для компьютеров с установленной операционной системой Mac OS.

История

HFS был введен Apple, в сентябре 1985 года, в частности, для поддержки первого жесткого диска от Apple для Macintosh, заменив файловой системы Macintosh (MFS), оригинальную файловую систему, которая была введена в течение полутора лет ранее с первого компьютера Macintosh. HFS в значительной степени опиралась на первой иерархической операционной системы SOS от Apple для несостоявшегося Apple III, который также служил в качестве основы для иерархических систем подачи на Apple. НFS разделяет ряд конструктивных особенностей с MFS, которые не были доступны в других файловых системах того времени (например, FAT DOS).

Конструкция

Иерархическая файловая система делит Объем на логические блоки по 512 байт. Эти логические блоки затем сгруппированы в блоки размещения , который может содержать один или несколько логических блоков в зависимости от общего размера. СТС использует 16-битное значение для решения выделение блоков, ограничение количества выделения блоков до 65535 (216-1).

Есть пять структур, которые составляют объем HFS:

  • Логические блоки 0 и 1 объема являются загрузочными блоками, которые содержат система запуска информации.
  • Логический блок 2 содержит Master Directory Block (MDB). Он определяет широкий спектр объем данных о себе, например даты и метки времени, когда том был создан или размер логических структур, таких как выделение блоков.
  • Логический блок 3 является отправным блоком Volume Bitmap, который отслеживает, какие блоки распределения используются, а какие свободны.
  • Переполнения файла представляет собой B-дерево , которое содержит дополнительные степени, запись, выделение блоков, какие выделяются файлы, после первых трех степеней используются файл catalog.
  • В каталоге файлов есть еще B-дерево, который содержит записи для всех файлов и каталогов, хранящихся на томе. Он хранит четыре типа записей. Каждый файл состоит из потока записей файла и записи в файл, а каждый каталог состоит из какой-нить записи каталога и записи в справочнике. Файлы и каталоги в каталоге файлов находятся на их уникальном Catalog Node ID (или CNID)
    • Файл потока записи хранит только имя файла и CNID своего родительского каталога.
    • Файл записи хранит различные метаданные о файле, включая его CNID, размер файла, трех временных меток (когда файл был создан, последние изменения, последнее резервное копирование).
    • Directory Thread Record хранит только имя каталога и CNID его родительского каталога.
    • Directory Record, которая хранит данные, такие как количество файлов, хранящихся в каталоге, CNID каталог, три временные метки (когда файл был создан, последние изменения, последнее резервное копирование). Как и запись файла, каталог записи также хранит два 16 байтных поля для использования в Finder, который хранит такие вещи, как ширина и высота и х & у координат для окна, используемого для отображения содержимого каталога.

Ограничения

Каталог файлов, который хранит все записи файлов и каталогов в единой структуре данных, приводит к проблемам с производительностью, а именно, это означает, что многие программы могут ожидать очереди из-за одной программы. Это также является серьезной проблемой надежности, так как повреждение этого файла может уничтожить всю файловую систему. Это контрастирует с другими файловыми системами, которые хранят файлы и каталоги записей в отдельных структурах (например, файловой системы Unix), где структура распределения по всему диску означает, что повреждение одного каталога, как правило, не фатальная и данные возможно будет восстановить.

Источники