Page 334 - DCAP103_Principle of operating system
P. 334

Unit 11: Operating System Structure



            Introduction                                                                          Notes

            In this unit, we will briefly look at the operating systems from its functional point of view; that
            is the services which are provided by the operating system. A detailed discussion will follow
            in the subsequent units.

            Common System Components
               •  Due to the complex nature of the modern operating systems, it is partitioned into smaller
                 component. Each component performs a well-defined function with well-defined inputs
                 and outputs.
               •  Many modern operating systems have the following components.

                 —  Process Management
                  —  Main Memory Management
                 —   File Management

                 —   I/O System Management
                 —   Secondary Management
                 —   Networking

                 —   Protection System
                 —   Command-Interpreter System

            11.1 Operating System Structure


            Windows 2000 consists of two major parts: the operating system itself, which runs in kernel
            mode, and the environment subsystems, which run in user mode. The kernel is a traditional
            kernel in the sense that it handles process management, memory management, file systems, and
            so on. The environment subsystems are somewhat unusual because they are separate processes
            that help user programs carry out certain system functions. In the following sections we will
            examine each of these parts in turn.
            One of NT’s many improvements over Windows 3.x was its modular structure. It consisted
            of a moderately small kernel that ran in kernel mode, plus some server processes that ran in
            user mode. User processes interacted with the server processes using the client-server model:
            a client sent a request message to a server, and the server did the work and returned the result
            to the client via a second message. This modular structure made it easier to port it to several
            computers besides the Intel line, including the DEC Alpha, IBM PowerPC, and SGI MIPS. It also
            protected the kernel from bugs in the server code. However, for performance reasons, starting
            with NT 4.0, pretty much all of the operating system (e.g., system call handling and all of the
            screen graphics) was put back into kernel mode. This design was carried over to Windows 2000.

            Nevertheless, there is still some structure in Windows 2000. It is divided into several layers,
            each one using the services of the ones beneath it. The structure is illustrated in Figure 11.1.
            One of the layers is divided horizontally into many modules. Each module has some particular
            function and a well-defined interface to the other modules.

            The  lowest  two  software  layers,  the  HAL  and  the  kernel,  are  written  in  C  and  in  assembly
            language  and are partly  machine dependent. The upper ones are written  entirely  in C and
            are almost entirely machine independent. The drivers are written in C, or in a few cases C++.



                                             LOVELY PROFESSIONAL UNIVERSITY                                   327
   329   330   331   332   333   334   335   336   337   338   339