Программирование драйверов Windows

       

Синхронизация в режиме ядра


Синхронизационные функции и примитивы позволяют организовать временные задержки в исполнении программных потоков, которые бывают нужны либо одному отдельно взятому потоку, либо для согласования действий нескольких потоков. Разумеется, следует помнить, что при использовании приемов синхронизации, ориентированных на несколько программных потоков, действие этих приемов распространяется только на тех участников, которые признают эти правила. Никакой код операционной системы не останавливает программный поток по указке кого-то третьего. Иными словами, регулировщик движения (объект синхронизации) действует только на тех участников движения (программные потоки), которые признают его право это движение регулировать. Состояние объекта синхронизации является своего рода жестом регулировщика, который плохие участники могут игнорировать, конечно же, внося угрозу неправильной работы всей системы.



Содержание раздела