By default, a Windows 2000 server is tuned for optimal background performance, while a Windows 2000 Professional workstation is tuned for optimal forground performance.

You can view your computer's settings at Control Panel / System / Advanced / Performance Options.

Background services are assumed to benefit from more CPU time and Applications require shorter time slices so that they can be more responsive to keyboard input and to more threads, as in Terminal Services in Application Server mode.

A time slices runs for a quantum, a unitless measure, until a context switch occurs and another thread is selected to run. Time slicing prevents a CPU bound process from monopolizing the processor if no I/O operation or keyboard input causes an interupt. Windows 2000 currently defines 3 quantums as being either 10 milliseconds in a standard single processor HAL or 15 milliseconds on a multi-processor pentium HAL. OEM HALs may use different values.

When Backround services is selected, time slices are fixed at 36 quantums.

When you choose Applications, backgrounds tasks receive a different quantum than foreground tasks, and each set of quantums are of shorter duration. A background task receives a 3 quantum time slice and a foreground task receives a 9 quantum time slice. Additionally, a foreground tasks receives a process priority boost of 2, which can only be seen using System Monitor. As in Windows NT, a process receives a momintary priority boost when it returns from an I/O call, user-mode subsystem call, or when receiving keyboard input. This is normally from 8 to 12. The process boost is limited to 2, so that other threads can quickly respond to keyboard input. A dispatch queue maintains the list of ready processes, ordered by process priority.

NOTE: None of the above applies to priority classes or job scheduling classes. Windows 2000 Advanced Server uses job objects to control the behavior of jobs and only uses job scheduling classes if Backround services is selected.