stringtranslate.com

Усовершенствованная система хранения дисков

Advanced Disc Filing System ( ADFS ) — это вычислительная файловая система, уникальная для линейки компьютеров Acorn и преемников на базе ОС RISC . Первоначально основанная на редкой файловой системе Acorn Winchester, она была переименована в Advanced Disc Filing System, когда была добавлена ​​поддержка гибких дисков (с использованием контроллера гибких дисков WD1770 ), а в более поздних 32-битных системах - вариант контроллера гибких дисков в стиле ПК. . [2]

Первоначальная система хранения дисков Acorn была ограничена 31 файлом на поверхность диска, 7 символами на имя файла и одним символом для имен каталогов - формат, унаследованный от более ранних компьютеров Atom и System 3–5 Eurocard . Чтобы преодолеть некоторые из этих ограничений, Acorn разработала ADFS. Самым драматичным изменением стало введение иерархической структуры каталогов. Длина имени файла увеличилась с 7 до 10 букв, а количество файлов в каталоге увеличилось до 47. Он сохранил некоторые поверхностные атрибуты DFS; разделителем каталогов по-прежнему была точка, которая $теперь обозначала иерархический корень файловой системы. ^использовался для ссылки на родительский каталог, @текущий каталог и \был ранее посещенным каталогом.

BBC Master Compact содержал ADFS версии 2.0, которая обеспечивала добавление команд форматирования, проверки и резервного копирования в ПЗУ, но не поддерживала жесткие диски. [3]

8-битное использование

Для ADFS в 8-битных системах требовался контроллер гибких дисков WD1770 или более поздней версии серии 1772 из-за неспособности исходного чипа Intel 8271 справляться с требуемым ADFS форматом двойной плотности. Однако ADFS можно использовать для поддержки жестких дисков без контроллера 1770; При разработке основной целью было использование жестких дисков, расширение для работы с дискетами появилось позже. [ нужна ссылка ] Контроллер гибких дисков 1770 был непосредственно включен в конструкцию моделей Master Series и B+, [4] и был доступен в качестве платы обновления для более ранней модели B. [5] [6] ADFS можно было добавить к модели. Системы B и B+ с дополнительной модернизацией. [7]

Acorn Plus 3 , официальное дисковое расширение Acorn для Acorn Electron, в стандартной комплектации поставлялся с ADFS, но эта реализация содержала различные заметные ошибки. Файл с именем ZYSYSHELP был «требован системой» и создан во время форматирования. [8] : 7  Это был кладж. Первоначальная реализация ADFS от Acorn на Electron была ненадежной при записи на первые несколько дорожек дискеты, поэтому это было «исправлением» и просто включало запись файла, полного мусора, на подозрительную часть. Тогда ADFS пропустит это. [ нужна цитата ] Повреждение диска также может произойти при попытке использовать *COMPACTкоманду без отключения мигающего текстового курсора. [9] [примечание 1] Хьюго Тайсон, главный разработчик ADFS, напоминает, что эта ошибка была обнаружена во время позднего тестирования, но не исправлена ​​в первоначальной версии ПЗУ, чтобы избежать поздних изменений, поскольку существуют обходные пути.

На Электроне форматирование диска производилось через команду вместо штатных команд / DFS. Кроме того, обратите внимание, что эта команда отличается от эквивалентной команды для ADFS 1770 на микрокомпьютере BBC. Возможно, это связано с необходимостью создания файла ZYSYSHELP на Electron. Команда присутствовала только на приветственном диске, поставляемом с Plus3, и не была включена в ПЗУ. [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 . Он взаимодействовал с устройством Winchester на базе ST506/ST412 через шину BBC Micro 1 МГц, интерфейсную карту, разработанную Acorn (адаптер шины 1 МГц — SCSI) и готовый контроллер Adaptec SCSI (адаптер SCSI — ST-506). ).

Поддержка накопителей в стиле IDE / ATAPI была добавлена ​​«неофициально» третьими сторонами в последние годы. [11]

Формат файла ADFS использовал байты ASCII Хьюго для разделения имен каталогов на диске, названном в честь автора ADFS Хьюго Тайсона.

32-битное использование (Arthur и RISC OS)

В 32-битных системах WD 1770 или 1772 изначально использовался в качестве контроллера гибких дисков на первых машинах этой линейки. В более поздних моделях использовался контроллер с несколькими вводами-выводами в стиле ПК, что потребовало небольших изменений в ADFS. В дополнение к устаревшей поддержке формата типа «L», Arthur и более поздняя ОС RISC предоставили расширенные форматы, которые преодолевают ограничения BBC Micro.

Артур добавил формат D с 77 записями в каталоге вместо прежних 47, который также можно использовать на жестких дисках, и новый формат дискет двойной плотности емкостью 800 КБ. Атрибут «тип» для каждого файла был добавлен в пространство, которое ранее использовалось для хранения адресов загрузки и выполнения. 12 бит информации о типе используются для обозначения содержимого или предполагаемого использования файла и обычно представлены в виде трех шестнадцатеричных цифр. Это похоже на атрибуты 32-битного типа, хранящиеся в файловой системе Apple HFS , и концептуально сравнимо с более общим использованием типов MIME операционной системой Be ( BeOS) или магическими числами в системах Unix (хотя последние хранятся как часть файла, а не метаданные).

ОС RISC представлена ​​в форматах E и F для дисков двойной плотности и дисков/жестких дисков высокой плотности соответственно. Эти форматы поддерживают фрагментацию файлов (с так называемой «новой картой»), хранение нескольких файлов на фрагмент и хранение небольших файлов в таблицах каталогов. Стратегия выделения оптимизирована для минимизации фрагментации и иногда выполняет дефрагментацию как часть операции хранения файлов. [1] В RISC OS 4 добавлен формат E+/F+ , который позволял использовать длинные имена файлов и более 77 файлов в каталоге. [ нужна цитация ] Более поздние версии ОС RISC, в том числе для Iyonix , продолжают предоставлять ADFS и дополнительно расширяют ее для работы с жесткими дисками большего размера.

В отличие от 8-битной реализации, ADFS, реализованная в ОС RISC, не является монолитной. Системный модуль под названием «ADFS» предоставляет не более чем блочный драйвер и пользовательские интерфейсы, при этом модуль «FileCore» содержит фактическую реализацию файловой системы, а FileSwitch содержит реализации VFS и API высокого уровня доступа к файлам. Это позволяет другому оборудованию легко использовать формат ADFS, например IDEFS (обычно используется для дополнительных карт IDE), SCSIFS и AppFS с поддержкой сети. Функции FileCore и FileSwitch в некотором смысле аналогичны функциям системных менеджеров IFS и IO в Windows NT. Эта гибкость позволила относительно легко внедрить в ОС RISC другие файловые системы.

Поддержка ADFS на других платформах

Ядро Linux поддерживает ADFS для формата E и более поздних версий.

NetBSD имеет поддержку файлового ядра [12] начиная с NetBSD 1.4.

Такие инструменты, как Omniflop (в Windows 2000 и более поздних версиях) и поддержка Libdsk, позволяют читать «физическую» структуру дискет ADFS на компьютерных системах, использующих внутренний диск. Однако логическая структура остается нереализованной.

Рекомендации

  1. ^ аб Ривз, Ник (26 октября 1990 г.). «Проектный документ формата Е» . Проверено 24 мая 2013 г.
  2. ^ Расширенная система хранения дисков: Руководство пользователя (PDF) . Желудь Компьютерс Лимитед. Сентябрь 1985 года . Проверено 1 августа 2016 г.
  3. ^ «Снимаю крышку с Master Compact» . Пользователь Желудя . Октябрь 1986 г. с. 17 . Проверено 5 сентября 2020 г.
  4. ^ Смит, Брюс (июль 1985 г.). «Класс B+». Пользователь Желудя . стр. 160–161 . Проверено 18 октября 2020 г.
  5. ^ Интерфейс диска 1770 (PDF) . Желудь Компьютерс Лимитед . Проверено 6 марта 2021 г.
  6. ^ Инструкции по установке комплекта обновления интерфейса диска 1770 (PDF) . Желудь Компьютерс Лимитед. Август 1985 года . Проверено 11 марта 2021 г.
  7. ^ Обновление ADFS (PDF) . Желудь Компьютерс Лимитед . Проверено 6 марта 2021 г.
  8. ^ ab Руководство пользователя Electron Plus 3 (PDF) . Желудь Компьютерс Лимитед. Октябрь 1984 года . Проверено 6 марта 2021 г.
  9. ^ Ваддилов, Роланд (август 1988 г.). «Улучшение совершенства». Электронный пользователь . Том. 5, нет. 11. с. 9 . Проверено 20 января 2021 г.
  10. ^ «Структура 8-битной файловой системы ADFS Acorn» (TXT) . Mdfs.net . Проверено 1 августа 2016 г.
  11. ^ «Интерфейс BBC IDE — MDFS::Info.Comp.BBC.IDE» . MDFS.net . Проверено 1 августа 2016 г.
  12. ^ «Изменения и новости NetBSD в 1998 году». Netbsd.org . Проверено 1 августа 2016 г.

Примечания

  1. ^ Это произошло из-за того, что команда использовала экранную память (по умолчанию) в качестве рабочего пространства во время операции, а программно-реализованный мигающий курсор повреждал это пространство памяти. Альтернативой было бы указать аргументы, позволяющие использовать неэкранную память для рабочей области, например, в режиме экрана 6. На BBC Micro мигающий курсор, если он был включен, накладывался на вывод дисплея с помощью 6845 CRTC и видео Acorn. ULA, без изменения памяти экрана. У Acorn Electron не было этого дополнительного оборудования, и ему приходилось программно изменять экранную память, чтобы мигать курсором.*COMPACT*COMPACT 40 20

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