О том что прежняя файловая система у Apple была отсталой и никуда не годилась, вот уже лет десять говорили и писали тысячи экспертов и авторов.
На момент её замены на APFS ей было уже лет тридцать, модными новшествами она и в самом деле не блистала, но, как ни странно, если её отсталость кому-то и мешала, то очень немногим.
Её не замечали, то есть, она отлично справлялась со своими обязанностями.
С ней не было проблем, чего не скажешь о новой файловой системе – неплохой, но все еще слишком юной.
Файловые системы Mac’ов, начиная с самой первой из них, вызывали у тех, кто знает толк в файловых системах, презрение и чувство собственного превосходства.
В самом первом Mac’e, в 1984 году, файловая система даже не была иерархической.
MFS (Macintosh File System) обладала целым рядом уникальных особенностей, которые для первого Mac’а были намного нужнее чем самые современные и не до конца продуманные механизмы современных (на тот момент) файловых систем – я имел дело с VAX/VMS, по сравнению с файловой системой которых MFS была из каменного века.
Но для первого Mac’а она была абсолютно достаточной.
Сначала в первом Mac’е планировалось использовать файловую систему из Lisa OS, вполне себе иерархическую и современную на тот момент, которая, в свою очередь, происходила от SOS, очень приличной файловой системы для Apple II и Apple III – но амбициозные и безумные задачи стоявшие перед первым Mac’ом не оставили для неё места.
MFS в той ситуации была одним из блестящих и остроумных инженерных решений, без которых Mac’а бы просто не было.
Что такое HFS.
К иерархической системе вернулись через полтора года, в сентябре 1985 года.
Когда Стив был уволен из Apple.
Новую файловую систему назвали, не без вызова, просто и со вкусом: HFS.
Операционную систему Mac’ов называли System, а иерархическую файловую систему – иерархической файловой системой (Hierarchical File System, или HFS).
А какие еще могут быть операционные и файловые системы? В системах где от файловых систем требовались особые способности, они быстро усложнялись и развивались.
В Mac’ах этого не требовалось.
Пока к середине 90-х у HFS не возникла серьезная проблема, с которой надо было что-то делать: размеры дисков, по сравнению с 1985 годом, существенно увеличились.
Типичный размер диска в конце 80-х – 40-80 Мегабайт.
В конце 90-х размеры дисков уже измерялись в единицах Гигабайт.
А HFS была 16-битной.
На томе можно было разместить не более 65535 файлов.
В результате, даже если в файле нужно было хранить один или два символа, на диске для него выделялось килобайт десять, а то и двадцать.
С файловой системой надо было что-то делать, и немедленно.
Но компания была на грани гибели, несла убытки, как стало известно через несколько лет, через 2-3 месяца, если бы ничего не изменилось, ей грозило неминуемое банкротство.
Как они этого избежали я не буду рассказывать, но примерно в то же время Стив, как будто случайно, зашел в один из офисов компании, где шло совещание, с блокнотиком – будто бы просто посидеть.
Когда совещание закончилось, он уволил почти все руководство подразделения, и назначил на руководящий пост инженера который предложил что-то, что Стиву понравилось.
Короче, самодур и все такое.
С тем инженером я в 1998 общался, речь на том совещании шла о новой файловой системе.
Вариантов было два: либо, в течение 3-4 лет, разрабатывать современную и насыщенную вкусностями (от которых эксперты индустрии будут в восторге) FS, а потом, в течение нескольких лет, доводить её до приличного состояния – либо быстро и просто устранить реальные проблемы, на что требовалось максимум полгода – по мнению тех кто предлагал этот путь.
Через 3 или 4 месяца, в Mac OS 8.1, появилась HFS+.
APFS есть не только в Mac, но и i.
Phone, i.
Pad и Apple Watch.
Фактически, это была та же самая HFS, с относительно небольшими изменениями.
Даже с переходом на исправленную и доработанную копию самой себя были проблемы.
Именно эта файловая система, вплоть до марта 2017 года, была файловой системой в macOS (как бы она не называлась), в iOS, в tvOS и в watchOS.
Как обычно, “спецификации” у файловой системы были, мягко говоря, очень бледными.
Но проблем с ней почти не было, разве что в серверном бизнесе Apple, который так и остался всего лишь эпизодом.
Но, что бы о нем не говорили тогда и потом, очень ярким и интересным.
Если бы с i.
Phone ничего не получилось, в Mac’ах на смену HFS+ пришла бы ZFS, году в 2008 или 2009.
Но, к счастью или к несчастью, с i.
Phone все получилось.
С 2005 по 2009 Apple Computer, плавно превратившаяся на середине этого пути в просто Apple, активно интересовалась ZFS, уникальной файловой системой разработанной в Sun Microsystems.
Это практически безграничная файловая система, 128-битная, пределы на которые она рассчитана скорее всего никогда не будут достигнуты, а по набору функций и признаков современной файловой системы едва ли не самая-самая в мире.
До 2007 года, пока Apple была Apple Computer, “яблочный” вариант этой файловой системы успешно развивался, в Леопарде (в той самой версии Mac OS X, срок выхода которой перенесли из-за аврала по поводу подготовки самого первого i.
Phone к выходу в свет) ZFS должны была появиться в серверном варианте системы – но, внезапно, Apple утратила к ней интерес.
Как появилась APFS.
До 2007 года у компании (точнее, у Стива) все еще были сомнения в успехе главной инновации десятилетия – i.
Phone, в 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 пришла и на Mac’и.
Чтобы состояться, операционной или файловой системе нужно дожить до версии 3.1.
Им нужно переболеть детскими болезнями, научиться справляться с житейскими ситуациями, повзрослеть.
Я не знаю к чему готовятся в Apple, для чего им понадобилась “современная файловая система” именно сейчас, но мощь этого неизвестного замысла уже впечатляет.
У APFS все еще много недостатков, но главный из них (юность) очень быстро проходит.