Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

IFS-менеджер и FSD-драйверы




Правила блокировки.

Блокировка 0 уровня.

Невозможна для тома, на котором открыты файлы или описатели. Поскольку ОС всегда открывает какие-либо файлы, приложение никогда не получит блокировку 0 уровня на томе с системными файлами Windows.


 

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

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

2) чтобы предельно сократить период блокировки уровня 3, приложения на этом уровне должны выполнять только дисковый ввод/вывод. Снимая блокировку 0 и 3го уровней, приложение обязано привести файловую систему в состояние, согласующееся с тем, что было до блокировки.

3) нельзя вызывать функции 21 прерывания, пока информация на диске находится в промежуточном состоянии.

4) приложение не должны перемещать файл подкачки.

5) приложения должны обращаться к диску исключительно через низкоуровневые функции.

6) приложение, находясь на 3м уровне блокировки не должны отдавать управление, обновлять изображение на экране, запускать другие программы, т.е. все, что может заставить Windows подкачать новый, или ранее выгруженный сегмент.

7) весь код Windows приложения, действующий на 3м уровне блокировки должен находиться в функции, обрабатывающей какое-то одно сообщение.

 

 

Функции блокировки не явл-ся частью ОС, а реализ-ся спец. виртуальным драйвером 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 преобразует эти обращения в обращения к след. уровню – уровню файловой системы.

 

 





Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 406; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.