В 2014 году Доминик Джампаоло, инженер компании Apple, начал разрабатывать новую файловую систему Apple File System (APFS). Спустя три года ее будут использовать все устройства компании — Macbook, iPhone, iPad; даже телевизионные приставки Apple TV.

Предыстория

С 1985 года Apple использовала в своих компьютерах иерархическую файловую систему (Hierarchical File System, HFS). Спустя тринадцать лет (в 1998 году) она выпустила линейку компьютеров Power Macintosh G3, который использовал обновленную версию файловой системы HFS+. Эту версию стоит считать знаковой в мире «маков» — в ней появилась поддержка больших файлов и другие нововведения.

Но у нее была проблема: флеш-память тогда еще не стала стандартом де-факто на компьютерном рынке. Она была дорогой и нестабильной.

Тогда Apple добавила в HFS+ «модуль», который работал с плеером iPod. Эти наработки компания потом использовала (и использует) в модифицированной версии HFS+ для iPhone и iOS.

Файловая система определяет формат содержимого и способ организации, хранения, именования данных на носителях информации.

Программный продукт, который существует уже 31 год (больше, чем я живу — прим. автора), часто не соответствует стандартам современного рынка. Это сложное и многоуровневое нагромождение кода, который три десятилетия обрастал все новыми строками букв и цифр. Иногда такие продукты надо переписывать с нуля.

Поэтому сейчас, в конце 2016 года, мы обсуждаем APFS — новую файловую систему Apple.

Главные особенности

Apple File System оптимизирована для работы с флеш-памятью. С 2017 года она будет использоваться по умолчанию в операционных системах macOS, iOS, watchOS, tvOS.

Шифрование

Недавно мы обсуждали перестрелку в Сан-Бернардино. Там еще ФБР требовало выдать зашифрованные данные с заблокированного iPhone убийцы, а Apple отказывалась это делать. Проблему «решила» неназванная третья сторона, которая взломала для ФБР телефон преступника.

Ключевая особенность APFS — шифрование данных. Существует несколько уровней шифрования:

  1. Без шифрования;
  2. Шифрование метаданных и данных пользователя;
  3. Шифрование метаданных, данных пользователя, файлов и частей файлов.

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

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

На данный момент шифрование файлов не работает в первой бета-версии macOS Sierra (новой ОС для компьютеров Apple). Не совместимо оно и с «системным» шифрованием данных FileVault.

Саму файловую систему вы можете начать тестировать уже сейчас. Для этого скачайте macOS Sierra, установите ее на компьютер, откройте терминал и пропишите команду hdiutil.

Будьте осторожны: Apple не рекомендует тестировать APFS на системных дисках — новая файловая система может «убить» все ваши данные.

Образы и резервные копии диска

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

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

Гипотетически, APFS вдохнет новую жизнь в Time Machine — пользователь сможет быстро «откатывать» изменения, которые убили ОС. Но сейчас она несовместима с дисковыми хранилищами Time Machine, потому что они не прописывают прямые ссылки на файлы и документы. Интересно, как Apple выйдет из этой ситуации.

Нет в первой версии macOS Sierra и приложений, совместимых с образами диска (Disk Image Mounter не подходит). Нормально протестировать эту функцию не получится — ждите 2017 года или новых сборок ОС.

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

Представим компьютер. Его диск поделен на два раздела объемом в N гигабайтов. С APFS операционная система не откажет вам в выполнении операции при заполнении раздела — она использует оставшиеся неразмеченные гигабайты на диске.

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

Эффективность

Продублированные файлы теперь не будут занимать в два раза больше места. Файлы в macOS это директории, и APFS адресует один и тот же файл (или кусок файла), чтобы взаимодействовать с нужным ей элементом. Похожая опция есть в файловой системе BTRFS, знакомой пользователям Linux.

Глобально, файлы в компьютере делятся на три категории:
1. Полностью перезаписываемые при сохранении новых данных (картинки, офисные документы, видеоролики, и так далее);
2. Файлы-истории (логи);
3. Файлы с привязкой ко времени записи (файлы баз данных).

Большинство пользовательских файлов попадают в первую категорию.

Производительность

Выпустив iPod и iPhone, Apple изменила не только потребительский рынок устройств, но и бизнес-среду: гибридные накопители и SSD-диски начали устанавливать в серверных массивах.

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

APFS записывает данные по другим шаблонам, которые лучше распознаются флеш-дисками.
>
Вдобавок, APFS поддерживает команду TRIM. Благодаря этой команде скорость работы флеш-диска не снижается, а количество свободного пространства (по ходу времени) — не уменьшается. «Тримминг» уведомляет флеш-диск о том, какие данные не содержатся в файловой системе и могут быть удалены.

Бичбол

Улучшения затронули и время отклика файловой системы. Сейчас macOS иногда перестает реагировать на действия пользователя и отображает «бичбол» — цветной крутящийся пляжный шарик. Это аналог песочных часов в Windows.

APFS должна убить этот шарик: файловая система выставляет приоритет задачам пользователя, чтобы все внесенные им изменения обрабатывались ОС моментально. Раньше задачи пользователя соперничали по важности с фоновыми процессами системы.

Что будет дальше

Apple File System придет на устройства Apple в 2017 году. Она их ускорит, освободит от дубликатов и обезопасит при помощи нового шифрования данных.

 


По материалам The Next Web, Ars Technica, dtrace
Еще больше информации на сайте Apple: 1, 2