700 likes | 1.02k Views
Операционные системы . Файловые системы Скрипов Сергей Александрович skripov@csu.ru 2009. Цели и задачи файловой системы. Файл — именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные
E N D
Операционные системы Файловые системы Скрипов Сергей Александрович skripov@csu.ru 2009
Цели и задачи файловой системы • Файл — именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные • Файловая система (ФС) — часть операционной системы, включающая: • Совокупность всех файлов на диске; • Наборы структур данных, для управления файлами; • Комплекс системных программных средств для операции над файлами.
Цели и задачи файловой системы • Файловые системы представляют файл как некоторый абстрактный объект, для которого применим набор простых операций, например: • Создать файл • Переименовать файл • Дописать данные • Изменить блок данных • Удалить файл
Типы файлов • Обычные файлы. Содержат информацию произвольного характера • Каталоги. Особый тип файлов, которые содержат системную информацию о наборе файлов, сгруппированных пользователем по какому-либо неформальному признаку. • Специальные файлы. Фиктивные файлы, ассоциированные с устройствами ввода-вывода.
Типы файлов • Ярлык – файл, служащий указателем на объект (например, файл, который требуется определённым образом обработать), программу или команду и содержащий дополнительную информацию.
Типы файлов • Символическая ссылка – специальный файл в UNIX-подобных ОС, для которого в файловой системе не хранится никакой информации, кроме одной текстовой строки. Эта строка трактуется как путь к файлу, который должен быть открыт при попытке обратиться к данной ссылке.
Типы файлов • Жесткая ссылка – структурная составляющая файла — описывающий его элемент каталога. • Файл может иметь несколько жёстких ссылок, то есть одновременно фигурировать на диске под различными именами и/или в различных каталогах. Количество жёстких ссылок файла хранится в метаинформации на уровне файловой системы.
Типы файлов Обычно, файл имеет только одну жесткую ссылку, автоматически записываемую в каталог при его создании. Все жёсткие ссылки одного файла равноправны и неотличимы друг от друга, удаление одной из них не приводит к удалению файла — файл удаляется автоматически только после удаления всех жестких ссылок.
Иерархическая структура файловой системы Дерево Сеть
Монтирование • Работа одновременно с несколькими файловыми системами: • Автономное существование файловых систем. В этом случае необходимо указывать логическое имя устройства: • C:\windows\system32\kernel32.dll • Монтирование. Объединение всех файловых систем в единое дерево.
Физическая организация файловой системы • Жесткий диск состоит из нескольких пластин. • На пластине размечены дорожки – тонкие концентрические кольца, на которых хранятся данные. • Совокупность дорожек одного радиуса – цилиндр. • Каждая дорожка разбивается на фрагменты – сектора.
Физическая организация файловой системы
Физическая организация файловой системы Сектор – наименьшая адресуемая единица обмена данными с диском, поэтому часто данных считывается больше, чем нужно.
Физическая организация FAT • Загрузочный сектор. Содержит программу начальной загрузки ОС. • Основная копия FAТ. Содержит информацию о размещении файлов и каталогов на диске. • Резервная копия FAT. • Корневой каталог. Занимает фиксированную область, позволяет хранить 512 записей о файлах и каталогах
Физическая организация FAT • Область данных. Предназначена для хранения всех файлов и каталогов кроме корневого. Пространство области данных поделено на кластеры – участки одинакового размера. Файл всегда занимает целое количество кластеров • FAT поддерживает два типа файлов: обычный файл и каталог
Физическая организация FAT • Таблица FAT состоит из массива индексных указателей. Указатель может принимать значения: • Кластер свободен (не используется); • Кластер используется файлом и не является последним кластером файла. В этом случае индексный указатель содержит номер следующего кластера; • Последний кластер файла; • Дефектный кластер;
Физическая организация FAT • Выбор размера кластера • Большой размер кластера – потери дискового пространства, так как последний кластер файла может использоваться только частично • Небольшой размер кластера – возрастают накладные расходы, так как файл занимает больше кластеров, которые не обязательно являются «соседними»
Физическая организация FAT Выбор размера кластера В зависимости от размера диска,размер кластера выбирается от 512 байт до 64 Кбайт. Размер кластера выбирается так, чтобы он занимал целое число секторов. Кластер может занимать от 1 до 128 секторов.
Физическая организация FAT • Разрядность указателя FAT • FAT1212-разрядные указатели. Поддерживается не более 4096 кластеров. • FAT16 16-разрядные указатели. Не более 65536 кластеров. • FAT32 32-разрядные указатели. Более 4 миллиардов кластеров.
Физическая организация FAT • Удаление файла в FAT • В первый байт записи каталога заносится специальный признак «файл удален» • В индексные указатели заносится признак «кластер свободен» • Физически данные не удаляются, поэтому во многих случаях файл может быть восстановлен
Физическая организация FAT • + Простота реализации • Проблемы с поддержкой длинных имен файлов • Отсутствие поддержки специальных файлов • Фрагментация и связанное с ней уменьшение производительности
Физическая организация FAT • При сбоях и отключении питания – нарушение целостности файловой системы: • Файлы, не принадлежащие ни одному каталогу. • Потерянные фрагменты файлов, занимающие место на диске. • Файлы, для которых «нет» кластеров
Функции файловых систем • Дисковая квота • Это размер доступного места на жёстком диске, зарезервированного под учетное имя пользователя (UID) или группу (GID). • Квота может ограничивать: • Дисковое пространство • Число дескрипторов
Функции файловых систем Дисковая квота Два типа ограничений: hard - Жёсткий предел определяет максимальный объём дискового пространства, которое может быть выделено пользователю. Если этот предел достигнут, получить дополнительное дисковое пространство невозможно.
Функции файловых систем Дисковая квота Два типа ограничений: soft - Мягкий предел также определяет максимальный объём дискового пространства. Однако, в отличие от жёсткого предела, мягкий предел может быть превышен в течение некоторого времени. Это время называется периодом отсрочки
Функции файловых систем квота пользователя testuser квота группы devel общие настройки квот
Функции файловых систем ACL (access control list) определяет, кто или что может получать доступ к конкретному объекту, и какие именно операции разрешено или запрещено этому субъекту проводить над объектом.
Функции файловых систем Субъект – пользователь или группа (например: владелец файла, пользователь vasya, группа users, все) Объект – файл или каталог Операции – чтение, запись, выполнение, изменение атрибутов, чтение атрибутов, удаление и т.д.
Функции файловых систем Журналирование ведение журнала, хранящего список изменений и, в той или иной степени, помогающего сохранить целостность файловой системы при сбоях. Журналируемая файловая система сохраняет список изменений, которые она будет проводить с файловой системой, перед фактическим их осуществлением. Эти записи хранятся в отдельной части файловой системы, называемой журналом.
Функции файловых систем Журналирование При сбоях питания после перезагрузки все незавершенные операции будут либо завершены, либо полностью отменены, так, как будто их не было. Таким образом гарантируется целостность файловой системы. Целостность данных пользователя не гарантируется
Функции файловых систем • Журналирование • Пример: удаление файла • Пометить кластеры свободными • Удалить запись о файле из каталога • После выполнения 1-й операции произошел сбой питания. В этом случае после загрузки информация из журнала будет использована чтобы завершить удаление.
Функции файловых систем Сжатие – прозрачная для пользователя «архивация» файлов. Файл занимает меньше места, а при обращении к нему «разархивируется» Шифрование – Файл хранится в зашифрованном виде. При обращении к нему пользователя с нужными правами прозрачно для пользователя расшифровывается
Физическая организация NTFS • Особенности NTFS • Поддержка больших файлов и больших дисков объемом до 264 байт; • Восстанавливаемость после сбоев и отказов программ и аппаратуры; • Высокая скорость операций; • Низкий уровень фрагментации; • Гибкая структура, допускающая развитие за счет добавления новых типов записей и атрибутов файлов; • Поддержка длинных символьных имен; • Контроль доступа к каталогам и отдельным файлам
Физическая организация NTFS Особенности NTFS Основа структуры NTFS – файл MFT (Master File Table). Файл MFT состоит из записей фиксированного размера (2 Кбайт). Каждая файл имеет запись в MFT, в том числе MFT хранит запись о самом себе. Все пространство тома делится на кластеры фиксированного размера. Для хранения номера кластера используются 64-разрядные указатели.
Физическая организация NTFS Особенности NTFS Порядковый номер кластера в томе NTFS называется логическим номером кластера (Logical Cluster Number, LCN). Файл NTFS также состоит из последовательности кластеров, при этом порядковый номер кластера внутри файла называется виртуальным номером кластера (Virtual Cluster Number,VCN).
Физическая организация NTFS Особенности NTFS Базовая единица распределения дискового пространства для файловой системы NTFS — непрерывная область кластеров, называемая отрезком. В качестве адреса отрезка NTFS использует логический номер его первого кластера, а также количество кластеров в отрезке k, то есть пара (LCN, k). Часть файла, помещенная в отрезок и начинающаяся с виртуального кластера VCN, характеризуется адресом, состоящим из трех чисел: (VCN, LCN, k)
Физическая организация NTFS 16 специальных файлов NTFS
Физическая организация NTFS • Небольшой файл NTFS • стандартная информация (SI); • имя файла (FN); • данные (Data); • дескриптор безопасности (SD).
Физическая организация NTFS • Большой файл NTFS • VCN - Virtual Cluster Number • LCN - Logical Cluster Number • k - количество кластеров в отрезке
Физическая организация NTFS Очень большой файл NTFS
Физическая организация NTFS Сверхбольшой файл NTFS
Физическая организация NTFS Журналирование транзакция - действие, совершаемое целиком и корректно или не совершаемое вообще
Физическая организация NTFS Сжатие