You are on page 1of 2

Файловая система s5 занимает слайс диска и состоит из трех основных компонентов:

- суперблок;

- массив индексных дескрипторов;

- блоки данных.

Суперблок содержит общую информацию о файловой системе:

- тип файловой системы;

- размер файловой системы в логических блоках, включая сам суперблок, массив


дескрипторов и блоки данных;

- размер массива индексных дескрипторов;

- число свободных блоков, доступных для размещения;

- число свободных блоков для размещения дескрипторов;

- размер логического блока;

- список номеров свободных дескрипторов;

- список адресов свободных блоков.

Массив индексных дескрипторов. Индексный дескриптор (inode) содержит информацию о


файле, т.е. метаданные файла. Каждый файл связан с одним inode, хотя может иметь
несколько имен в файловой системе, каждое из которых будет указывать на один и тот же
inode. Поля индексного дескриптора содержат следующую информацию:

- тип файла и права доступа;

- число ссылок на файл, т.е. количество имен, которые имеет файл в файловой системе;

- идентификаторы владельца и группы;

- размер файла в байтах; для специальных файлов это поле содержит старший и младший
номера устройств;

- время последнего доступа к файлу;

- время последней модификации файла;

- время последней модификации inode;

- массив адресов дисковых блоков, где хранятся данные файла.

Массив адресов дисковых блоков содержит информацию о расположении данных файла.


Поскольку дисковые блоки хранения данных файла могут располагаться не
последовательно, inode должен хранить физические адреса блоков, принадлежащих
данному файлу. В индексном дескрипторе эта информация хранится в виде массива,
каждый элемент которого содержит физический адрес дискового блока, а индексом
массива является номер логического блока файла. Массив имеет фиксированный размер и
состоит из 13 элементов. Первые 10 элементов адресуют непосредственно блоки хранения
данных файла. Одиннадцатый элемент адресует блок, в свою очередь содержащий адреса
блоков хранения данных. Двенадцатый элемент указывает на дисковый блок, тоже
хранящий адреса блоков, каждый из которых адресует блок хранения данных файла.
Тринадцатый элемент используется для тройной косвенной адресации, когда для
нахождения адреса блока хранения данных файла используется три дополнительных
блока.

Такой подход позволяет при относительно небольшом фиксированном размере


индексного дескриптора поддерживать работу с файлами, размер которых может
изменяться от нескольких байтов до десятка мегабайтов. Для относительно небольших
файлов (до 10 Кбайт при размере блока 1024 байта) используется прямая индексация,
обеспечивающая максимальную производительность. Для файлов, размер которых не
превышает 266 Кбайт (10Кбайт + 256*1024) достаточно простой косвенной адресации.
Наконец, при использовании тройной косвенной адресации можно обеспечить доступ к
16777216 блокам (256*256*256).

Как и во многих современных операционных системах, в ОС UNIX файлы организованы в


виде древовидной структуры, называемой файловой системой (file system). Каждый файл
имеет имя, определяющее его расположение в дереве файловой системы. Корнем этого
дерева является корневой каталог (root directory), имеющий имя "/".

Для ОС UNIX характерно, что в системе может присутствовать несколько файловых


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

You might also like