Page 349 - DCAP103_Principle of operating system
P. 349

Principles of Operating Systems



                   Notes
                                      Figure 11.8: Some key Windows 2000 files, the mode they run in, the number of
                                     exported function calls, and the main contents of each file. The calls in win32k.sys
                                             are not formally exported since win32k.sys is not called directly

                                   File        Mode   Fcns  Contents

                                   hal.dll     Kernel 95   Low-level hardware management, e.g., port I/O
                                   ntoskrnl.exe  Kernel 1209  Windows 2000 operating system (kernel + executive)

                                   win32k.sys  Kernel -    Many system calls including most of the graphics
                                   ntdll.dll   User   1179  Dispatcher from user mode to kernel mode

                                   csrss.exe   User   0    Win32 environment subsystem process
                                   kernel32.dll  User  823  Most of the core (nongraphics) system calls

                                   gdi32.dll   User   543  Font, text, colour, brush, pen, bitmap, palette, drawing, etc. calls
                                   user32.dll  User   695  Window, icon, menu, cursor, dialog, clipboard, etc. calls

                                   advapi32.dll User  557  Security, cryptography, registry, management calls


                                 Although the Win32 process interface is the most important one, there are also two other ones—
                                 POSIX and OS/2. The POSIX environment provides minimal support for UNIX applications. It
                                 supports only the P1003.1 functionality and little else. It does not have threads, windowing, or
                                 networking, for example. In practice, porting any real UNIX program to Windows 2000 using
                                 this subsystem is close to impossible. It was included only because parts of the U.S. Government
                                 require operating systems for government computers to be P1003.1 compliant. This subsystem is
                                 not self-contained and uses the Win32 subsystem for the most of its work, but without exporting
                                 the full Win32 interface to its user programs (which would have made it usable, at no extra
                                 cost to Microsoft).
                                 To allow UNIX users to migrate to Windows 2000, Microsoft has a product called Interix that
                                 provides a better degree of UNIX compatibility than the POSIX subsystem.
                                 The OS/2 subsystem is similarly limited in functionality and does not support any graphical
                                 applications. In practice, it, too, is completely useless. Thus the original idea of having multiple
                                 operating system interfaces implemented by different processes in user space is essentially gone.
                                 What is left is a full Win32 implementation in kernel mode and little else.

                                 Self Assessment

                                 Multiple choice questions:
                                    1.  One of the goals of Windows 2000 (and Windows NT before it) was to make the operating
                                      system ...................... .

                                       (  a)  portable                 (b)  machine dependent
                                       (  c)  reliable                 (d)  none of these
                                    2.  Microsoft made a serious attempt to hide many of the machine dependencies in a thin
                                      layer at the bottom called ...................... .

                                       (  a)  Kernel                   (b)  Hardware layer
                                       (  c)  Hardware Abstraction layer   (d)  Hardware data layer



        342                               LOVELY PROFESSIONAL UNIVERSITY
   344   345   346   347   348   349   350   351   352   353   354