Старая файловая система Amiga - Amiga Old File System

На Amiga, то Старая файловая система была файловая система для AmigaOS перед Файловая система Amiga Fast. Несмотря на то, что он использовал 512-байтовые блоки, он зарезервировал первую небольшую часть каждого блокировать за метаданные Таким образом, фактическая емкость блока данных составляет 488 байт на блок. Он не подходил ни для чего, кроме дискеты, и вскоре его заменили.

История

Первоначально известная как файловая система Amiga, она произошла от файловой системы ТРИПО, которые легли в основу первых версий AmigaDOS. Он получил прозвище "Старая" или "Оригинальная" файловая система, когда Быстрая файловая система был выпущен вместе с AmigaOS 1.3.

OFS очень хорош для восстановления файловой системы в случае возникновения проблемы, хотя так называемый DiskDoctor, предоставляемый Commodore, быстро получил название DiskDestroyer, поскольку он не мог восстанавливать диски автозапуска типа No-DOS, предоставленные сторонними производителями программного обеспечения в качестве загрузочных. диски для игр. Идея создания нестандартных дисков с автозагрузкой родилась в примитивной попытке предотвратить копирование таких дисков и избежать загрузки и запуска Amiga DOS, чтобы получить прямой доступ к графическим, аудио и памяти чипсетам Amiga. DiskDoctor фактически изменил загрузочные блоки дисков автозапуска на стандартные для AmigaDOS, переименовав диск с именем «Lazarus», и сделал диск автозапуска непригодным для использования.[1]

Характеристики гибких дисков AmigaDOS

Амига использует MFM кодирование / декодирование по умолчанию при обработке дискеты. На гибком диске Amiga 80 цилиндров. Каждый цилиндр имеет 2 дорожки MFM, по одной с каждой стороны диска. Диски двойной плотности (DD) имеют 11 секторов на дорожку MFM, диски высокой плотности (HD) имеют 22 сектора.

Геометрия дискеты Amiga следующая:

  • Диски DD: 512 байт / сектор, 11 секторов / дорожка, 2 дорожки / цилиндр, 80 цилиндров / диск
  • Диски HD: 512 байт / сектор, 22 сектора / дорожка, 2 дорожки / цилиндр, 80 цилиндров / диск

Диск DD имеет 11 * 2 * 80 = 1760 (от 0 до 1759) блоков, а диск HD - 22 * ​​2 * 80 = 3520 блоков.

Amiga магазинов 880 KiB на DD-диске и 1760 КиБ на HD-дискете.

Характеристики файлов под AmigaDOS

До AmigaOS 3.5 файловые дескрипторы AmigaDOS поддерживали параметр смещения шириной 32 бита (без знака), сообщающий, где начать следующую операцию чтения или записи. Таким образом, самый большой размер любого отдельного файла Amiga в этих операционных системах составляет 232 = 4 ГиБ. После Amiga OS 3.5 дескрипторы файлов могут ссылаться на 264 = 16 EiB файлы. Однако диски в формате OFS по-прежнему сохраняют 32-битные ограничения, поскольку это внутреннее ограничение формата, записанного на носителе.

Блок данных OFS хранит размер блока BSIZE-24 байта (то есть обычно 488 байтов при наиболее часто используемом BSIZE 512 байтов).

Корневой блок расположен в физической середине носителя: номер блока 880 для дисков DD, блок 1760 для дисков HD. Это помогает минимизировать время поиска.

Точный расчет места хранения выглядит следующим образом:

numCyls = highCyl - lowCyl + 1highKey = numCyls * numSurfaces * numBlocksPerTrack - 1rootKey = INT (numReserved + highKey) / 2

Корневой блок содержит информацию о диске: его имя, дату форматирования и т. Д. Он также содержит информацию о доступе к файлам / каталогам / ссылкам, расположенным в самом верхнем (корневом) каталоге.

Символы '/' и ':' запрещены в именах файлов и томов, но *! @ # $% | ^ + & _ () = - [] {} '; ", <>.? И буквы с диакритическими знаками вроде âè разрешены.

Поля даты в корневом блоке (и других блоках) структурированы в форме ДНЕЙ, МИН и ТИККОВ. Поле DAYS содержит количество дней, прошедших с 1 января 1978 года. MINS - это количество минут, прошедших с полуночи, а TICKS выражаются в 1/50 секунды. Нулевое значение дня большинством программ считается недопустимым. Поскольку значение ДНЕЙ хранится в виде 32-битного числа, файловая система Amiga не имеет встроенного Проблема 2000 года или же Проблема 2038 года.

Для доступа к файлу, каталогу или ссылке AmigaDOS использует хэш-функция чтобы вычислить, какое 32-битное слово в блоке диска использовать в качестве указателя на список ведра хеширования, который, в свою очередь, содержит запись файла, каталога или ссылки. Список ведра используется для поддержки объектов файловой системы с именами, хэширующими с одинаковым смещением. Например: file_1a, file_24 и file_5u иметь такое же хеш-значение.

Символы имени файла могут быть в нижнем и верхнем регистре, но не чувствительны к регистру при доступе. Другими словами, «MyFile» и «myfile» в одном каталоге относятся к одному и тому же файлу.

Файлы состоят из блока заголовка файла, который содержит информацию о файле (размер, время последнего доступа, указатели блоков данных и т. Д.), И блоков данных, которые содержат фактические данные. Блок заголовка файла содержит до указателей блоков данных BSIZE / 4-56 (что составляет 72 записи с обычными блоками по 512 байт). Если файл больше этого размера, блоки расширения файла будут выделены для хранения указателей блоков данных. Блоки расширений файлов организованы в связанный список, который начинается в блоке заголовка файла (поле «расширение»).

Смотрите также

внешняя ссылка