Файлы-11
Files-11 — файловая система , используемая в RSX-11 и OpenVMS операционных системах от Digital Equipment Corporation . Он поддерживает на записи , ориентированный ввод-вывод , удаленный доступ к сети и управление версиями файлов . Исходный уровень ODS-1 представляет собой плоскую файловую систему ; версия ODS-2 представляет собой иерархическую файловую систему , с поддержкой списков контроля доступа .
Files-11 похожа, но значительно более совершенна, чем файловые системы, использовавшиеся в предыдущих операционных системах Digital Equipment Corporation, таких как TOPS-20 и RSTS/E .
История
[ редактировать ]Собственная файловая система OpenVMS произошла от старых операционных систем DEC и во многом похожа, обе они были разработаны Дэйвом Катлером . Основным отличием является расположение каталогов. Все эти файловые системы обеспечивали ту или иную форму элементарной неиерархической структуры каталогов, обычно основанной на назначении одного каталога для каждой учетной записи пользователя. В RSTS/E каждая учетная запись пользователя представлялась двумя числами: [project,programmer]
пара и имел один связанный каталог. Специальные системные файлы, такие как исполняемые файлы программ и сама ОС, хранились в каталоге зарезервированной системной учетной записи.
Хотя это подходило для систем PDP-11 , которые обладали ограниченной емкостью постоянной памяти, системам VAX с жесткими дисками гораздо большего размера требовался более гибкий метод хранения файлов: в частности, иерархическая структура каталогов, наиболее заметное улучшение в ODS-2.
Обзор
[ редактировать ]«Файлы-11» — это общий термин для пяти отдельных файловых систем, известных как уровни структуры диска (ODS) с 1 по 5.
ODS-1 — это плоская файловая система, используемая ОС RSX-11, поддерживаемая старыми системами VMS для совместимости с RSX, но никогда не используемая для поддержки самой VMS; его в значительной степени заменили ODS-2 и ODS-5.
ODS-2 является стандартной файловой системой VMS и остается наиболее распространенной файловой системой для системных дисков (диск, на котором установлена операционная система).
редко упоминаются по обозначениям уровней ODS, Хотя ODS-3 и ODS-4 они представляют собой поддержку Files-11 для файловых систем CD-ROM ISO 9660 и High Sierra соответственно.
ODS-5 — это расширенная версия ODS-2, доступная на платформах Alpha и IA-64 , которая добавляет поддержку имен файлов с сохранением регистра с символами, отличными от ASCII , и улучшает поддержку иерархических каталогов. Первоначально он предназначался для обслуживания файлов в Microsoft Windows или других системах, отличных от VMS, в рамках проекта «NT Affinity», но также используется на пользовательских дисках и интернет- серверах.
Макет каталога
[ редактировать ]
Все файлы и каталоги в файловой системе Files-11 содержатся внутри одного или нескольких родительских каталогов и, в конечном итоге, в корневом каталоге, главном файловом каталоге (см. ниже). Таким образом, файловая система организована в виде структуры направленного ациклического графа ( DAG ).
В этом примере ( см. справа ) File 2 имеет запись в каталоге под обоими Dir 2 и Dir 3; он находится «в» обоих каталогах одновременно. Даже если его удалить из одного, он все равно будет существовать в другом каталоге, пока не будет удален и оттуда. Это похоже на концепцию жестких ссылок в UNIX , хотя необходимо следить за тем, чтобы файл фактически не удалялся на дисках, которые не настроены для жестких ссылок (доступно только на дисках ODS-5, и то только в том случае, если на диске есть жесткие ссылки включены).
Организация диска и именование
[ редактировать ]Действующая система VMS имеет доступ к одному или нескольким онлайн-дискам, каждый из которых содержит полную независимую файловую систему. Это либо локальное хранилище, либо, в случае кластера, хранилище, совместно используемое удаленными системами.

