Система хранения дисков - Disc Filing System

DFS
Разработчики)Желудь Компьютеры
Полное имяСистема хранения дисков
Введено1982; 38 лет назад (1982) с Желудь MOS
Идентификатор разделаНикто
Структуры
Содержимое каталогаЕдиный каталог из 31 записи фиксированной длины
Размещение файловЗаписи начальной длины
Плохие блокиНикто
Пределы
Максимум. размер тома256 КБ
Максимум. размер файла255½ КБ
Максимум. количество файлов31
Максимум. длина имени файла7 символов
Допустимые символы в именах файловASCII
Функции
Даты записаныНикто
Диапазон датНет данных
ВилкиНет
АтрибутыСимвол каталога, адрес загрузки, адрес выполнения, заблокировано
Разрешения файловой системыНет
Прозрачное сжатиеНет
Прозрачное шифрованиеНет
Другой
Поддерживается операционные системыЖелудь MOS

В Система хранения дисков (DFS) - это компьютер файловая система разработан Желудь Компьютеры, первоначально как дополнение к Еврокарте Система Желудь 2.

В 1981 году министерства образования Западной Австралии и Южной Австралии объявили о совместных тендерах на поставку персональных компьютеров в их школы. Австралийский дистрибьютор компьютеров Acorn, компания Barson Computers, убедила совместных управляющих директоров Герман Хаузер и Крис Карри чтобы позволить вскоре освободиться Микрокомпьютер Acorn BBC будут предлагаться с дисковым хранилищем как часть пакета. Они согласились при условии, что Барсон адаптировал Acorn DFS из Системы 2 без помощи Acorn, поскольку у них не было доступных ресурсов. Это потребовало некоторых незначительных изменений аппаратного и программного обеспечения, чтобы сделать DFS совместимой с BBC Micro.

Барсон выиграл тендеры для обоих штатов с установленной системой DFS, на год опередив Великобританию. Именно эта ранняя инициатива привела к тому, что BBC Micro была в большей степени сосредоточена на образовательном рынке в Австралии, с очень небольшим проникновением на рынок домашних компьютеров до появления Желудь Электрон.

DFS поставляется как ПЗУ и чип контроллера диска, установленный на материнской плате BBC Micro. Файловая система имела крайне ограниченные функциональные возможности и возможности хранения, используя плоскую структуру каталогов. Каждое имя файла может содержать до семи букв, плюс одна буква для каталога, в котором он хранится.[1]

DFS примечательна тем, что в отличие от большинства файловых систем не было единого поставщика или реализации. Первоначальная DFS была написана Acorn, который продолжал поддерживать свою собственную кодовую базу, но различные поставщики дисководов написали свои собственные реализации. Компании, которые написали свои собственные реализации DFS, включали Cumana, Solidisk, Opus и Watford Electronics. Реализация Watford Electronics примечательна тем, что поддерживает 62 файла на диск вместо обычного 31, используя нестандартный формат диска. Кроме того, реализация Solidisk представила собственные «связанные» каталоги, которые разрешали неограниченное количество файлов на диске (ограниченное только размером диска).[2] Другие функции в сторонних реализациях включали возможность проверки свободного места и встроенные ФОРМАТ и ПРОВЕРЯТЬ команды, которые поставлялись на служебном диске с исходной Acorn DFS.

Компания Acorn продолжила свою оригинальную серию DFS с Acorn 1770 DFS, в которой использовался тот же формат диска, что и в более ранней версии, но добавлен набор дополнительных команд и поддерживался улучшенный WD1770 микросхема контроллера дисковода гибких дисков.

Физический формат

В DFS обычно используется одна сторона 5¼ дюйма двойной плотности. Флоппи диск. Диски имеют формат 40 или 80 дорожек, что дает емкость 100 или 200 КБ на каждую сторону (десять 256-байтовых секторов на дорожку с кодировкой FM).

Емкость ограничена выбором Intel 8271 в оригинальном BBC Micro, который поддерживает только FM кодировка, а не MFM кодирование, которое уже широко использовалось к моменту запуска BBC Micro. Кодирование FM дает половину емкости записи MFM для данной физической плотности диска.

Кодирование FM и MFM обычно называют "одинарной плотностью" и "двойной плотностью", хотя диски и приводы одинаковы, в отличие от "высокой плотности", в которой используются разные приводы и диски.

