2013-05-05 5 views
1

Я читаю о файловой системе EXT2 и задаю много вопросов.Несколько вопросов о файловой системе EXT2

В первую очередь, опираясь на следующие ресурсы:
http://e2fsprogs.sourceforge.net/ext2intro.html
http://www.virtualblueness.net/Ext2fs-overview/Ext2fs-overview-0.1.html#toc7
http://www.nongnu.org/ext2-doc/ext2.html
http://www.tldp.org/LDP/tlk/fs/filesystem.html

  1. Блок группы имеют следующие структуры: |Super Block(backup)|Group Descriptors(backups)|Block Bitmap|Inode Bitmap|Inode Table|Data Blocks| (Как описано в первой ссылке) Означает ли это, что иноды не может требовать больше данных, чем то, что доступно в Data Block?
  2. Do Super Block(backup) и Group Descriptors(backups) обновляется во время операций над блочной группой? http://www.virtualblueness.net/Ext2fs-overview/Ext2fs-overview-0.1-7.html отмечает, что

Каждая группа содержит блоки всю таблицу групповых дескрипторов в своем втором блоке, сразу после суперблоке. (???) Тем не менее, только первая копия (в группе 0) фактически используется ядром. Остальные экземпляры там для целей резервного копирования и могут быть полезны, если основная копия получает поврежден.

Если вы смотрели на источник Group Descriptor он не имеет entire table of group descriptors как первое предложение пытается подразумевать. (Может быть, я пропустил его) ??

Вся система резервного копирования не имеет никакого смысла. Правильное резервное копирование должно содержать в себе все копии, я не вижу, как это происходит.
3. Что было бы целью Inode Table?
4. Как Directories создавать подкаталоги? Каждая запись в таблице каталогов указывает на запись в Inode Table.

Спасибо! (у меня могут возникнуть другие вопросы.)

+0

Привет, мне просто интересно, получите ли вы ответ на второй вопрос. Чтобы быть конкретным, сколько копий таблицы дескрипторов группы будет обновляться при изменении одного дескриптора группы? – fengye87

ответ

2

Есть два типа групп блоков: типа резервного копирования и нормального типа:

Тип резервного копирования: содержит суперблоке и блок группового дескриптора таблицы Плюс ко всему в нормального типа (ниже).

Нормальный тип: Растровое изображение блока, битовое изображение Inode, таблица Inode и блоки данных.

резервной копии блока группами являются группы 0 и 1, и все группы, которые являются степенями 3, 5 и 7.

Каждый блок группы таблица дескрипторов содержит несколько дескрипторов группы блоков. Существует один блок-дескриптор группы блоков. Итак, если есть 450 групп блоков, тогда будет 450 дескрипторов группы блоков, рядом друг с другом в ОДНОМ блочном дескрипторе ТАБЛИЦА.

Целью таблицы inode является создание нескольких свободных индексных дескрипторов, которые могут быть использованы позже файловой системой. Вы не можете создавать новые иноды после создания файловой системы ext2/3. Это число FIXED, заданное при создании файловой системы.

Вот как создается каталог: выбирается бесплатный индексный дескриптор и выбирается для хранения информации о каталоге. Затем выбирается свободный блок данных для хранения информации о записях каталога. Даже пустой каталог содержит две записи каталога в блоке данных; запись каталога для своего собственного каталога, а другая - для родительского каталога. Таким образом, для нового каталога будет выбран индексный дескриптор, и будет выбран блок данных для хранения первых двух записей в каталоге. По мере создания новых файлов или каталогов в блок данных будет добавлено больше записей каталога.

0

В файловых системах, совместимых с Unix, должно быть inodes, что является центральной вещью в таких файловых системах.

Напомним, что файловые системы Unix могут иметь жесткие ссылки, добавленные в системный вызов link(2). Некоторые файлы могут иметь несколько имен, и все эти имена эквивалентны. И файл все еще существует на диске, когда он open(2) -ed каким-то процессом, даже если alll имена этого файла были позже unlink(2) -ed. В частности, это способ сделать временный файл.

Так на самом деле, инф.узлов реальный файл (в файловой системе), а также записи каталога содержат имен для них (ассоциированных с номером индексного дескриптора на диске).

Фактически, Ext2 является устаревшим и развивается до Ext4. Прочитайте обе страницы wikipedia.