1.Внутреннее устройство Windows (гл. 1-4) :: Руссинович Марк
Страница:
227 из 350
Эти противоречащие друг другу ограничения нельзя соблюсти одновременно ни при каких обстоятельствах. Более того, кроме взаимоисключения, исполнительная система должна выполнять и другие алгоритмы синхронизации, а также предоставлять механизмы синхронизации пользовательскому режиму.
Существует несколько дополнительных механизмов синхронизации, применяемых, когда спин-блокировки не годятся:
• объекты диспетчера ядра (kernel dispatcher objects);
• быстрые мьютексы (fast mutexes) и защищенные мьютексы (guarded mu-texes);
• блокировки с заталкиванием указателя (push locks);
• ресурсы исполнительной системы (executive resources).
B таблице 3–9 кратко сравниваются возможности этих механизмов и их взаимосвязь с доставкой APC режима ядра.
Объекты диспетчера ядра
Ядро предоставляет исполнительной системе дополнительные механизмы синхронизации в форме объектов, в совокупности известных как объекты диспетчера ядра. Синхронизирующие объекты, видимые из пользовательского режима, берут свое начало именно от этих объектов диспетчера ядра. Каждый синхронизирующий объект, видимый из пользовательского режима, инкапсулирует минимум один объект диспетчера ядра. Семантика синхронизации исполнительной системы доступна программистам через Windows-функции WaitForSingleObject и WaitForMultipleObjects, реализуемые подсистемой Windows на основе аналогичных системных сервисов, предоставляемых диспетчером объектов.
|< Пред. 225 226 227 228 229 След. >|