3½-дюймовые диски двойной плотности можно форматировать и использовать с 1770 DFS (DFS на базе Intel 8271 имеет проблемы со многими 3½-дюймовыми дисками), обеспечивая такую ​​же емкость «одинарной плотности» с кодированием FM, но изначально это не было стандартной практикой. . 3½-дюймовые диски обычно форматировались как MFM «двойной плотности» с использованием более позднего Продвинутая система хранения дисков, так как это присутствует во всех машинах Acorn, поставляемых с 3½-дюймовыми дисками. По состоянию на 2009 год, 3½-дюймовые диски чаще используются с BBC Micros, чем в прошлом, включая использование с DFS, из-за их большей доступности и более легкого обмена данными с большим количеством последние компьютеры.

Диски высокой плотности 5 High и 3½ дюйма не поддерживаются DFS.

Односторонняя и двусторонняя работа

DFS не поддерживает двусторонние диски напрямую; вместо этого две головки двустороннего диска рассматриваются как два отдельных логических диска. DFS может поддерживать до четырех томов, пронумерованных от 0 до 3. Диск 0 используется по умолчанию, а диск 1 представляет собой второй диск, подключенный к кабелю. «Диск» 2 относится к обратной стороне диска 0, а «диск» 3 - к обратной стороне диска 1. Не поддерживается более двух физических дисков.

Из-за установленной базы односторонних приводов коммерческое программное обеспечение обычно поставлялось на односторонних дисках или как "легкие диски "которые были вручную перевернуты для доступа к другой стороне.

Совместимость с 40 и 80 дорожками

Диски можно форматировать на 40 или 80 дорожек, используя * FORM40 или же * FORM80 команды, а приводы могут быть 40- или 80-дорожечными. Это наиболее распространенная проблема совместимости для пользователей DFS: 40-дорожечные диски были нормой для коммерческого распространения программного обеспечения из-за установленной базы 40-дорожечных приводов, но 80-дорожечные приводы стали более распространенными по мере падения цен, что позволило пользователям хранить больше данных. 80-дорожечный привод не будет автоматически читать 40-дорожечные диски.

Емкость диска сохраняется как количество секторов в каталоге на нулевой дорожке. Нулевая дорожка расположена в одном и том же месте как на 40-, так и на 80-дорожечных дисках, что позволяет файловой системе диска соответствующим образом настраивать шаг двигателя. Однако Acorn DFS на базе Intel 8271 этого не делает, поэтому возможность использования двух форматов решалась несколькими способами:

  • просто подключив к BBC Micro и 40-гусеничный, и 80-гусеничный привод, хотя для домашнего пользователя это было дорого;
  • некоторые реселлеры дисководов, в частности UFD (User Friendly Devices) и Akhter Computer Group, предлагали приводы в сборе с переключателями для выбора работы с 40 или 80 дорожками;
  • журналы, такие как Микропользователь предложили комплекты для сборки печатных плат, которые можно было подключить к кабелю дисковода, опционально «двухступенчато» подключенных дисководов;[3]
  • Микропользователь также опубликовал статью[4] по созданию двухформатных дисков с 21 дорожкой данных, хранящихся в обоих форматах, чтобы любой тип привода мог получить доступ к содержимому; однако они имели ограниченную емкость и после создания были доступны только для чтения;
  • Пользователь Acorn журнал распространял 40-дорожечные кавер-диски с небольшой служебной программой на нулевой дорожке, так что владельцы 80-дорожечных приводов могли переформатировать их в 80-дорожечные диски с исходным содержимым на первых 40 дорожках; или же
  • пользователь может перейти на контроллер WD1770 или аналогичный. Acorn 1770 DFS и некоторые сторонние системы контроллеров обеспечивали возможность двойного формата в программном обеспечении путем перепрограммирования контроллера во время поиска трека; В качестве бонуса сторонние системы предлагали собственные форматы MFM (так называемой «двойной плотности») для еще большей емкости диска.

Неспособность использовать правильную настройку приведет к ошибкам DFS, таким как Неисправность диска 18 на 01/00,[5] или повредить дисковод, пытаясь выступить головками за физический конец поверхности диска.

Переключение на 80 треков никоим образом не привело к расширению каталога, из-за чего у пользователя закончились слоты для имен файлов, прежде чем закончится место на диске. Эта ситуация привела к Кот полный ошибка.

Файловое хранилище

Имена файлов

DFS сохраняет регистр, но не чувствителен к регистру. Преобладание имен файлов, состоящих только из заглавных букв, скорее всего, связано с тем, что BBC Micro по умолчанию включил блокировку заглавных букв после жесткого или мягкого сброса. Набор символов достаточно разрешительный, и все печатаемые символы 7-битные. ASCII разрешены, включая пробелы, но исключая:

  • Одиночный подстановочный знак #.
  • Множественный подстановочный знак *.
  • Коды управления генерируется оболочкой escape-символ |, хотя последовательность || может использоваться для представления одного | символ в имени файла.
  • Символ спецификатора диска : как первый персонаж имя листа (собственное название файла). Это вызывает Плохой привод или же Плохое имя ошибка. Если двоеточие однозначно, например в FOO: БАР, то это разрешено как часть имени листа.
  • Символ спецификатора каталога . как первый или второй символ имени листа. . не может использоваться в качестве символа каталога. Если точка однозначна, например, в PRG.BAS, то это разрешено как часть имени листа и нет рассматривается как спецификатор каталога (тогда как F.MONEY был бы файл ДЕНЬГИ в каталоге F).

