The Thread Execution Scheduler

The component of Windows 2000 that interacts with the processor hardware is known as the Scheduler. Task scheduling is a fundamental part of any operating system and resides in the OS kernel, ntoskrnl.exe,for reasons that should become apparent during this discussion. The Windows 2000 thread scheduler supports foreground/background execution, multiprogramming, multiprocessing, and pre-emptive scheduling with priority queuing. It functions similarly to other major operating systems such as Compaq’s OpenVMS, Unix V, and IBM’s MVS. If you are familiar with task scheduling in one of these OSes, you should not have any trouble understanding how the Windows 2000 Scheduler works too. On the other hand, if you have prior exposure only to MS-DOS and Windows, you may find many new topics being introduced.

Multiprogramming

Windows 2000 is a multiprogramming operating system, which means that it manages and selects among multiple programs that can all be active in various stages of execution at the same time. The dispatchable unit in Windows 2000, representing the application or system code to be executed, is the thread. (Unix terminology is identical. NT Versions 4.0 and higher also support a lightweight variant of threads called fibers, but that is a detail we can ignore for now.) The Scheduler running inside the Windows 2000 operating system kernel keeps track of each thread in the system and points the processor hardware to threads that are ready to ...

Get Windows 2000 Performance Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.