Система хранения дисков
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Разработчик(и) | Желудевые компьютеры |
---|---|
Полное имя | Система хранения дисков |
Представлено | 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 .
Ссылки
[ редактировать ]- ^ "Chriswhy.co.uk" (PDF) .
- ^ «Утилиты MMB/SSD в Perl» .
- ^ Кук, Майк (октябрь 1985 г.). «Понижение версии вашей системы? Да, это может иметь смысл». Микропользователь . 3 (8). Стокпорт, Великобритания: Публикации баз данных: 125–127. ISSN 0265-4040 .
- ^ Никсон, Крис (апрель 1987 г.). «Двухформатные диски своими руками». Микропользователь . 5 (2). Стокпорт, Великобритания: Публикации баз данных: 43–44. ISSN 0265-4040 .
- ^ Руководство пользователя файловой системы дисков Acorn, выпуск № 2, июль 1983 г., стр. 84. «Диск» пишется через букву «k» в сообщениях об ошибках, но «c» в названии файловой системы.
Внешние ссылки
[ редактировать ]- Структура файловой системы DFS Acorn, Watford и Duggan
- Спецификация Watford DFS (расширенная Acorn DFS) — включает исходную спецификацию Acorn DFS.
- Руководство Acorn DFS (формат RTF)