Предыдущий раздел | Оглавление | Следующий раздел |
2.3.3.1. Дескрипторы
Ссылки пользовательского режима на объекты режима ядра не могут использовать указатели, поскольку их трудно проверить. Для ссылки на объекты режима ядра Windows использует описатели(handles, часто также называемые дескрипторами).
Описатели — это неявные значения, которые конвертируются диспетчером объектов в ссылки на представляющие объект специфические структуры данных режима ядра.
На рис. 2.8 показана структура данных таблицы дескрипторов, используемой для трансляции описателей в указатели на объекты.
На рис. 2.9 показана таблица описателей с двумя дополнительными уровнями косвенного обращения. Для выполняющегося в режиме ядра кода иногда бывает удобно иметь возможность использовать описатели (а не указатели со ссылками).
Они называются описателями ядра и специальным образом кодируются, чтобы их можно было отличить от описателей пользовательского режима.
Точно так же как и большая часть виртуального адресного пространства ядра, системная таблица описателей совместно используется всеми компонентами ядра вне зависимости от того, какой процесс пользовательского режима является текущим.
Предыдущий раздел | Оглавление | Следующий раздел |