Нарезаем яблоки. Что внутри файловой системы iOS? Обзор файловой системы APFS для устройств Apple: чем отличается, как применять

  • 08.05.2019

APFS или Apple File System — новая файловая система для яблочных устройств, которая вступает на место устаревшей HFS +. Разработчики специально оптимизировали систему под флеш-накопители и SSD карты.

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

Применение APFS

Apple File System подходит для всех новых устройств компании Apple. Впервые она была использована в MacOS Sierra и предоставлялась для испытания разработчикам. Уже в марте 2017 года, через несколько месяцев после анонса, инновация стала доступна для всех пользователей iOS 10.3. Обновившись до этой версии, можно испытать практически все заявленные во время анонса функции.

В дальнейшем система будет интегрирована для:

  • Apple Watch;
  • Apple TV;
  • иных «яблочных» продуктов.

Бета-тестеры оценили достоинства файловой структуры и ждут, когда нововведение доберется и до других устройств.

Главные отличия APFS от HFS+

Система HFS+ стала применяться в начале 2000-х годов и сильно устарела. Она делала простые операции слишком длительными, неэффективно использовала значительную часть памяти устройств. Чтобы решить эти и другие проблемы, создатели работали над APFS с 2014 года. Им удалось добиться существенных изменений по сравнению с прежней системой.
Фото: Скорость APFS и HFS+ Основные отличия APFS:

  • Возможность шифрования данных. Любые файлы могут быть защищены одним или несколькими ключами.
  • Ускоренная работа с устройством. Любые действия (от запуска игрового приложения до копирования данных) занимают значительно меньше времени.
  • Отсутствие четкого деления памяти на разделы. Теперь, если в одном условном разделе не хватает места для установки файла, автоматически будет использоваться пространство в другом.
  • Быстрое копирование с экономией пространства на диске. Теперь, если создаются клоны, они занимают на двойное место в памяти, а лишь одно. Если в клоне появляются изменения, на диск записываются лишь они, а основа файла берется из первоначальной версии. Этот простой алгоритм позволяет существенно экономить память.
  • Улучшенная работа с переносными накопителями. Передавать и считывать информацию можно гораздо быстрее, а ошибки при записи данных практически не происходят.

Те, кто хотят оценить эти и другие преимущества файловой системы APFS, могут использовать устройство с iOS 10.3. Также разработана бета-версия для macOC.

В 2014 году в компании Apple начали разрабатывать новую файловую систему Apple File System (APFS), которая спустя три года была анонсирована на WWDC 16 и будет использоваться в компьютерах Mac, iPhone, iPad, Apple TV и других продуктах. Первыми устройствами с APFS стали компьютеры под управлением macOS Sierra - разработчики получили возможность использовать developer preview новой файловой системы на незагрузочных дисках. А начиная с iOS 10.3 в мобильных устройствах компании Apple – iPhone и iPad - будет использоваться APFS. Первые уже получили разработчики и , точной даты финального релиза обновления операционной системы пока нет, однако можно предположить, что это произойдет в ближайшие месяцы. Но что же представляет собой Apple File System и насколько важным является переход на новую файловую систему для компании и пользователей устройств?

Сам по себе стандарт файловой системы достаточно долговечен и крайне редко подвергается радикальным изменениям. Компания Apple использовала в своих компьютерах иерархическую файловую систему HFS начиная с 1985 года и лишь в 1998 году реализовала переход на обновленную версию HFS+, которая использовалась вплоть до 2016 года, а теперь будет постепенно уступать место APFS. Возникает закономерный вопрос: если все и так отлично работает, действительно ли нужно переходить на новую файловую систему или же это окажется изменением ради самого изменения? На самом деле действительно нужно. В отличие от разработчиков, для среднестатистического пользователя анонс APFS прошел практически незамеченным, однако новую файловую систему можно назвать знаковым и даже революционным изменением.

Проблема HFS и HFS+ заключается в том, что эти файловые системы были разработаны в то время, когда флеш-память была слишком дорогой для массового рынка. Теперь же SSD-накопители очень популярны и доступны, однако их поддержка в HFS+ реализована за счет дополнительного модуля, изначально созданного для плееров iPod. Фактически за время своего развития HFS+ обросла слишком большим количеством дополнительного кода и «костылей», так что вместо ее модернизации намного более простым и логичным шагом было создание новой файловой системы - такой, чтобы она изначально соответствовала особенностям актуальных устройств, имела большой запас прочности на будущее и решала многие проблемы предшественника.

