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