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

Имена файлов

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

Каталог файловой системы s5fs представляет собой таблицу, каждый элемент которой имеет фиксированный размер в 16 байтов. Два байта хранятся в номере индексного дескриптора, а 14 байтов – его имя. Таким образом, число индексных дескрипторов не может превышать 65535. Первый элемент каталога адресует сам текущий каталог и имеет имя «.» (точка), а второй – родительский каталог под именем «..» (две точки). При удалении имени файла из каталога номер индексного дескриптора соответствующего элемента устанавливается равным нулю. Обычно ядро не удаляет такие свободные элементы, поэтому размер каталога не уменьшается даже при удалении файла. Это составляет определенные проблемы для каталогов с большим числом файлов.

Недостатки и ограничения файловой системы s5fs

  1. С точки зрения надежности в файловой системе является суперблок, так как при его повреждении файловая система не может использоваться, а так как суперблок хранится в единственном экземпляре, вероятность появления ошибок достаточно высокая.

  2. Относительно низкая производительность связана с размещением файловых компонентов на диске: индексный дескриптор размещается в начале файловой системы, а блоки хранения данных – на остальном пространстве диска, а при работе с файлами происходит как обращение к метаданным, как и блокам данных файла, и так как эти элементы могут быть достаточно разнесены по файловому пространству, необходимо перемещать головки диска, что увеличивает время.

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

  4. Массив индексных дескрипторов имеет фиксированный размер, задаваемый при создании файловой системы. Этот размер накладывает ограничения на максимальное число файлов, которые могут существовать в файловой системе.

Ограничение на длину имени файла  14 символов  и максимальное число индексных дескрипторов.

Файловая система ffs (Fast File System)

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

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

Организация файловой системы предусматривает логическое деление дискового раздела на одну или несколько групп цилиндров. Группа цилиндров  несколько последовательных дисковых цилиндров. Каждая группа цилиндров содержит управляющую информацию, включающую резервную копию суперблока, массив индексных дескрипторов, данные о свободных блоках, информацию об использовании дисковых блоков в группе. Для каждой группы цилиндров при создании файловой системы выделяется место под определенное количество индексных дескрипторов. Обычно на каждые два килобайта блоков хранящихся данных создается один индексный дескриптор. Следовательно, есть ограничение не общее количество файлов, которое может быть записано в одной группе цилиндров.

В этой файловой системе кластеры индексных дескрипторов располагаются по всему дисковому разделу, а не в его начале. За счёт этого достигается уменьшение время доступа к данным файла, т.к. блоки данных располагаются ближе к описывающим их индексным дескрипторам. Это также повышает надёжность файловой системы, т.к. уменьшается вероятность потери всех индексных дескрипторов в случае сбоя.

Управляющая информация располагается с различными смещениями от начала группы цилиндров. Это ведёт к тому, что управляющая информация не располагается на одной дисковой пластине, иначе выход из строя одной пластины привел бы к выходу из строя всей файловой системы.

Производительность файловой системы существенно зависит от размера блока хранения данных. Чем больше размер блока, тем больше данных может быть прочитано без поиска и перемещения дисковых головок. FFS поддерживает размер блока до 64Kb. Для преодоления проблемы потери дискового пространства вводится возможность фрагментации дискового блока. Каждый блок дополнительно разбивается на 2, 4 или 8 фрагментов. Блок является единицей передачи данных в операциях ввода/вывода, а фрагмент определяет адресуемую единицу хранения данных на диске. Минимальный размер сегмента определяется размером сектора.

Информация о свободных блоках и фрагментах хранится виде битовой карты блоков. Карта блоков, связанная с определенной группой цилиндров, описывает свободное пространство в фрагментах. Для определения свободен фрагмент или занят, ядро ОС анализирует биты карты.

Файловая система FFS при размещении блоков использует стратегию, направленную на увеличение производительности. Основные принципы этой стратегии таковы:

  1. Файл по возможности размещается в блоках хранения данных, принадлежащих одной группе цилиндров, где расположены его метаданные.

  2. Все файлы каталога, по возможности, размещаются в одной группе цилиндров.

  3. Каждый новый каталог, по возможности, помещается в группу цилиндров, отличную от группы родительского каталога. Этим достигается равномерное распределение данных по диску.

  4. Последовательные блоки размещаются, исходя из оптимизации физического доступа.

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

Производительность данной файловой системы хороша при не слишком большой загрузке диска и ухудшается при малом свободном пространстве (менее 10% объёма).