The design of an operating
system is very complex task. To reduce the complexity, operating systems are
usually designed and implemented in the form of hierarchy of layers. The
layered architecture provides abstraction where most complex details are
confined within modules. The basic idea in designing an operating system is to
create hierarchy of levels of abstractions so that at each level the details of
operation of lower levels may be ignored. Each level of abstraction provides a
set of objects and related set of operations that maybe used by higher levels.
A hierarchical operating system model is shown below,
General Structure of an Operating System |
Layer 1
Kernel uses only the
objects and operations provided by the hardware. The typical functions include
in the operating system kernel are
·
Interrupt process
mechanism
·
Memory protection
·
Memory swapping
·
Virtual memory
management
·
Inter-process
communication
·
Network
mechanisms
·
I/O management
·
Process
management
Layer 2
Main function of layer 2 is
provide functionalities for management of secondary storage devices. Layer 2
also provide some functionalities for swapping.
Layer 3
Memory management functions of operating
system are implemented in this layer. It allocates memory for programs to be
loaded , and frees it when it is no longer needed. Virtual memory management is
another function of this layer. Modules of layer 3 handle hardware interrupts
that signal attempts to address data not in memory. In this case layer 3 use
functions of layer 2 to brought missing blocks from secondary storage to
primary memory.
Layer 4
Information management
functions of operating system are implemented in this layer. More sophisticated
forms of space allocation and accessing of data on secondary storage than those
provided by layer 2 are implemented at layer 4. Layer 4 also manages external
devices and peripherals, such as printer and terminals.
Layer 5
Layer 5 provides an
interface between interactive users and operating system. Modules at layer 5 use
the facilities provided by the lower levels to accept command line from
terminals. Modern operating systems are use Graphical User Interface (GUI), GUI
provide a graphical environment for users to communicate with operating system.
NEXT: Bootstrapping
Previous: Introduction to operating system
Index : Operating System
A good tutorial
ReplyDeletePlease provide it for all the topics of the UGC NET syllabus.