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

UptoLike

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

43
Управляющий блок потока 1 Управляющий блок потока 2
Данные Данные
VMM VMM
А A
В B
TDS для TDS для
VxD1 VxD1
Данные Данные
TDS для потока 1 TDS для потока 2
VxD2 для VxD1 VxD2 для VxD1
Данные Данные
потока 1 потока 2
для VxD2 для VxD2
Контекст устройства VxD1 Контекст устройства VxD2
Указатель
Указатель на Смещение В на потоко-
Смещение А потоковые вые данные
данные
Рис. 3.2.
Показывает, как слот данных потока (TSD) может быть использован для
хранения потоковых данных
Обычно VxD интересуется состоянием виртуальной машины, если он
обеспечивает API приложений защищенного режима или режима V86.
Такой VxD получает его вход и обеспечивает его вывод при помощи этого
регистра клиента. Прежде, чем VxD вызовет точку входа API, менеджер
виртуальных машин VMM устанавливает в EBP указатель на структуру
регистра клиента. VxD может также найти адрес структуры регистра
клиента через CB_Cllent_Pointer в
управляющем блоке виртуальной
машины. На рис. 3.3. показаны эти взаимосвязи.
                                      43




     Управляющий блок потока 1                 Управляющий блок потока 2
      Данные                                    Данные
       VMM                                       VMM

 А                                         A

В                                      B

     TDS для                                   TDS для
      VxD1                                      VxD1
                           Данные                                   Данные
     TDS для               потока 1            TDS для              потока 2
      VxD2                 для VxD1             VxD2                для VxD1




                      Данные                                   Данные
                      потока 1                                 потока 2
                      для VxD2                                 для VxD2




     Контекст устройства VxD1                      Контекст устройства VxD2
                                                                     Указатель
                      Указатель на                   Смещение В      на потоко-
       Смещение А     потоковые                                      вые данные
                      данные


Рис. 3.2. Показывает, как слот данных потока (TSD) может быть использован для
          хранения потоковых данных

      Обычно VxD интересуется состоянием виртуальной машины, если он
обеспечивает API приложений защищенного режима или режима V86.
Такой VxD получает его вход и обеспечивает его вывод при помощи этого
регистра клиента. Прежде, чем VxD вызовет точку входа API, менеджер
виртуальных машин VMM устанавливает в EBP указатель на структуру
регистра клиента. VxD может также найти адрес структуры регистра
клиента через CB_Cllent_Pointer в управляющем блоке виртуальной
машины. На рис. 3.3. показаны эти взаимосвязи.