Шифрование

Защиту пользовательских данных в компании Apple считают одним из приоритетных направлений, поэтому в новой файловой системе шифрование является фундаментальным свойством. Для каждого тома в контейнере APFS устанавливается одна из моделей шифрования: без шифрования, шифрование данных пользователя одним ключом, шифрование метаданных и данных пользователя несколькими ключами. В зависимости от оборудования, APFS использует режим шифрования AES-XTS или AES-CBC.

Клонирование файлов и директорий

В APFS изменился принцип работы с дублирующимися файлами. Если в HFS+ два одинаковых документа занимали удвоенный объем дискового пространства, то в новой файловой системе место на накопителе будет занимать только один файл из двух. И даже при модификации клона APFS не будет дублировать файлы и запишет только изменение данных.

Разреженные файлы (sparse files) и расширенные атрибуты

Файл с атрибутом «разреженный» предполагает, что содержание блоков нулевых байт, хранится не на накопителе, а в виде информации об этих последовательностях в метаданных файловой системы. В отличие от APFS, в HFS+ не было поддержки разреженных файлов. Для пользователей это означает большую экономию дискового пространства, увеличение быстродействия за счет отсутствия временных затрат на запись нулевых байт и увеличение срока службы накопителей. Кроме того, APFS имеет встроенную поддержку расширенных файловых атрибутов, которая в HFS+ была реализована через дополнительный файл Attributes.

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

В APFS реализована инновационная схема метаданных copy-on-write, которая гарантирует, что изменения в файловой системе и соответствующие им записи в журнал остаются в синхронизированном виде даже при возникновении непредвиденной ситуации, например отключении электричества. Кроме того, APFS в принципе записывает данные по шаблонам другого типа, которые лучше распознаются флеш-дисками, и поддерживает команду TRIM, которая обеспечивает корректную работу операционной системы с удаленными файлами и свободным дисковым пространством.

Наносекундные метки времени

В APFS значительно увеличена точность меток времени. В отличие от HFS+, где время выставлялось с точностью до секунды, новая файловая система расставляет метки с указанием наносекунд. Это помогают реализовать так называемую атомарность и атомарные операции. Это гарантирует, что никакая операция не будет зафиксирована в системе частично: будут либо выполнены все ее подоперации, либо не выполнено ни одной.

64-битные индексные дескрипторы

64-битные индексные дескрипторы значительно увеличивает пространство имен, по сравнению с 32-битными идентификаторами в HFS+. APFS поддерживает более 9 квинтиллионов файлов на каждом томе.

Снапшоты и резервные копии

Снапшоты - открытые только для чтения «слепки» файловой системы в томе. Операционная система может использовать их для более эффективной процедуры резервного копирования, поскольку APFS добавляет в образ только изменившиеся файлы или части файлов, не дублируя одни и те же данные в разных резервных копиях. Впрочем, в настоящий момент macOS Sierra, сторонние приложения и даже Time Machine не поддерживают новый механизм резервного копирования. Его анонс - это в первую очередь задел на будущее.

Работа с разделами дискового пространства

Любопытная особенность APFS касается работы накопителей, разделенных на два и более раздела. При использовании HFS+ пользователь мог оперировать только указанным для отдельно взятого раздела объемом памяти, тогда как APFS позволяет записывать данные сверх лимита за счет другого раздела. Новая файловая система не делит общий объем накопителя на независимые части, а выставляет условные границы, которые в случае необходимости могут быть немного изменены для выполнения задач пользователя.

Компания Apple анонсировала приложение «Файлы », которое призвано стать штатным файловым менеджером на iPhone, iPod touch и iPad. Что ж, лучше поздно, чем никогда. В этом материале мы расскажем вам об основных возможностях этого приложения и ответим на самые интересующие вопросы.

Вконтакте

«Файлы» позволяют просматривать и управлять файлами (изображения, видео, документы, музыка и прочие данные), которые хранятся в пользовательских папках как на диске непосредственно в устройстве, так и в облачных хранилищах. Программа «Файлы » является продвинутой версией приложения .

