Apple File System ( APFS ) — это собственная файловая система , разработанная и развернутая Apple Inc. для macOS Sierra (10.12.4) [6] и более поздних версий, iOS 10.3 , tvOS 10.2, [7] watchOS 3.2, [8] и всех версий. iPadOS . [9] [10] Он направлен на исправление основных проблем HFS + (также называемого Mac OS Extended), предшественника APFS в этих операционных системах. APFS оптимизирована для хранения данных на твердотельных накопителях и поддерживает шифрование , создание снимков и повышенную целостность данных, а также другие возможности. [11] [12]
Файловая система Apple была анонсирована на конференции разработчиков Apple ( WWDC) в июне 2016 года в качестве замены HFS+ , которая использовалась с 1998 года. [11] [12] APFS была выпущена для 64-битных устройств iOS 27 марта. , 2017 г., с выпуском iOS 10.3, и для устройств macOS 25 сентября 2017 г., с выпуском macOS 10.13 . [13] [8]
В сентябре 2018 года Apple выпустила частичную спецификацию APFS, которая поддерживала доступ только для чтения к файловым системам Apple на незашифрованных устройствах хранения, не поддерживающих Fusion. Спецификация программного шифрования была задокументирована позже. [14]
Файловую систему можно использовать на устройствах с относительно небольшим или большим объемом памяти. Он использует 64-битные номера индексных дескрипторов [2] и обеспечивает более безопасное хранение с помощью технологии, называемой «Защита данных». Код APFS, как и код HFS+, использует команду TRIM для лучшего управления пространством и производительности. Это может увеличить скорость чтения и записи на iOS и macOS [8] , а также пространство на устройствах iOS из-за того, как APFS рассчитывает доступные данные. [15]
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 — Данные») используется как наложение или тень системного тома , а тома « Система» и «Данные» являются частью одной и той же группы томов и отображаются как один в Finder.
Клоны позволяют операционной системе эффективно создавать копии файлов на одном и том же томе, не занимая дополнительного места для хранения. Изменения в клонированном файле сохраняются как дельта-экстенты , что сокращает объем памяти, необходимый для версий и копий документа. [10] Однако не существует интерфейса для пометки двух копий одного и того же файла как клонов другого или для других типов дедупликации данных .
Тома APFS поддерживают снимки для создания экземпляра файловой системы, доступного только для чтения, на определенный момент времени. [10]
Apple File System изначально поддерживает полное шифрование диска [ 2] и шифрование файлов со следующими параметрами:
APFS поддерживает 64-битные номера индексных дескрипторов , поддерживая более 9 квинтиллионов файлов (2 63 ) на одном томе. [2] [5]
Файловая система Apple использует контрольные суммы для обеспечения целостности метаданных, но не пользовательских данных. [16]
Файловая система Apple разработана таким образом, чтобы избежать повреждения метаданных, вызванного сбоями системы . Вместо того, чтобы перезаписывать существующие записи метаданных, он записывает совершенно новые записи, указывает на новые, а затем освобождает старые — подход, известный как перенаправление при записи . Это позволяет избежать повреждения записей, содержащих частично старые и частично новые данные, вызванных сбоем, возникающим во время обновления. Это также позволяет избежать необходимости дважды записывать изменения, как это происходит в журналируемой файловой системе HFS+, где изменения записываются сначала в журнал, а затем в файл каталога. [16]
APFS поддерживает прозрачное сжатие отдельных файлов с помощью Deflate (Zlib), LZVN (libFastCompression) и LZFSE . Все три являются алгоритмами типа Лемпеля-Зива . Эта функция унаследована от HFS+ и реализована с помощью той же системы AppleFSCompression/decmpfs с использованием вилок ресурсов или расширенных атрибутов. Как и в случае с HFS+, прозрачность нарушается для инструментов, которые не используют процедуры, заключенные в decmpfs. [17]
APFS добавляет возможность иметь несколько логических дисков (называемых томами ) в одном контейнере, где свободное пространство доступно для всех томов в этом контейнере (блочное устройство). [18]
Хотя APFS включает в себя множество улучшений по сравнению со своим предшественником HFS+, был отмечен ряд ограничений.
APFS не предоставляет контрольные суммы для пользовательских данных. [19] Он также не использует преимущества энергонезависимой оперативной памяти с байтовой адресацией . [20] [21]
Перечисление файлов и любых метаданных inode в целом происходит намного медленнее в APFS, если они расположены на жестком диске . Это связано с тем, что вместо хранения метаданных в фиксированном месте, как это делает HFS+, APFS хранит их вместе с фактическими данными файла. Такая фрагментация метаданных означает, что при перечислении файлов выполняется больше операций поиска , приемлемых для твердотельных накопителей, но не для жестких дисков. [22]
В отличие от HFS+, APFS не поддерживает жесткие ссылки на каталоги. [3] [23] Поскольку версия программного обеспечения для резервного копирования Time Machine , включенная в Mac OS X 10.5 (Leopard) по macOS 10.15 (Catalina), полагалась на жесткие ссылки на каталоги, APFS изначально не поддерживался для томов резервных копий. [24] [23] Это ограничение было преодолено, начиная с macOS 11 Big Sur , где APFS теперь является файловой системой по умолчанию для новых резервных копий Time Machine (существующие диски для резервных копий в формате HFS+ также по-прежнему поддерживаются). [25] Реализация Time Machine в macOS Big Sur в сочетании с дисками в формате APFS обеспечивает «более быстрое, компактное и надежное резервное копирование», чем это было возможно с дисками для резервного копирования в формате HFS+. [26] [27]
Экспериментальная версия APFS с некоторыми ограничениями представлена в macOS Sierra 10.12.4. Он доступен через diskutil
утилиту командной строки. Среди этих ограничений он не выполняет нормализацию Unicode , в отличие от HFS+, [33] что приводит к проблемам с языками, отличными от английского. [34] Диски, отформатированные с помощью версии APFS Sierra, также могут быть несовместимы с более поздними версиями macOS или APFS, а версию APFS Sierra нельзя использовать с Time Machine , томами FileVault или Fusion Drives. [35]
Начиная с macOS 10.13 High Sierra , все устройства с флэш-памятью автоматически преобразуются в APFS. [36] Начиная с macOS 10.14 Mojave , Fusion Drives и жесткие диски также обновляются при установке. [37] В основном пользовательском интерфейсе для обновления нет возможности отказаться от этого преобразования, а устройства, отформатированные с помощью версии APFS High Sierra, не будут читабельны в предыдущих версиях macOS. [36] Пользователи могут отключить преобразование APFS, используя утилиту установщика startosinstall
в командной строке и передав --converttoapfs NO
. [38]
Тома FileVault не преобразуются в APFS, начиная с macOS Big Sur 11.2.1. Вместо этого macOS форматирует внешние диски FileVault как логические тома CoreStorage, отформатированные с помощью Mac OS Extended (журналируемый). Диски FileVault могут быть дополнительно зашифрованы. [ нужна цитата ]
iOS 10.3 , tvOS 10.2 и watchOS 3.2 преобразуют существующую файловую систему HFSX в APFS на совместимых устройствах. [13] [8] [39]
Несмотря на повсеместное распространение томов APFS на современных компьютерах Mac и появление этого формата в 2016 году, сторонние утилиты восстановления по-прежнему имеют заметные ограничения в поддержке томов APFS из-за задержки выпуска полной документации Apple. По словам компании Tooft, производителя DiskWarrior, выпуск Apple частичной документации по формату APFS в 2018 году задержал создание версии DiskWarrior, которая может безопасно восстанавливать диски APFS. [40] Ожидается, что конкурирующие продукты, в том числе TechTool от MicroMat и Drive Genius от Prosoft, также расширят поддержку APFS.
Группа компаний Paragon Software опубликовала комплект разработки программного обеспечения под лицензией BSD из 4 пунктов , который поддерживает доступ только для чтения к дискам APFS. [41] Независимая реализация с открытым исходным кодом только для чтения , разработанная Йоахимом Метцем, libfsapfs, выпущена под лицензией GNU Lesser General Public License v3. Он был упакован в репозитории программного обеспечения Debian , Fedora Linux , Rocky Linux , Red Hat Enterprise Linux и Ubuntu . [42] [43] [44] Оба являются инструментами командной строки, которые не предоставляют обычный интерфейс драйвера файловой системы. Для Linux существует драйвер файловой системы в пространстве пользователя (FUSE), который называется apfs-fuse и имеет доступ только для чтения. [45] Проект «APFS для Linux» работает над интеграцией поддержки APFS в ядро Linux. [46]
Коммерческий продукт APFS для Windows от Paragon обеспечивает поддержку чтения и записи на тома APFS во всех версиях Windows, от Windows 7 до Windows 11 и от Windows Server 2008 R2 до Windows Server 2022, но он не может форматировать или проверять тома APFS, и он не может читать тома APFS, которые аппаратно зашифрованы с помощью чипа безопасности Apple T2 . [47]
MacDrive, разработанный Mediafour, впервые был выпущен в 1996 году с поддержкой HFS-дисков в формате Mac, чтобы удовлетворить растущую потребность в кроссплатформенном обмене файлами между компьютерами Mac и Windows. За прошедшие годы MacDrive претерпел множество обновлений, расширяющих его возможности и добавляющих полную поддержку новых файловых систем macOS, таких как HFS+ и APFS. В 2017 году Mediafour была приобретена компанией OWC (Other World Computing), которая продолжила разработку и улучшение MacDrive.
В отличие от Paragon, MacDrive предлагает более комплексное решение по сравнению с Paragon. Поддержка APFS в MacDrive является встроенной, а не решением с открытым исходным кодом, обеспечивающим большую поддержку дисков APFS, например, полную защиту от сбоев в случае неожиданного отключения диска. MacDrive также может форматировать тома APFS и обеспечивает полную поддержку чтения/записи, даже если том APFS имеет дублированные файлы или резервную копию которого создала Time Machine. Удобный интерфейс и производительность MacDrive делают его более надежным выбором для пользователей, которым нужна надежная и комплексная поддержка APFS в системах Windows.
APFS в настоящее время несовместима с Time Machine из-за отсутствия жестких ссылок на каталоги — довольно отвратительная реализация, которая, вероятно, способствует сомнительной надежности Time Machine.
Библиотека и инструменты для доступа к файловой системе Apple (APFS).