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


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

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

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

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

Дополнительные сведения о приоритетах потоков см. в техническом документе Планирование, контекст потока и IRQL .