Thread Scheduling

A preemptive, multitasking operating system must use some type of formal process to determine which threads should run and for how long. The algorithms Windows uses to determine when a thread gets scheduled aren't always well documented, but Microsoft has designed them to be as fair and as generally applicable as possible. Below, I'll document how a few of these algorithms work; just understand that future versions of Windows may alter them significantly.

Before we go any further, I should stop and point out that SQL Server does not use the Windows scheduler and the scheduling APIs as you might expect. That's because it handles most of its thread scheduling needs itself via its UMS component. One noteworthy side effect of this ...

Get Guru's Guide to SQL Server Architecture and Internals, The now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.