Threadprioritäten
Einige Treiber erstellen ihre eigenen treiber- oder gerätededizierten Systemthreads und legen die Basispriorität ihres Threads auf den niedrigsten Echtzeitprioritätswert fest. Andere Treiber der höchsten Ebene, insbesondere Dateisystemtreiber, verwenden Systemworkerthreads mit einer Basispriorität, die normalerweise auf den höchsten Wert der Variablenpriorität festgelegt ist. Der Kernel plant die Ausführung eines Threads mit der niedrigsten Echtzeitpriorität vor jedem Thread mit einer Variablenpriorität, die fast jeden Benutzermodusthread im System umfasst.
Die meisten Standardtreiberroutinen werden in einem beliebigen Threadkontext ausgeführt, vor allen Threads, die sich derzeit im Status Bereit befinden.
Threads werden unabhängig von ihren jeweiligen Laufzeitprioritäten unter IRQL = PASSIVE_LEVEL ausgeführt. Viele Standardtreiberroutinen werden an einem IRQL-PASSIVE_LEVEL > ausgeführt, z. B. DISPATCH_LEVEL oder DIRQL.
Weitere Informationen zu Threadprioritäten finden Sie im Whitepaper Planung, Threadkontext und IRQL .