Jump to content

Windows NT processor scheduling

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Bellezzasolo (talk | contribs) at 19:14, 30 April 2018 (remove unreferenced tag). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Windows NT processor scheduling refers to the process by which Windows NT determines which job (task) should be run on the computer processor at which time. Without scheduling, the processor would give attention to jobs based on when they arrived in the queue, which is usually not optimal. As part of the scheduling, the processor gives a priority level to different processes running on the machine. When two processes are requesting service at the same time, the processor performs the jobs for the one with the higher priority.

There are six named priority levels:

  • Realtime
  • High
  • Above Normal
  • Normal
  • Below Normal
  • Low

These levels have associated numbers with them. Applications start at a base priority level of eight. The system dynamically adjusts the priority level to give all applications access to the processor. Priority levels 0 - 15 are used by dynamic applications. Priority levels 16- 31 are reserved for real-time applications.

Affinity

In a multiprocessing environment with more than one logical processor (i.e. multiple cores or hyperthreading), more than one task can be running at the same time. However, certain processes can be set to run on only a certain subset of the available processors.[1] This is especially useful in larger systems with a NUMA architecture, where the process will run faster or slower, depending on which CPU it runs on.

References

  1. ^ E., Russinovich, Mark (2005). Microsoft Windows internals : Microsoft Windows Server 2003, Windows XP, and Windows 2000. Solomon, David A., Solomon, David A. (4th ed ed.). Redmond, Wash.: Microsoft Press. ISBN 0735619174. OCLC 57449950. {{cite book}}: |edition= has extra text (help)CS1 maint: multiple names: authors list (link)