В конфигурации кластера OpenVMS неприватные диски используются всеми узлами кластера (см. рис. 1) . В этой конфигурации два системных диска доступны обоим узлам через сеть, но частный диск не является общим: он монтируется для использования только конкретным пользователем или процессом на этом компьютере. Доступ к файлам в кластере управляется диспетчером распределенных блокировок OpenVMS, который является неотъемлемой частью файловой системы.
Несколько дисков можно объединить в один большой логический диск или набор томов . Диски также можно автоматически реплицировать в теневые наборы для обеспечения безопасности данных или повышения производительности чтения.
Диск идентифицируется либо по его физическому имени, либо (чаще) по логическому имени, определяемому пользователем. Например, загрузочное устройство (системный диск) может иметь физическое имя $3$DKA100, но обычно его называют логическим именем SYS$SYSDEVICE.
Файловые системы на каждом диске (за исключением ODS-1) имеют иерархическую структуру. Полностью определенное имя файла состоит из имени узла, имени пользователя и пароля, имени устройства, каталога, имени файла, типа файла и номера версии в формате:
NODE"accountname password"::device:[directory.subdirectory]filename.type;ver
Например, [DIR1.DIR2.DIR3]FILE.EXT относится к последней версии FILE.EXT, на текущем диске по умолчанию, в каталоге [DIR1.DIR2.DIR3].
DIR1 является подкаталогом главного каталога файлов (MFD) или корневого каталога , и DIR2 является подкаталогом DIR1. MFD диска идентифицируется [000000].
Большую часть имени файла можно опустить, и в этом случае они берутся из текущей спецификации файла по умолчанию . Спецификация файла по умолчанию заменяет концепцию «текущего каталога» в других операционных системах, предоставляя набор значений по умолчанию для узла, имени устройства и каталога. Все процессы имеют спецификацию файла по умолчанию, которая включает имя диска и каталог, а большинство процедур файловой системы VMS принимают спецификацию файла по умолчанию, которая также может включать тип файла; тот TYPE команда, например, по умолчанию имеет значение " .LIS" как тип файла, поэтому команда TYPE F, без расширения, пытается открыть файл F.LIS.
У каждого файла есть номер версии, который по умолчанию равен 1, если нет других версий с тем же именем файла (в противном случае на одну выше, чем самая большая версия). Каждый раз, когда файл сохраняется, вместо перезаписи существующей версии создается новый файл с тем же именем, но с увеличенным номером версии. Старые версии можно удалить явно, с помощью команды DELETE или PURGE командой или, при необходимости, более старые версии файла могут быть удалены автоматически при ограничения версии файла (установленного командой достижении SET FILE/VERSION_LIMIT). Таким образом, старые версии не перезаписываются, а сохраняются на диске и могут быть восстановлены в любое время. Архитектурное ограничение на номера версий — 32767. Поведение управления версиями легко переопределить, если оно нежелательно. В частности, файлы, которые обновляются напрямую, например базы данных, не создают новых версий, если это явно не запрограммировано.
ODS-2 ограничен восемью уровнями подкаталогов и только буквенно-цифровыми именами в верхнем регистре (плюс подчеркивание, тире и знак доллара) длиной до 39,39 символов (39 для имени файла и еще 39 для расширения). ODS-5 расширяет набор символов до строчных букв и большинства других печатных символов ASCII, а также символов ISO Latin-1 и Unicode , увеличивает максимальную длину имени файла и допускает неограниченное количество уровней подкаталогов. При создании пути к файлу ODS-5, в котором используются символы, не разрешенные ODS-2, для сохранения обратной совместимости используется специальный синтаксис «^»; файл " file.tar.gz;1" на диске ODS-5, например, будет называться " file^.tar.gz"—имя файла " file.tar", а расширение " .gz".
Безопасность файлов: защита и ACL
[ редактировать ]Безопасность файлов VMS определяется двумя механизмами: контролем доступа на основе UIC и контролем доступа на основе ACL . Управление доступом UIC основано на владельце файла и UIC или пользователе, осуществляющем доступ к файлу. Доступ определяется четырьмя группами разрешений:

