Четыре самые интересные функции новой Apple File System.

Вы подключили свой iPhone или iPad к компьютеру с Windows, но ни в проводнике Windows, ни в iTunes вы не видите всего того, что есть в памяти вашего устройства? Так как подключить iPhone или iPad как обычный внешний диск USB? И возможно ли это без джейлбрейка? Да, с помощью PhoneBrowse, например.

PhoneBrowse это бесплатный инструмент для Windows, позволяющий просматривать и управлять файлами на iPhone, iPad и iPod без джейлбрейка устройств. С этой программой вы даже сможете добавлять, удалять или переименовывать все типы файлов, хранящихся на вашем устройстве с iOS. Все это в довольно простом, но очень приятном пользовательском интерфейсе, стилизованном под Mac OS X.

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

Процесс добавления и удаления файлов через PhoneBrowse является простым и быстрым. Для этого предусмотрены кнопки «Import» и «Delete». Причем можно добавить можно как отдельный файл, так и папку целиком. Для копирования файлов с устройства на компьютер имеется кнопка «Export». Также можно создавать новые папки и переименовывать файлы. А еще через PhoneBrowse можно просматривать файловую структуру установленных приложений.

Как уже было сказано выше, инструмент доступен бесплатно и работает на различных версиях Windows – от XP до 8 и 8.1.

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

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

Основные каталоги и файлы

iOS - UNIX-подобная операционная система и использует очень похожую на UNIX и OS X структуру файловой системы. «Папка» здесь именуется «каталогом», а файловая система «растет» от корня /. Знаком ~ обозначается домашний каталог пользователя. В обычном режиме это каталог /var/mobile/ , в режиме корневого пользователя - /var/root . Часть каталогов стандартны для UNIX-систем. Это /boot - здесь в UNIX располагается ядро системы и RAM-диск (в iOS ядро лежит в каталоге /System/Library/Caches/com.apple.kernelcaches/kernelcache), /etc - настройки низкоуровневых сервисов, /tmp - временные файлы, /bin - команды для запуска с помощью терминала, /mnt - точка монтирования внешних файловых систем (сюда подключаются флешки и прочее).

Наиболее же интересны для нас каталоги /System , /Library и /var . Именно здесь хранятся сама операционная система (первый каталог), системные данные (второй), настройки приложений и их данные (третий).

Стандартные (предустановленные) приложения лежат в каталоге /Applications . Здесь же располагаются исполняемые файлы Cydia, Zeusmos и некоторых других программ.app, для установки которых необходим джейлбрейк. Файлов здесь намного больше, чем иконок на рабочем столе iOS, так как тут расположены и некоторые внутренние службы, выделенные в качестве отдельных приложений (встроенная в iOS служба Facebook, Print Center и некоторые другие). На невзломанном устройстве этот каталог обновляется только при обновлении всей прошивки, однако некоторые приложения из Cydia устанавливаются именно в него, как и сам магазин Cydia.

Скачанные из App Store приложения хранятся в /var/mobile/Containers/Bundle/Application , каждое в своем собственном подкаталоге. Имена этих подкаталогов закодированы, и для того, чтобы понять, что это за приложение, необходимо зайти в каталог и перейти в следующий. Приложения, установленные не из App Store, также обычно находятся здесь. За каждым приложением закрепляется подкаталог в каталоге /var/mobile/Containers/Data/Application , внутри которого приложение хранит свои настройки и данные, созданные во время работы. Подробнее его структуру мы рассмотрим позже.

Системные обновления загружаются в каталог /var/mobile/MobileSoftwareUpdate . Их можно удалить через стандартное приложение «Настройки». Все обои хранятся в /Library/Wallpaper , а системные звуки - в /System/Library/Audio/UISounds , музыка и видео с компьютера - в /var/mobile/Media/iTunes_Control/Music .

Отдельно стоит упомянуть каталог /var/mobile/Library/caches/com.saurik.Cydia . Именно здесь хранятся deb-пакеты твиков до перезапуска Springboard. Если появится необходимость скачать твик на компьютер, его можно взять отсюда. Также при установке твики часто создают дополнительные каталоги, где хранят собственные данные. Обычно о таких каталогах сказано в документации твиков.

Программы для работы с ФС устройства напрямую

