Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по операционным системам.doc
Скачиваний:
91
Добавлен:
02.05.2014
Размер:
344.06 Кб
Скачать

46.Общая структура файловой системы:

Прикладная программа

режим пользователя

интерфейс системных вызовов

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

режим ядра

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

Копирование блоков диска

Логические блоки (от 1 до N), разделы диска, логические диски

Система I/O :

драйверы обработки прерываний устройств

Оборудование:

контролер диска, физич. блоки (сектора, цилиндры, дорожки)

Логическая подсистема функции: поддержка иерархической древовидной структуры, системные вызовы, работающие с PATHNAME – полным именем файла, защита файлов.

Базисная подсистема функции: алгоритмы выделения блоков диска и соответствующие структуры файла (менеджер свободного пространства, системные вызовы, работающие с дескриптором файла, таблицы открытых файлов, монтирование файловых систем, реализация разделяемых файлов).

Нижний уровень – оборудование. В первую очередь, магнитные диски с подвижными головками, основные устройства внешней памяти, представляющие собой пакеты магнитных пластин, между которыми на одном рычаге передвигается пакет магнитных головок. Шаг движения пакета головок дискретный и каждому его положению соответствует цилиндр магнитного диска. Цилиндры делятся на дорожки, а каждая дорожка размещается на одно и то же количество блоков (секторов), т.о., что в каждый блок можно записать максимально одно и то же число байт. Т.о., для отдельных магнитных дисков, на уровне аппаратуры нужно узнать № цилиндра, № поверхности, № блока на соответствующей дорожке и число байт, которые нужно записать/прочитать от начала этого блока. Т.о., диски м.б. разбиты на блоки фиксированного размера и можно непосредственно получить доступ к любому блоку (организовать прямой доступ к файлам).

Непосредственно с дисками взаимодействует часть ОС – система I/O, которая представляет в распоряжение файловой системы используемое дисковое пространство в виде непрерывной последовательности блоков фиксированного размера. Система I/O имеет дело с физическими блоками диска, которые характеризуются адресом, например, диск 2, цилиндр 75, сектор 11.

Файловая система имеет дело с логическими блоками, каждый из которых имеет 0 (т.е. от 0 до N). Размер логических блоков файла совпадает или является кратным размеру физического блока диска и м.б. задан кратным размеру страницы виртуальной памяти.

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

Логическая подсистема, используя структуру директорий, проверяет права доступа и вызывает базисную подсистему для получения доступа к блокам файла, после этого файл считается открытым, он содержится в таблице открытых файлов и прикладная программа получает в свое распоряжение дескриптор этого файла. В MS Windows он называется “handle”. Дескриптор файла является ссылкой на файл в таблице открытых файлов и используется в запросе прикладной программы на чтение/запись этого файла.

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