Электронный учебник:


Курс лекций:


Дополнительно:

Практикум:



Наши хостеры:

Модули

ImageImage                                                                                                                            личная база данных модуля

ImageImage                                                                                                                                    начальный адрес

Image
Image
 

          При работе с модулями возникают две проблемы:

1.      Проблема защиты информации, то есть создание закрытого адресного пространства для каждого процесса.

2.      Для оперативной работы ОС надо знать список всех загруженных модулей.

Эти проблемы решаются с помощью двух структур IMTE (Internal Module Table Entry) и MODREF – она поддерживает собственный список модулей для каждого процесса. И та и другая структуры находятся в системной куче ядра. Рассмотрим структуру IMTE.

Image                                таблица модулей                                               IMTE

Image
Image
 

Image  pModuleTableArray

Image
 

            Начало таблицы модулей хранится в pModuleTableArray. Как только новый процесс или dll создаются, то kernel32 создаёт структуру IMTE, ищет свободный элемент в таблице модулей и записывает в него указатель на структуру IMTE. ОС сама следит за тем, чтобы не произошло заполнение таблицы модулей.

предыдущаяследующая