Jump to content

Быстрая файловая система Amiga

АФФС
Функции
Атрибуты заметка в файле
Прозрачный
сжатие
Нет
Прозрачный
шифрование
Нет
Другой
Поддерживается
операционные системы
АмигаОС

Amiga Fast File System (сокращенно AFFS , или чаще исторически как FFS ) — файловая система, используемая на Amiga персональном компьютере . Предыдущая файловая система Amiga никогда не имела конкретного имени и первоначально называлась просто «DOS» или AmigaDOS. После выпуска FFS исходная файловая система стала называться старой файловой системой Amiga (OFS). OFS, который в первую очередь был разработан для использования с дискетами, оказался медленным, чтобы идти в ногу с жесткими дисками того времени. FFS была разработана как полная замена исходной файловой системы Amiga. FFS отличается от своего предшественника главным образом удалением избыточной информации. Блоки данных не содержат ничего, кроме данных, что позволяет файловой системе управлять передачей больших объемов данных непосредственно от хост-адаптера к конечному пункту назначения.

Характеристики

[ редактировать ]

OFS был предшественником FFS. До выпуска FFS в AmigaOS была единственная файловая система, называемая просто AmigaDOS: она использовала 24 байта на сектор для избыточных данных, обеспечивая восстановление структурных данных на менее надежных носителях, таких как дискеты. Когда для Amiga стали более доступными высокоскоростные носители (например, жесткие диски), эти избыточные данные стали узким местом, поскольку все данные необходимо было перенастроить для передачи в приложение. Избыточность была устранена с помощью FFS, и данные, считанные с носителя, передаются непосредственно в приложение. Предыдущая файловая система AmigaDOS была переименована в OFS (Старая файловая система), чтобы отличать ее от FFS. FFS был обратно совместим и мог получать доступ к устройствам, отформатированным с помощью OFS.

Учитывая эти преимущества, FFS быстро стала наиболее распространенной файловой системой, используемой почти всеми пользователями Amiga, хотя OFS продолжала широко использоваться на дискетах сторонних поставщиков программного обеспечения. (Это было сделано исключительно для совместимости с системами, предшествующими AmigaOS 2, в играх и приложениях, которым фактически не требовалась AmigaOS 2+, поскольку машины под управлением более ранних версий ОС без FFS в ПЗУ не могли загружаться с этих дискет, хотя они все еще могли читать их, если бы у них был установлен FFS.)

Amiga FFS проста и эффективна, а на момент ее появления была более чем адекватной и имела множество преимуществ по сравнению с файловыми системами других платформ. Однако, как и до этого OFS, он устарел; по мере того, как диски становились больше и количество файлов на них увеличивалось, их использование в качестве повседневной файловой системы становилось все более проблематичным с точки зрения сложности обслуживания и конкурентоспособности общей производительности. Несмотря на это, он по-прежнему используется в системах AmigaOS и поставляется как с MorphOS , так и с AmigaOS 4 .

К последнему выпуску Commodore AmigaOS, 3.1, FFS все еще была единственной файловой системой, поставляемой в стандартной комплектации Amiga, но она уже показывала свой возраст по мере развития технологий. FFS (и OFS) хранит «растровое изображение» файловой системы в одном секторе. При записи оно сначала помечается как недействительное, затем запись завершается, затем растровое изображение обновляется и помечается как допустимое. Если операция записи прерывается из-за сбоя или удаления диска, это позволяет программе «диск-валидатор» возместить ущерб. Это напоминало очень простую форму ведения журнала файловой системы . Чтобы снова использовать диск с недействительной файловой системой OFS или FFS, необходимо полностью просканировать весь диск и перестроить растровое изображение, но будут потеряны только данные, измененные во время записи. Во время этого сканирования запись на диск невозможна (кроме диска-валидатора, поскольку он выполняет свою функцию), а доступ для чтения очень медленный.

