
- •Синхронизация скоростей обмена данными
- •Разделение устройств и данных между процессами
- •Поддержка синхронных и асинхронных операций ввода-вывода
- •Менеджер ввода-вывода
- •Способы доступа к устройствам ввода-вывода
- •Способы реализации ввода - вывода
- •Драйверы
- •Функции драйвера
- •Многоуровневые драйверы
- •Байт и Блок -ориентированность
- •Динамическая загрузка и выгрузка драйверов
- •Типы файлов
- •Создавать,
- •Иерархия файловой системы
- •Имена файлов
- •Монтирование
- •Атрибуты файлов
- •Вопросы по модулю №2
Монтирование
Для хранения файлов в системе, имеющей несколько устройств внешней памяти, существует два решения:
1. На каждом устройстве размещена автономная ФС, то есть файлы, находящиеся на этом устройстве, описываются деревом каталогов, никак не связанным с деревьями каталогов на других устройствах. В таком случае для однозначной идентификации файла пользователь должен указывать еще идентификатор логического устройства. Примером такого автономного существования файловых систем является операционная система MS-DOS, Windows, в которой полное имя файла включает буквенный идентификатор логического диска. В Windows тоже есть монтирование (сетевое подключение дисков).
2. Возможность объединять ФС, находящихся на разных устройствах, в единое дерево каталогов. Такая операция называется монтированием.
В сетевых ФС - командой «mount».
При работе с файл-сервером Novell NetWare – команда «map».
При работе с файл-сервером через smb – протокол – команда «net use».
Шаги операции монтирования (в общем случае):
Проверка типа монтируемой ФС.
Проверка ее целостности.
Считывание системных структур и инициализация драйвера ФС (менеджера файлов).
Установка грязного флага (dirty flag) и отметки, что ФС смонтирована.
Включение новой ФС в общее пространство имен (это совокупность всех допустимых имен).
Монтирование имеет большое преимущество по сравнению с использованием раздельных ФС. Заключается оно в том, что дерево каталогов не зависит от физического расположения файлов. Можно менять расположение, не меняя дерева!
Рассмотрим, как осуществляется эта операция на примере ОС UNIX.
Одно устройство со своей ФС называемое системным.
ФС, расположенная на системном диске, назначается корневой. Для связи иерархий файлов в корневой файловой системе выбирается некоторый существующий каталог, в данном примере — каталог man. После выполнения монтирования выбранный каталог man становится корневым каталогом второй файловой системы. Через этот каталог монтируемая файловая система подсоединяется как поддерево к общему дереву.
После монтирования общей ФС для пользователя нет логической разницы между корневой и смонтированной ФС, в частности именование файлов производится так же, как если бы она с самого начала была единой.
Две ФС до монтирования Общая ФС после монтирования
Атрибуты файлов
Атрибуты — это информация, описывающая свойства файла.
Примеры возможных атрибутов файла:
тип файла (обычный файл, каталог, специальный файл и т. п.);
владелец файла;
создатель файла;
пароль для доступа к файлу;
информация о разрешенных операциях доступа к файлу;
времена создания, последнего доступа и последнего изменения;
текущий размер файла;
максимальный размер файла;
признак «только для чтения»;
признак «скрытый файл»;
признак «системный файл»;
признак «архивный файл»;
признак «двоичный/символьный»;
признак «временный» (удалить после завершения процесса);
признак блокировки;
длина записи в файле;
указатель на ключевое поле в записи;
длина ключа.
Набор атрибутов файла определяется ФС: в ФС разного типа для характеристики файлов могут использоваться разные наборы атрибутов.
Обычно разрешено читать значения любых атрибутов, а изменять некоторые.
Значения атрибутов файлов могут содержаться:
1. В каталоге, как это сделано в файловой системе MS-DOS (а). На рисунке представлена структура записи в каталоге, содержащая простое символьное имя и атрибуты файла. Здесь буквами обозначены признаки файла: R — только для чтения, А – архивный, Н — скрытый, S — системный.
2. В таблице инодов (inode table), (или в метафайле) (это структуры в отдельной области диска), а в каталогах содержатся только ссылки на эти таблицы. Например, ФС ufs UNIX. В этой файловой системе структура каталога очень простая. Запись о каждом файле содержит короткое символьное имя файла и указатель на индексный дескриптор файла, так называется в ufs таблица, в которой сосредоточены значения атрибутов файла (б).
а) структура записи каталога MS-DOS (32 байта),
б) структура записи каталога ОС UNIX.
Если имя файла отделено от его атрибутов, то система более гибкая. Например, файл может быть легко включен сразу в несколько каталогов. Записи об этом файле в разных каталогах могут содержать разные простые имена, но в поле ссылки будет указан один и тот же номер индексного дескриптора.