Введение в Unix



         

Файловые системы - часть 2


Структура файловой системы представлена на рис.13.1.


Рис.13.1.

Каждый файл (и каталог) в файловой системе представлен i-узлом, содержащим указатели на блоки, составляющие файл.

В i-узле содержится также информация о правах доступа к файлу, число ссылок на файл из каталогов и другие данные. Структура i-узла и блоков файла для UNIX, версия 7 показана на следующем рисунке. Каждый i-узел содержит 13 указателей. Первые 10 указателей непосредственно ссылаются на блоки данных файла. Поскольку блок содержит 512 байтов, то этого достаточно для обработки файлов до 512х10=5120 байтов.

Если длина файла больше, чем 5120 байта, используется 11-й указатель i-узла, который ссылается на косвенный блок из 128 ссылок на блоки данных. Использование косвенного блока позволяет увеличить длину файла до величины 512х(10+128)=70656 байтов. Если и этого недостаточно, то используется 12-й указатель i-узла, ссылающийся на дважды косвенный блок, содержащий 128 ссылок на косвенные блоки (рис.13.2). Тогда максимальный размер файла увеличивается до величины 512х(10+128+128**2)=8459264 байтов. Наконец, использование последнего, 13-го указателя на трижды косвенный блок из 128 ссылок на дважды косвенные блоки, дает предельную длину в файловой системе: 512х(10+128+128**2+128***3)=1082201088 байтов (см. рис. 13.2).

Другие версии системы UNIX могут отличаться количеством ссылок в i-узле, косвенных блоках и размером блока данных.

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


Рис. 13.2.




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