- Система
- Владелец
- Группа
- Мир
И четыре бита разрешения:
- Читать
- Писать
- Выполнять
- Удалить
«Системный» доступ распространяется на любого пользователя, чей групповой код UIC меньше или равен SYSGEN параметр MAXSYSGROUP (обычно 8 или 10 восьмеричных ) (например, SYSTEM пользователь); «владелец» и «группа» применяются к владельцу файла и группе пользователей этого пользователя, а «мир» применяется к любому другому пользователю. Существует также пятый бит разрешения, «Управление», который используется для определения доступа для изменения метаданных файла, таких как защита. Эту группу нельзя задать явно; он всегда устанавливается для системы и владельца, а не для группы или мира.
На контроль доступа на основе UIC также влияют четыре системные привилегии , которые позволяют пользователям, имеющим их, переопределять контроль доступа:
- BYPASS: пользователь неявно имеет RWED-доступ ко всем файлам, независимо от защиты файлов;
- READALL: пользователь неявно имеет доступ R ко всем файлам;
- SYSPRV: пользователь может получить доступ к файлам на основе защиты системы;
- GRPPRV: пользователь может получить доступ к файлам на основе защиты системы, если его группа UIC соответствует группе файла.
Списки ACL позволяют назначать дополнительные привилегии для конкретного пользователя или группы; например, UIC веб-сервера может быть предоставлен доступ на чтение ко всем файлам в определенном каталоге. Списки ACL могут быть помечены как унаследованные , где ACL файла каталога применяется ко всем файлам, находящимся под ним. ACL изменяются с помощью EDIT/ACL команды и принимают форму пар идентификатор/доступ. Например, запись ACL
(IDENTIFIER=HTTP$SERVER,ACCESS=READ+EXECUTE)
позволит пользователю HTTP$SERVER для чтения и выполнения файла.
Логические имена
[ редактировать ]— Логическое имя это системная переменная, которая может ссылаться на диск, каталог или файл или содержать другую информацию, специфичную для программы. Например, логическое SYS$SYSDEVICE содержит загрузочное устройство системы. Логическое имя обычно относится к одному каталогу или диску, например SYS$LOGIN: какой каталог (или каталоги) для входа в систему пользователя (домашний); эти логические значения не могут использоваться как настоящие имена дисков — SYS$LOGIN:[DIR]FILE не является допустимой спецификацией файла. Однако скрытые логические имена, определенные DEFINE/TRANSLATION=CONCEALED, можно использовать таким образом; эти корневые каталоги обозначаются завершающим знаком "." в спецификации каталога, следовательно
$ DEFINE/TRANS=CONCEAL HOME DISK$USERS:[username.]
позволит HOME:[DIR]FILE быть использованным. Более распространены простые логические схемы, которые указывают на определенные каталоги, связанные с некоторым прикладным программным обеспечением, которое может находиться на любом диске или в любом каталоге. Следовательно, логический ABC_EXE может указывать на каталог исполняемых программ для приложения. ABC, а ABC_TEMP может указывать на каталог временных файлов для того же приложения, и этот каталог может находиться на том же диске и в том же дереве каталогов, что и ABC_EXE, или может находиться где-то в другом месте. другой диск (и в другом дереве каталогов).
Подобно Unix, VMS определяет несколько стандартных каналов ввода и вывода , доступ к которым осуществляется через логические имена. SYS$INPUT, SYS$OUTPUT, SYS$ERROR и SYS$COMMAND. [1]
Логические имена не имеют близкого эквивалента в операционных системах POSIX. Они напоминают переменные среды Unix , за исключением того, что они расширяются файловой системой, а не командной оболочкой или прикладной программой. Они должны быть определены перед использованием, поэтому многие логические имена обычно определяются в командном файле запуска системы, а также в командных файлах входа пользователя. В VMS логические имена могут ссылаться на другие логические имена (вплоть до предопределенного предела вложенности, равного 10) и могут содержать списки имен для поиска существующего имени файла. Некоторые часто используемые логические имена:
логическое имя | значение |
---|---|
SYS$INPUT | стандартный ввод — используется в интерактивном режиме и представляет собой клавиатуру терминала. При использовании в пакетном файле он считывает строки пакетного файла, которым не предшествует символ $ или которые указаны как входная колода с помощью DECK команда.
|
SYS$OUTPUT | стандартный вывод — он будет выводиться на дисплей терминала или в файл пакетного журнала в зависимости от того, является ли процесс интерактивным или нет. |
SYS$ERROR | стандартная ошибка — она выводится на дисплей терминала или в файл журнала пакетных ошибок в зависимости от того, является ли процесс интерактивным или нет. |
SYS$COMMAND | источник команд командного файла. Он будет читать из терминала или из потока SYS$INPUT в зависимости от того, является ли процесс интерактивным или нет. |
TT | терминал, связанный с процессом |
SYS$PRINT | принтер по умолчанию или очередь печати |
SYS$LOGIN | домашний каталог для каждого пользователя |
SYS$SCRATCH | временная папка , каталог для временных файлов |
SYS$SYSTEM | каталог, содержащий большинство системных программ и несколько важных файлов данных, таких как файл авторизации системы (учетные записи и пароли) |
SYS$SHARE | общие библиотеки времени выполнения, исполняемые файлы и т. д. |
SYS$LIBRARY | система и добавленные библиотеки |
Ближайшей операционной системой, не принадлежащей DEC, которая поддерживает концепцию логических имен, является AmigaOS . ASSIGN команда. Дисковая операционная система AmigaOS, AmigaDOS , которая является портом TRIPOS , имеет некоторое сходство с операционными системами DEC. Например, имена физических устройств следуют такому шаблону, как DF0: для первой дискеты, CDROM2: для третьего привода компакт-дисков и т. д. Однако, поскольку система может загружаться с любого подключенного диска, операционная система создает назначение SYS:. для автоматической ссылки на используемое загрузочное устройство. Другие назначения, LIBS:, PREFS:, C:, S: и др. также создаются сами по себе ссылки на SYS:. Пользователям, конечно же, разрешено создавать и удалять свои собственные задания.
Ориентированный на записи ввод-вывод: службы управления записями
[ редактировать ]Службы управления записями — это структурированный уровень ввода-вывода операционной системы VMS. RMS обеспечивает комплексную программную поддержку для управления структурированными файлами на основе записей и индексированные файлы , такими как файлы баз данных . Файловая система VMS в сочетании с RMS расширяет доступ к файлам за пределы простых байтовых потоков и обеспечивает поддержку на уровне ОС различных типов файлов. Каждый файл в файловой системе VMS можно рассматривать как базу данных , содержащую ряд записей , каждая из которых имеет одно или несколько отдельных полей . Например, текстовый файл представляет собой список записей (строк), разделенных символом новой строки. RMS является примером файловой системы, ориентированной на записи .
Существует четыре формата записей , определенные RMS:
- Фиксированная длина — все записи в файле имеют одинаковую длину.
- Переменная длина — записи различаются по длине, и каждая запись имеет префикс счетчика, указывающего ее длину.
- Переменная длина записи с контролем фиксированной длины — записи различаются по длине, но им предшествует блок управления фиксированной длины.
- Поток — записи различаются по длине, каждая запись отделяется от следующей символом завершения. Текстовый файл — это пример файла потокового формата, в котором для разделения записей используется перевод строки или возврат каретки .
Существует четыре метода доступа к записям или метода извлечения существующих записей из файлов:
- Последовательный доступ – начиная с определенной записи, последующие записи извлекаются по порядку до конца файла.
- Доступ к относительному номеру записи — записи извлекаются по номеру записи относительно начала файла.
- Доступ к адресу файла записи — записи извлекаются непосредственно по их местоположению в файле (RFA или адрес файла записи).
- Индексированный доступ — записи извлекаются с помощью ключа в форме сопоставления ключ-значение .
Физический макет: структура на диске
[ редактировать ]На уровне диска ODS представляет файловую систему как массив блоков , причем блок представляет собой 512 последовательных байтов на одном физическом диске ( томе ). Дисковые блоки распределяются по кластерам (первоначально это были 3 смежных блока, но позже их количество увеличивалось при увеличении размера диска). Файл на диске в идеале должен быть полностью непрерывным, т.е. блоки, содержащие файл, будут последовательными, но фрагментация диска иногда требует, чтобы файл располагался в несмежных кластерах, и в этом случае фрагменты называются экстентами . Диски можно объединять с другими дисками для формирования набора томов и файлов, хранящихся где угодно в этом наборе дисков, но диски большего размера сокращают использование наборов томов, поскольку управление одним физическим диском проще.
Каждый файл на диске Files-11 (или наборе томов) имеет уникальный идентификатор файла (FID), состоящий из трех чисел: номера файла (NUM), порядкового номера файла (SEQ) и относительного номера тома (RVN). . NUM указывает, где в INDEXF.SYS file (см. ниже) находятся метаданные файла; SEQ — это номер поколения, который увеличивается при удалении файла и создании другого файла с повторным использованием той же записи INDEXF.SYS (поэтому любые висячие ссылки на старый файл случайно не указывают на новый); а RVN указывает номер тома, на котором хранится файл при использовании набора томов.
Каталоги
[ редактировать ]Структурную поддержку тома ODS обеспечивает файл каталога — специальный файл, содержащий список имен файлов, номеров версий файлов и связанных с ними FID, аналогичный каталогам VSAM в MVS и каталогам в Unix файловых системах и NTFS . В корне структуры каталогов находится главный файловый каталог (MFD), корневой каталог, который содержит (прямо или косвенно) каждый файл на томе.
На этой диаграмме показан пример каталога, содержащего 3 файла, и способ сопоставления каждого имени файла с именем файла. INDEXF.SYS запись (каждая запись INDEXF содержит дополнительную информацию; здесь показаны только первые несколько элементов).
Главный файловый каталог
[ редактировать ]На верхнем уровне файловой системы ODS находится главный файловый каталог (MFD), который содержит все файлы каталога верхнего уровня (включая его самого) и несколько системных файлов, используемых для хранения информации о файловой системе. На томах ODS-1 используется двухуровневая структура каталогов: каждому идентификационному коду пользователя (UIC) соответствует каталог файлов пользователя (UFD) вида [GROUP.USER]. В томах ODS-2 и более поздних версиях расположение каталогов в MFD имеет произвольную форму с учетом ограничения на вложенность каталогов (8 уровней в ODS-2 и неограниченное количество в ODS-5). В многотомных наборах MFD всегда хранится на первом томе и содержит подкаталоги всех томов.
В ODS MFD присутствуют следующие системные файлы:
- INDEXF.SYS;1—Индексный файл
- BITMAP.SYS;1—Хранение растрового файла
- BADBLK.SYS;1— Файл поврежденного блока
- 000000.DIR;1— Сам файл каталога MFD.
- CORIMG.SYS;1—Основной файл изображения
- VOLSET.SYS;1—Файл списка наборов томов (только ODS-2/5)
- CONTIN.SYS;1—Файл продолжения (только ODS-2/5)
- BACKUP.SYS;1— Резервный файл журнала (только ODS-2/5)
- BADLOG.SYS;1—Ожидание плохого блока (только ODS-2/5)
- SECURITY.SYS;1—Профиль безопасности тома (только ODS-2/5)
- QUOTA.SYS;1—Файл квот (необязательно и доступен только в ODS-2/5)
- GPT.SYS;1—Таблица разделов GUID (GPT) (структуры загрузки OpenVMS I64 EFI, необязательно для OpenVMS Alpha)
Обратите внимание, что сама реализация файловой системы обращается к этим файлам не по имени, а по их идентификаторам, которые всегда имеют одни и те же значения. Таким образом, INDEXF.SYS всегда является файлом с NUM = 1 и SEQ = 1.
Индексный файл: INDEXF.SYS
[ редактировать ]Индексный файл содержит самую основную информацию о наборе томов Files-11.
Существует две организации INDEXF.SYS: традиционная организация и организация, используемая на дисках с GPT.SYS; со структурами таблицы разделов GUID (GPT).
При традиционной организации блок 1 — это загрузочный блок , который содержит расположение первичного загрузочного образа , используемого для загрузки операционной системы VMS. Он всегда находится в логическом блоке 0 на диске, чтобы аппаратное обеспечение могло его прочитать. Этот блок присутствует всегда, даже на несистемных (незагрузочных) томах.
После загрузочного блока идет основной домашний блок . Он содержит имя тома , расположение экстентов, составляющих остальную часть индексного файла, UIC владельца тома и информацию о защите тома . Обычно существует несколько дополнительных копий домашнего блока, известных как вторичные домашние блоки , которые позволяют восстановить том в случае его утери или повреждения.
На дисках с GPT.SYS GPT.SYS содержит эквивалент загрузочного блока (известный как главная загрузочная запись (MBR)), и основной домашний блок отсутствует. Все домашние блоки, присутствующие на диске на основе GPT, являются альтернативными домашними блоками. Эти структуры не включены в INDEXF.SYS, а блоки файла INDEXF.SYS не используются.
Остальная часть индексного файла состоит из заголовков файлов , которые описывают экстенты, выделенные для файлов, находящихся на томе, и метаданных файла, таких как UIC владельца, списки ACL и информацию о защите. Каждый файл описывается одним или несколькими заголовками файлов — если файл имеет большое количество экстентов, может потребоваться более одного. Заголовок файла представляет собой блок фиксированной длины, но содержит разделы как фиксированной, так и переменной длины:
- Заголовок содержит NUM и SEQ, информацию о защите (безопасности) и расположение остальной части заголовка файла.
- Раздел ident содержит метаданные учета: имя файла, время создания и изменения, а также время последней резервной копии.
- Карта описывает , какие блоки физического диска (экстенты) сопоставляются с каждым виртуальным блоком файла.
- Список управления доступом содержит информацию ACL для файла.
- Зарезервированная область — это пространство в конце заголовка файла, которое не используется операционной системой. Это может использоваться для получения информации, специфичной для клиента или поставщика.
- Последние два байта заголовка представляют собой контрольную сумму предыдущих 255 слов для проверки достоверности заголовка.
Если возможно, разделы заголовка карты и ACL полностью содержатся в основном заголовке . Однако если ACL слишком длинный или файл содержит слишком много экстентов, в первичном заголовке не хватит места для их хранения. В этом случае заголовок расширения для хранения информации о переполнении выделяется .
Заголовок файла начинается с 4 смещений ( IDOFFSET, MPOFFSET, ACOFFSET и ROFFSET). Поскольку размер областей после заголовка фиксированной длины может варьироваться (например, области карты и ACL), для определения местоположения этих дополнительных областей необходимы смещения. Каждое смещение представляет собой количество 16-битных слов от начала заголовка файла до начала этой области.
Если файлу требуется несколько заголовков, номер сегмента расширения ( SEGNUM) содержит порядковый номер этого заголовка, начиная с 0 в первой записи в INDEXF.SYS.
STRUCLEV содержит текущий уровень структуры (в старшем байте) и версию (в младшем байте) файловой системы; ODS-2 соответствует уровню структуры 2. Увеличение номера версии указывает на изменение обратной совместимости, которое старое программное обеспечение может игнорировать; изменения на самом структурном уровне несовместимы.
W_FID (содержащий три значения: FID_NUM, FID_SEQ и FID_RVN, соответствующий файлу, последовательности и относительному номеру тома) содержит идентификатор этого файла; EXT_FID (опять же состоит из трех значений) содержит местоположение следующего заголовка расширения, если таковой имеется. В обоих этих значениях RVN указывается как 0, чтобы представить «текущий» том (0 обычно не является допустимым RVN).
FILECHAR содержит несколько флагов, которые влияют на то, как файл обрабатывается или организуется:
- NOBACKUP заставляет этот файл игнорироваться при резервного копирования . выполнении
- WRITEBACK включает кэшированную (отложенную) запись в файл.
- READCHECK заставляет все чтения файла выполняться дважды и сравниваться для обеспечения целостности данных.
- WRITCHECK приводит к тому, что все записи проверяются последующим чтением и сравнением.
- CONTIGB заставляет ОС пытаться выделить хранилище для файла как можно более непрерывным образом.
- LOCKED устанавливается, если файл заблокирован для доступа. Если этот параметр установлен, это означает, что файл не был закрыт должным образом после его последнего использования и его содержимое может быть противоречивым.
- CONTIG указывает, что файл хранится на диске подряд; то есть каждый виртуальный блок отображается в логический (физический) блок , для некоторой константы .
- BADACL устанавливается, если файл имеет недопустимый список управления доступом.
- SPOOL устанавливается, если файл является файлом очереди, например промежуточным файлом, используемым во время печати.
- DIRECTORY устанавливается, если файл является каталогом.
- BADBLOCK устанавливается, если файл содержит плохие блоки.
- MARKDEL устанавливается, если файл помечен на удаление, но все еще используется; он будет удален после закрытия последним пользователем.
- NOCHARGEЕсли установлено, пространство, используемое файлом, не будет взято из квоты хранилища владельца.
- ERASE приводит к перезаписи содержимого файла при его удалении.
ACCMODE описывает уровень привилегий , на котором должен быть запущен процесс, чтобы получить доступ к файлу. VMS определяет четыре уровня привилегий: пользователь, супервизор, руководитель и ядро. Каждый тип доступа — чтение, запись, выполнение и удаление — кодируется как 2-битное целое число.
FILEPROT содержит информацию о дискреционном управлении доступом к файлу. Он разделен на 4 группы по 4 бита в каждой: система, владелец, группа и мир. Бит 0 соответствует доступу для чтения, 1 — для записи, 2 — для выполнения и 3 — для удаления. Установка бита запрещает определенный доступ к группе; очистка позволяет это.
Если заголовок файла является заголовком расширения, BACKLINK содержит идентификатор файла основного заголовка; в противном случае он содержит идентификатор файла каталога, содержащего основную запись для файла.
Другие файлы
[ редактировать ]- Файл растрового изображения хранилища: BITMAP.SYS
- Растровый файл отвечает за хранение информации об использованном и доступном пространстве на томе. Он содержит блок управления хранилищем (SCB), который включает сводную информацию с подробным описанием ???, и битовую карту, массив битов, указывающий, свободен или выделен кластер блоков на диске. В ранних версиях VMS кластер состоял из 3 блоков, но по мере увеличения размеров дисков увеличивался и размер кластера.
- Файл плохого блока: BADBLK.SYS
- Файл сбойных блоков содержит все известные сбойные блоки на физическом томе. Цель состоит в том, чтобы не дать системе распределить их по файлам. Этот файл чаще использовался в первые дни, когда диски обычно производились с большим количеством плохих пятен на поверхности.
- Файл списка наборов томов: VOLSET.SYS
- Список наборов томов расположен на томе 1 набора томов и содержит список меток всех томов в наборе, а также имя тома набора.
- Продолжение файла: CONTIN.SYS
- Когда файл в многотомном наборе пересекает границу двух составляющих томов, файл продолжения используется в качестве заголовка расширения и описывает том, где можно найти остальную часть файла.
- Квота файла: QUOTA.SYS
- Файл квоты содержит информацию об использовании дискового пространства каждого UIC на томе. Он содержит запись для каждого UIC с выделенным для него пространством на томе, а также информацию о том, сколько места используется этим UIC. ПРИМЕЧАНИЕ. Функция ДИСКОВОЙ КВОТЫ является необязательной, и файл будет существовать только в том случае, если эта функция когда-либо была включена.
- Профиль безопасности тома: SECURITY.SYS
- Профиль безопасности тома содержит UIC владельца тома, маску защиты тома и его список управления доступом.
- Таблица разделов GUID: GPT.SYS
- Этот файл перекрывает и защищает структуры диска MBR (главная загрузочная запись) и GPT (таблица разделов GUID), используемые для встроенного ПО, совместимого с расширяемым интерфейсом прошивки . Этот файл создается по умолчанию во время инициализации диска OpenVMS I64 и дополнительно создается (с помощью INITIALIZE/GPT) в OpenVMS Alpha.
См. также
[ редактировать ]- Сравнение файловых систем
- NTFS — имеет много общего с Files-11 по структуре и метаданным и почти наверняка концептуально является его производной.
Ссылки
[ редактировать ]- ^ «Руководство пользователя OpenVMS» (PDF) . vmssoftware.com . ВСИ. Июль 2020 г. Глава 14. Расширенное программирование с помощью DCL . Проверено 9 апреля 2021 г.
Дальнейшее чтение
[ редактировать ]- Эндрю К. Гольдштейн (19 июня 1975 г.). «Спецификация структуры диска Files-11» (PDF) .
- Эндрю К. Гольдштейн (11 января 1985 г.). «Спецификация структуры файлов-11 на диске» .
- VMS Software, Inc. (август 2019 г.). «Приложение A: Структура диска Files-11». Руководство системного менеджера VSI OpenVMS, Том 2: Настройка, мониторинг и сложные системы (PDF) .
- Кирби Маккой (1990). Внутреннее устройство файловой системы VMS . Бедфорд, Массачусетс: Digital Press. ISBN 1-55558-056-4 .