Изначально AmigaOS включала в себя средство проверки диска на каждом загрузочном диске, которое было склонно заменяться вирусами, позволявшими себе распространяться (например, вирус «Саддама Хусейна»). Позже он стал частью ПЗУ, начиная с Kickstart 2.x, что защитило его от злонамеренной замены. Средство проверки диска попыталось восстановить растровое изображение на недействительном диске, защитив диск от записи и просканировав его; это могло занять много времени и сделать доступ к диску очень медленным, пока он не будет завершен, особенно на более медленных носителях. Поскольку жесткие диски стали больше и содержали больше файлов, процесс проверки мог занять много часов. Кроме того, файлы и каталоги могут быть потеряны (часто без уведомления или даже ведома пользователя) во время процесса, если их хэши данных были повреждены. В некоторых случаях валидатор может выйти из строя и оставить диск в непроверенном состоянии, что потребует от пользователя использования стороннего дискового инструмента, такого как DiskSalv, чтобы снова сделать том доступным для записи, или просто сохранить файлы, скопировав их в новый раздел. — очень медленный процесс.

FFS также изначально была ограничена 32-битной адресацией и, следовательно, дисками емкостью 4 ГБ или, по крайней мере, первыми 4 ГБ на диске большего размера. Попытка использовать разделы FFS сверх этого предела привела к серьезному повреждению данных на всем диске. FFS с опозданием получила несколько сторонних 64-битных патчей, а затем официальные (но не Commodore) обновления, позволяющие обойти эти ограничения. Последние поставлялись с AmigaOS 3.5 и 3.9 от Haage & Partner. Первые часто поставлялись с дисковыми контроллерами сторонних производителей, например, от Phase5 , где возможность использования дисков большой емкости была преимуществом. Эти две системы не были взаимно совместимы.

Что касается инструментов поддержки, хотя сам Commodore поставлялся только с приложением под названием DiskDoctor (а позже удалил его с дисков AmigaOS), у FFS был небольшой набор сторонних инструментов — в первую очередь DiskSalv — для обслуживания файловой системы, восстановления и проверки. его, восстановить файлы или отменить «быстрое форматирование» (инициализацию файловой системы). Том OFS или FFS необходимо было заблокировать для дефрагментации или преобразования в другие режимы FFS, чтобы предотвратить повреждение, и это делало его недоступным для всех, кроме инструмента, который его дефрагментировал. Большинство этих инструментов не были обновлены, когда FFS стала поддерживать 64-битную адресацию и могла работать только с разделами размером менее 4 ГБ; они не могли читать разделы размером более 4 ГБ и обычно повреждали разделы «за пределами» границы 4 ГБ. Когда объем жестких дисков, используемых пользователями Amiga, достиг 4 ГБ, это стало проблемой.

По всем этим причинам в середине 1990-х годов пользователи часто заменяли FFS более современными альтернативами, такими как Smart File System (SFS) и Professional File System (PFS), которые не имели этих ограничений и считались безопаснее, быстрее и эффективнее. В частности, SFS продолжала развиваться и в настоящее время [ когда? ] настолько близка к общей файловой системе AmigaOS, как FFS, и является файловой системой по умолчанию для AROS .

FFS был представлен в версии 1.3 AmigaOS. [1] в 1988 году, [2] и заменил ПЗУ Kickstart (или дискету Kickstart для A1000) и дискету Workbench обновленным программным обеспечением. Он имел номер версии v34, как и остальные компоненты AmigaOS 1.3.

Kickstart 1.3 обеспечивал поддержку автоматической загрузки, так что теперь машину можно было загружать с жесткого диска или защищенного от перезагрузки RAM-диска («RAD:»), тогда как более ранние версии Kickstart можно было загружать только с дискеты. Workbench 1.3 предоставил драйвер устройства файловой системы FFS на диске, который можно было скопировать в блок жесткого диска (RDB) на жестких дисках. Совместимые блочные устройства затем загружали и устанавливали драйвер файловой системы до того, как файловые системы были смонтированы, и, таким образом, позволяли использовать загружаемые файловые системы на жестких дисках. Kickstart 1.2 мог загружать Workbench 1.3 с дискеты (и наоборот), но для автоматической загрузки жестких дисков в формате FFS требовались и Kickstart, и Workbench 1.3.

Поддержка FFS была включена в файловую систему на основе ПЗУ, начиная с Kickstart 2.0, и поэтому больше не было необходимости устанавливать FFS в RDB. Возможность загружать файловые системы из RDB по-прежнему оставалась доступной на случай, если кто-то хотел исправить ошибки ПЗУ, получить новые функции FFS или использовать стороннюю файловую систему.

