2

В iOS 10.3 используется новая файловая система. Что такое Apple File System (APFS) и почему это важно?

Артур
Что такое Apple File System (APFS) и почему это важно?

В 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. Первые бета-версии iOS 10.3 уже получили разработчики и участники публичного тестирования, точной даты финального релиза обновления операционной системы пока нет, однако можно предположить, что это произойдет в ближайшие месяцы. Но что же представляет собой 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 позволяет записывать данные сверх лимита за счет другого раздела. Новая файловая система не делит общий объем накопителя на независимые части, а выставляет условные границы, которые в случае необходимости могут быть немного изменены для выполнения задач пользователя.
44

Будь в курсе последних новостей из мира гаджетов и технологий

Мы в соцсетях

Комментарии

+8
Спасибо! Отличная статья!
27 января 2017 в 09:15
#
+117
Пока звучит это все неплохо, может к чему это и приведёт!
Небось, как они любят, особый эффект будет в следующем устройстве, а не на нынешних)
27 января 2017 в 09:56
#
Артур Сотников
+1091
На самом деле «особый эффект» вряд ли будет виден. ФС — это не та штука, на которую переходят в одночасье плюс все изменения важные, но не настолько заметные, чтобы как будто новое устройство в руках оказалось.
27 января 2017 в 11:09
#
Максим Громов
+61
Самый прикол, что в андроиде в основном используется exFat, который все эти плюшки,Ю кроме как резервного копирования давно поддерживает ((
27 января 2017 в 10:36
#
Артур Сотников
+1091
Самый прикол, что в Android используется ФС ext4, а в некоторых кастомах — F2FS. Причина простая: на exFat у Microsoft патентов дофига и ее надо лицензировать, поэтому в Android exFat только на картах памяти поддерживается.
27 января 2017 в 10:58
#
0
Интересно, как там будет с Fusion Drive, я бы с ZFS слез как раз
27 января 2017 в 10:43
#
–1
Уже поставил ios 10.3 на шестерку и все летает
27 января 2017 в 10:55
#
Don Perinion
+49
Как Apple поменяла файловую систему без форматирования ? У меня на 6s более 2х тысяч приложений, но я обновился на 10.3 и каким-то чудом все приложения перезаписались на новую файловую систему и чувствуют себя отлично. И кстати в Андроиде не exFat, а ИФС (иерархическая файловая система), по крайней мере на моём Galaxy s6.
27 января 2017 в 11:55
#
Tormaz
+506
Ну хоть что-то реально сделали. А то я уже начал думать что только новые эмодзи могут добавлять
27 января 2017 в 12:10
#
Артур Сотников
+1091
Ну в этом-то и разница между минорными и мажорными обновлениями. В версиях, отличающихся вторым знаком после точки серьезных изменений почти не бывает
27 января 2017 в 12:22
#
+31
Ну поставил я на 6s 10.3 что-то прироста не заметил. Антуту на 10к меньше только показала.
27 января 2017 в 16:55
#
+386
Главное чтобы производительность не упала...
27 января 2017 в 18:47
#
+16
Магия Apple.
27 января 2017 в 22:35
#
–1
5s, работаєт лутше чем на 10.2.1
27 января 2017 в 23:32
#