Affinity (of process) – set of processors the thread can run on. It will run on the subset of this affinity
Ready (subdivisions):
Ready in: the resources are in memory , thread in dispatcher queue
Ready out: process selected as not being in the balanced set. Go to process ready queue.
Free pages list
Quantum end event
Boost and decay
Active Matrix – scanned after preemption (affinity – priority matrix)
Ready queue – ready summary (bits)
(wait OR timeout) can be set
Thread object has memory allocated for up to three wait blocks for efficiency.
Express Wait: when the client thread is running the server thread waits; when the server threads runs, the client thread waits.
APC: run procedure in the context of a thread (kernel mode)
In user mode APCs happen only when the thread is alert-able (not exported)
Chained interrupts
Balance set manager
Calculates balance set
Schedules in and out swapping of kernel stacks
Boosts thread priority to avoid inversion (every second 1 quantum)
Priority inversion: system is idle. Low priority thread gains access. It takes a critical section. High priority thread enters and is compute bound. A higher priority thread enters and seeks critical section.