Дискеты представляют собой неразмеченные устройства без RDB, а также не используют механизм автозагрузки, поэтому были загрузочными только в том случае, если dostype диска был таким, который понимает файловая система на основе ПЗУ. В результате дискеты в формате FFS не были загрузочными до выпуска Kickstart 2.0, а их установка в Workbench 1.3 включала в себя несколько уродливых неподдерживаемых хаков. Точно так же варианты «Кэш каталога» не были загрузочными и не поддерживались до Kickstart 3.0.

Различные варианты FFS не имели проблем с совместимостью с программным обеспечением Amiga, даже с теми, которые считались «недружественными к системе». Программное обеспечение либо будет использовать системные вызовы и, таким образом, работать с любой файловой системой, либо будет «загрузчиком треков» и вообще не будет использовать файловую систему.

ФФС работала в нескольких режимах, определяемых «дотипами». Файловые системы AmigaOS идентифицируются четырехбуквенным дескриптором, который указан либо в RDB, либо в списке монтирования, либо в драйвере dos; в качестве альтернативы (как это было в случае с трековыми устройствами, такими как дискеты), сам диск можно было отформатировать в любом указанном типе.

Дотипы FFS были следующими: [3]

DOS\ 0 : исходная файловая система Amiga (OFS). Это было оставлено в целях совместимости, и большинство дискет, поставляемых компаниями-разработчиками программного обеспечения или в качестве обложек журналов, использовали этот тип, чтобы они могли загружаться на машинах до 2.x, таких как Amiga 500. Это также означало, что пользователи с существующими OFS- отформатированные диски могли их прочитать после установки FFS в RDB.

DOS\ 1 : Новая файловая система FFS. Первые дисковые версии FFS не имели дополнительных режимов.

AmigaOS 2.04 сделала FFS (теперь v37) частью Kickstart ROM и представила новые режимы обработки международных символов в именах файлов. [4] и для кэша каталогов на диске. Каждый новый режим был доступен как для типов OFS, так и для FFS. Эта странная система была создана для равенства: режимы OFS, кроме DOS\0, почти никогда не использовались, но, тем не менее, были доступны. (Хотя OFS, они все равно были несовместимы с системами Amiga без FFS).

Четыре новых типа, представленные в версии 37 FFS:

DOS\ 2 : «Международный» (OFS-INTL) режим позволяет OFS обрабатывать имена файлов с «международными символами», т.е. теми, которые не встречаются в английском языке (латинский набор символов), например ä и ê.

DOS\ 3 : Международный режим для FFS (FFS-INTL). Это был наиболее часто используемый режим FFS. (Все более высокие типы имеют международный режим всегда включен.)

DOS\ 4 : режим «Кэш каталога» (OFS-DC) включает примитивное кэширование путем создания выделенных списков каталогов вместо необходимости выбирать связанные записи каталога/файла, которые разбросаны по диску. Для хранения данных каталога выделяется определенный (небольшой) объем дискового пространства. [5] Опция DirCache значительно улучшила скорость чтения каталогов, но создание, удаление и переименование файлов стало медленнее. Скорость чтения отдельных файлов это не увеличило.

Он стал популярным выбором на жестких дисках Amiga, но, по мнению Олафа Бартеля, автора FFS2, использование режимов dircache, вероятно, лучше для дискет, чем для жестких дисков, где это приведет к общему снижению производительности по сравнению с отсутствием режима. из диркеша. [ нужна ссылка ] Несмотря на это, он редко использовался на дискетах, особенно из-за того, что кэш занимал драгоценное пространство, а также из-за ограниченного пространства, которое вообще не позволяло кэшировать большое количество файлов. В режиме dircache отсутствует механизм «сборки мусора», а это означает, что частично заполненные блоки кэша никогда не объединяются и будут продолжать занимать место. [6]

DOS\ 5 : Кэширование каталогов с помощью FFS (FFS-DC). Оба режима dircache не были обратно совместимы с более ранними версиями FFS.

