Самодел 2 (1114717), страница 19
Текст из файла (страница 19)
текущий каталог
Дерево: его узлы составляют каталоги, листья – файлы или пустые каталоги. Эта система сейчас наиболее распространена. Суть – такая организация наименования: мы можем использовать сокращённый путь от какого-то каталога до конкретного файла – это также основное достоинство такой системы. Можно также использовать понятие «текущий каталог».
В иерархической ФС используется домашний каталог (на него настроена система при регистрации) и текущий каталог.
Подходы в практической реализации файловой системы
Структура «системного» диска
3
блока:
Блок физического «HDD»-> Блок виртуального «HDD»
Блок файловой системы
Блок файла
Модели реализации файлов
1.
Непрерывные файлы:
| | | | |
NAME1 NAME2 NAME3 NAME4 NAME5
Самая эффективная и простая реализация. Файлы располагаются в подрадидущих блоках.
Достоинства:
Простота реализации
Высокая производительность
Недостатки:
Фрагментация свободного пространства (прямая и косвенная)
Увеличение размера существующего файла (при увеличении размера надо либо переносить файл в другое место, либо передвигать все файлы, стоящие после него, что крайне неудобно)
Эта система актуальна и проста.
2. Файлы, имеющие организацию связанного списка.
А1 А2 А3 Ак
{Аi} - множество блоков файловой системы в которых размещены блоки файла Name. В каждом блоке есть ссылка не сладующий блок, есть и своя служебная информация.
Достоинства:
Отсутствие фрагментации свободного пространства ( за исключением блочной фрагментации )
Простота реализации
Эффективный последовательный доступ
Недостатки:
Сложность (неэффективность) организации прямого доступа
Фрагментация файла по диску (значит, много механических движений головки)
Наличие ссылки в блоке файла (ситуации чтения 2-х блоков при необходимости чтения данных объемом один блок).
3.Таблица размещения файловой системы
начальный блок файла Name
Н омера блоков ФС
Для всей ФС создаётся таблица, i-я строка которой содержит информацию об i-м блоке. Размер таблицы равен количеству блоков ФС. Также имеется каталог, в котором перечислены имена файлов, где с каждым файлом, связан номер строки в FAT, где хранится i-й блок этого файла. А в строке таблицы находятся ссылки на следующие блоки файла – значит, имеется список блоков файла, блоки чистые. Возможна оптимизация прямого доступы: 1. вся таблица находится в памяти. 2. можно при открытии файла получить список блоков. В любом случае нужно хотя бы часть таблицы хранить в памяти, следовательно, возникает проблема в памяти. Организация списковая – она не очень эффективна. То есть:
Достоинства:
возможность использования всего блока для хранения данных файла
оптимизация прямого доступа (при полном или частичном размещении таблицы в ОЗУ)
Недостатки:
желательно размещение всей таблицы в ОЗУ (проблема размера, например для 60 Gb раздела и блоков размером 1Kb потребуется 60 000 000*4b = 240 Mb).
4. Индексные узлы (дескрипторы)
Name
Индексный узел (дескриптор)– системная структура данных, содержащая информацию о размещении блоков конкретного файла в файловой системе.
Эту модель чаще всего используют в современных системах.
Достоинства:
нет необходимости в размещении в ОЗУ информации всей FAT о все файлах системы, в памяти размещаются атрибуты, связанные только с открытыми файлами.
Недостатки:
размер файла и размер индексного узла (в общем случае прийти к размерам таблицы размещения). Решение:
– ограничение размера файла
– иерархическая организация индексных узлов
Модели организации каталогов
фиксированного размера, содержат имя файла и все его
атрибуты.
2. Каталог содержит имя файла
и ссылку на системную
структуры данных в которой
Размещены атрибуты файла.
Размер атрибутов может варьироваться.
Проблема – длинные имена файлов.
Организация (решение):
Организация списочной структуры. Файла с длинными именами будут иметь фиксированное поле, в котором будет содержать начало имени, а в атрибутах может быть указано, что имя длинное. Если это так, то либо остальное хранится в атрибутах, лиюо в специальной строке каталога.
Взаимнооднозначное соответствие: имя файла – содержимое файла
В общем случае между ними (именем и содержимым файла) нет взаимно-однозначного соответствия. Может быть, что для одной и той же организации может встречаться 2 разных файла с одним именем, которые могут находится в разных местах ФС. Этим разрушается древообразная структура ФС.
Модели организации (UNIX):
-
Содержимому любого файла соответствует единственное имя файла.
Примеры:
-
С
одержимому файла может соответствовать два и более имен файла.
Если есть 2 и более имени, но они не симметричны. Т.е. есть соответствие специальным файлам – файлам-ссылкам. И если сам файл убить, то символические ссылки остаются в подвешенном состоянии.
Координация использования пространства внешней памяти
Проблема – размер блока файловой системы.
«Большой блок» :
- эффективность обмена
- существенная внутренняя фрагментация
( не эффективное использование пространства ВП)
«Маленький блок» :
- эффективное использование пространства ВП
- фрагментация данных файла по диску
Проблема – определение оптимального размера блока.
Учет свободных блоков файловой системы
Может быть много моделей.
1.Связный список свободных блоков.
Если этот список находится в специальной области, то это неудобно, т.к. отнимает много пространства.
Для HDD 16 Gb список свободных блоков состоит из 16794 блоков.
Пример:
Размер блока 1 Кб. 1 блок = 256 х 4 б. 255 номеров свободных блоков. 1 ссылка на следующий блок.
При использовании связного списка свободных блоков в ОЗУ размещается первый блок списка.
2. Список размещается не в пространстве блоков памяти.
Тогда по мере использования элементы списка будут освобождаться и могут быть использованы для файлов.
3 . Использование битового массива
Состояние любого блока определяется
содержимым бита с номером каждого блока.
Если блок свободен, бит равен 1, занят – 0.
Пример:
Для HDD 16 Gb потребуется 2048 блоков для хранения битового массива
4. Квотирование пространства файловой системы
Учет количества файлов и их размеров у которых атрибут владельца соответствует конкретному пользователю.
Рассмотрим ФС как совокупность ресурсов – типы ресурсов:
-
простронство ФС
-
имя файла
Количество служебной информации лимитировано – значит, надо ввести ограничение на число файлов. Предполагаемые средства в ФС:
-
Ж
есткие лимиты – не превышаются никогда. Суть: для некотоой группы пользователей определен лимит на использование того или иного ресурса. Если пользователь пытается превзойти лимит, то операция обращения блокируется.
-
Гибкие квоты – можно превышать, но после этого «включается обратный счетчик» предупреждений. Пока счетчик ¹ 0 при каждой регистрации пользователя в системе от получает предупреждение, если счетчик = 0, пользователь блокируется.
Проблема: может быть ошибка в программме – надо использовать комбинацию жёстких и гибких лимитов.
Надежность файловой системы
Резервное копирование
• Потеря информации в результате аппаратного или программного сбоя.
• Случайное удаление файлов.
Системная организация работы должна быть такой, что при любом обстоятельстве гибель информации должна быть минимальной. Этого можно достичь:
-
резервным копированием
-
наличие в системе данной ФС некоторой избыточности информации, которая позволит восстановить разрушенную или утерянную информацию.
Но это дополнительная нагрузка. К тому же, копирование не может происходить постоянно, должен быть определён промежуток времени, пока файлы не копируются. Система данных может «помочь» со временем, но в случае физической гибели устройства не поможет.
=>
Резервное копирование (архивирование):
•Копируются не все файлы файловой системы (избирательность архивирования по типам файлов). При современных объёмах данных копировать всё очень долго и трудоёмко – значит, надо разумно минимизировать работу. Решение: копии создавать избирательно. Не нужно копировать системные данные (дескрипторы и т.п.), исполняемые файлы, может быть, и объектные файлы. Можно и сузить эту область.
• Инкрементное архивирование (резервное копирование) (второй вариант) – единожды создается «полная» копия (master cоpy), все последующие включают только обновленные файлы. Но этот метод очень чувствителен к потере информации.
• Использование компрессии при архивировании (риск потери всего архива из-за ошибки в чтении/записи сжатых данных);
• Проблема архивирования «на ходу» (во время копирования происходят изменения файлов, создание, удаление каталогов и т.д.)
• Распределенное хранение резервних копий.
Проблема: почти все машины работают круглосуточно, т.е. нет промежутка времени, когда можно провести резервное копирование – значит, копия должна создаваться «на лету». Проблем много: какие файлы можно копировать, какие нет – надо также учитывать кэш. Плюс надо создавать копии резервных архивов. Проблема – обработка плохи блоков – копировать 1 в 1 неудобно – значит, можно осуществлять логическое копирование – по файлам.
Стратегии архивирования:
•
Физическая архивация
•«один в один»;