Приемы профессиональной работы в UNIX

       

МОНТИРОВАНИЕ ФАЙЛОВЫХ СИСТЕМ


Давайте рассмотрим, что происходит, когда файловая система монтируется в древовидной структуре системы. На рис. 7 -3 показано, как взаимодействуют между собой индексные дескрипторы (inodes) двух файловых систем.

Рисунок 7-3
Монтирование одной файловой системы в другую

В примере, показанном на рис. 7-3, файловая система из раздела 2 монтируется в корневой файловой системе (раздел 1) в каталог /usr. Однако мы помним, что каждая файловая система имеет свой собственный корневой каталог. В каждой файловой системе нумерация индексных дескрипторов файла начинается с числа 2, поэтому номера индексных дескрипторов дублируются в двух файловых системах. Это и является причиной, по которой не могут быть образованы связи между файлами, находящимися в разных файловых системах.

Одним из атрибутов корневого каталога является то, что номер его индексного дескриптора равен 2. Это значение может быть проверено в корневом каталоге командой "ls -lid /". Каталог /usr - это просто еще один файл (а именно каталог) в корневой файловой системе. Этот каталог может содержать файлы и подчиненные каталоги, которые хранятся в разделе 1. После выполнения команды "mount /dev/hd02 /usr" корневой каталог раздела 2 (индексный дескриптор 2) помещается в каталог /usr (индексный дескриптор 245). Если какие-либо файлы существуют в каталоге /usr в разделе 1, они остаются там, но получить доступ к ним вы не можете. Единственным способом увидеть их является размонтирование файловой системы, которая была смонтирована на их место. Хитрость команды mount заключается в том, что она представляет новый раздел как бы принадлежащим реальному корневому разделу. В сущности, это позволяет иметь безграничную файловую систему.

Механизмом, который позволяет производить это, является таблица смонтированных устройств, находящаяся внутри ядра системы. Когда выполняется обращение к файлу, его индексный дескриптор определяет маршрут, по которому находится данный файл. Если в таблице смонтированных устройств имеется запись, то этот маршрут ведет на другой раздел диска или в другую файловую систему. Для того чтобы убедиться, что вновь смонтированная файловая система уникальна, посмотрите индексный дескриптор каталога /usr сначала из корневого каталога (командой "ls -li /", индексный дескриптор 245), а затем из другой файловой системы (ls -ldi /usr, индексный дескриптор 2).



Содержание раздела