Файловая система Ext4
Техническое описание функциональных возможностей Ext4 как файловой системы в Linux. Изучение группы блоков Ext4: суперблок, блок описания группы, битовые карты, таблица индексных дескрипторов. Оценка стабильности, производительности и совместимости Ext4.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 12.04.2013 |
Размер файла | 31,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
«Московский государственный технический университет
имени Н.Э. Баумана»
(МГТУ им. Н.Э. Баумана)
Факультет «Информатика и системы управления»
Кафедра «Компьютерные системы и сети»
Группа ИУ6-62
КУРСОВАЯ РАБОТА
на тему: «Файловая система Ext4»
Студент: Порядин И.А.
Преподаватель: Пугачев Е.К.
Москва 2011
Оглавление
Введение
1. Новые возможности ext4 (в сравнении с ext3)
2. Структура группы блоков
2.1 Суперблок
2.2 Блок описания группы
2.3 Битовые карты
2.4 Таблица индексных дескрипторов
3. Совместимость
Вывод
Список использованных источников
Введение
Ext4 -- это результат эволюции Ext3, наиболее популярной файловой системы в Linux. Впервые экспериментальная поддержка ext4 была выпущена в виде патча для Linux версий 2.6.19-rc1-mm1 и 2.6.19-rc1-git8 10 октября 2006 года программистом Эндрю Мортоном. В настоящее время по умолчанию используется в следующих ОС:
- Ubuntu начиная с версии 9.1
- openSuse 11.2
- Mandriva Linux 2010
- Fedora 11
- Red Hat Enterprise Linuх начиная с версии 6
- PCLinux 2010
Кроме этого, поддерживается в Ubuntu 9.04, Debian 6.0, Fedora 9.
В системах Windows доступ к томам с ext4 возможен посредством использования технологии coLinux. Поддержка Просмотра/Чтения реализована в программе Ext2read. Частичный функционал работы с ext4 на уровне драйвера Windows реализован в Ext2Fsd Project.
1. Новые возможности ext4 (в сравнении с ext3)
Использование экстентов
Традиционные файловые системы, произошедшие от Unix, такие как Ext3, используют схему непрямого отображения блоков для отслеживания каждого блока, отвечающего за хранение данных файла. Такой подход неэффективен для больших файлов, особенно при операциях удаления и усечения таких файлов, поскольку карта соответствия содержит по одной записи на каждый отдельный блок. В больших файлах блоков много, их карты соответствия большие, и обрабатываются они медленно.
В современных файловых системах применяется иной подход, основанный на так называемых экстентах. Экстент -- это в общем-то набор последовательных физических блоков. Он как бы говорит нам: «Эти данные находятся в следующих n блоках». Например, файл размером в 100 мегабайт может храниться в единственном экстенте такого же размера, вместо того, чтобы быть разбитым на 25600 4-килобайтных блоков, адресуемых путём непрямого отображения. Экстенты позволяют адресовать большое количество (до 128 MB) последовательно идущих блоков одним дескриптором. До 4х указателей на экстенты может размещаться непосредственно в индексном дескрипторе, что достаточно для файлов маленького и среднего размера.
48-битные номера блоков
На сегодняшний день максимальный размер файловой системы Ext3 равен 16 терабайтам, а размер файла ограничен 2 терабайтами. В Ext4 добавлена 48-битная адресация блоков, что означает, что максимальный размер этой файловой системы равен одному экзабайту
Выделение блоков группами (multiblock allocation)
Если в Ext3 нужно записать на диск новые данные, специальный механизм распределения блоков определяет, какие блоки из числа свободных будут для этого использованы. Проблема в том, что в Ext3 этот механизм распределяет за один подход только один блок (4 килобайта). Это означает, что, если нужно записать, скажем, 100 мегабайт данных, нужно будет обратиться к механизму распределения 25600 раз. Мало того, что это неэффективно, это к тому же не позволяет оптимизировать политику распределения, поскольку соответствующий механизм не имеет понятия о реальном объёме данных, подлежащем записи, а знает только об одном-единственном блоке.
Ext4 использует механизм многоблочного распределения (multiblock allocator, mballoc) который позволяет распределить любое количество блоков с помощью единственного вызова и избежать огромных накладных расходов. Файловая система хранит не только информацию о местоположении свободных блоков, но и количество свободных блоков, идущих друг за другом. При выделении места файловая система находит такой фрагмент, в который данные могут быть записаны без фрагментации. Это снижает уровень фрагментации файловой системы в целом. Благодаря этому производительность существенно вырастает, что особенно заметно при отложенном распределении с использованием экстентов. Эта возможность никак не влияет на формат данных.
Отложенное выделение блоков (delayed allocation)
Суть этого метода состоит в отсрочке выделения блоков насколько это возможно -- по контрасту с подходом, применямым в традиционных файловых системах (таких как Ext3, reiser3 и т. д.): распределять блоки сразу, при первой возможности. Например, если процесс осуществляет запись вызовом write(), файловая система распределит блоки под запись немедленно -- даже если данные пока не будут записываться на диск, а будут находиться какое-то время в кэше. Недостатки такого подхода, например, в том, что, если процесс непрерывно осуществляет запись в растущий файл, последовательные вызовы write() постоянно распределяют блоки данных, и при этом неизвестно, будет ли файл расти далее.
При использовании отложенного распределения блоки сразу не выделяются при обращении к write(). Вместо этого распределение откладывается до момента, когда файл будет записан из кэша на диск. Благодаря этому механизм получает возможность оптимизировать процесс распределения - операции выделения блоков можно делать не по одной, а группами, что в свою очередь минимизирует фрагментацию и ускоряет процесс выделения блоков. С другой стороны, увеличивает риск потери данных в случае внезапного пропадания питания.
Превышен лимит в 32000 каталогов.
В ext3, если не использовать специальные патчи, в одном каталоге можно было создать не более 32000 подкаталогов (или, если быть совсем точным, до 65535 каталогов, но только изменяя константы ядра). Ext4 снимает это ограничение и позволяет создавать неограниченное количество подкаталогов.
Резервирование индексных дескрипторов при создании каталога (directory inodes reservation)
При создании каталога резервируется несколько индексных дескрипторов. Впоследствии, при создании файлов в этом каталоге сначала используются зарезервированные индексные дескрипторы, и если таких не осталось, выполняется обычная процедура.
Увеличенный размер индексного дескриптора
Размер (по умолчанию) увеличен с 128 до 256 байтов. Это дало возможность реализовать те преимущества, которые перечислены ниже.
Временные метки с наносекундной точностью (nanosecond timestamps)
Более высокая точность времён, хранящихся в индексных дескрипторах. Диапазон хранящихся времён тоже расширен: если раньше верхней границей хранимого времени было 18 января 2038 года, то теперь это 25 апреля 2514 года
Версия индексного дескриптора
В индексном дескрипторе появился номер, который увеличивается при каждом изменении файла. Это будет использоваться, например, в NFSv4, для того чтобы узнавать, изменился ли файл.
Хранение расширенных атрибутов в индексном дескрипторе (EA in inode)
Хранение расширенных атрибутов, таких как ACL, атрибутов SELinux и прочих, позволяет повысить производительность. Атрибуты, для которых недостаточно места в индексном дескрипторе, хранятся в отдельном блоке размером 4KB. Предполагается снять это ограничение в будущем.
Контрольное суммирование в журнале (Journal checksumming)
Журнал является наиболее часто используемой частью диска, вследствие чего блоки, из которых он состоит, становятся особенно чувствительными к отказам оборудования. Более того, попытка восстановления при повреждённом журнале может привести к ещё более массовым повреждениям в данных. Ext4 подсчитывает контрольные суммы журнальных данных, что позволяет определить факт их повреждения. У этого есть и ещё одно преимущество: благодаря контрольным суммам можно превратить систему двухфазной фиксации журнала Ext3 в однофазную, что ускоряет файловые операции в отдельных случаях до 20 %, таким образом, улучшаются одновременно и надёжность, и производительность.
Режим без журналирования
Журналирование обеспечивает целостность файловой системы путём протоколирования всех происходящих на диске изменений. Но оно также вводит дополнительные накладные расходы на дисковые операции. В некоторых особых ситуациях журналирование и предоставляемые им преимущества могут оказаться излишними. Ext4 позволяет отключить журналирование, что приводит к небольшому приросту производительности.
Предварительное выделение (persistent preallocation)
Сейчас для того, чтобы приложению гарантированно занять место в файловой системе, оно заполняет его нулями. В ext4 появилась возможность зарезервировать множество блоков для записи и не тратить на инициализацию лишнее время. Если приложение попробует прочитать данные, оно получит сообщение о том, что они не проинициализированы. Таким образом, несанкционированно прочитать удалённые данные не получится. Плюсы предварительного выделения:
- предотвращение выполнение того же самого приложениями, неэффективно заполняющими файлы нулями -- нужные блоки будут выделены разом
- снижение фрагментации -- опять же потому, что блоки выделяются однократно, настолько непрерывно, насколько это возможно.
- приложение будет иметь столько места, сколько ему требуется, что особенно важно для приложений, работающих в реальном времени, поскольку файловая система может вдруг переполниться в процессе выполнения важной операции.
Дефрагментация без размонтирования (online Defragmentation)
Хотя отложенное и многоблочное распределение и экстенты помогают уменьшить фрагментированность файловой системы, со временем она всё-таки может вырасти. Например, вы создаёте три файла в одном каталоге и они расположены на диске друг за другом. Потом, однажды вы решаете обновить второй файл, и при этом файл становится несколько больше -- так, что места для него становится недостаточно. При этом нет никаких других решений, кроме как отделить не вмещающийся фрагмент файла и положить его на другое место диска или выделить файлу последовательную область диска большего размера в другом месте, вдалеке от первых двух файлов, что приведёт к перемещениям головки диска, если приложению потребуется считать все файлы в каталоге (скажем, менеджер файлов будет создавать эскизы для файлов изображений). Помимо этого, файловая система может заботиться только об определённых типах фрагментации и она не может знать, например, что она должна хранить все файлы, требуемые при загрузке, рядом друг с другом, поскольку она просто не знает, какие из них требуются при загрузке. Чтобы решить эту проблему, Ext4 будет поддерживать онлайн-дефрагментацию. файловая система битовая карта индексный дескриптор
Также имеется утилита e4defrag, которая позволяет дефрагментировать как отдельные файлы, так и всю файловую систему.
Неинициализированные блоки (uninitialised groups)
Пока не реализовано. Позволяет ускорить проверку файловой системы с помощью процедуры fsck. Блоки, отмеченные как неиспользуемые, проверяются группами, и детальная проверка производится, только если проверка группы показала, что внутри есть повреждения. Предполагается, что эта возможность может очень сильно ускорить процесс проверки целостности файловой системы; в зависимости от способа размещения данных время проверки будет составлять от 1/2 до 1/10 от нынешнего.
Механизм «шлагбаумов» по умолчанию включен
Это опция, обеспечивающая целостность файловой системы ценой некоторой потери производительности (её можно отключить). Код файловой системы обязан перед созданием записи фиксации журнала быть абсолютно уверенным, что вся информация о транзакции помещена в журнал. Просто делать запись в правильном порядке недостаточно; современные диски имеют кэш большого объёма и меняют порядок записи для оптимизации производительности. Поэтому файловая система обязана явно сообщить диску о необходимости записать все журнальные данные на носитель перед созданием записи фиксации; если сначала будет создана запись фиксации, журнал может быть повреждён. Блокирующая система ввода-вывода ядра предоставляет такую возможность благодаря использованию механизма «шлагбаумов» (barriers); проще говоря, «шлагбаум» запрещает запись любых блоков, посланных после него, до того момента, как всё, что было прислано перед «шлагбаумом», будет перенесено на носитель. При использовании «шлагбаумов» файловая система может гарантировать, что всё, что находится на диске, целостно в любой момент времени.
2. Структура группы блоков
Каждая группа блоков состоит из следующих частей: суперблок, описание группы, резервные блоки, битовая карта блоков, битовая карты индексных дескрипторов, таблица индексных дескрипторов, блоки данных (таблица 1).
Таблица 1 - Структура группы блоков
Супер блок (Super Block) |
Описание группы (Group Descriptors) |
Резервные блоки (Reserved GDT Blocks) |
Битовая карта блоков (Data Block Bitmap) |
Битовая карта индексных дескрипторов (inode Bitmap) |
Таблица индексных дескрипторов (inode Table) |
Данные (Data Blocks) |
2.1 Суперблок
Первый элемент этой структуры суперблок, который одинаков для всех групп, а все остальные - индивидуальны для каждой группы. Он хранится в первом блоке каждой группы блоков (за исключением группы 1, в которой в первом блоке расположена загрузочная запись). Суперблок является начальной точкой файловой системы. Он имеет размер 1024 байта и всегда располагается по смещению 1024 байта от начала файловой системы.
Информация, хранимая в суперблоке, используется для организации доступа к остальным данным на диске: определяется размер файловой системы, максимальное число файлов в разделе, объем свободного пространства и содержится информация о том, где искать незанятые участки и многое другое Структура суперблока приведена в таблице 2.
При запуске ОС суперблок считывается в память и все изменения файловой системы вначале находят отображение в копии суперблока, находящейся в ОП, и записываются на диск только периодически. Это позволяет повысить производительность системы, так как многие пользователи и процессы постоянно обновляют файлы. С другой стороны, при выключении системы суперблок обязательно должен быть записан на диск, что не позволяет выключать компьютер простым выключением питания. Размер суперблока - 1024 байта.
Таблица 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. 0x1 Half MD4. 0x2 Tea. 0x3 Legacy, unsigned. 0x4 Half MD4, unsigned. 0x5 Tea, unsigned. |
|
s_desc_size |
Размер группы дескрипторов |
|
s_default_mount_opts |
Набор параметров монтирования по умолчанию, например: - Вывод отладочной информации - Поддержка контрольных листов доступа POSIX - Не поддерживать 32-битные идентификаторы UID - Запись всех данных и метаданных в журнал - Отслеживать блоки для метаданных и не использовать их для данных и другие |
|
s_first_meta_bg |
Первый метаблок группы блоков |
|
s_mkfs_time |
Время создания ФС |
|
s_blocks_count_hi |
Старшие 32 бита счетчика блоков |
|
s_r_blocks_count_hi |
Старшие 32 бита реверсивного счетчика блоков |
|
s_free_blocks_count_hi |
Старшие 32 бита счетчика свободных блоков |
|
s_flags |
Один из следующих флагов: - Подписывать хэшированные дирректори - Не подписывать хэшированные директории - Проверка исходного кода |
|
s_raid_stride |
RAID шаг. Число логических блоков, считывающихся или записывающихся на диск до перехода на следующий |
|
s_snapshot_inum |
Номер индексного дескриптора актуальной резервной копии |
|
s_snapshot_id |
Последовательный номер резервной копии |
|
s_snapshot_r_blocks_count |
Количество блоков, зарезервированных для резервных копий |
|
s_snapshot_list |
Номер индексного дескриптора заголовка списка резервных копий |
|
s_error_count |
Счетчик ошибок |
|
s_first_error_time |
Время с момента появления первой ошибки |
|
s_first_error_ino |
Индексный дескриптор, в котором произошла первая ошибка |
|
s_first_error_block |
Номер блока, в котором произошла первая ошибка |
|
s_first_error_func[32] |
Название функции, в которой обнаружена первая ошибка |
|
s_first_error_line |
Номер строки, в которой произошла первая ошибка |
|
s_last_error_time |
Время последней ошибки |
|
s_last_error_ino |
Индексный дескриптор, в котором произошла последняя ошибка |
|
s_last_error_line |
Номер строки, в которой произошла последняя ошибка |
|
s_last_error_block |
Номер блока, в котором произошла последняя ошибка |
|
s_last_error_func[32] |
Название функции, в которой обнаружена последняя ошибка |
|
s_reserved[112] |
Заполнение до конца блока |
2.2 Блок описания группы
Вслед за суперблоком расположен блок описания группы (Group Descriptors). Это описание представляет собой массив, содержащий: адрес блока, содержащего битовую карту блоков (block bitmap) данной группы, адрес блока, содержащего битовую карту индексных дескрипторов (inode bitmap) данной группы, адрес блока, содержащего таблицу индексных дескрипторов (inode table) и т.д. (более подробная структура приведена в таблице 3)
Общий размер блока - 64 байта.
Таблица 3 - Структура блока описания группы
Название |
Описание |
|
1 |
2 |
|
bg_block_bitmap_lo |
Младшие биты размещения битовой карты блока |
|
bg_inode_bitmap_lo |
Младшие биты размещения битовой карты индексных дескрипторов. |
|
bg_inode_table_lo |
Младшие биты размещения таблицы индексных дескрипторов |
|
bg_free_blocks_count_lo |
Младшие биты счетчика свободных блоков |
|
bg_free_inodes_count_lo |
Младшие биты счетчика свободных индексных дескрипторов |
|
bg_used_dirs_count_lo |
Младшие биты счетчика директорий |
|
bg_flags |
Флаги: - таблица индексных дескрипторов и битовая карта не инициализированы - блок битовой карты не инициализирован - таблица индексных дескрипторов обнулена |
|
bg_reserved[2] |
Контрольная сумма битовой карты индексных дескрипторов |
|
bg_itable_unused_lo |
Младшие биты счетчика неиспользуемых индексных дескрипторов |
|
bg_checksum |
Набор контрольных сумм дескрипторв |
|
bg_block_bitmap_hi |
Старшие биты размещения битовой карты блока |
|
bg_inode_bitmap_hi |
Старшие биты размещения битовой карты индексных дескрипторов. |
|
bg_inode_table_hi |
Старшие биты размещения таблицы индексных дескрипторов |
|
bg_free_blocks_count_hi |
Старшие биты счетчика свободных блоков |
|
bg_free_inodes_count_hi |
Старшие биты счетчика свободных индексных дескрипторов |
|
bg_used_dirs_count_hi |
Старшие биты счетчика директорий |
|
bg_itable_unused_hi |
Старишие биты счетчика неиспользуемых индексных дескрипторов |
|
bg_reserved2[3] |
Заполнение до 64 байтов |
2.3 Битовые карты
Битовые карты отделяются от блока описания группы несколькими резервными блоками, выделяемыми при форматировании, предназначенными для дальнейшего расширения файловой системы.
Битовая карта блоков (Data Block Bitmap) - это структура, каждый бит которой показывает, отведен ли соответствующий ему блок какому- либо файлу. Если бит равен 1, то блок занят. Эта карта служит для поиска свободных блоков в тех случаях, когда надо выделить место под файл.
Битовая карта индексных дескрипторов (inode Bitmap) - выполняет аналогичную функцию по отношению к таблице индексных дескрипторов: показывает какие именно дескрипторы заняты.
2.4 Таблица индексных дескрипторов
Служит для хранения таблицы индексных дескрипторов файлов. Подробнее в таблице 4. Блока - 156 байтов, в дальнейшем возможно расширение до 256.
Таблица 4 - Структура индексного дескриптора
Название |
Описание |
|
1 |
2 |
|
i_mode |
Атрибуты файла: 0x80 S_IWUSR - Владелец может записать 0x100 S_IRUSR - Владелец может прочитать Взаимоисключающие типы: 0x1000 S_IFIFO - FIFO 0x2000 S_IFCHR - Символьное устройство 0x4000 S_IFDIR - Папка 0x8000 S_IFREG - Обычный фал 0xA000 S_IFLNK - Ярлык 0xC000 S_IFSOCK - Socket |
|
i_uid |
Младшие биты идентификатора владельца |
|
i_size_lo |
Младшие биты размера в байтах |
|
i_atime |
Время последнего обращения |
|
i_ctime |
Время последнего изменения индексного дескриптора |
|
i_mtime |
Время последнего изменения |
|
i_dtime |
Время удаления |
|
i_links_count |
Hard link count. |
|
i_blocks_lo |
Младшие биты блока счетчика |
|
i_flags |
Флаги индексного дескриптора: - Файл требует защищенного удаления - Сжатый файл - Записаи в фйайл должны быть синхронными - Файл только для чтения - Файл только для добавления - Не обновлять время доступа - Черновое сжатие - Файл содержит сжатые кластеры - Не сжимать файл - Ошибка сжатия - Данные в файл должны записываться через журнал - Индексные дескриптор использует экстенты и другие. |
|
Uniob osd1 |
4 байта значений зависимых от ОС |
|
i_block[EXT4_N_BLOCKS=15] |
Карта блока или дерево экстентов |
|
i_generation |
Версия файла (для NFS) |
|
i_file_acl_lo |
Младшие биты блока дополнительных атрибутов |
|
i_size_high |
Старшие биты размера файла |
|
Union osd2 |
12 байтов значений зависимых от ОС |
|
i_mtime_extra |
Дополнительные биты времени модификации (обеспечивают точность в доли секунды) |
|
i_atime_extra |
Дополнительные биты времени обращения (обеспечивают точность в доли секунды) |
|
i_crtime |
Время создания файла |
|
i_crtime_extra |
Дополнительные биты времени создания (обеспечивают точность в доли секунд) |
|
i_version_hi |
Верхние биты номера версии |
3. Совместимость
Любая имеющаяся файловая система типа Ext3 может быть конвертирована в Ext4 путём простой процедуры, состоящей из запуска пары команд в режиме «только чтение». Это означает, что вы можете повысить производительность и вместимость и улучшить возможности вашей имеющейся файловой системы без переформатирования и без переустановки ОС и программ. Если вы хотите получить преимущества Ext4 в production-системе, вы также можете обновить файловую систему. Эта процедура безопасна и не подвергает риску ваши данные (при этом, само собой, рекомендуется сделать резервную копию важных данных. Впрочем, это нужно делать, даже если вы не собираетесь менять файловую систему).
Ext4 будет использовать новые структуры только для новых данных, а старые при этом останутся неизменными. При необходимости их можно будет читать и изменять. Это безусловно означает, что, единожды сменив файловую систему на Ext4, вернуть Ext3 будет уже невозможно.
Также имеется возможность смонтировать файловую систему Ext3 как Ext4 без использования нового формата данных, что позволит впоследствии смонтировать её опять как Ext3. При этом, само собой, вы не сможете воспользоваться многочисленными преимуществами Ext4.
Вывод
Во многих аспектах Ext4 представляет собой больший шаг вперёд по сравнению с Ext3, чем Ext3 была по отношению к Ext2. Наиболее значительным усовершенствованием Ext3 по сравнению с Ext2 было журналирование, в то время как Ext4 предполагает изменения в важных структурах данных, таких как, например, предназначенных для хранения данных файлов.
Ext4 работает быстрее, особенно хорошо это заметно при работе с большими файлами. Достигается это за счет эффективного использования дискового пространства. Увеличена скорость проверки и восстановления данных путем добавлением списка неиспользованных индексных дескрипторов, которые не будут проверяться, а также использованием контрольных сумм.
В целом, файловая система стала стабильнее, производительнее и дополнилась рядом новых функций и возможностей.
Список использованных источников
1. Пугачев Е.К. Методические указания по выполнению домашнего задания по дисциплине "Операционные системы".- М.: МГТУ им. Н.Э. Баумана, 2007. - 4 с. - В электронном виде.
2. https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout.
3. Пугачев Е.К. Курс лекций. 2011.
4. http://habrahabr.ru/blogs/linux/58183.
Размещено на Allbest.ru
...Подобные документы
Распространенные файловые системы. Обзор файловой системы FAT. Имена файлов в FAT. Файловая система FAT 32. Файловая система HPFS: суперблок, запасной блок, преимущества и недостатки. Файловая система NTFS. Устранение ограничения. Сравнение систем.
реферат [31,5 K], добавлен 27.10.2007Порядок, определяющий организацию, хранения и именования данных на носителях информации в компьютерах. Классификация файловых систем. Основные функции файловой системы Linux. Нарушения целостности файловой системы при некорректном завершении работы.
презентация [405,2 K], добавлен 10.10.2011Этапы загрузки Linux-системы, регистрация. Управление учетными записями пользователей. Принцип именования устройств, назначение и применение специальных файлов. Управление файлами, доступом к файловой системе, заданиями. Базовая файловая структура Linux.
методичка [1,6 M], добавлен 15.11.2014Правила монтирования и демонтирования файловых систем на диске. Описание полей файла /etc/fstab. Создание суперблока, таблицы индексного дескриптора, совокупности блоков данных. Строение и структура описания группы блоков. Система адресации данных.
презентация [143,1 K], добавлен 20.12.2013FAT - простая файловая система, разработанная для небольших дисков и простых структур каталогов. Структура папки FAT. Размеры кластеров по умолчанию для FAT16 и FAT32. Сравнение их характеристик. Обзор файловой системы FAT и ее основные преимущества.
статья [24,2 K], добавлен 30.04.2010Виртуальная файловая система. Файловая система Ext2fs (Linux ext2 File System). Использование операционной системы Linux. Настройка веб-сервера Apache. Управление Web-сервером. Комплекс системных программных средств, реализующих управление файлами.
курсовая работа [167,4 K], добавлен 25.12.2013Понятие сектора. Обобщенная структура диска с FAT. Расчет емкости диска с ФС FAT. Требования к файловой системе высокого уровня. Структура тома NTFS. MFT – главная файловая таблица. Номера кластеров, адреса, отрезки. Резидентные атрибуты файловой записи.
презентация [68,4 K], добавлен 20.12.2013Иерархическая структура файловой системы Unix. Согласованная обработка массивов данных, возможность создания и удаления файлов, буферный кэш. Защита информации, трактовка периферийных устройств как файлов. Внутренняя структура файловой системы Unix.
реферат [102,2 K], добавлен 23.03.2010Особенности и принцип действия файловой системы NTFS - одной из самых сложных и удачных из существующих на данный момент файловых систем. Функции файловой системы NTFS: разреженные файлы, журнал изменений, компрессия файлов и каталогов, жесткие связи.
реферат [17,4 K], добавлен 24.12.2010Основное назначение файловой системы как эффективное решение задачи. История создания и общая характеристика файловой системы FAT. Характеристика файловых систем FAT16 и FAT32 и их сравнение. Альтернативная файловая система NTFS и её сравнение с FAT32.
реферат [27,2 K], добавлен 01.12.2014Определение файловой системы. Виртуальные и сетевые файловые системы. Структура и версии системы FAT. Определение максимального размера кластера. Драйверы файловой системы, файлы и каталоги. Способы доступа к файлам, находящимся на удаленном компьютере.
доклад [29,2 K], добавлен 11.12.2010Управление памятью в операционной системе Linux. Физическая и виртуальная память. Исполнение и загрузка пользовательских программ, файловая система. Передача данных между процессами. Структура сети в операционной системе. Развитие и использование Linux.
презентация [1,4 M], добавлен 24.01.2014Анализ технических возможностей операционной системы Mandriva Linux - дистрибутива GNU/Linux, разрабатываемого французской компанией Mandriva, выпускающей свободные, коммерческие и корпоративные версии своего дистрибутива. Этапы установки оболочки Linux.
презентация [26,2 M], добавлен 23.05.2010Использование номеров индексных дескрипторов для обозначения файлов в программах для системных администраторов в операционной системе UNIX. Описание индексного дескриптора в POSIX. Адрес индексного дескриптора в записи директории, относящейся к файлу.
контрольная работа [31,7 K], добавлен 18.06.2014Изучение подсистемы ввода-вывода и файловой системы ОС семейства Windows NT. Анализ особенностей работы приложения TotalCommander и его взаимодействия с файловой системой и подсистемой ввода-вывода. Взаимодействие TotalCommander с сетевыми адаптерами.
лабораторная работа [1,1 M], добавлен 12.06.2012Файловая система как "пространство", в котором размещаются файлы. Типы файлов, их логическая организация. Файловая система FAT32: структура и кластеры. Структура файловой системы NTFS, ее каталоги. Сравнительная характеристика систем FAT32 и NTFS.
статья [436,0 K], добавлен 14.05.2010Файловая система NTFS, информация о файлах и каталогах тома. Основная файловая таблица MTF, файлы метаданных NTFS (журнал, файл тома, загрузочный файл). Форматирование высокого уровня. Интерфейсы АТАРI и SCSI. Параметры параллельной шины ввода-вывода.
презентация [34,4 K], добавлен 27.08.2013Linux – одна из наиболее популярных распространяемых бесплатно операционных систем. Работа с базовым ограниченным набором программ по умолчанию. Характеристика основных программ, которые расширяют возможности операционной системы Linux для пользователя.
презентация [486,5 K], добавлен 09.10.2013Структура раздела, MFT и его структура, метафайлы и их назначение. Каталоги, возможности безопасности, требуемые для файловых серверов и высококачественных персональных компьютеров в корпоративной среде. Главная файловая таблица, атрибуты файла NTFS.
реферат [35,0 K], добавлен 30.04.2010Принципы построения, модель сетевой файловой системы. Интерфейс сетевой файловой службы. Контроль и единица доступа. Размещение клиентов и серверов по компьютерам. Место расположения кэша. Способы распространения модификаций. Прозрачность репликации.
реферат [2,3 M], добавлен 29.04.2014