Ради возможности переноса на сторонние реализации DFS лучше избегать : и . в названиях листов.

Кавычки разрешены, хотя BBC BASIC требует, чтобы они экранировались дважды:

  • СОХРАНИТЬ "" "" "" "A" "" передает строку "" "А" в DFS, который затем сохраняет файл с именем .
  • Наоборот СОХРАНИТЬ "A" "" сохраняет файл с именем А ".
  • Тот же метод используется для вставки пробелов: СОХРАНИТЬ "" "B A R" "" сохраняет файл с именем БАР.

Полное имя файла или «спецификация файла» (для краткости «fsp») содержит двоеточие, затем номер диска, точку, затем букву каталога, еще одну точку и имя. Например, файл в каталоге по умолчанию на «диске» 2 называется BOB будет иметь полную спецификацию : 2. $. BOB. Указатели диска и каталога необязательны.

Справочники

"Каталоги" в DFS - это односимвольные префиксы в именах файлов, например F в F.BankLtr - используется для группировки файлов. Расположение плоское и каталог по умолчанию $ используется вместо корневого каталога. При запросе каталога диска (с *КОТ или же *. команд), файлы в текущем каталоге отображаются без префикса каталога в одном блоке, а ниже перечислены все другие файлы во втором блоке с видимыми префиксами каталогов. Например (от Acorn DFS - сторонние реализации DFS могут незначительно отличаться):

ПРОГРАММА (12) Привод 0 Вариант 2 (РАБОТА) Реж. : 0. $ Lib. : 0. $! ЗАГРУЗКА ПРИВЕТ СУММЫ ТАБЛИЦА ТЕСТОВЫХ ВЕКТОРОВ ZOMBIE A.HELLO L B.SUMS F.BankLtr

Все семь верхних файлов находятся в текущем каталоге, который $ на диске 0. Ниже находятся все файлы в других каталогах, в данном случае А, B и F. An L после имени файла (как с А. ХЕЛЛО, выше) показывает, что файл заблокирован от изменения или удаления. Первая строка содержит название диска и количество модификаций.

DFS предоставляет рабочее пространство, разделенное на каталог и библиотеку. "Каталог" - это рабочий каталог на текущем томе, как и рабочий каталог в любой другой системе командной строки. «Библиотека» - это второй альтернативный рабочий каталог, который больше похож на ДОРОЖКА и имел возможность работать на любом уровне громкости. Запросы на открытие файлов с некорректными именами сначала будут искать в рабочем каталоге; в противном случае будет выполнен поиск в каталоге библиотеки. И каталог, и библиотека по умолчанию относятся к одному и тому же каталогу.

Структура диска

Каталог (таблица файлов) занимает первые два сектора диска: один для имен и каталогов каждого файла и соответствующий сектор, содержащий местоположения, размеры и метаданные файлов. Для каждого файла используется восемь байтов каждого сектора. С дополнительными восемью байтами из каждого сектора, зарезервированными для 12-байтового заголовка диска и информации о томе, общее количество файлов на диске (независимо от того, в каком каталоге находится каждый файл) ограничено 31. В интересах экономии места , старший бит буквы каталога для файла используется как флаг блокировки (только для чтения).

Размер тома

Хотя физические диски обычно форматируются как 100 или 200 КБ, DFS поддерживает тома размером до 256 КБ.

Максимальный допустимый размер файла DFS - это размер тома минус ½ КБ для каталога, поскольку размеры файлов сохраняются в виде 18-битных величин.

Размещение файлов

DFS не поддерживает фрагментация данных, это означает, что данные файла должны храниться в одном прогоне последовательных секторов, но свободное пространство может стать фрагментированный. Запись файлов с произвольным доступом завершается ошибкой, когда конец файла достигает начала следующего, даже если в другом месте на диске могут быть свободные сектора. В таких случаях DFS прерывается с Не могу продлить ошибка. СПАСТИ также не может разделить файл, чтобы он соответствовал доступному пространству, но поскольку сбой происходит на этапе выделения секторов, возвращается ошибка Диск полон.