На каких iPhone и iPad доступен проводник Файлы?

Программа «Файлы » доступна на iPhone, iPod touch и iPad под управлением iOS 11 и более новой версии.

Приложение «Файлы»: внешний вид и управление

Интерфейс приложения прост и минималистичен. Мы имеем главное окно с папками и левое боковое меню с источниками. В качестве источников выступают Места и Теги .

Вкладка Места содержит меню с источниками-хранилищами (iCloud Drive, Dropbox и т.д), файлами находящимися непосредственно на самом iOS-устройстве. Также имеется папка с недавно удаленными файлами(см. скриншот ниже).

Для удобства имеется возможность сортировать список файлов по имени, дате, размеру или тегу. Также позволяют переключаться между видами «Значки » и «Обзор ».

Присутствует поиск и возможность создавать подпапки.

В нижней части расположены две основные вкладки «Обзор » и «Недавние ».

Как одновременно перетаскивать несколько файлов в приложении Файлы

Приятно то, что Apple в проводнике реализовала возможность управления файлами при помощи жестов мультитач. Выделив один файл, вы можете с лёгкостью добавлять другие документы тапая по их иконкам или удерживая файлы одним пальцем перемещаться по папкам проводника.

При перемещении файлов будьте аккуратны, потому как начав операцию вы не сможете её остановить или в одно нажатие отменить все действия. Как вариант не перемещать файлы физически, а присваивать им теги.

Какие действия можно осуществлять с файлами?

Приложение несовместимо со многими типами файлов. Несмотря на это некоторые из них доступны для предпросмотра, а некоторые для редактирования. Несмотря на то, что программа почти всегда показывает превью содержащихся в файлах данных, это не означает что «Файлы » откроют этот тип. Зачастую приложение открывает неподдерживаемые форматы в сторонних программах. К примеру, запустив файлы Ulysses открывается ассоциирующееся с этим форматом приложение.

Изображения можно просматривать и редактировать при помощи стандартных инструментов разметки. Текстовые файлы можно просматривать и то, только те что открываются штатными программами iOS. Файлы неподдерживаемых форматов открываются в сторонних приложениях, разумеется если они установлены. Можно посмотреть видеоролики в форматах AVI и MOV. Что касается музыки, приятным бонусом будет поддержка высококачественных треков в формате . Архивы просматриваются, но архивировать и разархивировать файлы не дадут.

В 2017 году компания Apple начнёт использовать в своих устройствах новую файловую систему Apple File System (APFS), которая придёт на смену системе HFS+, используемой на компьютерах Maс 1998 года, а та основана на HFS выпуска 1985 года.

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

Первый взгляд на APFS

Пока APFS доступна в бета-версии macOS Sierra 10.12 (преемница OS X Capitan 10.11) для разработчиков.

В ней можно создать образ диска APFS, но с ним доступно не особо много действий – копирование файлов в него и из него, при этом нельзя использовать диск APFS как загрузочный. Всё это должно измениться в 2017 году с появлением новых моделей Mac, iPhone и iPad.

Улучшенная безопасность и постоянное клонирование

Большинство пользователей не заметят ничего радикально нового в устройствах с поддержкой APFS на жёстком диске, но внутри скрыто множество значительных отличий. APFS использует интегрированное шифрование вместо устанавливаемых сторонних техник в существующей функции OS X FileVault, которая медленно шифрует и дешифрует диск целиком.

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

APFS также позволяет мгновенное копировать папки и диски. Эта технология повысит скорость встроенной функции Sierra, которая автоматически выполняет резервное копирование файлов из папок Рабочий стол и Документы в облачное хранилище iCloud (функцию можно отключить) — об этой возможности мы уже рассказывали в статье «macOS Sierra: новые возможности преемницы OS X «. Функциональность работает уже и на существующих устройствах, но должна стать быстрее с APFS.

Наносекундная точность, улучшенное резервное копирование

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

Можно ждать в macOS Sierra наличия новой версии функции Apple Time Machine, которая воспользуется преимуществами файловой системы для повышения производительности создания резервных копий. Microsoft создала похожую функциональность в файловой системе NTFS много лет назад, а пользователи Mac теперь смогут работать с похожей технологией «теневого копирования», как в Windows.

Улучшенное распределение пространства

