IFS-менеджер и FSD-драйверы.
Функции блокировки не явл-ся частью ОС, а реализ-ся спец. виртуальным драйвером IFSMgr(IFS диспетчер)
IFS перехватывает прерывание int 21h и проверяет, вызывается ли ф-я группы 71h и обрабатывает данный вызов. Основная роль – получение всех вызовов ф-и, относящихся к файловой системе, преобразование их в обращение к подходящ. IFS интерфейсу, и передаче этих обращений соответствующему драйверу файловой системы. IFS загружается в ходе реализации системы. Он постоянно нах-ся в памяти и должен оказываться там до того, как будет работать один из драйверов файловой системы FSD. IFS позволяет нескольким FSD работать параллельно. При каждом вызове FSD передаёт диспетчеру IFS адрес одной точки входа, опред. ф-ю, котор. будет вызвана диспетчером IFS при первом его обращении к FSD.
3 способа определения, какой FSD вызвать для удовлетвор. конкретного обращения:
1.Если при обращении к ф-и, в кач-ве одного из пар-ров указ-ся путь, диспетчер IFS исп-т обозначающую дисковод букву или сразу всё имя для того, чтобы определить целевой FSD.
Каждый FSD представляет собой отдельный VXD-драйвер – виртуальный драйвер внешнего устройства, ответственный за реализацию семантики его собственной файловой системы. VXD-драйвер – низкоуровневый программный модуль, который управляет отдельным ресурсом. Вся инфо об орг-ции конкретн. файловой системы содержится исключительно в пределах кода FSD, диспетчер IFS работает только с дискрипторами, и только FSD знает, каким д-м на томе файл. сис-мы соотв-ют поступившее от приложения имя. Единственная точка входа, кот. передаёт FSD при своей регистрации у диспетчера IFS, определяет ф-ю монтажирования тома. Эта функция входит в состав набора стандартных директорий, опр-ет для интерфейса диспетчера IFS. Когда IFS обращается к одной из точек входа, FSD возвращает указатель на таблицу дополнительных точек входа. Последующие вызовы IFS при помощи этих нов. точек входа будут адресоваться уже к конкретным функциям.
При первом обращении к устройству или при смене носителя, диспетчер IFS вызывает нач. ф-ю файловой системы. Такой вызов просит FSD попытаться смонтировать том. При этом FSD должен распознавать формат носителя или устройства. Если ему это удаётся, он возвращает дисп. IFS дескриптор тома и указатель на начало таблицы ф-й. Дескриптор будет использоваться при всех последующих обращениях к данному FSD. Для дисков дескриптор тома обозначает лог. раздел HDD, либо конкретную дискету. Диспетчер IFS нах-ся на самом верхнем уровне представляет собой единств. вирт. Драйвер внешнего устройства, кот. обеспечивает интерфейс м\у запросами приложения, и конкретной файловой системой, к которой обращается это приложение. Диспетчер IFS преобразует эти обращения в обращения к след. уровню – уровню файловой системы.
Дата добавления: 2015-07-30; просмотров: 761;