How Windows 2000 Handles Time Slicing

In NT-based (including Windows 2000) and Windows 95/98 systems, processes have priorities that determine when and how often they are given time slices. The four categories of priority, from highest to lowest, are as follows:

Real-time processes—These processes have the highest possible priority. The threads of a real-time priority class process preempt the threads of all other processes, including operating system processes performing important tasks.

High-priority processes—These processes perform time-critical tasks that must be executed immediately for the operating system to run correctly. The threads of a high-priority class process preempt the threads of normal or idle priority class processes. An example is Windows Task List, which must respond quickly when called by the user, regardless of the load on the operating system.

Normal priority—These processes have no special scheduling needs in terms of time.

Idle priority—These processes are those whose threads run only when the system is idle and are preempted by the threads of any process running in a higher priority class. An example is a screen saver.