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

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

Disc Filing System (DFS) - это компьютерная файловая система, разработанная Acorn Computers, Первоначально как дополнение к системе Acorn System 2.

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

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

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

DFS примечательна тем, что, в отличие от большинства файловых систем, не было единого поставщика или реализации. Первоначальная DFS была написана Acorn, который продолжал поддерживать свою собственную кодовую базу, но различные поставщики дисководов написали свои собственные реализации. Компании, которые написали свои собственные реализации DFS, включали Cumana, Solidisk, Opus и Watford Electronics. Реализация Watford Electronics примечательна тем, что поддерживает 62 файла на диск вместо обычного 31, используя нестандартный формат диска. Кроме того, реализация Solidisk представила собственные «связанные» каталоги, которые разрешали неограниченное количество файлов на диске (ограниченное только размером диска). Другие особенности сторонних реализаций включали возможность проверки свободного места и встроенные команды FORMATи VERIFY, которые поставлялись на служебном диске с исходной Acorn DFS.

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

Содержание
  • 1 Физический формат
    • 1.1 Односторонняя и двусторонняя работа
    • 1.2 Совместимость с 40 и 80 дорожками
  • 2 Хранение файлов
    • 2.1 Имена файлов
    • 2.2 Каталоги
  • 3 Структура диска
    • 3.1 Размер тома
    • 3.2 Размещение файлов
    • 3.3 Метаданные
    • 3.4 Даты
  • 4 Другие функции
  • 5 Альтернативы
  • 6 Ссылки
  • 7 Внешние ссылки
Физический формат

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

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

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

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

5¼ дюйма высокой плотности и 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 этого не делает, поэтому возможность двойного форматирования решалась несколькими способами:

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

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

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

Хранилище файлов

Имена файлов

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

  • одиночный подстановочный знак #.
  • множественный подстановочный знак *.
  • Управляющие коды генерируется оболочкой escape-символом |, хотя последовательность ||может использоваться для представления одного символа |в имени файла.
  • Знак спецификатора диска :в качестве первого символа имени листа (собственно имени файла). Это вызывает ошибку Плохой дискили Плохое имя. Если двоеточие однозначно, например в FOO: BAR, то оно разрешено как часть имени листа.
  • Символ спецификатора каталога .в качестве первого или второй символ имени листа. .нельзя использовать в качестве символа каталога. Если точка является однозначной, например, в PRG.BAS, тогда она допускается как часть имени листа и не рассматривается как спецификатор каталога (тогда как F.MONEYбудет быть файлом MONEYв каталоге F).

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

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

  • SAVE "" "" "" "A" ""передает строку "" "A"в DFS, которая затем сохраняет файл с именем "A.
  • . Наоборот SAVE "A" ""сохраняет файл с именем A".
  • Тот же метод используется для вставки пробелы: SAVE "" "BAR" ""сохраняет файл с именем BAR.

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

Каталоги

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

PROGRAM (12) Drive 0 Option 2 (RUN) Dir. : 0. $ Lib. : 0. $! BOOT HELLO SUMS ТАБЛИЦА ТЕСТОВЫЕ ВЕКТОРЫ ZOMBIE A.HELLO L B.SUMS F.BankLtr

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

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

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

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

Размер тома

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

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

Распределение файлов

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

A * COMPACTкоманда is позволяет переместить все файлы на диске в сплошной блок, поместив все свободное пространство после него во второй блок. Это позволяет следующему созданному файлу заполнить диск, но только последний существующий файл может быть расширен без перемещения. SAVEудаляет любой существующий файл и копирует указанный блок памяти туда, где есть место на диске. Напротив, команда * COMPACTиспользует программную память в качестве буфера для перемещения файлов, перезаписывая любую программу и данные в памяти.

Метаданные

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

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

Даты

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

Другие функции

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

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

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

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

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

Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-17 08:36:37
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте