На Amiga Старая файловая система была файловой системой для AmigaOS до Быстрая файловая система Amiga. Несмотря на то, что он использовал 512-байтовые блоки, он зарезервировал первую небольшую часть каждого блока для метаданных, оставив фактическую емкость блока данных 488 байтов на блок. Он не очень подходил ни для чего, кроме дискет, и вскоре был заменен.
Первоначально известная как файловая система Amiga, она произошла от файловой системы TRIPOS, которая легла в основу первых версий AmigaDOS. Она получила прозвище «Старая» или «Оригинальная» файловая система, когда Fast File System была выпущена вместе с AmigaOS 1.3.
OFS очень хорош для восстановления файловой системы в случае возникновения проблем, хотя так называемый DiskDoctor, предоставляемый Commodore, быстро получил название DiskDestroyer, поскольку он не мог восстанавливать диски автозапуска типа No-DOS, предоставленные третьими лицами. -партийные производители ПО в качестве загрузочных дисков для игр. Идея создания нестандартных дисков с автозагрузкой родилась в примитивной попытке предотвратить копирование таких дисков и избежать загрузки и запуска Amiga DOS, чтобы получить прямой доступ к графическим, аудио и памяти чипсетам Amiga. DiskDoctor фактически изменил загрузочные блоки автозапуска дисков на стандартные для AmigaDOS, переименовав диск с именем Lazarus, и сделал диск автозапуска непригодным для использования.
Amiga использует MFM кодирование / декодирование по умолчанию при работе с гибкими дисками. На гибком диске Amiga 80 цилиндров. Каждый цилиндр имеет 2 дорожки MFM, по одной с каждой стороны диска. Диски двойной плотности (DD) имеют 11 секторов на дорожку MFM, диски высокой плотности (HD) имеют 22 сектора.
Геометрия гибкого диска Amiga следующая:
DD-диск имеет 11 * 2 * 80 = 1760 (от 0 до 1759) блоков, а HD-диск - 22 * 2 * 80 = 3520 блоков.
Amiga хранит 880 КиБ на DD-диске и 1760 КиБ на HD-дискете.
До AmigaOS 3.5 файловые дескрипторы AmigaDOS поддерживали 32-битный параметр смещения (без знака), сообщающий, где начать следующую операцию чтения или записи. Таким образом, самый большой размер любого отдельного файла Amiga в этих операционных системах составляет 2 = 4 ГиБ. После Amiga OS 3.5 дескрипторы файлов могут ссылаться на 2 = 16 EiB файлов. Однако диски в формате OFS продолжают сохранять 32-битные ограничения, поскольку это внутреннее ограничение формата, записанного на носителе.
Блок данных OFS хранит размер блока BSIZE-24 байта (т.е. обычно 488 байтов при наиболее часто используемом BSIZE в 512 байтов).
Корневой блок расположен в физической середине носителя: номер блока 880 для дисков DD, блок 1760 для дисков HD. Это помогает минимизировать время поиска.
Точный расчет места хранения выглядит следующим образом:
numCyls = highCyl - lowCyl + 1 highKey = numCyls * numSurfaces * numBlocksPerTrack - 1 rootKey = INT (numReserved + highKey) / 2
Корневой блок содержит информацию о диске: его имя, дату форматирования и т.д. Он также содержит информацию о доступе к файлам / каталогам / ссылкам, расположенным в самом верхнем (корневом) каталоге.
Символы '/' и ':' запрещены в именах файлов и томов, но *! @ # $% | ^ + _ () = \ - {} '; ", <>.? и буквы с диакритическими знаками, например âè, разрешены.
Поля даты в корневом блоке (и других блоках) структурированы в форме ДНЕЙ, МИН и ТИККОВ. Поле ДНЕЙ содержит количество дней, прошедших с января. 1. 1978. MINS - это количество минут, прошедших с полуночи, а TICKS выражаются в 1/50 секунды. Нулевое значение дня считается недопустимым большинством программ. Поскольку значение DAYS сохраняется как 32-битное число, файловая система Amiga не имеет присущих проблем 2000 года или проблем 2038 года.
Для доступа к файлу, каталогу или ссылке AmigaDOS использует хэш-функцию для вычислить, какое 32-битное слово в блоке диска использовать в качестве указателя на список сегментов хеширования, который, в свою очередь, содержит запись файла, каталога или ссылки. Список сегментов используется для поддержки объектов файловой системы с именами, хеширующими одно и то же смещение. Например: fi le_1a, file_24 и file_5u имеют одинаковое хеш-значение.
Символы имени файла могут быть в нижнем и верхнем регистре, но не чувствительны к регистру при доступе. Другими словами, «MyFile» и «myfile» в одном каталоге относятся к одному и тому же файлу.
Файлы состоят из блока заголовка файла, который содержит информацию о файле (размер, время последнего доступа, указатели блоков данных и т. Д.), И блоков данных, которые содержат фактические данные. Блок заголовка файла содержит до указателей блоков данных BSIZE / 4-56 (что составляет 72 записи с обычными блоками по 512 байт). Если файл больше этого размера, блоки расширения файла будут выделены для хранения указателей блоков данных. Блоки расширений файлов организованы в связанный список, который начинается в блоке заголовка файла (поле «расширение»).