Архитектура операционной системы UNIX


         

МОНТИРОВАНИЕ И ДЕМОНТИРОВАНИЕ ФАЙЛОВЫХ СИСТЕМ - часть 2



Рисунок 5.22. Дерево файловых систем до и после выполнения функции mount

Ядро поддерживает таблицу монтирования с записями о каждой монтированной файловой системе. В каждой записи таблицы монтирования содержатся:

  • номер устройства, идентифицирующий монтированную файловую систему (упомянутый выше логический номер файловой системы);
  • указатель на буфер, где находится суперблок файловой системы;
  • указатель на корневой индекс монтированной файловой системы ("/" для файловой системы с именем "/dev/dsk1" на Рисунке 5.22);
  • указатель на индекс каталога, ставшего точкой монтирования (на Рисунке 5.22 это каталог "usr", принадлежащий корневой файловой системе).

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

алгоритм mount входная информация: имя блочного специального файла имя каталога точки монтирования опции ("только для чтения") выходная информация: отсутствует { если (пользователь не является суперпользователем) возвратить (ошибку); получить индекс для блочного специального файла (алго- ритм namei); проверить допустимость значений параметров; получить индекс для имени каталога, где производится монтирование (алгоритм namei); если (индекс не является индексом каталога или счетчик ссылок имеет значение > 1) { освободить индексы (алгоритм iput); возвратить (ошибку); } найти свободное место в таблице монтирования; запустить процедуру открытия блочного устройства для данного драйвера; получить свободный буфер из буферного кеша; считать суперблок в свободный буфер; проинициализировать поля суперблока; получить корневой индекс монтируемой системы (алгоритм iget), сохранить его в таблице монтирования; сделать пометку в индексе каталога о том, что каталог является точкой монтирования; освободить индекс специального файла (алгоритм iput); снять блокировку с индекса каталога точки монтирования; }




Содержание  Назад  Вперед