Эта статья написана как руководство или путеводитель . ( Август 2018 ) |
Разработчик(и) | Хьюго Тайсон, Ник Ривз ( Acorn Computers ) |
---|---|
Полное имя | Усовершенствованная система хранения дисков |
Введено | 1983 Acorn MOS ( 1983 ) | с
Идентификаторы разделов | Hugo или Nick (верхний/нижний колонтитул каталога) |
Структуры | |
Содержимое каталога | Иерархические таблицы фиксированной длины |
Распределение файлов | Один диапазон на файл плюс таблица диапазонов свободного пространства (L), битовая карта со встроенными идентификаторами файлов (E) |
Плохие блоки | нет (L), [1] отмечено в битовой карте (E) |
Пределы | |
Максимальный размер тома | 512 МБ |
Максимальный размер файла | 512 МБ |
Макс . кол- во файлов | 47 на каталог (L), 77 на каталог (E) |
Максимальная длина имени файла | 10 символов |
Допустимые символы в имени файла | ASCII (Acorn MOS), ISO 8859-1 (RISC OS) |
Функции | |
Даты записаны | Модификация |
Диапазон дат | 1 января 1900 г. - 3 июня 2248 г. |
Разрешение даты | 10 мс |
Вилки | нет |
Атрибуты | Адрес загрузки, адрес выполнения и номер цикла файла (Acorn MOS); Тип файла и время изменения (RISC OS); Пользовательский доступ только для чтения/записи/выполнения; общедоступный доступ только для чтения/записи/выполнения; Блокировка удаления |
Разрешения файловой системы | Никто |
Прозрачное сжатие | Нет |
Прозрачное шифрование | Нет |
Дедупликация данных | Нет |
Другой | |
Поддерживаемые операционные системы | Acorn MOS , RISC ОС |
Advanced Disc Filing System ( ADFS ) — это вычислительная файловая система , уникальная для компьютерного ряда Acorn и его преемников на базе RISC OS . Первоначально основанная на редкой Acorn Winchester Filing System, она была переименована в Advanced Disc Filing System, когда была добавлена поддержка дискет (с использованием контроллера дискет WD1770 ), а на более поздних 32-битных системах — вариант контроллера дискет в стиле ПК. [2]
Оригинальная система хранения файлов Acorn Disc Filing System была ограничена 31 файлом на поверхность диска, 7 символами на имя файла и одним символом для имен каталогов, формат, унаследованный от более ранних компьютеров Atom и System 3–5 Eurocard . Чтобы преодолеть некоторые из этих ограничений, Acorn разработала ADFS. Самым существенным изменением стало введение иерархической структуры каталогов. Длина имени файла увеличилась с 7 до 10 букв, а количество файлов в каталоге увеличилось до 47. Она сохранила некоторые поверхностные атрибуты DFS; разделителем каталогов по-прежнему была точка, и $
теперь она указывала на иерархический корень файловой системы. ^
использовалась для ссылки на родительский каталог, @
текущий каталог и \
была ранее посещенным каталогом.
BBC Master Compact содержал ADFS версии 2.0, которая обеспечивала добавление команд форматирования, проверки и резервного копирования в ПЗУ, но не поддерживала жесткие диски. [3]
ADFS на 8-битных системах требовал контроллер гибких дисков серии WD1770 или более поздней версии 1772 из-за неспособности оригинального чипа Intel 8271 справиться с требуемым форматом ADFS двойной плотности. Однако ADFS можно было использовать для поддержки жестких дисков без контроллера 1770; при разработке основной целью было использование жестких дисков, расширение для работы с дискетами появилось позже. [ необходима цитата ] Контроллер гибких дисков 1770 был непосредственно включен в конструкцию моделей Master Series и B+ [4] и был доступен в качестве платы обновления для более ранней модели B. [5] [6] ADFS можно было добавить в системы Model B и B+ с помощью дополнительного обновления. [7]
Acorn Plus 3 , официальное расширение диска Acorn для Acorn Electron, поставлялось с ADFS в стандартной комплектации, но эта реализация содержала ряд заметных ошибок. Файл с именем ZYSYSHELP был «требован системой» и создавался во время форматирования. [8] : 7 Это был косяк. Первоначальная реализация ADFS Acorn на Electron была ненадежной при записи на первые несколько дорожек дискеты, поэтому это было «исправление» и просто включало запись файла, полного мусора, в подозрительную часть. Затем ADFS пропускала ее. [ требуется цитата ] Повреждение диска также могло произойти, если попытаться использовать *COMPACTкоманду без отключения мигающего текстового курсора. [9] [примечание 1] Хьюго Тайсон, главный разработчик ADFS, вспоминает, что эта ошибка была обнаружена во время позднего тестирования, но не исправлена в первоначальном выпуске ПЗУ, чтобы избежать поздних изменений, поскольку существуют обходные пути.
На Electron форматирование диска выполнялось с помощью команды вместо установленных команд / DFS. Обратите внимание, что эта команда отличается от эквивалентной команды для 1770 ADFS на BBC Microcomputer. Возможно, это связано с необходимостью создания файла ZYSYSHELP на Electron. Команда была предоставлена только на Welcome disk, который поставлялся с Plus3, и не была включена в ROM. [8] : 48 *EFORM*FORM40*FORM80*EFORM*AFORM*EFORM
ADFS поддерживала жесткие диски, а также дискеты размером 5¼" и 3½" , отформатированные до емкости 640 КБ с использованием кодирования MFM двойной плотности (формат L ; односторонние диски поддерживались в форматах S (160 КБ) и M (320 КБ)). ADFS, реализованная в микрокомпьютерной системе BBC (и позднее в ОС RISC), никогда не поддерживала дискеты одинарной плотности.
Поддержка жестких дисков в ADFS использовала тот же формат, что и дискеты формата L с точки зрения 256-байтовых блоков; [10] только базовое расположение дорожек и секторов отличалось в зависимости от фактического используемого привода, но это управлялось контроллером SCSI . Он подключался к винчестеру на базе ST506/ST412 через шину BBC Micro 1 МГц, интерфейсную карту, разработанную Acorn (адаптер шины 1 МГц для SCSI) и готовый контроллер SCSI Adaptec (адаптер SCSI для ST-506).
Поддержка дисков в стиле IDE / ATAPI была добавлена «неофициально» третьими сторонами в последние годы. [11]
Формат файла ADFS использовал байты ASCII Hugo для разграничения имен каталогов на диске, названном в честь автора ADFS Хьюго Тайсона.
На 32-битных системах в качестве контроллера гибких дисков на ранних машинах серии изначально использовался WD 1770 или 1772. Более поздние модели использовали контроллер ввода-вывода в стиле ПК, требующий небольших изменений в ADFS. В дополнение к устаревшей поддержке формата типа «L» Arthur и более поздняя RISC OS предоставляли улучшенные форматы, которые преодолевали ограничения BBC Micro.
Артур добавил формат D с 77 записями на каталог вместо предыдущих 47, также пригодный для использования на жестких дисках и новом формате дискет двойной плотности 800 КБ. Атрибут «тип» для каждого файла был добавлен в пространство, ранее использовавшееся для хранения адресов загрузки и выполнения. 12 бит информации о типе используются для обозначения содержимого или предполагаемого использования файла, обычно представленного в виде трех шестнадцатеричных цифр. Это похоже на 32-битные атрибуты типа, хранящиеся в файловой системе HFS компании Apple , и концептуально сопоставимо с более общим использованием типов MIME операционной системой Be (BeOS) или магическими числами в системах Unix (хотя последние хранятся как часть файла, а не как метаданные).
RISC OS ввела формат E и F для дисков двойной плотности и дисков/жестких дисков высокой плотности соответственно. Эти форматы поддерживают фрагментацию файлов (с так называемой «новой картой»), хранение нескольких файлов на фрагмент и хранение небольших файлов в таблицах каталогов. Стратегия распределения оптимизирована для минимизации фрагментации и иногда выполняет дефрагментацию как часть операции хранения файлов. [1] RISC OS 4 добавила формат E+/F+ , который позволял использовать длинные имена файлов и более 77 файлов в каталоге. [ необходима цитата ] Более поздние версии RISC OS, включая версии для Iyonix , продолжают предоставлять ADFS и дополнительно расширили его для работы с большими размерами жестких дисков.
В отличие от 8-битной реализации, ADFS, реализованная на RISC OS, не является монолитной. Системный модуль под названием «ADFS» предоставляет не более чем драйвер блока и пользовательские интерфейсы, где модуль «FileCore» содержит фактическую реализацию файловой системы, а FileSwitch содержит реализации VFS и API доступа к файлам высокого уровня. Это позволяет другому оборудованию легко использовать формат ADFS, например, IDEFS (обычно используется для дополнительных карт IDE), SCSIFS и сетевую AppFS. Функции FileCore и FileSwitch в некотором роде похожи на системные менеджеры IFS и IO в Windows NT. Эта гибкость позволила относительно легко внедрить другие файловые системы в RISC OS.
Ядро Linux поддерживает ADFS для формата E и более поздних версий.
NetBSD имеет поддержку filecore [12] начиная с версии NetBSD 1.4.
Такие инструменты, как Omniflop (в Windows 2000 и более поздних версиях) и поддержка Libdsk позволяют считывать «физическую» структуру дискет ADFS на ПК-системах с использованием внутреннего привода. Однако логическая структура остается нереализованной.