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

44Двухуровневая структура каталога

Главным недостатком одноуровневой организации является путаница между именами файлов нескольких пользователей. Стандартным приемом устранения этого недостатка является создание отдельного каталога для каждого пользователя.

При двухуровневой организации каждый пользователь имеет свой собственный каталог (user file directoryUFD). Все они имеют похожую структуру, но содержат файлы только одного пользователя.

Когда пользователь входит в систему, в главном системном каталоге (master file directoryMFD) разыскивается точка входа в каталог пользователя (по имени пользователя или соответствующему ему номеру). Пользовательские каталоги могут создаваться и удаляться по мере необходимости.

Рисунок 13.35 - Двухуровневая структура каталога

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

Каждая операционная система имеет свой собственный синтаксис указания пути.

Например:

MS DOS c:\user3\test

VMS u:[sst.jdeck] login.com; 1

где u - имя (минидиска), sst - имя каталога, login.com – имя файла, jdeck – имя подкаталога, 1 - номер версии.

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

45 Древовидная структура каталога

Древовидная структура является обобщением двухуровневой структурой до дерева произвольной длины и позволяет пользователям создать свои собственные подкаталоги (см. рис. 13.4)

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

Рисунок 13.36 - Древовидная структура каталога

Каждый каталог (подкаталог) содержит множество файлов и/или подкаталог. Каталог также является файлом, который обрабатывается операционной системой специальным образом. Все каталоги имеют одинаковый внутренний формат. Достаточно одного бита в учетной записи для определения того, файл это или каталог. Например (0 – файл, 1 – каталог). Специальные системные вызовы позволяют создавать и удалять каталоги.

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

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

Удаление каталогов требует специальной политики. Если каталог пуст, то его можно безболезненно удалять. В противном случае возможны два подхода. В некоторых системах, например, MS DOS, запрещено удалять непустые каталоги. Чтобы удалить каталог, пользователь должен предварительно удалить все файлы и подкаталоги. Если подкаталогов много, то эта процедура весьма затруднительна. Альтернативный подход предусматривает наличие специальной опции, которая разрешает удалять каталог, все его файлы и все подкаталоги. Этот подход используется, например, в ОС UNIX. Такая политика более опасна, так как каталог удаляется одной командой.

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