Ремонт, сервис, услуги » Информация » Таблицы дескрипторов служб




Таблицы дескрипторов служб

Автор: addministr от 21-07-2014, 21:56

Категория: Информация



Главная таблица, используемая по умолчанию, KeServiceDescriptorTable, определяет основные системные службы исполняющей системы, реализованные в файле Ntosrknl.exe. Другая таблица, KeServiceDescriptorTableShadow, включает Windows-службы USER и GDI, реализованные в той части подсистемы Windows, которая работает в режиме ядра, Win32k.sys. На 32-разрядной версии Windows и на версии IA64, где поток Windows сразу же вызывает Windows-службу USER или службу GDI, адрес таблицы системных служб потока изменяется, чтобы указать на таблицу, которая включает Windows-службы USER и GDI. Функция KeAddSystemServiceTable позволяет Win32k.sys добавлять таблицу системных служб. Инструкции диспетчера системных служб для служб исполняющей системы Windows находятся в системной библиотеке Ntdll.dll. Для реализации своих документированных функций DLL-библиотеки подсистем вызывают функции в Ntdll.

Исключение составляют функции Windows USER и GDI, для которых инструкции диспетчера системных служб реализованы в User32.dll и Gdi32.dll — Ntdll.dll в данном случае не привлекается. Эти два обстоятельства показаны на рисунке. Как показано на рисунке, Windows-функция WriteFile в Kernel32.dll импортирует и вызывает функцию WriteFileв API-MS-Win-Core-File-L1-1-0.dll, в одной из DLL-библиотек перенаправления MinWin, которая, в свою очередь, вызывает функцию WriteFile в KernelBase.dll, где находится ее фактическая реализация. После проверки некоторых параметров, характерных для подсистемы, она затем вызывает функцию NtWriteFile в Ntdll.dll, которая, в свою очередь, выполняет соответствующую инструкцию, чтобы вызвать системное прерывание системной службы, передавая номер системной службы, представляющей NtWriteFile. Затем диспетчер системных служб (функция KiSystemService в Ntoskrnl.exe) вызывает настоящую функцию NtWriteFile для обработки запроса ввода-вывода. Для функций Windows USER и GDI диспетчер системных служб вызывает функции в загружаемой части подсистемы Windows режима ядра, Win32k.sys.

Таблицы дескрипторов служб
Диспетчеризация системных служб.



Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Архив | Связь с админом | Конфиденциальность

RSS канал новостей     Яндекс.Метрика