Физическая структура файловой системы EXT2fs

Физическая структура файловой системы EXT2fs была разработана под влиянием принципов, заложенных в файловой системе BSD. Одним из ключевых элементов этой структуры является понятие "группы блоков".

Группа блоков: Этот концепт аналогичен группе цилиндров, применяемой в BSD FFS. Основная идея состоит в том, чтобы объединять блоки в группы. Однако, в отличие от BSD FFS, группа блоков не привязана к физическому расположению на диске. Это обусловлено тем, что современные дисковые накопители оптимизированы для последовательного чтения и обычно "скрывают" свою внутреннюю структуру от операционной системы.

Дублирование контрольной информации: Для повышения надежности и устойчивости к сбоям, каждая группа блоков содержит дубликаты ключевой контрольной информации, такой как суперблок и дескрипторы файловой системы. Это гарантирует, что даже при повреждении одного из суперблоков, система будет способна восстановиться, используя дубликат из другой группы блоков.

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

Структура каталогов: В EXT2fs каталоги организованы в виде связанных списков, где каждая запись обладает переменной длиной. Это позволяет эффективно хранить информацию о файлах, особенно с длинными именами, оптимизируя при этом использование дискового пространства. Каждая запись в таком каталоге содержит номер индексного дескриптора, длину записи, имя файла и его длину.