Версия 40.1 была последней версией FFS, выпущенной Commodore, и поставлялась с AmigaOS 3.1 как на дисках ОС, так и в ПЗУ. После этого появилось несколько неофициальных патчей , позволявших использовать его на дисках после первых 2 ГБ жесткого диска с использованием 64-битной системы адресации под названием TrackDisk64 или TD64 (хотя ограничение на размер файла в 2 ГБ и ограничение на размеры разделов в 127 ГБ остался, поскольку это было ограничением dos.library AmigaOS и всего текущего программного обеспечения Amiga) и имел номер версии v44. Версия FFS, поставляемая с AmigaOS 3.5 и 3.9, была v45 и отличалась тем, что использовала другую 64-битную систему адресации, New Style Device или NSD.

Совсем недавно (с 2003 года) в MorphOS и AmigaOS 4 появилась поддержка слегка обновленной «FFS2» Олафа Бартеля (FFS v46, v50 соответственно). Это совместимо со старой версией FFS. Он является родным для PowerPC и содержит еще два типа файлов (которые не могут быть прочитаны более старыми FFS):

DOS\ 6 : «Длинное имя файла» (OFS-LNFS). Это позволяло файлам иметь более длинные имена (до 107 символов), чем обычное ограничение Amiga, составляющее 31 символ. [6]

DOS\ 7 : Длинные имена файлов для FFS (FFS-LNFS).

Для типов LNFS не было доступных режимов кэширования каталогов, а международный режим всегда был включен.

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

В сентябре 2018 года Hyperion Entertainment выпустила Amiga OS 3.1.4 из исходного кода Amiga OS 3.1. Он включал обновленную FastFileSystem V46 в ПЗУ Kickstart. V46 FFS изначально поддерживает API для вызовов TD_64, NSD и/или классического 32-битного хранилища TD_. Это позволяет Amiga OS v3.x использовать и загружаться с носителей большого размера (> 4 ГБ) и поддерживать размеры разделов > 2 ГБ. В июле 2019 года в обновлении 3.1.4.1 появилось дополнительное файловое обновление FFS. [7] В мае 2021 года вышла обновленная версия Amiga OS 3.2. [8] и предоставил соответствующее обновление V47 FFS на основе ПЗУ, в котором было добавлено несколько незначительных функций и исправлений.

Другие реализации

[ редактировать ]

Было несколько других реализаций, способных читать файловые системы FFS, для чтения которых обычно требовался эмулятор Amiga и копия ПЗУ операционной системы. В частности, поддержка affs (Amiga Fast File System) может быть скомпилирована в ядра Linux и обеспечивает полную поддержку чтения, записи и форматирования разделов FFS и OFS всех типов, кроме DOS\6 и DOS\7 (которые, вероятно, невероятно редки). ).

На Amiga бесплатное приложение xfs. [9] среди многих файловых систем могла читать и записывать на устройства, отформатированные в OFS или FFS, и, вероятно, была единственной файловой системой Amiga, за исключением самой FFS/FFS2, которая могла это делать. Он не поддерживал DOS\6 или DOS\7, которые были раньше, а также форматирование устройств.

См. также

[ редактировать ]
  1. ^ "wb_13chg.txt" . Проверено 12 ноября 2012 г.
  2. ^ Выпуск 1.3 подтвержден 16 сентября 1988 года Кэролайн Шеппнер из CATS на сайте amiga.dev в BIX . Копия объявления BIX от USENET
  3. ^ Руководство пользователя AmigaOS 3.1.
  4. ^ Все файловые системы Amiga могут обрабатывать международные символы, но до международных версий они рассматривали прописные и строчные буквы как совершенно разные символы.
  5. ^ «Путеводитель по истории Амиги» . www.AmigaHistory.co.uk . Проверено 1 мая 2017 г.
  6. ^ Jump up to: а б «Структуры данных низкого уровня DCFS и LNFS — Wiki-документация AmigaOS» . wiki.amigaos.net . Проверено 7 мая 2017 г.
  7. ^ «Выпущено обновление до AmigaOS 3.1.4» .
  8. ^ «Новости» .
  9. ^ xfs читай меня aminet.net
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5b28b52d75f5f39864ccc6b087279470__1701573480
URL1:https://arc.ask3.ru/arc/aa/5b/70/5b28b52d75f5f39864ccc6b087279470.html
Заголовок, (Title) документа по адресу, URL1:
Amiga Fast File System - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)