Другие преимущества дисков APFS включают в себя гибкое распределение пространства, так что два «диска» APFS могут одалживать его друг у друга, не довольствуясь только местом, выданным им при создании.

APFS обладает поддержкой «разреженных файлов», которые не заполняют всё распределённое место на диске. Прежние версии OS X уже поддерживают разреженные файлы, но не самым удобным образом и только для разработчиков.

А благодаря быстрому встроенному управлению файлами, нам обещают более надёжную защиту против потери данных при падениях системы.

Оптимизация для флеш-памяти

Другие внутренние новшества включают в себя оптимизацию для работы с флеш-памятью, тогда как технологии в HFS+ созданы для вращающихся жёстких дисков. Те, кто когда-либо подолгу ждали, когда OS X скажет, сколько места занимает та или иная папка, будут рады узнать, что функция быстрого определения размера директорий APFS решит эту проблему.

Если вы собираетесь пользоваться своим компьютером Mac следующие 25 лет, лучше обновиться до APFS до 6 февраля 2040, так как HFS+ после этой даты не сможет создавать временные метки файлов.

Недостатки APFS

Главным является совместимость. Если у Mac есть созданный программой Apple Boot Camp раздел для Windows, то понадобистя драйвер Windows, который сможет прочитать диск APFS, как драйвер от Apple для Windows позволяет читать диски HFS+. Наверняка Apple предоставит такой драйвер до публичного релиза APFS.

Точно так же двойная загрузка с применением Sierra и старых версий OS X не даст доступа к разделу APFS с раздела со старыми версиями. Обычный сетевой доступ к и с диска APFS не будет проблемой, так как APFS поддерживает стандартный сетевой протокол SMB, используемый Windows и всеми остальными.

Вместо заключения

Только разработчикам нужно думать о том, что им предстоит изучать APFS. Остальным новая файловая система даст большую скорость работы системы, усиленную безопасность и надёжность. В июле выйдет публичная бета-версия macOS Sierra, тогда доступ к новой файловой системе смогут получить все желающие.

На вчерашней презентации WWDC 2016 компания Apple показала новые версии операционных систем macOS (Sierra) 10.12, iOS 10, tvOS 10, watchOS 3, приложение для обучения детей программированию Swift Playgrounds и новые эмодзи.

Казалось бы, ничего интересного. Однако, Apple всё-таки выкатила кое-что фундаментальное. Самая значительная разработка из всего упомянутого на презентации - это файловая система нового поколения Apple File System (APFS) в операционной системе macOS (Sierra) 10.12.

На сайте для разработчиков вскоре после презентации опубликована документация с основными характеристиками и описанием файловой системы, которая повторяет отдельные функции мощной свободной файловой системы ZFS.

Сейчас в компьютерах Apple используется файловая система HFS+, расширенная версия HFS (Hierarchical File System, иерархическая файловая система), созданной более 30 лет назад. Подобно своей предшественнице, HFS+ использует древовидную структуру, называемую B*-дерево, для хранения большей части метаданных. Отсюда и название «иерархическая файловая система».

Официальное представление HFS+ состоялось 19 января 1998 года, вместе с MacOS 8.1. С 2002 года в системе реализовано журналирование для повышения надёжности хранения информации. С версии OS X 10.3 журналирование включено по умолчанию, появилась возможность работать в режиме с учётом регистра имён.

Вплоть до версии OS X 10.7 разработчики продолжали дорабатывать HFS+ и реализовывать на уровне файловой системы новые функции для OS X. Но факт остаётся фактом: HFS изначально разрабатывалась во времена флоппи-дисков и крутящихся винчестеров, когда размеры файлов измерялись в килобайтах или мегабайтах. Сегодня многие работают с накопителями SSD, где хранятся миллионы файлов - гигабайты или терабайты данных. К файловой системе выдвигаются совершенно иные требования. Вместо доработки старого кода компания Apple решила наконец-то написать новую файловую систему с нуля.

Файловая система APFS нового поколения пока находится на стадии developer preview , то есть её не планируется выкатывать в массовое использование в ближайшее время. В данный момент нельзя использовать том APFS как загрузочный диск, его также нельзя применять в системе резервного копирования Time Machine, в Fusion Drive или с шифрованием File Vault. Но можно для обычного незагрузочного тома.

