Модули
![]()
личная база данных модуля
![]()
начальный адрес
|
|
|||
|
|
|||
При работе с модулями возникают две проблемы:
1. Проблема защиты информации, то есть создание закрытого адресного пространства для каждого процесса.
2. Для оперативной работы ОС надо знать список всех загруженных модулей.
Эти проблемы решаются с помощью двух структур IMTE (Internal Module Table Entry) и MODREF – она поддерживает собственный список модулей для каждого процесса. И та и другая структуры находятся в системной куче ядра. Рассмотрим структуру IMTE.
таблица
модулей IMTE
|
|
|||
|
|
|||
pModuleTableArray
|
Начало таблицы модулей хранится в pModuleTableArray. Как только новый процесс или dll создаются, то kernel32 создаёт структуру IMTE, ищет свободный элемент в таблице модулей и записывает в него указатель на структуру IMTE. ОС сама следит за тем, чтобы не произошло заполнение таблицы модулей.
предыдущаяследующая