До сих пор в этой главе описывалась структура файла, при этом предполагалось, что индекс предварительно связывался с файлом и что уже были определены дисковые блоки, содержащие информацию. В следующих разделах описывается, каким образом ядро назначает индексы и дисковые блоки. Чтобы понять эти алгоритмы, рассмотрим структуру суперблока.
Суперблок состоит из следующих полей:
- размер файловой системы,
- количество свободных блоков в файловой системе,
- список свободных блоков, имеющихся в файловой системе,
- индекс следующего свободного блока в списке свободных блоков,
- размер списка индексов,
- количество свободных индексов в файловой системе,
- список свободных индексов в файловой системе,
- следующий свободный индекс в списке свободных индексов,
- заблокированные поля для списка свободных блоков и свободных индексов,
- флаг, показывающий, что в суперблок были внесены изменения.
В оставшейся части главы будет объяснено, как пользоваться массивами, указателями и замками блокировки. Ядро периодически переписывает суперблок на диск, если в суперблок были внесены изменения, для того, чтобы обеспечивалась согласованность с данными, хранящимися в файловой системе.
Предыдущая глава || Оглавление || Следующая глава