Вы находитесь на странице: 1из 26

Файловые системы

Требования к долговременному
хранению информации

• Должна предоставляться возможность хранения огромного


количества информации.

• Информация должна пережить прекращение работы использующего


ее процесса.

• К информации должны иметь одновременный доступ несколько


процессов.
"Файловая система"

• совокупность всех файлов на диске,

• наборы структур данных, используемых для управления


файлами, такие, например, как каталоги файлов,
дескрипторы файлов, таблицы распределения свободного и
занятого пространства на диске,

• комплекс системных программных средств,


реализующих управление файлами, в частности: создание,
уничтожение, чтение, запись, именование, поиск и другие
операции над файлами.
Основные функции файловой системы
• Идентификация файлов. Связывание имени файла с выделенным ему
пространством внешней памяти.
• Распределение внешней памяти между файлами. Для работы с
конкретным файлом пользователю не требуется иметь информацию о
местоположении этого файла на внешнем носителе информации.
Например, для того чтобы загрузить документ в редактор с жесткого
диска, нам не нужно знать, на какой стороне какого магнитного диска,
на каком цилиндре и в каком секторе находится данный документ.
• Обеспечение надежности и отказоустойчивости. Стоимость
информации может во много раз превышать стоимость компьютера.
• Обеспечение защиты от несанкционированного доступа.
• Обеспечение совместного доступа к файлам, так чтобы пользователю
не приходилось прилагать специальных усилий по обеспечению
синхронизации доступа.
• Обеспечение высокой производительности.
Файл
• Механизмом абстрагирования
• Должен оградить пользователя от
«подробностей»
Структура файлов
Структуры двоичных файлов
Атрибуты файлов
В разных файловых системах могут использоваться в
качестве атрибутов разные характеристики, например:

1 информация о разрешенном доступе,


2 пароль для доступа к файлу,
3 владелец файла,
4 создатель файла,
5 признак "только для чтения",
6 признак "скрытый файл",
7 признак "системный файл",
8 признак "архивный файл",
9 признак "двоичный/символьный",
10 признак "временный" (удалить после завершения процесса),
11 признак блокировки,
12 длина записи,
13 указатель на ключевое поле в записи,
14 длина ключа,
15 времена создания, последнего доступа и последнего изменения,
16 текущий размер файла,
17 максимальный размер файла.
Операции с файлами
• Create (Создать).
• Delete (Удалить).
• Open (Открыть).
• Close (Закрыть).
• Read (Произвести чтение).
• Append (Добавить).
• Seek (Найти).
• Get attributes (Получить атрибуты).
• Set attributes (Установить атрибуты).
• Rename (Переименовать).
Два основных подхода к определению прав доступа

• избирательный доступ, когда для каждого файла и


каждого пользователя сам владелец может определить
допустимые операции;

• мандатный подход, когда система наделяет


пользователя определенными правами по отношению к
каждому разделяемому ресурсу (в данном случае
файлу) в зависимости от того, к какой группе
пользователь отнесен.
Системы с одноуровневыми каталогами
Иерархические системы каталогов
Дерево каталогов в UNIX
Операции с каталогами
• Create (Создать каталог).
• Delete (Удалить каталог).
• Opendir (Открыть каталог).
• Closedir (Закрыть каталог).
• Readdir (Прочитать каталог).
• Rename (Переименовать каталог).
• Link (Привязать).
• Unlink (Отвязать).
Структура файловой системы
Непрерывное размещение файлов
Преимущества:
• Легко реализовать
• Самая лучшая производительность

Недостатки:
• Внешняя фрагментация
• Необходимость реализовать учет дырок
• Проблемы с ростом размера файлов
Способы реализации длинных имен в
каталоге
Схема размещения связным списком
Преимущества:
• Нет внешней фрагментации
• Простота реализации

Недостатки:
• САМАЯ худшая производительность
• Плохая устойчивость к ошибкам(повреждение
одного блока приведет к невозможности чтения
всех последующих)
• Проблемы с ростом размера файлов
Запись каталога файловой системы MS-
DOS
Запись каталога файловой системы UNIX
Запись каталога в стандарте ISO 9660