Page 326 - DCAP103_Principle of operating system
P. 326
Unit 10: Introduction of Windows and its Programming
Although Windows 2000 is already the world heavyweight champion in terms of pure mass, it is Notes
still growing, with bugs being fixed and new features being added. The way Microsoft manages
its development is worth noting. Hundreds of programmers work on various aspects of Windows
2000 all days. Whenever a piece of code is finished, the programmer submits it electronically to
the build team. At 6 P.M. every day, the door is closed and the system is rebuilt (i.e., recompiled
and linked). Each build gets a unique sequence number, which can he seen by examining the
version number of ntoskrnl.exe (the first public release of Windows 2000 was build 2195).
The new operating system is electronically distributed to thousands of machines around the
Microsoft campus in Redmond, WA, where it is subjected to intense stress tests all night. Early
the next morning, the results of all the tests are sent to the relevant groups, so they can see if their
new code works. Each team then decides which code they want to work on that day. During the
day, the programmers work on their code and at 6 p.m. the build-and-test-cycle begins anew.
10.2 Programming Windows 2000
It is now time to start our technical study of Windows 2000. However, before getting into the
details of the internal structure, we will first take a look at the programming interface and the
registry, a small in-memory data base.
10.2.1 Win32 Application Programming Interface
Like all other operating systems, Windows 2000 has a set of system calls it can perform. However,
Microsoft has never made the list of Windows system calls public, and it also changes them
from release to release. Instead, what Microsoft has done is to define a set of function calls called
Win32 API (Win32 Application Programming Interface) that are publicly known and fully
documented. These are library procedures that either make system calls to get the work done,
or, in some cases, do the work right in user space. The existing Win32 API calls do not change
with new releases of Windows, although new API calls are added frequently.
Binary programs for the Intel x86 that adhere exactly to the Win32 API interface will run
unmodified on all versions of Windows since Windows 95. As shown in Figure 10.4, an extra
library is needed for Windows 3.x to match a subset of the 32-bit API calls to the 16-bit operating
system, but for the other systems no adaptation is needed. It should be noted that Windows
2000 adds substantial new functionality to Win32, so it has additional API calls not included on
older versions of Win32 and which will not work on older versions of Windows.
Figure 10.4: The Win32 API Allows Programs to Run on Almost all Versions of Windows
Win32
application
program
Win32 Application Programming Interface
Win32s
Windows
Windows 3.x 95/98/Me Windows NT Windows 2000
LOVELY PROFESSIONAL UNIVERSITY 319