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
   321   322   323   324   325   326   327   328   329   330   331