Предстоит ещё долгая доработка и тестирование, но уже потом APFS станет основной файловой системой Apple на десятилетия вперёд.

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

Основные характеристики

В официальной документации перечислены общие характеристики файловой системы APFS в сравнении с HFS+.

Контейнеры и тома

Контейнер - это основной объект для хранения данных в APFS. Конейнеры обычно полностью совпадают с записями GUID Partition Table (GPT), у них собственная схема защиты от сбоев и распределения дискового пространства. Каждый контейнер содержит один или больше томов или файловых систем, в каждой из которых есть собственное пространство имён , то есть набор файлов и директорий.

APFS напрямую не поддерживает программный RAID, но её можно использовать с томами Apple RAID для поддержки Striping (RAID 0), Mirroring (RAID 1) и Concatenation (JBOD).

64-битные индексные дескрипторы (inode)

64-битные иноды значительно увеличивает пространство имён, по сравнению с 32-битными индентификаторами в HFS+. В 64-битной файловой системе APFS поддерживается более 9 квинтиллионов файлов на каждом томе. Этого должно хватить каждому, как говорил Билл Гейтс.

Наносекундные метки времени

В APFS значительно увеличена точность меток времени (таймстампов). APFS поддерживает установку меток времени с точностью до наносекунды. Для сравнения, в HFS+ метки времени выставлялись с точностью до секунды.

Наносекундные таймстампы очень важны в современных файловых системах, потому что они помогают реализовать атомарности и атомарных транзакций - одного из основных требований ACID к транзакционной системе (например, к СУБД). Атомарность гарантирует, что никакая транзакция не будет зафиксирована в системе частично. Будут либо выполнены все её подоперации, либо не выполнено ни одной.

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

В APFS реализована инновационная схема метаданных copy-on-write, которую Apple называет «защитой от сбоев» (“Crash Protection”). Она гарантирует, что изменения в файловой системе и записи в журнал остаются в синхронизированном виде, если что-то происходит во время записи - например, пропадает электропитание.

Схема copy-on-write в ZFS

Разреженные файлы (sparse files)

Файл с атрибутом «разреженный» предполагает содержание блоков нулевых байт, не хранимых на накопителе, а подразумеваемых. В HFS+ не было поддержки разреженных файлов.

Расширенные атрибуты

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

Шифрование

Apple заявляет, что шифрование является фундаментальным свойством, которое встроено в APFS на уровне файловой системы. Для каждого тома в контейнере APFS устанавливается одна из моделей шифрования: без шифрования, шифрование с одним ключом, шифрование с несколькими ключами. В последнем случае отдельные ключи применяются для шифрования файлов и метаданных. В зависимости от оборудования, APFS использует режим шифрования AES-XTS или AES-CBC.

Клонирование файлов и директорий

Клонирование - практически мгновенное копирование файла или директории, при котором не требуется дополнительное место для хранения данных. При модификации клона файловая система записывает только изменение данных. Таким образом, новая файловая система может хранить много версий больших файлов, отнимая меньше дискового пространства.

Снапшоты

Снапшоты - открытые только для чтения «слепки» файловой системы в томе. Операционная система может использовать снапшоты для более эффективной процедуры резервного копирования. То есть наконец-то Time Machine будет работать нормально (быстро).

Конечно, по своим возможностям APFS значительно уступает 128-битной файловой системе ZFS , которую поддерживают Linux, FreeBSD и другие свободные ОС, но со стороны Apple это шаг в правильном направлении.

Странно, что в предварительной документации не упомянута функция компрессии, которую HFS+, кстати, поддерживает.

Apple долго пыталась перенести ZFS на систему OS X, по этому поводу велась активная дискуссия в списках рассылки ZFS, были опубликованы предварительные снапшоты для следующей версии OS X. Позже была сделана реализация OpenZFS для OS X (O3X) и MacZFX .

Файловая система ZFS распространяется с открытым исходным кодом, и Apple вполне могла позаимствовать некоторые идеи для файловой системы APFS. Реализация open source для APFS пока не готова, компания Apple планирует опубликовать задокументировать и опубликовать формат APFS в 2017 году.

На конференции WWDC сегодня вечером состоится первая формальная сессия, где разработчикам более подробно продемонстрируют новые возможности APFS.