Каковы детали структуры файловой системы EXT2?

Я пытаюсь обернуть голову вокруг файловой системы EXT2, но я не могу найти ни одного места, которое подробно показывает мне файловую систему EXT2.

Я наконец-то сам составил схему. Так что я дошел до этого. Теперь я пытаюсь выяснить следующее (я уже нашел некоторую информацию):

  • Количество байтов на сектор: 0,5 кБ - 4 кБ
  • Количество байтов в блоке: от 4 до 64 КБ
  • Количество секторов на блок: 1 - 128
  • Количество блоков в группе блоков:
  • Количество групп блоков на раздел:

Для меня безумие, что я не могу найти ни одного места, где есть эта информация.

РЕДАКТИРОВАТЬ: Также только что нашел это, что означает, что мои байты на номер блока, вероятно, неправильно:

#define EXT2_MIN_BLOCK_SIZE     1024
#define EXT2_MAX_BLOCK_SIZE     4096

1 ответ

Я обычно нахожу свою информацию о ext2 в вики osdev, которая, в свою очередь, ссылается здесь.

Количество байтов на блок 1024<<n где n дается в суперблоке и представляет собой 32-битное целое число. Теоретически, блок может быть где-то между 1024 и... большим количеством байтов. Обычно используются блоки размером 1, 2, 4 или 8 кБ, хотя это зависит от нескольких факторов, таких как размер раздела и ожидаемый средний размер файла.

Каждая группа блоков содержит один битовый массив свободных блоков. Это дает ограничение 8*block size на количество блоков в группе блоков. То же самое верно для инодов в группе блоков. Фактические значения находятся в суперблоке.

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

Другие вопросы по тегам