W2K/XP: Thread Dispatching Triggers
-
I know that thread dispatching is triggered when any thread enters the Ready state. But do timers and I/O operations asynchronusly (i.e., outside the 15 ms Interval Timer) change thread states (from Waiting to Ready) and do they force the dispatcher to immediately perform thread scheduling? Given a high priority thread that is waiting on a timer to expire (e.g., Sleep(1)), what mechanism is checking this timer, does it occur at a higher frequency than the 15ms Clock Interval Interrupt, and does it force immediate thread scheduling?
-
I know that thread dispatching is triggered when any thread enters the Ready state. But do timers and I/O operations asynchronusly (i.e., outside the 15 ms Interval Timer) change thread states (from Waiting to Ready) and do they force the dispatcher to immediately perform thread scheduling? Given a high priority thread that is waiting on a timer to expire (e.g., Sleep(1)), what mechanism is checking this timer, does it occur at a higher frequency than the 15ms Clock Interval Interrupt, and does it force immediate thread scheduling?
jbenco wrote: does it occur at a higher frequency than the 15ms Clock Interval Interrupt It may, but I don't believe so. jbenco wrote: and does it force immediate thread scheduling? Definitely not. W2K/XP are not real time operating systems nor are they deterministic when scheduling threads.