А * КОМПАКТНЫЙ предоставляется команда для перемещения всех файлов на диске в сплошной блок, помещая все свободное пространство после него во второй блок. Это позволяет следующему созданному файлу заполнить диск, но только последний существующий файл может быть расширен без перемещения. СПАСТИ удаляет любой существующий файл и копирует указанный блок памяти в любое место на диске. В отличие от * КОМПАКТНЫЙ Команда использует программную память в качестве буфера для перемещения файлов, перезаписывая любую программу и данные в памяти.

Метаданные

Как и кассетная файловая система, Acorn DFS поддерживает стандартные метаданные файлов BBC Micro: адрес загрузки и адрес выполнения, необходимые, потому что Желудь MOSОперационная система используется BBC Micro) не поддерживает перемещение двоичного кода. Файл должен быть загружен по адресу, указанному программистом, так как содержимое может относиться к внутренним расположениям по абсолютным адресам. Адрес выполнения также записывается, поскольку точка входа не обязательно находится в начале или даже внутри файла.

Атрибуты файла ограничены одним битом: заблокировано. Когда установлено, L отображается справа от имени файла в каталоге, и файл нельзя изменять, перезаписывать или удалять.

Даты

Диски DFS не отслеживают даты (поскольку Acorn MOS до версии 3 не поддерживали часы реального времени), а вместо этого предлагают особую функцию: счетчик изменений. Каждый раз, когда каталог обновляется, счет увеличивается. Счетчик отображается в скобках после названия в первой строке каталога дисков, например 12 в списке каталога, показанном ранее.

Другие свойства

DFS также поддерживает средства для запуска программного обеспечения диска на основе последовательности клавиш. Если клавиша Shift удерживается во время мягкого или жесткого сброса машины, DFS проверяет диск 0 на наличие диска с положительным флагом загрузки. Флаг загрузки: 0 (игнорировать), 1 (загрузить файл), 2 (запустить файл машинного кода) или 3 («выполнить» сценарий). Если флаг загрузки положительный, файл с именем $.! ЗАГРУЗКА ищется и загружается в память (1), загружается и выполняется как машинный код (2) или загружается в буфер клавиатуры (3). Вариант 3 читает файлы "EXEC", текст макрос файлы, используемые как примитивные сценарии оболочки. Это не настоящие сценарии оболочки, а просто набор клавиш, которые нужно набрать, как запись для воспроизведения. Таким образом, они не могут зацикливаться или разветвляться, пока не введут такой код в интерпретатор BASIC. Помимо использования во время сброса, они могут быть выполнены в любое время с помощью операционной системы. * EXEC команда. Файлы EXEC не зависят от файловой системы.

Альтернативы

Существовал вариант DFS, называемый DNFS, или дисковая / сетевая файловая система, который содержал сетевую файловую систему Econet (NFS), стандартную дисковую файловую систему и программное обеспечение для поддержки сопроцессора на одном ПЗУ; это ПЗУ установило в ОС сразу две файловые системы.

Первоначальный дизайн DFS был основан на контроллере дисковода Intel Corporation FDC 8271, непосредственном предшественнике конструкции 8272, найденной в Персональный компьютер IBM. Контроллер 8271 имел ограниченную функциональность и устарел, а более поздние версии файловой системы от различных поставщиков, включая Solidisk, Acorn и Watford Electronics, были основаны на более поздних контроллерах дисков WD1770 и WD1772. После появления ADFS контроллер 1770 быстро стал стандартным контроллером в линейке Acorn.

На смену DFS пришла Advanced Disc Filing System (ADFS), которая была полностью иерархической и подходила для работы с жесткими дисками на BBC Micro. ADFS была файловой системой по умолчанию на BBC Мастер но большинство пользователей, вероятно, вернулись к DFS из соображений совместимости; ADFS не может читать диски DFS. ADFS также была выбрана в качестве стандартной файловой системы для ОС RISC.

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

  1. ^ http://acorn.chriswhy.co.uk/docs/Acorn/Manuals/Acorn_DiscSystemUGI2.pdf
  2. ^ https://sweh.spuddy.org/Beeb/mmb_utils.html
  3. ^ Кук, Майк (октябрь 1985 г.). «Понижение версии вашей системы? Да, это имеет смысл». Микропользователь. Стокпорт, Великобритания: публикации базы данных. 3 (8): 125–127. ISSN  0265-4040.
  4. ^ Никсон, Крис (апрель 1987). «Диски двойного формата своими руками». Микропользователь. Стокпорт, Великобритания: публикации базы данных. 5 (2): 43–44. ISSN  0265-4040.
  5. ^ Руководство пользователя системы хранения дисков Acorn, выпуск № 2, июль 1983 г., стр. 84. «Диск» пишется с буквой «k» в сообщениях об ошибках, но «c» в названии файловой системы.

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