Priorità dei thread
Alcuni driver creano i propri thread di sistema dedicati al driver o al dispositivo e impostano la priorità di base del thread sul valore di priorità in tempo reale più basso. Altri driver di livello più alto, in particolare i driver del file system, usano thread di lavoro di sistema con una priorità di base che viene in genere impostata sul valore di priorità della variabile più alta. Il kernel pianifica un thread con la priorità in tempo reale più bassa per l'esecuzione prima di ogni thread con una priorità variabile, che include quasi ogni thread in modalità utente nel sistema.
La maggior parte delle routine del driver standard viene eseguita in un contesto di thread arbitrario, prima di tutti i thread attualmente nello stato pronto.
I thread, indipendentemente dalle rispettive priorità di runtime, vengono eseguiti in IRQL = PASSIVE_LEVEL. Molte routine di driver standard vengono eseguite in un PASSIVE_LEVEL IRQL > , ad esempio DISPATCH_LEVEL o DIRQL.
Per altre informazioni sulle priorità dei thread, vedere il white paper Pianificazione, Contesto thread e IRQL .