Файлова система APFS: навіщо вона стала потрібна

Про те що колишня файлова система у Apple була відсталою і нікуди не годилася, ось уже років десять говорили і писали тисячі експертів і авторів. На момент її заміни на APFS їй було вже років тридцять, модними нововведеннями вона і справді не виблискувала, але, як не дивно, якщо її відсталість комусь і заважала, то дуже небагатьом. Її не помічали, тобто, вона відмінно справлялася зі своїми обов'язками. З нею не було проблем, чого не скажеш про нову файлову систему - непогану, але все ще занадто юну.

Файлові системи Мас'ів, починаючи з найпершої з них, викликали у тих, хто знає толк у файлових системах, презирство і почуття власної переваги. У найпершому Mac'e 1984 року файлова система навіть не була ієрархічною. MFS (Macintosh File System) мала низку унікальних особливостей, які для першого Mac'a були набагато потрібнішими ніж найсучасніші і не до кінця продумані механізми сучасних (на той момент) файлових систем - я мав справу з VAX/VMS, порівняно з файловою системою яких MFS була з кам'яного століття. Але для першого Mac'a вона була абсолютно достатньою. Спочатку в першому Mac'e планувалося використовувати файлову систему з Lisa OS, цілком собі ієрархічну і сучасну на той момент, яка, в свою чергу, походила від SOS, дуже пристойної файлової системи для Apple II і Apple III - але амбітні і божевільні завдання, що стояли перед першим Мас'ом не залишили для неї місця. MFS в тій ситуації була одним з блискучих і дотепних інженерних рішень, без яких Mac'a б просто не було.


Що таке HFS

До ієрархічної системи повернулися через півтора року, у вересні 1985 року. Коли Стів був звільнений з Apple. Нову файлову систему назвали, не без виклику, просто і зі смаком: HFS. Операційну систему Мас'ів називали System, а ієрархічну файлову систему - ієрархічною файловою системою (Hierarchical File System, або HFS). А які ще можуть бути операційні та файлові системи? У системах де від файлових систем були потрібні особливі здібності, вони швидко ускладнювалися і розвивалися. У Mac'ax цього не було потрібно. Поки до середини 90-х у HFS не виникла серйозна проблема, з якою треба було щось робити: розміри дисків, порівняно з 1985 роком, істотно збільшилися. Типовий розмір диска в кінці 80-х - 40-80 Мегабайт. Наприкінці 90-х розміри дисків вже вимірювалися в одиницях Гігабайт. А HFS була 16-бітною. На томі можна було розмістити не більше 65535 файлів. У результаті, навіть якщо у файлі потрібно було зберігати один або два символи, на диску для нього виділялося кілобайт десять, а то й двадцять.

З файловою системою треба було щось робити, і негайно. Але компанія була на межі загибелі, несла збитки, як стало відомо через кілька років, через 2-3 місяці, якби нічого не змінилося, їй загрожувало неминуче банкрутство. Як вони цього уникли я не буду розповідати, але приблизно в той же час Стів, ніби випадково, зайшов в один з офісів компанії, де йшла нарада, з блокнотиком - ніби просто посидіти. Коли нарада закінчилася, він звільнив майже все керівництво підрозділу, і призначив на керівний пост інженера який запропонував щось, що Стіву сподобалося. Коротше, самодур і все таке. З тим інженером я в 1998 спілкувався, мова на тій нараді йшла про нову файлову систему. Варіантів було два: або, протягом 3-4 років, розробляти сучасну і насичену смаколиками (від яких експерти індустрії будуть в захваті) FS, а потім, протягом декількох років, доводити її до пристойного стану - або швидко і просто усунути реальні проблеми, на що потрібно максимум півроку - на думку тих хто пропонував цей шлях. Через 3 або 4 місяці, в Mac OS 8.1, з'явилася HFS +. 32-бітова.

Фактично, це була та ж сама HFS, з відносно невеликими змінами. Навіть з переходом на виправлену і доопрацьовану копію самої себе були проблеми. Недовго. Саме ця файлова система, аж до березня 2017 року, була файловою системою в macOS (як би вона не називалася), в iOS, в tvOS і в watchOS. Як завжди, «специфікації» у файлової системи були, м'яко кажучи, дуже блідими. Але проблем з нею майже не було, хіба що в серверному бізнесі Apple, який так і залишився всього лише епізодом. Але, що б про нього не говорили тоді і потім, дуже яскравим і цікавим. Якби з iPhone нічого не вийшло, в Mac'ax на зміну HFS + прийшла б ZFS, році в 2008 або 2009. Але, на щастя або на нещастя, з iPhone все вийшло.

З 2005 по 2009 Apple Computer, яка плавно перетворилася на середині цього шляху в просто Apple, активно цікавилася ZFS, унікальною файловою системою розробленою в Sun Microsystems. Це практично безмежна файлова система, 128-бітна, межі на які вона розрахована швидше за все ніколи не будуть досягнуті, а по набору функцій і ознак сучасної файлової системи чи не сама-сама в світі. До 2007 року, поки Apple була Apple Computer, «яблучний» варіант цієї файлової системи успішно розвивався, в Леопарді (у тій самій версії Mac OS X, термін виходу якої перенесли через аврал з приводу підготовки самого першого iPhone до виходу в світ) ZFS повинні були з'явитися в серверному варіанті системи - але, раптово, Apple втратила до неї інтерес.

Як з'явилася APFS

До 2007 року у компанії (точніше, у Стіва) все ще були сумніви в успіху головної інновації десятиліття - iPhone, в 2007 році ці сумніви були розвіяні. В індустрії досі ходять чутки про те, що Apple не впоралася з впровадженням ZFS в Mac OS X. Є ще одна версія: хтось не то в Sun Microsystems, не то в Oracle Corporation (незабаром купила Sun), забув згадати Стіва в якійсь промові, або якось не так його згадав. Реальна причина очевидна: поворот у бік мобільних пристроїв (в яких HFS + вистачило б на роки, адже вистачило ж) був ризикованим, але обіцяв Apple набагато більше. Як тільки на цьому фронті намітився реальний успіх, серверний напрямок стали потихеньку закривати.

У 2014 році (за іншими даними, в 2012 - але швидше за все, все-таки в 2014) в Apple почалася розробка нової файлової системи. Для того щоб взятися за такий трудомісткий проект, потрібні були серйозні причини. Якісь плани на майбутнє, з якими HFS + стала б несумісною. Файлові системи створюються довго і важко. На це йдуть роки. У 2016 році APFS була оголошена. У березні 2017 вона дебютувала в iOS, досить успішно. Того ж року, восени, APFS у складі High Sierra прийшла і на Мас'і. Щоб відбутися, операційній або файловій системі потрібно дожити до версії 3.1. Їм потрібно перехворіти дитячими хворобами, навчитися справлятися з життєвими ситуаціями, подорослішати. Я не знаю до чого готуються в Apple, для чого їм знадобилася «сучасна файлова система» саме зараз, але міць цього невідомого задуму вже вражає.


У APFS все ще багато недоліків, але головний з них (юність) дуже швидко проходить. Про те що представляє з себе APFS, і які з її цілей вже озвучені - розповім іншим разом.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND