- •7 Пара. Разделы, отказоустойчивостью hdd, raid, Файловые системы Windows, Unix
- •Физическая организация файловой системы
- •Диски, разделы, секторы, кластеры
- •Тома в unix-подобных операционных системах
- •Тома и разделы в дисковых ос Microsoft
- •Файловые системы, основанные на расширениях
- •Ссылочное размещение файла
- •Индексируемое размещение
- •Эффективность и производительность дисковой памяти
- •Файловая система
- •Классификация файловых систем
- •Задачи файловой системы
- •Особенности
- •Логическая организация файловой системы
- •Типы файлов
- •Иерархическая структура файловой системы
- •Атрибуты файлов
- •11.2 Файловая система ms-dos (fat-12,16,32)
- •Каталоговая запись ms-dos, обратите внимание на пустые 10 байт, они будут задействованы в Windows 98
- •11.2.4 Расширение Windows 98 для fat-32
- •11.3 Файловая система ntfs
- •Структура раздела - общий взгляд
- •Mft и его структура
- •Главная файловая таблица mft, каждая запись ссылается на файл или каталог.
- •Три записи mft для сильно фрагментированного файла. В первой записи указывается индексы на дополнительные записи.
- •Файлы и потоки
- •Каталоги
- •Журналирование
- •Безопасность
- •Шифрование (nt5)
- •Примеры монтирования удаленных файловых систем
- •Структура уровней файловой системы nfs
- •-10.1.2 Структура файла
- •Три типа структур файла.
- •10.1.3 Типы файлов (слайд №10)
- •Примеры исполняемого и не исполняемого файла
- •10.1.4 Доступ к файлам
- •10.1.5 Атрибуты файла (слайд №11)
- •10.1.6 Операции с файлами (слайд №12)
- •-10.1.7 Файлы, отображаемые на адресное пространство памяти
- •Пример копирования файла через отображение в памяти.
- •-10.2 Каталоги -10.2.1 Одноуровневые каталоговые системы
- •-10.2.2 Двухуровневые каталоговые системы
- •Двухуровневая каталоговая система
- •-10.2.3 Иерархические каталоговые системы
- •Иерархическая каталоговая система
- •10.2.4 Имя пути (слайд №13)
- •10.2.5 Операции с каталогами (слайд №14)
- •-10.3 Структура файловой системы
- •Возможная структура файловой системы
- •-10.4 Реализация файлов
- •-10.4.1 Непрерывные файлы
- •5 Непрерывных файлов на диске и состояние после удаления двух файлов
- •-10.4.2 Связные списки
- •Размещение файла в виде связного списка блоков диска
- •-10.4.3 Связные списки при помощи таблиц в памяти
- •Примеры I-узла
- •-10.5 Реализация каталогов
- •Варианты реализации каталогов -10.5.1 Реализация длинных имен файлов
- •Реализация длинных имен файлов -10.5.2 Ускорение поиска файлов
- •1 Использование хэш-таблицы для ускорения поиска файла.
- •2 Использование кэширования результатов поиска файлов для ускорения поиска файла.
- •-10.6 Совместно используемые файлы
- •-10.6.1 Жесткие ссылки
- •Иллюстрация проблемы, которая может возникнуть -10.6.2 Символьные ссылки
- •-10.7 Организация дискового пространства -10.7.1 Размер блока
- •Скорости чтения/записи и эффективность использования диска, в системе с файла одинакового размера 2 Кбайта.
- •-10.7.2 Учет свободных блоков
- •Основные два способа учета свободных блоков -10.7.3 Дисковые квоты
- •-10.8 Надежность файловой системы -10.8.1 Резервное копирование
- •-10.8.2 Непротиворечивость файловой системы
- •10.11 Производительность файловой системы (слайд №15)
- •10.11.1 Кэширование
- •10.11.2 Опережающее чтение блока
- •10.11.3 Снижение времени перемещения блока головок
- •-Системы файлов
- •-Понятие файла
- •-Структура файла
- •-Атрибуты файла
- •-Операции над файлами
- •-Типы файлов – имена и расширения
- •-Методы доступа к файлам
- •-Директории
- •-Особенности системы файлов в "Эльбрусе"
- •-Типичная организация файловой системы изображена на рис. 19.3.
- •-Операции над директориями
- •-Логическая организация директорий
- •-Монтирование файловых систем
- •-Общий доступ к файлам
- •-Защита файлов
- •-Реализация файловых систем
- •-Структура файловой системы
- •-Системные структуры в памяти для управления файловой системой
- •-Ключевые термины
-Структура файла
В различных системах приняты различные точки зрения на структуру файлов. В ряде систем структура файла привязывалась к типу устройства, на котором он находится. В некоторых других системах структура файла была искусственно усложнена. Однако наиболее простую и унифицированную точку зрения из них предложили авторы системы UNIX: файл – это последовательность слов или байтов. Казалось бы, это очевидно, но преимущество данного подхода к файлам в том, что базовое представление файла и базовые операции над ним (read, write) не зависят от типа устройства. В свое время для программистов нашего поколения такой подход к файлам был откровением, после сложностей системы файлов IBM 360, а затем – "Эльбруса". Можно сказать, что файлы в своем развитии прошли путь, аналогичный развитию архитектур компьютеров – сначала в сторону значительных усложнений, затем – упрощения и унификации.
Файлы можно условно подразделять на файлы простой и сложной структуры (хотя точка зрения на структуру файла зависит от той программы, которая его обрабатывает).
Файлы простой структуры состоят из последовательности записей (records) – элементарных единиц, в терминах которых выполняются операции обмена с файлом. Записи могут быть:
строками, если это текстовый файл;
двоичными данными фиксированной длины;
двоичными данными переменной длины.
Файлы сложной структуры могут быть самого разного вида, например:
отформатированным документом Microsoft Office (такой файл, кроме собственно текста, содержит управляющие символы переключения шрифтов, цветов и т.д.);
загрузочным модулем реального или виртуального двоичного кода, например, portable executable (PE) -файлом для платформы .NET; class-файлом для платформы Java; подобные файлы состоят из нескольких секций, содержат внутренние ссылки и таблицы и т.д.
Сложная структура файла может быть смоделирована записями путем добавления соответствующих управляющих символов.
Файлы интерпретируются операционная система или программами их обработки.
-Атрибуты файла
Практически в любой системе файлов можно считать, что файл состоит из заголовка и памяти. В заголовке файла хранятся его атрибуты – общие свойства, описывающие содержимое файла, память файла – это его записи, строки, секции и т.д., содержащие собственно хранимую в нем информацию.
Различаются следующие основные атрибуты файла:
Имя (Name) – название файла в символьной форме, воспринимаемое пользователем.
Тип (Type) – тип хранимой в файле информации. Отдельный атрибут тип необходим для систем, которые поддерживают различные типы файлов. Например, в системе "Эльбрус" значением атрибута тип файла является число, кодирующее тип: 0 – данные, 2 – код, 3 – текст и т.д. Однако более общепринятым подходом является подход, принятый в систем ах MS DOS, Windows, UNIX: тип файла кодируется расширением имени, например, book.txt – текстовый файл (.txt), содержащий текст книги.
Размещение (Location) – указатель на размещение файла на устройстве.
Размер (Size) – текущий размер файла.
Защита (Protection) – управляющая информация, задающая полномочия чтения, изменения и исполнения файла.
Время и дата. Например, во всех системах хранится дата создания файла и дата последней модификации файла. Последняя играет важную роль при компиляции (сборке) больших программных проектов, так как утилиты для сборки проектов (например, make) определяют по соотношению дат последней модификации файлов исходного кода и двоичного кода, следует ли перекомпилировать исходный файл.
В ОС UNIX дату модификации файла можно изменить командой touch f, где f – имя файла. Touch дословно означает потрогать. Кроме изменения времени модификации, больше никаких действий над файлом не производится.
Идентификация пользователя. В любой системе поддерживается понятие хозяин (создатель) файла (owner). Именно хозяин вправе задавать другим пользователям полномочия для работы с файлом.
Информация о файлах хранится в структуре директорий (или справочников - directories), иногда, например, в системе Windows, называемых также папками (folders) – структурами во внешней памяти, содержащими символьные имена файлов и ссылки на них. Важнейшая концепция директории подробно рассматривается далее в данной лекции.