Файловая система Apple - Apple File System

APFS
Разработчики) Apple Inc.
Полное имя Файловая система Apple
Введено 27 марта 2017 г. (iOS), 25 сентября 2017 г. (macOS), с iOS 10.3 , macOS 10.13
Идентификатор раздела 7C3457EF-0000-11AA-AA11-00306543ECAC( GPT )
Структуры
Содержимое каталога B-дерево
Пределы
Максимум. размер файла 8 EiB (9,223,372,036,854,775,808 байт)
Максимум. количество файлов 9 223 372 036 854 775 808
Допустимые символы в именах файлов Unicode 9.0 в кодировке UTF-8
Функции
Даты записаны доступ, изменены атрибуты, изменено содержимое, создано
Диапазон дат 1 января 1970 г. - 21 июля 2554 г.
Разрешение даты 1 нс
Разрешения файловой системы Разрешения Unix, списки ACL NFSv4
Прозрачное сжатие Частичный (decmpfs)
Прозрачное шифрование да
Копирование при записи да
Другой
Поддерживаемые операционные системы macOS , iPadOS , iOS , tvOS , watchOS

Файловая система Apple ( APFS ) - это проприетарная файловая система, разработанная и развернутая Apple Inc. для macOS Sierra (10.12.4) и новее, iOS 10.3 и новее, tvOS 10.2 и новее, watchOS 3.2 и новее, а также всех версий iPadOS . Она призвана устранить основные проблемы из HFS + (также называется Mac OS Extended), предшественник НПФ на этих операционных системах. APFS оптимизирован для хранения на твердотельных накопителях и , помимо других возможностей, поддерживает шифрование , моментальные снимки и повышенную целостность данных.

История

Apple , файловая система была объявлена в компании Apple «s конференции разработчиков (WWDC) в июне 2016 года в качестве замены для HFS + , которая была в эксплуатации с 1998 года НПФ была выпущена для 64-разрядных IOS устройств 27 марта 2017 года, с выходом iOS 10.3, а для устройств macOS 25 сентября 2017 г. с выпуском macOS 10.13 .

Apple выпустила частичную спецификацию для APFS в сентябре 2018 года, которая поддерживает доступ только для чтения к файловым системам Apple на незашифрованных устройствах хранения, отличных от Fusion. Спецификация программного шифрования была задокументирована позже.

Дизайн

Файловая система может использоваться на устройствах с относительно небольшим или большим объемом памяти. Он использует 64-битные номера inode и обеспечивает более безопасное хранение. Код APFS, как и код HFS +, использует команду TRIM для лучшего управления пространством и производительности. Это может увеличить скорость чтения-записи на iOS и macOS, а также пространство на устройствах iOS из-за того, как APFS вычисляет доступные данные.

Схема перегородки

APFS использует схему разделов GPT . В схеме GPT находится один или несколько контейнеров APFS (GUID типа раздела - 7C3457EF-0000-11AA-AA11-00306543ECAC ). В каждом контейнере есть один или несколько томов APFS, каждый из которых совместно использует выделенное пространство контейнера, и каждый том может иметь роли томов APFS. macOS Catalina (macOS 10.15) представила группу томов APFS, которая представляет собой группы томов, которые Finder отображает как один том. Фирменные ссылки APFS лежат между жесткими ссылками и программными ссылками и между томами.

В macOS Catalina роль системного тома (обычно называемая «Macintosh HD») стала доступной только для чтения, а в macOS Big Sur (macOS 11) она стала подписанным системным томом (SSV), и монтируются только моментальные снимки тома. Данная Роль объема (обычно называется «Macintosh HD - Data») используются в качестве наложения или тени системного тома, и обе системы и данных тома является частью одной и теми же групп томов и показано , как один в Finder.

Клоны

Клоны позволяют операционной системе создавать эффективные копии файлов на одном томе, не занимая дополнительного места для хранения. Изменения клонированного файла сохраняются в виде дельта-экстентов , что сокращает объем памяти, необходимый для ревизий и копий документа. Однако нет интерфейса, позволяющего пометить две копии одного и того же файла как клоны другого или для других типов дедупликации данных .

Снимки

Тома APFS поддерживают моментальные снимки для создания на определенный момент времени экземпляра файловой системы, доступного только для чтения.

Шифрование

Файловая система Apple изначально поддерживает полное шифрование диска и шифрование файлов со следующими параметрами:

  • без шифрования
  • шифрование с одним ключом
  • Многоключевое шифрование, при котором каждый файл зашифрован отдельным ключом, а метаданные зашифрованы другим ключом.

Увеличено максимальное количество файлов

APFS поддерживает 64-битные номера inode , поддерживая более 9 квинтиллионов файлов ( 263 ) на одном томе.

Целостность данных

Файловая система Apple использует контрольные суммы для обеспечения целостности метаданных.

Защита от сбоев

Файловая система Apple предназначена для предотвращения повреждения метаданных из-за сбоев системы . Вместо того, чтобы перезаписывать существующие записи метаданных на месте, он записывает совершенно новые записи, указывает на новые, а затем освобождает старые, подход, известный как перенаправление при записи . Это позволяет избежать поврежденных записей, содержащих частично старые и частично новые данные, вызванные сбоем во время обновления. Это также позволяет избежать необходимости дважды записывать изменение, как это происходит с журналируемой файловой системой HFS +, где изменения сначала записываются в журнал, а затем в файл каталога.

Сжатие

