Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VSOS_2014.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.9 Mб
Скачать

47Организация каталога в виде произвольного (простого) графа

Серьезным недостатком ациклической структуры является отсутствие циклов. Если мы начинаем с двухуровневой организации и разрешаем пользователям создавать подкаталоги, получается древовидная организация. Добавление все новых подкаталогов не нарушает ее. Однако, как только мы разрешим добавление ссылок в существующую древовидную структуру, она может быть разрушена. В результате получится простой граф (без петель и кратных ребер) (см. рис. 13.6).

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

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

Рисунок 13.38 - Организация каталога в виде произвольного (простого) графа

Проблемы возникают и в том случае, если мы пытаемся определить, когда необходимо фактически удалить файл, освободив дисковое пространство. Для ациклических структур значение счетчика, равное нулю, означает, что больше ссылок на файл нет и его можно удалять. Однако если циклы существуют, то может случиться, что значение счетчика будет ненулевым, даже если больше нет возможности ссылаться на файл. Эта аномалия является следствием возможности циклических ссылок (self-referencing) в структуре каталогов.

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

Сборка мусора необходима только из-за возможности наличия ссылок в графе. То есть, если граф ациклический, то ситуация значительно упрощается. Основной трудностью является недопущение циклов при добавлении новых ссылок. Как узнать, что добавление ссылки приведет к возникновению цикла? Существуют алгоритмы, решающие эту задачу, но они имеют слишком большую вычислительную сложность. Поэтому древовидная структура каталогов применяется чаще ациклической.

    1. Проблемы защиты файлов

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

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

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

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

Для многопользовательских систем, однако, нужны иные механизмы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]