Linux. Алексей Стахнов
Чтение книги онлайн.

Читать онлайн книгу Linux - Алексей Стахнов страница 30

СКАЧАТЬ записи в файле каталога приведена в приложении 1 (табл. П1.6).

      Система адресации данных

      Система адресации данных позволяет находить нужный файл среди блоков на диске. В Ext2 система адресации реализуется полем i_block индексного дескриптора файла.

      Поле i_block в индексном дескрипторе файла представляет собой массив из 15 адресов блоков. Первые 12 адресов в этом массиве (EXT2 NDIR BLOCKS [12]) представляют собой прямые ссылки на номера блоков, в которых хранятся данные из файла. Следующий адрес в этом массиве является косвенной ссылкой (адресом блока), в котором хранится список адресов следующих блоков с данными из этого файла. Следующий адрес в поле i_block индексного дескриптора указывает на блок двойной косвенной адресации (double indirect block). Этот блок содержит список адресов блоков, которые, в свою очередь, содержат списки адресов следующих блоков данных того файла, который задается индексным дескриптором.

      Последний адрес в поле i_block индексного дескриптора задает адрес блока тройной косвенной адресации, т. е. блока со списком адресов блоков, которые являются блоками двойной косвенной адресации.

Оптимизация производительности

      Файловая система Ext2 при операциях ввода/вывода использует буферизацию данных. При считывании блока информации ядро выдает запрос операции ввода/вывода на несколько расположенных рядом блоков. Такие oneрации сильно ускоряют извлечение данных при последовательном считывании файлов.

      При занесении данных в файл файловая система Ext2, записывая новый блок, заранее размещает рядом до 8 смежных блоков. Такой метод позволяет размещать файлы в смежных блоках, что ускоряет их чтение и дает возможность достичь высокой производительности системы.

Средства управления файловой системы Ext2

      Средства управления файловой системы служат для создания, модификации и коррекции любых искажений файловой структуры:

      • mke2fs – применяется для установки дискового раздела, содержащего пустую файловую систему Ext2;

      • tune2fs – используется для настройки параметров файловой системы;

      • e2fsck – предназначена для устранения несоответствий в файловой системе;

      • ext2ed – применяется для правки файловой системы;

      • debugfs – предназначена для определения и установки состояния файловой системы.

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

      Если e2fsck находит блоки данных, номера которых содержатся более чем в одном дескрипторе, то запускаются проходы с IB по 1D для устранения несоответствия: либо путем увеличения разделяемых блоков, либо удалением одного или более дескрипторов.

      Во втором проходе производится проверка каталогов как отдельных элементов файловой системы. Блок каждого каталога проверяется отдельно, СКАЧАТЬ