LinuxForum.Fans
Тема

Файловая система Ext2.

Автор: clank 5 сообщений 888 просмотров
#378699

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

Показать

Везде пишут, что индексный дескриптор и inode это понятия одного и того же, то есть это структура данных, в которой находятся атрибуты и физическое расположение файла. Но по схеме -- у каждой группы блоков есть дескриптор, который включает битовые карты и таблицу inode'ов файлов. Получается, что дескриптор группы блоков и индексный дескриптор -- это разные понятия: первый содержит информацию о данных занятости блоков и inode'ов группы и таблицу этих inode'ов, а второй -- уже параметры и физ. расположение фала.
Прав ли я или, заблуждаюсь (запутался)?

#378717

Для тех, кого этот вопрос так же интересует, я отвечу (почитал отрывки из соответствующей литературы):

Каждая группа блоков описывается при помощи дескриптора группы блоков. Дескриптор группы – это структура, которая содержит информацию об адресах битовой карты занятости блоков, битовой карты занятости inode и таблицы inode соответствующей группы. Все дескрипторы групп собраны в таблицу дескрипторов групп, которая хранится в группе блоков 0. Так же, как и для суперблока, операционная система создает резервные копии таблицы дескрипторов групп. То есть это разное понятие с индексным дескриптором, как и предполагалось в вопросе выше.

#378720

"clank" написал:
операционная система создает резервные копии
точнее mke2fs создаёт. Сама система никогда не трогает все эти структуры. Их чутка можно подправить только tune2fs. Далее вся структура остаётся неизменной. Вплоть до количества и расположения inode.

"clank" написал:
Везде пишут, что индексный дескриптор и inode это понятия одного и того же
ну так и есть. Но вот дескриптор групп -- совсем другое.

Просто на практике почти никогда нет нужды работать с дескриптором групп, а всегда имеешь дело с inode. А дескриптор групп представляет академический интерес только.
#378722

drBatty, спасибо, что подправили, я там из книги цитировал (кроме первого и последнего предложения). Я еще хочу про другие файловые системы прочитать, в том числе и про новые версии Ext, можете, пожалуйста, сказать заранее, а между этими версиями много различий?

#378725

"clank" написал:
про новые версии Ext, можете, пожалуйста, сказать заранее, а между этими версиями много различий?
не. Не много.

Основное отличие EXT3 это журнал. Запись идёт транзакциями, и транзакция считается выполненной тогда, и только тогда, когда транзакция полностью завершена. Потому, если вырубить носитель во время записи, то с вероятностью 95% всё будет в порядке, структура не пострадает, а файл который записывался вернётся к последнему непротиворечивому состоянию (обычно это когда длинна равна 0). Журналируется на практике только структура, но не данные. Важное отличие от ext2 также в том, что ext3 обнуляет список занятых блоков в inode при удалении файла. Потому восстановление удалённого файла в общем случае невозможно. За то система отлично вытаскивает потерянные файлы, которые могут появится из-за нарушения структуры ФС. Т.е. файловая система намного надёжнее ещё и по тому, что даже после порчи структуры ФС в состоянии отличить "потерянные" файлы от тех, которые были удалены намеренно(например заменены новой версией).

В EXT4 отличия не очень радикальные. Но их много. Больше всего мне понравилась скорость работы fsck, которая значительно выше, чем в ext3.
Войдите или зарегистрируйтесь, чтобы ответить.