Каждый жесткий диск состоит из одной или нескольких логических частей, называемых разделами (partitions). Расположение и размер раздела определяются при форматировании диска. В UNIX разделы выступают в качестве независимых устройств, доступ к которым осуществляется как к различным носителям данных.
Каждый раздел может содержать в себе лишь одну файловую систему.
В общем случае, файловая система не может занимать несколько разделов. Для того чтобы создать единую файловую систему, занимающую несколько дисков или разделов диска, используется менеджер логических томов (LVM).
Каждая файловая система является независимой и содержит собственный корневой каталог, подкаталоги, файлы, а также ассоциированные с ними данные и метаданные. Файловое дерево, видимое пользователем, формируется из одной или нескольких файловых систем. В начале раздела находится загрузочная область, содержащая код, необходимый для начальной загрузки и инициализации ОС.
Несмотря на существующие различия между файловыми системами различного типа, состоят они из одинаковых компонент:
- Загрузочный блок зарезервированная область, которая находится в самом начале файловой системы. На первичном диске она содержит фрагмент кода, который загружает систему при запуске. На вторичных дисках он, скорее всего, будет пустым. Загрузочный блок есть в любой файловой системе независимо от того, используется он или нет.
- Суперблок (superblock). Содержит общую информацию о файловой системе.
- Массив индексных дескрипторов (ilist). Содержит метаданные файлов файловой системы.
- Блоки хранения данных. Данные обычных файлов и каталогов хранятся в блоках. Обработка файла осуществляется через индексный дескриптор, содержащий ссылки на блоки данных.
Суперблок
Суперблок содержит метаданные применительно к файловой системе. В каждой файловой системе имеется один суперблок, располагающийся в начале диска. Ядро считает данные из суепрблока при монтировании файловой системы и хранит их в памяти до тех пор, пока система не будет размонтирована. Суперблок содержит следующую информацию:
размер файловой системы в блоках;
размер списка индексных дескрипторов в блоках;
количество свободных блоков и индексных дескрипторов;