Windows Internals, Sixth Edition takes around eighty pages to describe scheduling in Windows 7.
It starts like this:
Windows implements a priority-driven, preemptive scheduling system - at least one of the highest-priority runnable (ready) threads always runs, with the caveat that certain high-priority threads ready to run might be limited by the processors on which they might be allowed or preferred to run, a phenomenom called processor affinity.