Существует несколько программ для работы с ФС устройства после джейлбрейка.

  • iTools - программа для Mac и Windows, позволяет добавлять и удалять файлы в ФС. На этом ее функции заканчиваются. Преимуществом для многих может стать панель закладок слева от окна просмотра ФС, где можно найти программы, твики, рингтоны или обои устройства.
  • iFunBox - имеет значительно больше возможностей. С ее помощью можно создавать каталоги, удалять, переименовывать файлы или экспортировать их на ПК. Вызывает удивление лишь отсутствие поиска по ФС.
  • Filza File Manager - позволяет прямо на устройстве просматривать метаданные файлов, переименовывать, перемещать, удалять их, открывать многие типы файлов. Есть встроенный поиск по папкам и одновременная работа с несколькими файлами.
  • iFile - во многом превосходит Filza File Manager. Некоторые возможности открываются только после оплаты полной версии программы, однако интерфейс в утилите более удобный и понятный.

Разумеется, работать с файловой системой можно и при помощи терминала. Здесь есть полная поддержка UNIX-команд, так что управление ФС будет очень быстрым и удобным.


Каталоги приложений и песочницы

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов.

На вчерашней презентации 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.

iOS 10.3 и macOS Sierra 10.12.4, в понедельник, работают на новой файловой системе Apple File System или APFS. На первый взгляд, в этом нет ничего особенного – главное, чтобы устройства после апдейта не превратились в «кирпичи». Но интересного в переходе на новую систему больше, чем кажется .

Что такое Apple File System

Apple File System – новая файловая система, к оторая будет использоваться на всех устройствах начиная с Apple Watch и заканчивая Mac . Она «заточена» под флеш-память и пришла на смену устаревшей HFS+. Главные нововведения APFS: улучшенные алгоритмы шифрования, оптимизация использования памяти, защита от сбоев, функции клонирования файлов и папок и умное использование пространства . На практике это обеспечит более стабильную работу ОС, увеличит скорость чтения/записи данных и еще больше защитит пользовательскую информацию.

Почему Apple переходит на APFS

30-летняя HFS+, на которой основаны файловые системы современных гаджетов Apple, создавалась для компьютеров с несколькими накопителями, которые обрабатывали большие объемы файлов. На мобильных устройствах вроде iPhone или Apple Watch приоритеты другие – пользователям нужно, чтобы быстро открывались приложения, а ОС вовремя реагировала на запросы. Для этого в APFS применяются такие функции как клонирование (мгновенное копирование файла или директории, при котором не требуется дополнительное место для хранения данных) и рязрежение (сжатие данных, при котором экономится дисковое пространство и увеличивается скорость записи). А за счет использования «снапшотов» (открытых только для чтения «слепков» файловой системы в томе) ускорится резервное копирование, а именно создание бэкапов с помощью Time Machine.

APFS спроектирована для дальнейшего расширения. В отличие от HFS+, где используется 32-битный каталог записи, в APFS используется 64-битный индексный дескриптор (это такая структура данных в файловых системах). Другими словами, APFS сможет хранить 9 квинтильонов (миллион триллионов!) файлов, что не так актуально для iOS-устройств, но с излишком хватит на ближайший десяток лет для macOS и внешних накопителей.

Какие преимущества для пользователей

Помимо более быстрой и стабильной работы операционной системы, пользователи получат доступ к надежным инструментам шифрования данных на диске. Благодаря APFS iPhone больше не будут превращаться в «кирпичи» после неудачных обновлений – Apple защитит данные на накопителе от повреждений, вызванных сбоями. Наконец, используя функцию Space Sharing, все тома диска смогут «делиться» свободным пространством.

Инженер UiPservice Владислав Юдченко дал комментарий редакции UiP:

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

Например, второй системой (через Bootcamp) у вас установлена Windows и вы выделили для нее 100 ГБ . С Apple File System больше не придется вручную перераспределять отведенный объем памяти. Если 100 ГБ окажется мало, система сама «заберет» нужное количество свободного дискового пространства. При этом функция клонирования файлов и папок позволит быстрее копировать и перемещать данные.

Ограничения Apple File System

Сейчас в APFS нельзя форматировать системные диски . Не поддерживают новую файловую систему гибридные Fusion Drive, функции FileVault и Time Machine.

Как начать использовать APFS

Если вы обновили iPhone или iPad до iOS 10.3 – устройство уже использует Apple File System. С Mac сложнее, здесь APFS – нечто вроде бета-версии. Отформатировать можно внешний диск, карту SD или флешку, да и то только с помощью Терминала. Словом, пока лучше не экспериментировать.