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