Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
67
Добавлен:
30.04.2013
Размер:
328.19 Кб
Скачать

13) Файловая система ext. Особенности ее реализации.

Extfs (Extended File System, расширенная файловая система) — первая файловая система, разработанная специально для ОС linux. Файловая система Ext2 была разработана с целью устранения ошибок, обнаруженных в предыдущей системе Ext и снятия некоторых ее ограничений.

Ext2 файловая система стала основой для LINUX. В качестве стандартных возможностей Ext 2 называются следующие:

• Поддержка стандартных типов файлов Unix: обычных файлов, папок, файлов устройств и символических связей.

• Поддержка больших разделов - до 4 Тб. Поддержка длинных имен файлов - до 255 символов.

Существуют и "расширенные" возможности ФС Ext 2, не присущие ФС Unix: (1)Файловые атрибуты позволяют пользователям изменять действия ядра при работе с наборами файлов; Ext2 позволяет выбрать размер логического блока при создании ФС, это может быть 1024, 2048 или 4096 байт; (2)Ext2 предоставляет механизм быстрых символичных связей. Такие связи не занимают блоков данных в ФС; (3)Ext2 может сама следить за своим состоянием. На самом деле это означает, что в ФС встроены механизмы, позволяющие форсировать проверку ФС в случае необходимости.

Атрибуты файлов позволяют установить "безопасное" удаление файлов. При таком удалении на место бывшего файла записываются случайные данные. Таким образом восстановить содержимое файла становиться невозможным.

Введены новые типы файлов: (1)Неизменные (Immutable) файлы доступны только для чтения: никто не может их удалить или перезаписать. (2)Конкатенационные (Append-only) файлы могут быть использованы для записи, но любые данные будут только добавлены и только в конец файла. Как и неизменные файлы из нельзя удалить или переименовать.

Создание ФС ext2 заключается в создании в разделе диска определенной логической структуры. Эта структура строится следующим образом.

Во-первых, на диске выделяется загрузочная область. Загрузочная область создается в любой файловой системе. На первичном разделе она содержит загрузочную запись - фрагмент кода, который инициирует процесс загрузки операционной системы при запуске. На других разделах эта область не используется. Все остальное пространство на диске делится на блоки. Блок может иметь размер от 1, 2 или 4 килобайта. Выделение места файлам осуществляется целыми блоками.

Блоки, в свою очередь, объединяются в группы блоков. Группы блоков в файловой системе и блоки внутри группы нумеруются последовательно, начиная с 1. Первый блок на диске имеет номер 1 и принадлежит группе с номером 1. Общее число блоков на диске (в разделе диска) является делителем объема диска, выраженного в секторах. А число групп блоков не обязано делить число блоков, потому что последняя группа блоков может быть не полной.

Общая структура ФС может быть представлена такой таблицей: Загрузочный сектор, Группа блоков 1 , … Группа блоков n .

Каждая группа блоков имеет одинаковое строение:

Супер блок

Дескрипторы ФС

Карта блоков

Карта inode

Таблица inode

Блоки данных

Такая структура служит повышению производительности ФС за счет того, что сокращается расстояние между таблицей индексных дескрипторов и блоками данных, а, следовательно, сокращается время поиска нужного места головками в процессе операций записи/считывания файла.

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

Ext 3 - имеет точно такую же стуктуру, как и Ext 2, но Ext 3 ведет журнал, а Ext 2 - нет. Основная цель, которая преследуется при создании журналируемых файловых систем, состоит в том, чтобы обеспечить как можно большую вероятность быстрого восстановления системы после сбоев.

В журнал записывается три типа блоков данных:

1)Метаданные, 2)Блоки дескрипторов 3)Заголовочные блоки

Блок метаданных журнала содержит полностью один блок метаданных ФС, такой, как он обновляется транзакцией. Даже при малейших изменениях в ФС необходимо записать полный журнальный блок. Тем не менее, это не очень сильно сказывается на производительности, так как эти операции специально оптимизируются.

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

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

Соседние файлы в папке Материал