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

редактировать
AFFS
Возможности
Атрибутыfilenote
Прозрачное сжатиеNo
Прозрачное шифрование No
Другое
Поддерживаемые операционные системы AmigaOS

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

Содержание

  • 1 Характеристики
  • 2 История
  • 3 Другие реализации
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки

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

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) хранит «битовую карту» файловой системы в одном секторе. При записи это сначала помечается как недопустимое, затем запись завершается, затем битовая карта обновляется и помечается как действительная. Если операция записи прерывается из-за сбоя или удаления диска, это позволяет программе «disk-validator» отменить повреждение. Это напоминало очень простую форму журналирования файловой системы. Чтобы диск можно было снова использовать с недействительной файловой системой 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. Файловая система (PFS), которая не имела этих ограничений и считалась более безопасной, быстрой и эффективной. В частности, продолжалась разработка SFS, и теперь она так же близка к общей файловой системе AmigaOS, как FFS.

История

FFS была представлена ​​в версии 1.3 AmigaOS в 1988 году и заменила как дискету Kickstart ROM (или дискету 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 по-прежнему оставалась доступной на случай, если кто-то захочет исправить ошибки ROM, получить новые функции FFS или использовать стороннюю файловую систему.

Дискеты - это неразделенные на разделы устройства без RDB и также не использующие механизм автозагрузки, поэтому они были загрузочными, только если тип диска был одним из известных файловой системе на основе ROM. В результате дискеты в формате FFS не были загрузочными до выпуска Kickstart 2.0, а их установка в Workbench 1.3 потребовала некоторых уродливых неподдерживаемых хаков. Точно так же варианты «Directory Cache» не были загрузочными и не поддерживались до Kickstart 3.0.

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

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

Типы параметров FFS были следующими:

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

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

AmigaOS 2.04 сделала FFS (теперь v37) частью Kickstart ROM и представила новые режимы для обработки международных символов в именах файлов и для кеша каталогов на диске. Каждый новый режим был доступен как с типами 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) включен для примитивного кеширования путем создания выделенных списков каталогов вместо необходимости выберите связанные записи каталога / файла, которые разбросаны по диску. Выделяется определенный (небольшой) объем дискового пространства для хранения данных каталога. Опция DirCache значительно повысила скорость чтения каталогов, но создание, удаление и переименование файлов стало медленнее. Это не увеличивало скорость чтения отдельных файлов.

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

DOS \ 5 : кэширование каталогов с помощью FFS (FFS -ОКРУГ КОЛУМБИЯ). Оба режима dircache не были обратно совместимы с более ранними версиями FFS.

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

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

DOS \ 6 : "Long Filename" (ОФС-ЛНФС). Это позволяло файлам иметь более длинные имена (до 107 символов), чем обычное ограничение Amiga, которое составляло 31 символ.

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

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

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

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

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

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

См. Также

  • Портал Amiga

Ссылки

Внешние ссылки

Последняя правка сделана 2021-06-10 18:54:13
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте