Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OS.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
355.33 Кб
Скачать

Методы доступа к файлам: последовательный доступ, прямой доступ, индексно-последовательный доступ.

  1. Последовательный - основан на базовой абстрактной модели файла. Иногда вводятся спец.операции rewind(возврат на начало файла), backspace(возврат на одну запись), seek(установка заданной позиции).

  2. Прямой – произвольный порядок обработки записей файла и поддерживается только для файлов, состоящих из неблокированных записей фиксированной длины. Используется относительный номер записи внутри файла.

  3. Индексно-последовательный – для файлов, записи которых идентифицируются значением своих полей.

Св-ва:

- каждая запись содержит 1 или несколько полей, идентифицирующих запись, котор. Назыв. Ключевыми полями или ключами. В качестве ключа может использоваться любое поле записи, имеющее одинаковую длину и позицию во всех записях файла.

- один из ключей (первичный) уникально идентифицирует каждую запись

- записи в файле могут быть разной длины, но каждая запись должна содержать все ключи, которые занимают фиксированные позиции.

2 способа доступа:

  1. Прямой – записи обрабатываются в произвольном порядке по указанному значению ключа

  2. Последовательный – записи обраб. Последовательно по возрастающему знач. Ключа.

Для поддержки И-П доступа, фс организует вспомогательные файлы, назыв. индексными

Логическая структура файловой системы.

На каждом физич. Или логич. Носителе отдельная фс

Задачи:

  1. Предоставл. Пользователю возможности группировать ф-лы

  2. Скрыть от пользователя детали располож. Данных на носителе(именование)

Однозначно указ. Расположение ф-ла в логич. структуре

Директории.

Для решения задач поддержки логич структура фс и именования используются системные файлы со спец.структурой

Структура директории.

Имена файлов и соотв. Ссылки, позволяющие определить положение данных на внеш. носителях.

Операции над директориями.

  1. Create – создание дир, содержит . и .. но считается пустой

  2. Delete – удаление дир, может быть удалена только пустая

  3. Opendir – открытие для чтения

  4. Closedir – закрытие после чтения и освобождение места в сист. таблицах

  5. Readdir – чтение текущей записи в открытой дир

  6. Link – связывает существующий файл с абсолютным именем дир, используя их в кач-ве параметров. Связывание – техника, позволяющая инф-ции о файле появляться более чем в 1 дир

  7. Unlink – удаление записи о файле из дир

Идентификация файлов.

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

Файл через своё имя должен быть доступен другим процессам. Фс несет ответственность за сохранение сведений о связи имени файла с соответствующими данными

Ограничения на длину имени: короткие (до 20 симв) и длинные (до 255 симв)

Одноуровневые файловые системы.

Простейш логич структура, в рамках которой ф-лы распределяются по носителям данных, а внутри каждого носителя данных никакой дополнительной структуры не поддерживается.

Каждый носитель – том (volume)- поддерживает единственное оглавление VTOC(volume table of contents), содержащее имена файлов и ссылки, опред их положение. Имена в пределах 1 тома должны быть уникальны

+: затраты на поиск минимальны, минимально количество и объем вспомог. служебных структур данных

-: отсутствие защиты данных, дублирование имён

Двухуровневые файловые системы.

Каждому пользователю свой каталог. 2 вида каталогов: корневой(данные о кат пользователей) и каталоги пользователей(сведения о ф-лах). Работа в системе требует регистрации. Имена файлов, принадл. Одному пользователю – уникальны.

Иерархические файловые системы.

Используют систему каталогов, каждый может содержать перечень имён других каталогов и/или файлов и ссылок ни их местоположение. Имена файлов в пределах 1 каталога уникальны

Основные понятия иерархических файловых систем: родительская, дочерняя, корневая, домашняя и текущая директории.

Родительский – содержит сведения о другом каталоге

Дочерний – сведения о нём находятся в другом каталоге

Корневой – каталог, находящийся на вершине иерархии, сведения о котором не содержатся ни в одном другом каталоге

Домашний – спец.каталог, становится текущим сразу после регистрации(входа в систему)

Текущий – связан с каждой программой, работающей в ОС, включая оболочку

Идентификация файлов в иерархических системах.

Однозначное определение положения ф-ла в пределах поддерживаемой логич. Структуры

Полные имена файлов – последовательность имён каталогов, разделённых символом-разделителем, которую требуется пройти для поиска записи, содержащей ссылку на местоположение данных.

Последовательность имён каталогов в полном имени ф-ла – имя пути

Абсолютные и относительные имена.

Абсолютное – имя пути начинается от корневого каталога

