4.5 СУПЕРБЛОК

4.5 СУПЕРБЛОК

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

Суперблок состоит из следующих полей:

• размер файловой системы,

• количество свободных блоков в файловой системе,

• список свободных блоков, имеющихся в файловой системе,

• индекс следующего свободного блока в списке свободных блоков,

• размер списка индексов,

• количество свободных индексов в файловой системе,

• список свободных индексов в файловой системе,

• следующий свободный индекс в списке свободных индексов,

• заблокированные поля для списка свободных блоков и свободных индексов,

• флаг, показывающий, что в суперблок были внесены изменения.

В оставшейся части главы будет объяснено, как пользоваться массивами, указателями и замками блокировки. Ядро периодически переписывает суперблок на диск, если в суперблок были внесены изменения, для того, чтобы обеспечивалась согласованность с данными, хранящимися в файловой системе.