Организация ввода-вывода. Часть 1. Виртуальные драйверы и виртуальное окружение WINDOWS. Рощин А.В. - 35 стр.

UptoLike

Составители: 

35
Оба сегмента инициализации и реального и защищенного режима
ликвидируются после завершения инициализации. Эти сегменты
загружаются перед инициализацией первого VxD и не ликвидируются,
пока не завершат инициализацию все VxD.
Большинство VxD размещаются в одном из сегментов. В статически
загружаемом VxD, эти сегменты существуют до тех пор, пока Windows не
завершают работу. В динамически загружаемом VxD они существуют до
тех пор, пока VxD не будет выгружен. Как видно из названия, сегмент со
страничной организацией может быть выгружен на диск менеджером
виртуальных машин, в то время как заблокированный сегмент никогда не
будет выгружаться. Большая часть сегментов кода и данных VxD должны
иметь страничную организацию, чтобы разрешить менеджеру виртуальной
памяти подкачку страниц VxD и
освобождать физическую память. Только
следующие элементы могут и должны выполняться в заблокированных
сегментах:
процедура управления устройством (главная точка входа VxD),
обработчики аппаратных прерываний и все данные, к которым
они обращаются,
функции, которые могут быть вызваны обработчиком аппаратных
прерываний другого VxD, (их называют асинхронными
функциями).
Статические сегменты используются только динамически
загружаемыми
VxD, которые будут обсуждаться ниже. Статические
сегменты кода и данных динамически загружаемых VxD не будут
выгружены (останутся в памяти), в то время, как остальные VxD
динамически выгружаются.
VMM загружает отладочные сегменты только в том случае, когда
система выполняется под управлением отладчика, например WDEB386 или
                                   35



     Оба сегмента инициализации и реального и защищенного режима
ликвидируются   после     завершения    инициализации.     Эти   сегменты
загружаются перед инициализацией первого VxD и не ликвидируются,
пока не завершат инициализацию все VxD.
     Большинство VxD размещаются в одном из сегментов. В статически
загружаемом VxD, эти сегменты существуют до тех пор, пока Windows не
завершают работу. В динамически загружаемом VxD они существуют до
тех пор, пока VxD не будет выгружен. Как видно из названия, сегмент со
страничной организацией может быть выгружен на диск менеджером
виртуальных машин, в то время как заблокированный сегмент никогда не
будет выгружаться. Большая часть сегментов кода и данных VxD должны
иметь страничную организацию, чтобы разрешить менеджеру виртуальной
памяти подкачку страниц VxD и освобождать физическую память. Только
следующие элементы могут и должны выполняться в заблокированных
сегментах:
     – процедура управления устройством (главная точка входа VxD),
     – обработчики аппаратных прерываний и все данные, к которым
        они обращаются,
     – функции, которые могут быть вызваны обработчиком аппаратных
        прерываний     другого   VxD,    (их   называют    асинхронными
        функциями).
     Статические      сегменты   используются     только     динамически
загружаемыми VxD, которые будут обсуждаться ниже. Статические
сегменты кода и данных динамически загружаемых VxD не будут
выгружены (останутся в памяти), в то время, как остальные VxD
динамически выгружаются.
     VMM загружает отладочные сегменты только в том случае, когда
система выполняется под управлением отладчика, например WDEB386 или