APFS поддерживает прозрачное сжатие отдельных файлов с помощью Deflate (Zlib), LZVN (libFastCompression) и LZFSE . Все три являются алгоритмами типа Лемпеля-Зива . Эта функция унаследована от HFS + и реализована в той же системе AppleFSCompression / decmpfs с использованием вилок ресурсов или расширенных атрибутов. Как и в случае с HFS +, прозрачность нарушена для инструментов, которые не используют подпрограммы, завернутые в decmpfs.

Совместное использование пространства

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

Ограничения

Хотя APFS включает в себя множество улучшений по сравнению со своим предшественником HFS +, был отмечен ряд ограничений.

Ограниченная проверка целостности пользовательских данных

APFS не предоставляет контрольные суммы для пользовательских данных. Он также не использует преимущества энергонезависимой оперативной памяти с байтовой адресацией .

Производительность на жестких дисках

Перечисление файлов и любых метаданных inode в целом выполняется намного медленнее в APFS, когда он расположен на жестком диске . Это связано с тем, что вместо хранения метаданных в фиксированном месте, как это делает HFS +, APFS хранит их вместе с фактическими данными файла. Эта фрагментация метаданных означает, что при перечислении файлов выполняется больше поисков , приемлемых для твердотельных накопителей, но не для жестких дисков.

Совместимость с Time Machine до macOS 11

В отличие от HFS +, APFS не поддерживает жесткие ссылки на каталоги. Поскольку версия программного обеспечения для резервного копирования Time Machine, включенная в Mac OS X 10.5 (Leopard) по macOS 10.15 (Catalina), полагалась на жесткие ссылки на каталоги, APFS изначально не поддерживалась для его томов резервного копирования. Это ограничение было преодолено, начиная с macOS 11 Big Sur , где APFS теперь является файловой системой по умолчанию для новых резервных копий Time Machine (существующие резервные диски в формате HFS + также по-прежнему поддерживаются). Реализация Time Machine в macOS Big Sur в сочетании с дисками в формате APFS обеспечивает «более быстрое, компактное и более надежное резервное копирование», чем это было возможно с дисками для резервного копирования в формате HFS +.

Проблемы с безопасностью

  • В марте 2018 года в драйвере APFS в High Sierra была обнаружена ошибка, из-за которой пароль шифрования диска регистрировался в виде открытого текста.
  • В январе 2021 года в драйвере APFS в iOS <14.4, macOS <11.2, watchOS <7.3 и tvOS <14.4 была обнаружена ошибка, которая позволяла локальному пользователю читать произвольные файлы независимо от его прав.

Служба поддержки

macOS

Ограниченная экспериментальная поддержка APFS была впервые представлена ​​в macOS Sierra 10.12.4. Начиная с macOS 10.13 High Sierra , все устройства с флеш-памятью автоматически конвертируются в APFS. Начиная с macOS 10.14 Mojave , диски Fusion и жесткие диски также обновляются при установке. Основной пользовательский интерфейс для обновления не предоставляет возможности отказаться от этого преобразования, а устройства, отформатированные с использованием версии APFS High Sierra, не будут доступны для чтения в предыдущих версиях macOS. Пользователи могут отключить преобразование APFS, используя startosinstallутилиту установщика в командной строке и передав --converttoapfs NO.

Тома FileVault не конвертируются в APFS в macOS Big Sur 11.2.1. Вместо этого macOS форматирует внешние диски FileVault как логические тома CoreStorage, отформатированные с помощью Mac OS Extended (журналируемые). Диски FileVault могут быть дополнительно зашифрованы.

Экспериментальная версия APFS с некоторыми ограничениями доступна в macOS Sierra через diskutilутилиту командной строки . Среди этих ограничений он не выполняет нормализацию Unicode, в то время как HFS + выполняет, что приводит к проблемам с языками, отличными от английского. Диски, отформатированные с помощью версии APFS от Sierra, также могут быть несовместимы с будущими версиями macOS или окончательной версией APFS, а версия APFS от Sierra не может использоваться с Time Machine , томами FileVault или дисками Fusion.

iOS, tvOS и watchOS

IOS 10,3 , tvOS 10,2 и watchOS 3,2 конвертировать существующий HFSX файловой системы на НПФ совместимых устройств.

Сторонние утилиты

Несмотря на повсеместное распространение томов APFS на современных компьютерах Mac и введение этого формата в 2016 году, сторонние утилиты восстановления по-прежнему имеют заметные ограничения в поддержке томов APFS из-за задержки выпуска полной документации Apple. По словам Alsoft, производителя DiskWarrior, выпуск Apple в 2018 году частичной документации формата APFS задержал создание версии DiskWarrior, которая может безопасно восстанавливать диски APFS. Ожидается, что конкурирующие продукты, в том числе TechTool от MicroMat и Drive Genius от Prosoft, также увеличат поддержку APFS.

Paragon Software Group опубликовала комплект для разработки программного обеспечения под лицензией BSD из 4 пунктов, который поддерживает доступ только для чтения к дискам APFS. Независимая реализация Joachim Metz с открытым исходным кодом только для чтения , libfsapfs, выпущена под лицензией GNU Lesser General Public License v3. Он был упакован в репозитории программного обеспечения Debian и Ubuntu . Оба являются инструментами командной строки, которые не предоставляют обычный интерфейс драйвера файловой системы. Существует драйвер файловой системы в пространстве пользователя (FUSE) для Linux под названием apfs-fuse с доступом только для чтения. Проект «APFS для Linux» работает над интеграцией поддержки APFS в ядро ​​Linux.

Смотрите также

использованная литература

внешние ссылки