Jump to content

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

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

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

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

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

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

DFS примечательна тем, что, в отличие от большинства файловых систем, здесь не было единого поставщика или реализации. Оригинальная версия DFS была написана компанией Acorn, которая продолжала поддерживать свою собственную кодовую базу, но различные производители дисковых накопителей написали свои собственные реализации. Компании, написавшие собственные реализации DFS, включали Cumana, Solidisk, Opus и Watford Electronics . Реализация Watford Electronics примечательна тем, что поддерживает 62 файла на диск вместо обычных 31, используя нестандартный формат диска. Помимо этого, реализация Solidisk представила собственные «связанные» каталоги, которые позволяли хранить неограниченное количество файлов на диске (ограниченное только размером диска). [ 2 ] Другие функции сторонних реализаций включали возможность просмотра свободного места и встроенную FORMAT и VERIFY команды, которые поставлялись на служебном диске с исходной версией 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 «двойной плотности» с использованием более поздней системы 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 этого не делает, поэтому возможность двойного формата решалась несколькими способами:

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

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

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

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

[ редактировать ]

Имена файлов

[ редактировать ]

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

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

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

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

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

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

Каталоги

[ редактировать ]

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

PROGRAM (12)
Drive 0             Option 2 (RUN)
Dir. :0.$           Lib. :0.$

    !BOOT               HELLO
    SUMS                TABLE
    TEST                VECTORS
    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 прерывается с Can't extend ошибка. SAVE также не может разделить файл в соответствии с доступным пространством, но поскольку сбой происходит на этапе выделения сектора, возвращается ошибка Disk full.

The *COMPACT Предусмотрена команда для перемещения всех файлов на диске в сплошной блок, помещая все свободное пространство после него во второй блок. Это позволяет следующему созданному файлу заполнить диск, но только последний существующий файл может быть расширен без перемещения. 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), стандартную систему хранения дисков и программное обеспечение для поддержки сопроцессора Tube на одном ПЗУ; этот ПЗУ устанавливал в ОС сразу две файловые системы.

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

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

  1. ^ "Chriswhy.co.uk" (PDF) .
  2. ^ «Утилиты MMB/SSD в Perl» .
  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» в названии файловой системы.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ad82c55dc9c92dafd5b0a28419ec898a__1700949060
URL1:https://arc.ask3.ru/arc/aa/ad/8a/ad82c55dc9c92dafd5b0a28419ec898a.html
Заголовок, (Title) документа по адресу, URL1:
Disc Filing System - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)