Основы операционных систем. Практикум

       

Понятие суперблока


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

  • Тип файловой системы.
  • Флаги состояния файловой системы.
  • Размер логического блока в байтах (обычно кратен 512 байтам).
  • Размер файловой системы в логических блоках (включая сам суперблок и массив inode).
  • Размер массива индексных узлов (т.е. сколько файлов может быть размещено в файловой системе).
  • Число свободных индексных узлов (сколько файлов еще можно создать).
  • Число свободных блоков для размещения данных.
  • Часть списка свободных индексных узлов.
  • Часть списка свободных блоков для размещения данных.

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



Содержание раздела