The execution of applications is very important on a Windows 2000 server, especially if its primary role is that of Applications server. An Applications server is one dedicated to providing services in the form of applications execution, like an Exchange server providing mail services, an IIS server providing Web and FTP services, or a SQL server providing database management.
In this section, you will be introduced to multitasking and the concept of the process. In addition, you will also see the priority levels that can be assigned to a process and how they can be assigned at the time the process is started. The section will also discuss the idea of the priority boost (extra processing cycles that can be given automatically to a foreground application). Finally, Task Manager utilities for changing priorities and starting and stopping processes will be covered.
Windows 2000 allows for multiple processes to run at once through the use of multitasking. This means that, regardless of the number of processors in a Windows 2000 server, more than one process appears to execute at one time. This is made possible by fast processors and a specific kind of multitasking called preemptive multitasking. Preemptive multitasking is used as opposed to the cooperative multitasking used in Windows prior to Windows 95.
The fundamental concept in a cooperative multitasking environment is that each process has access to the processor until the process decides to relinquish control of the processor. This is cooperative only as long as the process with control of the processor is in a generous mood. Otherwise, it is much like children saying, "This toy is mine until I don't want it anymore; then you can have it!" The problem with cooperative multitasking is that no independent, impartial judge can determine how long a process ought to keep control of the processor, and if a process fails while it is executing, it can cause all other processing to hang.
Preemptive multitasking solves the problem of processor access by letting the operating system control which processes (or threads) get access to the processor and for how long. This determination is made through the assignment of priorities to each process. The higher the priority that is assigned to a process, the longer (and more frequent) its processor access is. But lest you fear that some processes will never get any resources, Windows 2000 ensures that a process's priority is adjusted from its base priority enough to get access to the processor, even if it is only infrequently. This ensures that no process will be completely ignored as slices of the processor time are given out.
Windows 2000 is also capable of being a multiprocessor operating system. This completely depends, of course, on having multiple processors installed on the motherboard. Windows 2000 Server supports up to four processors. Windows 2000 Advanced Server supports up to eight processors. The multiprocessor capabilities use a system called symmetric multiprocessing. Symmetric multiprocessing systems like Windows 2000 allocate processor time from any available (or the least busy) processor. This is as opposed to asymmetric processor systems in which one processor (the master) is responsible for switching between tasks, regardless of how busy (or idle) that processor is at any given time.
Although it happens infrequently on any Windows 2000 computer, you are given the capability to modify the base priority at which an application runs. Process priorities, which can be set either manually (at startup or during execution) or through the application itself, are given a numbered priority between 0 and 31. In this priority scheme, 0 is the least likely to run and consume the processor, and 31 is the most likely to run.
Figure 4.1 illustrates how processes are divided into four categories: idle, normal, high, and real-time. Each of these categories is given a range of numbers in which they operate. In addition, each also has a base priority. The base priority is the priority that a process running in that category gets by default. As you can see, idle ranges from 0 to 6, normal from 6 to 11, high from 11 to 15, and real-time from 16 to 31. In Figure 4.1, the normal priorities are identified above the priority line.
Priorities can be manually assigned to processes for the purposes of making them more or less likely to consume the processor. In addition, the effective priority of an application can change, simply based on whether or not the window in which it is running is in the foreground.
All application priorities fall on the scale between 0 and 31.
Was this article helpful?
Read how to maintain and repair any desktop and laptop computer. This Ebook has articles with photos and videos that show detailed step by step pc repair and maintenance procedures. There are many links to online videos that explain how you can build, maintain, speed up, clean, and repair your computer yourself. Put the money that you were going to pay the PC Tech in your own pocket.