Безопасность операционных систем. Безбогов А.А - 56 стр.

UptoLike

поиске в последовательном файле. Каждый БУС в индексном файле содержит n элементов или указателей на блоки данных
и, возможно, указатель на следующий индексный блок. Указатель на дисковый блок должен иметь размер, достаточный для
представления всего диапазона адресов на запоминающем устройстве.
Получение записи из сегментированного файла требует не более двух обращений к диску. В первую очередь вычисля-
ется адрес индексного блока, и он считывается в память. Затем из него извлекается адрес блока данных, и тот считывается в
память. Включение новой записи в сегментированный файл также не вызывает больших затруднений.
5.4.3. Организация хранения файлов
Современные файловые системы ЭВМ предназначены для обслуживания многих тысяч файлов. Поэтому роль меха-
низмов учета в составе файловой системы чрезвычайно важна. В настоящее время общепринятым приемом реализации ме-
ханизма учета файлов является сведение всей учетной информации о расположении файлов в одну таблицу, называемую
каталогом.
Каталог (Catalog) – справочник файлов и каталогов с ссылками на их расположение.
Справочник (Directory) – таблица идентификаторов и ссылок к соответствующим элементам данных.
Каталог может также содержать другую информацию, например, типы устройств, на которых хранятся файлы, пароли,
коэффициенты блокирования и т.п.
Доступ к файлам организован в файловых системах только через каталоги. Каталоги обычно располагают на тех же но-
сителях (томах, разделах дисков и т.п.), где расположены файлы (локальная стратегия ведения каталогов).
Структура и содержание каталогов определяется структурой и содержанием учитываемых в них файлов, а также стрем-
ление достигнуть должной гибкости в способах доступа к файлам, обеспечить допустимое время доступа.
Современные файловые системы работают с каталогами, имеющими древовидную структуру. При этом различают так
называемый главный (корневой) каталог и подчиненные (вложенные) каталоги.
Корневой каталог размещается так, что его местоположение всегда заранее известно файловой системе. Корневой ката-
лог содержит идентификаторы и адреса размещения файлов и каталогов, хранящихся на данном томе внешней памяти. Ис-
пользуя данные, находящиеся в корневом каталоге, файловая система осуществляет доступ к файлу или к вложенному ката-
логу (если необходимый файл не поименован в корневом каталоге).
Наиболее развитой файловой системой в настоящее время обладает ОС Unix, в которой поддерживается иерархия ката-
логов, логически связанная в древовидную структуру. Каждый пользователь может работать в составе этой структуры со
своей системой каталогов (со своим поддеревом), а также осуществлять переход к другим каталогам. Полное имя файла в
данной структуре задает траекторию перехода между каталогами в данной логической структуре каталогов. Каждый каталог
рассматривается как файл, имеет собственное имя, доступен непосредственно пользователям для чтения. Запись в каталоги
осуществляется по требованию пользователя с помощью специальных системных процедур. Продвижение по каталогу при
поиске некоторого каталога или файла возможно как вниз, по дереву от текущего узла, так и вверх, в направлении к корню.
Система обеспечивает гибкий и одновременно защищенный доступ к файлам.
Каждый файл, размещенный в рамках некоторого каталога, должен отличаться от другого файла этого же каталога. По-
этому каждому файлу дается имя, выражаемое строкой символов. Кроме того, файловые системы наряду с именем поддер-
живают расширение имени файла, которое записывается справа от имени и отделяется от него символом-разделителем (как
правило, символ "
." – точка). Полное имя файла, содержащее имя и расширение, записывается в качестве идентификатора в
каталог файлов.
Наряду с именем и расширением имени файлы могут отличаться друг от друга и другими характеристикаминаборами
атрибутов, специфицирующих его тип, защиту, способ буферизации и т.п. Состав набора атрибутов файлов и способ их ко-
дирования не совпадают в различных операционных системах.
Для эффективного управления файлами требуется также несколько блоков структурированных данных, главным из ко-
торых является блок управления файлом (БУФ), называемый также дескриптором файла.
Дескриптор файла содержит различные данные, необходимые для выполнения операций с файлом, например, атрибуты
файла, дату и время создания файла, размер файла, размер записи и т.п. Дескриптор файла может храниться как вместе с
файлом, так и в каталоге файлов.
5.4.4. Операции над файлами
Во многих операционных системах операции над файлами имеют много общего, хотя отличаются по форме выражения
требований.
Общие операции над файлами можно разделить на три группы:
1)
операции над файлами как над единым целым;
2)
операции для обмена данными между файлом и программой, инициирующей обмен;
3)
служебные операции.
К первой группе относятся следующие файловые операции: открытие файла, закрытие файла, копирование файла, объе-
динение файлов, перемещение файла, удаление файла.
Операции открытия и закрытия файла являются наиболее важными среди операций первой группы, поэтому рассмот-
рим их подробно.
Для процесса, который желает работать с файлом, файл выступает как ресурс, который необходимо получить, прежде
чем начать с ним работать. Поэтому пользователь обязан выполнить операцию открытия файла в своей программе, прежде
чем начать выполнять с файлом некоторые допустимые действия.
Действия, выполняемые операционной системой при обработке операции открытия файла, чрезвычайно разнообразны и
объемны. По отношению к другим операциям над файлами операция открытия файла является самой длительной операцией,