Относительное – имя пути начинается от текущего каталога

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

Чтение ссылки на корневой или текущий каталог, находящейся в контексте процесса. Затем циклически:

  1. Читается содержимое каталога, найденного по ссылке

  2. Ищется элемент, содержащий следующий компонент полного имени

  3. Проверяется, является ли найденное имя именем каталога

  4. Проверяются права доступа к этому каталогу

  5. Процедура заканчивает выполнение, если в соотв каталоге найден эл-т, содержащий имя искомого ф-ла. Ссылка их этого эл-та возвращается процессу

Модификация логической структуры файловой системы.

Техника связывания – позволяет ссылаться на один файл из нескольких дир

Монтирование фс – объединение несколький фс. Присоединение к единой иерархии дополнительных фс, представляемых в рамках корневой системы в виде спец.файлов устройств

Методы связывания файлов.

  1. Жесткие ссылки – запись относительного местоположения ф-ла включается в неск. Каталогов. Все ссылки на файл равноправны. Счетчик жестких ссылок.

  2. Символические ссылки – спец.файл-ссылка, содержащий полное имя целевого ф-ла. Сист вызовы модифицируются при работе с симв ссылкой, например при открытии файла-ссылки в действительности открывается ф-л, путь к которому указан в ф-ле-ссылке.

Монтирование файловых систем, методы монтирования, таблицы монтирования и особенности навигации.

Монтирование фс – объединение несколький фс. Присоединение к единой иерархии дополнительных фс, представляемых в рамках корневой системы в виде спец.файлов устройств

Методы:

  1. Автоматическое – призагрузке ос для постоянн носит данных либо при подключении ус-ва

  2. Ручное – требует наличие хотя бы 1 носителя данных, котор монтир автоматич (корневая)

Предполагает наличие 2-х процедур – mount и unmount. Для монтирования пользователь задаёт имя ф-ла устройства и место в фс(точку монтирования)

Таблица монтирования – содержит инф-цию о вновь смонтированном ус-ве, указатели на буфер с описанием монт фс и корневой каталог, ссылка на каталог, явл точкой монтир

Навигация:

Туда: при пересеч точки монтир, корневая фс обращ к табл монтир, извлек оттуда ссылку на корн каталог монтир фс и заменяя ей ссылку на точку монтир. Дальнейший поиск в катал монтир фс. Одновр меняется и ссылка на буфер, содерж суперблок фс.

Обратно: при пересеч точк монтир проверяется, не указ ли очередн ссылка на корн каталог монтир фс. Если это так, то предполагается, что след компонента имени пути является точк монтир, ссылка на котор извлек из табл монтир. Затем поиск продолж в пределах корн фс

Защита файлов и контроль доступа.

Принципы:

  1. Обозначить, какие операции над какими ф-лами может выполнять пользователь(права или привелегии пользователя)

Права доступа.

Обозначение, какие операции над какими ф-лами может выполнять пользователь

Схема организации доступа.

Базовые операции: r. w, x

Группы пользователей:

  1. Владелец uid

  2. Группа владельца gid

  3. Остальные

9 бит rwxrwxrwx

Атрибуты файлов.

Все дополнительные сведения, не имеющие непосредственного отношения к механизму именования

Атрибуты:

  1. Доступа

  2. Типа

  3. Времени

Типы файлов.

Разделение файлов в фс на группы в соответствии с их структурой и назначением. Тип определяет множество операций, допустимых для этого файла.

Как минимум 2 типа:

  1. Регулярные(обычные)

  2. Специальные(системные)

Интерфейс и средства управления файловой системой.

Интерфейс системных вызовов. Обеспечивают выполнение операций с ф-лами пользователя , директориями и др спец.ф-лами, котор поддерживаются фс, а также выполняют служебные ф-ции, необходимые для организации и обслуживания фс

Для работы в диалог режиме в состав фс включаются с-ма команд, котор могут подаваться пользователем и выполн распр операции.

Реализация файловой системы.

По способу обмена данными ус-ва принято делить:

  1. Блочные(магн диски) обмен блоками

  2. Символьные(клавиатура, принтер) обмен посимвольно

Физические и логические блоки (кластеры).

Физ блок – некоторая минимальная порция байт для обмена между устройствами. Каждый блок имеет адрес, включающий номер цилиндра, дорожки и сектора.

Логический блок - некоторая последовательность физических блоков, которые считаются едиными

Методы адресации дисковых блоков

  1. CHS – номер цилиндра, номер дорожки, номер блока.

  2. LBA – диск считается непрерывным массивом блоков одинакового размера.

Реализация модели файлов: основные управляющие структуры и служебные данные.

Директории – сведения о связи имени ф-ла с адресами дисковых блоков

Таблица открытых файлов – сведения обо всех ф-лах, к которым обращались процессы, выполняя Open. Хранит инф-цию о тек поз и режиме доступа в области памяти ядра

Таблица дескрипторов ф-лов – ссылки на эл-ты таблицы откр ф-лов, которые созданы по инициативе этого процесса. Дескриптор – порядковый номер в таблице дескрипторов. Табл дескр обеспеч интерфейс процесса и фс

Структурир область в памяти для кэширования дисковых блоков и временного размещения вспомогательной инф-ции, хранящ на диске

Элементы интерфейса процессов с файловой системой.

  1. Логическая подсистема управления ф-лами

Поддержка иерархической структуры. Обработка имени пути. Защита ф-лов.

  1. Базисная подсистема управления файлами

Алгоритмы и структуры данных, обеспеч выделение дисковых блоков

Поддержка списка свободных блоков

Поддержка таблицы дескрипторов

Таблица открытых ф-лов

Другие вспомогательные таблицы, обеспеч доступ к ф-лам(индексов, монтирования)

  1. Кэширование дисковых блоков

  2. Подсистема ввода-вывода

Драйверы ус-в, обработчики прерываний

Процедура открытия файла.

  1. По имени ф-ла находится инф-ция об адресах блоков, в которых содерж данные

  2. Проверка возможности выполнения

  3. Помещает необходимую инф-цию в сист таблицу ф-лов и, если этот ф-л не был открыт ранее другим процессом, в таблицу i-узлов открытых файлов и таблицу дескрипт ф-лов процесса

  4. Возвращение дескриптора ф-ла

Учет дискового пространства выделенного файлу.

  1. Битовый вектор

  2. Связный список

Выделение дискового пространства и учет блоков.

  1. Непрерывная область

  2. Произвольное выделение блоков

  1. Связный список

  2. Индексированая таблица

Непрерывная последовательность блоков: структура директории, учет свободного пространства, преобразование текущей позиции файла в адрес блока и смещение внутри блока.

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

Связанный список с использованием индекса: структура директории, учет свободного пространства, преобразование текущей позиции файла в адрес блока и смещение внутри блока.

Индексные узлы: структура директории, учет свободного пространства, преобразование текущей позиции файла в адрес блока и смещение внутри блока.

Файловые записи: структура директории, учет свободного пространства, преобразование текущей позиции файла в адрес блока и смещение внутри блока.

Распределение дискового пространства.

Фс разбивает дисковое пространство на части.

Системная область: загрузочный сектор, структуры данных фс

Область данных.

Структуры данных ФС в Unix.

а)Суперблок:

  1. Тип фс

  2. Размер фс в блоках

  3. Размер массива индексних узлов

  4. Размер логич блока

  5. Начальн эл-т списка свободных блоков

  6. Список свободн индексов

Б) таблица индексных узлов

Структуры данных FAT.

Таблица размещения файлов и корневой каталог

В загруз секторе:

  1. Тип фс

  2. Размер лог блока

  3. Характеристики диска

  4. Размер FAT

  5. Количество копий FAT

Структуры данных NTFS.

Mft(master file table)|резерв|файлы|копия мфт|файлы…

  1. Описание мфт

  2. Зеркальная копия мфт

  3. Журнал системы

  4. Описание диска

  5. Корневой каталог

  6. Битовая карта

Главная файловая таблица.

своеобразная база данных, хранящая информацию обо всех файлах тома - их именах, атрибутах, способе и порядке размещения на диске

Реализация директорий.

Файл, имеющий определённый системой формат и хранящий список файлов или каталогов. задача файлов-директорий поддержка иерархической древовидной структуры файловой системы. Запись в директории имеет определенный для данной ОС формат, зачастую неизвестный пользователю, поэтому блоки данных файла-директории заполняются не через операции записи, а при помощи специальных системных вызовов (например, создание файла). Для доступа к файлу ОС использует путь (pathname), сообщенный пользователем. Запись в директории связывает имя файла или имя поддиректории с блоками данных на диске. В зависимости от системы эта ссылка может быть дисковым адресом целого файла (непрерывное расположение), номером первого блока (связанный список), или номером индексного узла. Во всех случаях главная функция системы директорий - трансформировать символьное имя файла в информацию, необходимую, чтобы найти данные. Отдельная проблема способ хранения атрибутов файла. Иногда их хранят непосредственно в записи в директории. Для системы с индексными узлами можно хранить атрибуты в индексном узле, а не в записи в директории.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]