Поделиться через


Приоритеты потоков

Некоторые драйверы создают собственные потоки системы, предназначенные для драйверов или устройств, и задают базовый приоритет своего потока самому низкому значению уровня приоритета в режиме реального времени. Другие драйверы верхнего уровня, особенно драйверы файловой системы, используют рабочие потоки системы с базовым приоритетом, который обычно устанавливается в качестве значения максимального приоритета переменной. Ядро планирует поток с самым низким приоритетом в режиме реального времени для запуска впереди каждого потока с переменным приоритетом, который включает почти каждый поток в пользовательском режиме в системе.

Большинство стандартных подпрограмм драйверов выполняются в произвольном контексте потока перед всеми потоками, которые в настоящее время находятся в состоянии готовности.

Потоки, независимо от их соответствующих приоритетов во время выполнения, выполняются в IRQL = PASSIVE_LEVEL. Многие стандартные подпрограммы драйверов выполняются на уровне IRQL PASSIVE_LEVEL, таком как DISPATCH_LEVEL или DIRQL >.

Для получения дополнительной информации о приоритетах потоков см. технический документ «Планирование, Контекст потока и IRQL».