Техническое описание функциональных возможностей Ext4 как файловой системы в Linux. Изучение группы блоков Ext4: суперблок, блок описания группы, битовые карты, таблица индексных дескрипторов. Оценка стабильности, производительности и совместимости Ext4.
«Московский государственный технический университет имени Н.Э. Факультет «Информатика и системы управления» Кафедра «Компьютерные системы и сети»Традиционные файловые системы, произошедшие от Unix, такие как Ext3, используют схему непрямого отображения блоков для отслеживания каждого блока, отвечающего за хранение данных файла. Например, файл размером в 100 мегабайт может храниться в единственном экстенте такого же размера, вместо того, чтобы быть разбитым на 25600 4-килобайтных блоков, адресуемых путем непрямого отображения. Если в Ext3 нужно записать на диск новые данные, специальный механизм распределения блоков определяет, какие блоки из числа свободных будут для этого использованы. Например, если процесс осуществляет запись вызовом write(), файловая система распределит блоки под запись немедленно - даже если данные пока не будут записываться на диск, а будут находиться какое-то время в кэше. Недостатки такого подхода, например, в том, что, если процесс непрерывно осуществляет запись в растущий файл, последовательные вызовы write() постоянно распределяют блоки данных, и при этом неизвестно, будет ли файл расти далее.Каждая группа блоков состоит из следующих частей: суперблок, описание группы, резервные блоки, битовая карта блоков, битовая карты индексных дескрипторов, таблица индексных дескрипторов, блоки данных (таблица 1).Он хранится в первом блоке каждой группы блоков (за исключением группы 1, в которой в первом блоке расположена загрузочная запись). Информация, хранимая в суперблоке, используется для организации доступа к остальным данным на диске: определяется размер файловой системы, максимальное число файлов в разделе, объем свободного пространства и содержится информация о том, где искать незанятые участки и многое другое Структура суперблока приведена в таблице 2. 1 2 s_inodes_count Общий счетчик индексных дескрипторов s_blocks_count_lo Общий счетчик блоков s_r_blocks_count_lo Реверсивный счетчик блоков s_free_blocks_count_lo Счетчик свободных блоков s_free_inodes_count Счетчик свободных индексных дескрипторов s_first_data_block Первый блок данных s_log_block_size Блок размером 2 ^ (10 s_log_block_size). s_obso_log_frag_size Размер фрагмента s_blocks_per_group Количество блоков в группе s_obso_frags_per_group Количество фрагментов в группе s_inodes_per_group Количество индексных дескрипторов в группе s_mtime Время установки s_wtime Время записи s_mnt_count Количество установок после последней процедуры проверки на ошибки s_max_mnt_count Количество установок, после которых необходима проверка на ошибки. s_lastcheck Время последней проверки s_checkinterval Максимальное время между проверками s_creator_os ОС: 0 - Linux, 1 - Hurd, 2-Masix, 3 - Free BSD, 4 - Lites s_first_ino Первый не зарезервированный индексный дескриптор s_inode_size Размер структуры индексного дескриптора (в байтах) s_feature_compat Набор флагов, непонимание которых ядром не приводит к остановке работы: - Наличие журнала - Поддержка расширенных атрибутов и другие s_feature_incompat Набор флагов, непонимание которых ядром или процедурой проверки привдит к остановке: - Сжатие - Директория записи типов файла - Файловая система требует восстановления - Группы мета-блоков - Файлы использую экстенты - Индексные дескрипторы могут быть использованы для больших расширенных атрибутов - Данные в каталоге и другие s_feature_ro_compat Набор флагов, непонимание которых ядром не запрещает их использование для чтения: - Разрежение суперблоков - ФС может быть использована для хранения файлов больше 2Гб - ФС имеет файлы, размер которых представлен в единицах логических блоков, а не 512-байтовых секторов - Для группы дескрипторов вычисляется контрольная сумма - Существовании в ФС больших индексных дескрипторов - ФС имеет резервную копию и другие s_volume_name[16] Метка тома s_last_mounted[64] Каталог, для которого ФС была установлена последней s_algorithm_usage_bitmap Для сжатия s_journal_inum Номер индексного дескриптора файла журнала s_journal_dev Номер устройства, на котором расположен файл журнала s_last_orphan Start of list of orphaned inodes to delete. s_hash_seed[4] HTREE hash seed. s_def_hash_version Алгоритм хэширования, используемый для папок по умолчанию, один из: 0x0 Legacy. 0x5 Tea, unsigned.
План
Оглавление
Введение
1. Новые возможности ext4 (в сравнении с ext3)
2. Структура группы блоков
2.1 Суперблок
2.2 Блок описания группы
2.3 Битовые карты
2.4 Таблица индексных дескрипторов
3. Совместимость
Вывод
Список использованных источников
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы