Файловая система, ориентированная на запись - Record-oriented filesystem

В Информатика, а файловая система, ориентированная на записи это файловая система где данные хранятся как коллекции записи. Это контрастирует с байтовой файловой системой, где данные обрабатываются как неформатированный поток байты. Есть несколько различных возможных форматов записи; детали меняются в зависимости от конкретной системы. В общем случае форматы могут быть фиксированной или переменной длины, с различными физическими организациями или механизмами заполнения; метаданные могут быть связаны с записями файла для определения длины записи, или данные могут быть частью записи. Разные методы доступа для записей могут быть предоставлены, например, записи могут быть получены в Последовательный порядок, к ключ, или по номеру записи.

Происхождение и характеристики

Файловые системы, ориентированные на запись, часто ассоциируются с операционными системами мэйнфреймов, такими как OS / 360 и последователи[1] и DOS / 360 и преемники и операционные системы среднего уровня, такие как RSX-11 и VMS. Однако они возникли раньше в программном обеспечении, таком как Система управления вводом / выводом (IOCS).[2]

Файловые системы, ориентированные на запись, могут поддерживаться на носителях, отличных от устройств прямого доступа. Колоду перфокарт можно рассматривать как файл, ориентированный на записи. Магнитная лента - это пример носителя, который может поддерживать записи одинаковой или переменной длины.

В файловой системе записей программист проектирует записи, которые могут использоваться в файле. Все прикладные программы, обращающиеся к файлу, будь то добавление, чтение или обновление записей, разделяют понимание структуры записей. В DOS / 360, OS / 360 и их преемниках нет ограничений на битовые шаблоны, составляющие запись данных, т.е. отсутствует символ-разделитель; это не всегда верно для другого программного обеспечения, например, определенных типов записей для процессора управления файлами RCA (FCP) на 301, 501, 601 и 3301.

Файл создается, когда файловой системе отправляется запрос на создание файла. Некоторая информация о файле может быть включена в запрос на создание. Эта информация может указывать, что файл имеет записи фиксированной длины (все записи имеют одинаковый размер), а также размер записей. В качестве альтернативы в спецификации может быть указано, что записи имеют переменную длину вместе с максимальной длиной записи. Может быть указана дополнительная информация, включая коэффициент блокировки, двоичный код по сравнению с текстом и максимальное количество записей.

Может быть разрешено читать только начало записи; следующее последовательное чтение возвращает следующую коллекцию данных (запись), которую писатель намеревался сгруппировать. Также может быть разрешено записывать только начало записи. В этих случаях запись дополняется двоичными нулями или пробелами, в зависимости от того, распознается ли файл как двоичный или текстовый.

Некоторые операционные системы требуют, чтобы в программу были включены библиотечные процедуры, специфичные для формата записи. Это означает, что программа, изначально ожидаемая для чтения файла записи переменной длины, не может читать файл фиксированной длины. Эти операционные системы должны предоставлять служебные программы файловой системы для преобразования файлов из одного формата в другой. Это означает, что может потребоваться копирование файла (что требует дополнительного места для хранения, времени и координации).

Другие операционные системы включают в себя различные подпрограммы и связывают соответствующую процедуру в зависимости от файловой организации во время выполнения.

В любом случае для обеспечения целостности файлов в защищенных подпрограммах должен быть предусмотрен значительный объем кода для управления записями.

Альтернативой файлу, ориентированному на запись, является поток. В потоковом файле, в котором файловая система обрабатывает файлы как неструктурированную последовательность байтов. Приложения могут, но не обязательно, налагать структуру записи. Такой подход значительно уменьшает размер и сложность библиотеки, а также уменьшает количество утилит, необходимых для обслуживания файлов.

Общее соглашение о приложении для текстовые файлы представлен как потоки - использовать новая линия разделитель для разделения или прекращения записи, обычно CR, CRLF или LF. К сожалению, время ЦП, необходимое для синтаксического анализа разделителя записи, является значительным, и исключение шаблона разделителя записей из данных часто нежелательно.

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

Преимущества и стоимость

Файл, ориентированный на записи, имеет несколько преимуществ. После того, как программа записывает набор данных в виде записи, программа, которая читает эту запись, понимает эти данные как коллекцию. Хотя разрешено читать только начало записи, следующее последовательное чтение возвращает следующую коллекцию данных (запись), которую писатель намеревался сгруппировать. Еще одно преимущество состоит в том, что запись имеет длину и нет ограничений на битовые комбинации, составляющие запись данных, то есть отсутствует символ-разделитель.

Есть расходы, связанные с файлами, ориентированными на записи. Определение длины занимает место. На магнитной ленте это определение принимает форму промежутка между записями. На диске должна быть выделена область метаданных. Это минимально для файла, в котором все записи имеют одинаковую длину. В файле, состоящем из записей переменной длины, максимальная длина записи определяется для определения размера метаданных длины, связанных с каждой записью.

Смотрите также

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

  1. ^ z / OS DFSMS с использованием наборов данных, версия 2, выпуск 3 (PDF), 2 октября 2018 г., SC23-6855-30
  2. ^ Справочное руководство, IBM 709/7090 Система управления вводом / выводом (PDF). IBM. п. 3. C28-6100-2. Получено 12 сен, 2020.