Файлові системи macOS
Як зазначено в статті про основи файлових систем, операційна система є одним із ключових факторів, що впливають на вибір формату сховища. А коли йдеться про macOS, вибір варіантів обмежений закритістю екосистеми Apple. Усі сучасні комп'ютери Mac під керуванням macOS 10.14 і новіших версій за замовчуванням використовують APFS, яка також застосовується до решти продуктів з лінійки Apple – пристроїв на базі iOS, iPadOS, tvOS і watchOS. У той же час HFS+, попередній стандарт де-факто, все ще підтримується заради збереження сумісності з більш старими комп'ютерами. У цій статті ви можете ознайомитися з цими двома ФС та їхніми підходами до організації даних. Крім того, ви також можете дізнатися, як вони пов'язані з іншими технологіями зберігання даних, що використовуються в межах цієї платформи.
Будь ласка, зверніть увагу: Хоча macOS дозволяє форматувати знімні носії у FAT/FAT32 або exFAT і надає підтримку читання та запису для цих файлових систем, вони описані в іншій статті з огляду на те, що вони мають пряме відношення до Microsoft Windows.
APFS
APFS (англ. Apple File System, Файлова система Apple) була представлена в 2017 році разом із macOS High Sierra 10.13 і розроблена виключно для використання на продуктах Apple, включно з Mac, iPhone, iPad, Apple Watch і Apple TV.
Це формат нового покоління, орієнтований на ефективну роботу з флеш-пам'яттю та твердотільними накопичувачами. І це не дивно, оскільки переважна більшість сучасних пристроїв Apple використовують твердотільні накопичувачі як основне сховище даних. Крім того, APFS вирішує фундаментальні проблеми HFS+, своєї попередниці на вищезгаданих пристроях, і пропонує багато функцій, що стосуються цілісності даних і економії простору для зберігання.
Ця файлова система використовує техніку Копіювання при записуванні (Copy-on-Write (CoW)), що мінімізує ризик її пошкодження. До APFS зміни записувалися безпосередньо в блоки зберігання, зайняті існуючими об'єктами. А APFS, навпаки, ніколи не перезаписує їх на місці, а створює їхні копії та вносить необхідні зміни в нове місце у сховищі, гарантуючи їх захист від можливих збоїв.
APFS використовує Контейнер (Container) як основний елемент для зберігання даних. Один Контейнер може містити кілька томів (файлових систем), які спільно використовують доступний у ньому простір для зберігання. Інформація про кількість блоків у Контейнері, розмір блоку тощо зберігається в Суперблоці контейнера (Container Superblock), який також діє як точка входу в кожен том. Розподіл блоків у всьому Контейнері відстежується за допомогою єдиної загальної Бітової мапи (Bitmap).
У той же час томи мають власні Суперблоки томів (Volume Superblocks) і незалежні структури для зберігання даних і метаданих. Керування файлами та папками у них здійснюється за допомогою бінарних деревних структур пошуку, які називаються B-деревами файлів і папок. Вузли таких дерев містять ключі та значення.
Вміст будь-якого файлу представлено принаймні одним екстентом, який містить інформацію про його початок та довжину в блоках. Управління усіма екстентами тому здійснюється за допомогою спеціального B-дерева.
Проте незважаючи на оптимізовану структуру та інші очевидні переваги, APFS була розроблена саме для пристроїв на базі флеш-пам'яті й може бути не найкращою альтернативою для механічних жорстких дисків. Більше того, вона може спричинити їх надмірну фрагментацію та, таким чином, погіршити продуктивність. На додаток до цього, до тому APFS неможливо отримати доступ з попередніх версій macOS – macOS Sierra 10.12 або раніших, що може стати вагомою перешкодою за певних сценаріїв використання.
HFS+
HFS+ (англ. Hierarchical File System Plus, Ієрархічна файлова система плюс), також відома як Mac OS Extended, була випущена в 1998 році з Mac OS 8.1 і слугувала файловою системою за замовчуванням для комп'ютерів Mac, а також для продуктів iPod і Xserve, перш ніж її замінила APFS у macOS High Sierra 10.13. Спочатку це було лише розширення застарілого формату HFS, якому зараз майже сорок років.
HFS+ використовує механізм журналювання, щоб запобігти пошкодженню своїх структур. Усі зміни документуються в Області журналу (Journal area), що дає можливість швидко відновити їх у разі несподіваних подій, таких як збої в електроживленні.
Одна з основних структур HFS+ називається Заголовком тому (Volume Header) і розташовується на початку тому HFS+. Він містить загальні параметри ФС разом із розташуваннями інших важливих елементів. Більша частина іншої службової інформації міститься в спеціальних файлах, які можна знайти в різних частинах тому і які в основному представлені B-деревами.
Весь простір для зберігання в HFS+ розділений на однакові блоки розподілу. Стан кожного блоку розподілу фіксується в схожому на бітову мапу Файлі розподілу (Allocation File). Як правило, блоки виділяються безперервними групами, що сприяє зменшенню фрагментації файлів.
Файли можуть мати два набори даних, пов'язаних із ними. Фактичний вміст файлу називається потоком даних (data fork), а додаткова інформація про нього зберігається у потоці ресурсу (resource fork). Безперервна послідовність блоків, що належать потоку називається екстентом, який, у свою чергу, представлений початковою позицією та кількістю блоків у ньому.
Файл каталогу (Catalog File) має записи для кожного файлу та каталогу у файловій системі. Такі записи містять більшу частину метаданих, а також перші вісім екстентів кожного потоку. Інші екстенти, якщо наявні, зберігаються у Файлі переповнення екстентів (Extents Overflow File). І, нарешті, додаткові атрибути файлів та папок зберігаються у Файлі атрибутів (Attributes File).
HFS+ підтримує численні посилання на вміст одного файлу, відомі як жорсткі посилання. На відміну від звичайних файлів, жорсткі посилання не вимагають додаткового місця для зберігання – вони існують у Файлі каталогу (Catalog File) як вказівники на вихідний файл, який переміщується до прихованого кореневого каталогу.
Хоча HFS+ уже застаріла, вона має зворотну сумісність, дозволяючи зберегти доступ до комп'ютерів зі старішими версіями macOS. Тому навряд чи вона швидко вийде з ужитку.
Підказка: Подробиці щодо можливості відновлення даних з цих типів ФС можна знайти в статтях про особливості відновлення даних в залежності від операційної системи та шанси на відновлення даних. Якщо вас цікавить практична сторона питання, зверніться до посібника з відновлення даних у macOS.
Інші технології зберігання даних macOS
HFS+ з самого початку була розроблена для простих сценаріїв використання та не має багатьох просунутих функцій, які наразі вимагаються сучасними комп'ютерами Mac. Хоча ця файлова система працює незалежно в базових налаштуваннях з самостійними накопичувачами, для вирішення більш складних завдань вона значною мірою покладається на додаткові технології. Такі технології додають рівень абстракції поверх цієї файлової системи, що дозволяє їй працювати з функціями, які вона не може забезпечити самостійно. APFS, у свою чергу, була створена з урахуванням потреб сучасних сховищ, пропонуючи вбудовану підтримку багатьох функцій, які раніше реалізовувалися за допомогою додаткових сторонніх рішень.
Серед найпоширеніших функцій, реалізованих у macOS, варто відзначити:
-
FileVault – технологія повнодискового шифрування від Apple, призначена для захисту даних на комп'ютері Mac від несанкціонованого доступу. В новіших версіях macOS на базі APFS FileVault використовує власні механізми шифрування файлової системи APFS для шифрування вмісту цілих томів APFS (також відоме як шифрування APFS). На відміну від своєї наступниці, HFS+ не дозволяє виконувати шифрування на рівні тому. У цьому разі шифрування додається як окремий рівень, забезпечений Core Storage, іншою технологією, описаною нижче.
Підказка: Будь ласка, перегляньте відповідні інструкції, якщо вам потрібно відновити дані із зашифрованого тому APFS.
-
Fusion Drive – рішення для зберігання даних, у якому традиційний жорсткий диск і твердотільний накопичувач об'єднані в єдиний логічний блок задля досягнення балансу між швидкістю та ємністю для зберігання даних. Дані, які часто запитуються, автоматично переміщуються на SSD для забезпечення кращої продуктивності, тоді як ті, до яких звертаються рідко, зберігаються на повільнішому жорсткому диску. У випадку HFS+ за розміщення даних на Fusion Drive відповідає Core Storage. А у Fusion Drives на базі APFS ця функція вбудована в саму файлову систему.
Підказка: Зверніться до відповідних інструкцій, якщо вам потрібно відновити дані з Apple Fusion Drive.
-
Core Storage – технологія керування логічним томом від Apple, яка використовується у різних версіях macOS до macOS High Sierra. Вона діє як рівень абстракції між HFS+ і фізичними дисками, дозволяючи налаштовувати просунуті конфігурації сховищ з цією файловою системою. Зокрема, на її базі створюються зашифровані томи і працює Fusion Drive. Коли Apple представила APFS, Core Storage поступово була виведена з ужитку для томів, відформатованих за допомогою нової файлової системи.
Підказка: Щоб отримати додаткові відомості про Apple Core Storage, будь ласка, прочитайте статтю, присвячену цій технології.
-
Apple Software RAID (Програмний RAID від Apple) – вбудована функція macOS, яка дозволяє користувачам створювати різні конфігурації RAID і керувати ними без апаратного контролера RAID. Вона використовує програмні механізми macOS для об'єднання кількох фізичних дисків в один логічний том, що характеризується кращою продуктивністю або має надлишковість, залежно від вибраного рівня RAID. Серед можливих варіантів налаштування: RAID 0 (striping або смуги) і RAID 1 (mirroring або дзеркалювання). RAID можна налаштувати за допомогою Disk Utility або терміналу в macOS і відформатувати із застосуванням файлової системи APFS або HFS+.
Якщо ж ви хочете дізнатися більше про ФС інших популярних операційних систем, перегляньте наступні статті:
Останнє оновлення: 08 листопада 2024