The process scheduler algorithm- Once for all I will attempt to set this straight!
It shall be set to PROGRAM in
Windows Vista, Windows 7, Windows 8 and later... In XP and NT the kernel may change the priority level of a thread depending on its I/O and CPU usage and whether it is interactive (i.e. accepts and responds to input from humans), raising the priority of interactive and I/O bounded processes and lowering that of CPU bound processes, to increase the responsiveness of interactive applications.
The scheduler was modified in Windows Vista, Windows 7, Windows 8 to use the cyckle counter register of modern processors to keep track of exactly how many CPU cycles a thread has executed, rather than just using an interval-timer interrupt routine. Windows Vista, Windows 7, Windows 8 also uses a priority scheduler for the I/O queue so that disk defragmenters and other such programs don't interfere with foreground operations. Dispatch lock has also been fixed that improve multitasking and multimedia in Windows 7 and later... But that is another story.