0% found this document useful (0 votes)
29 views5 pages

1.3 OS Structures

different structures
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views5 pages

1.3 OS Structures

different structures
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

OPERATING SYSTEM STRUCTURE

There are four different structures that have been tried on designs of o/s: -
 Monolithic systems
 Layered systems
 Virtual machines
 Client server systems

(i) Monolithic Systems:


It is the most common organization of O/S in which there are actually no structure and
therefore referred to as a ‘big mess’.
An O/s is written as a collection of procedure each of which can work with each other
whenever it needs. In this technology each procedure in the system has a defined interface in
terms of parameters & results & each procedure in the system has a well-defined interface.
To construct the actual object program of O/s one first compiles all the individual
procedures, files containing the procedures & binds them together into a single object file using
the system linker.
Every procedure is visible to each other i.e. there isn’t information hiding (As opposed to
a structure with a lot of modules, in which a lot of information is hidden inside modules & only
some entry points can be called from outside the module)

Main Procedure

Service Procedure

Utility Procedure

Fig: Monolithic Structure


(ii) Layered Systems:
Generally it organizes the O/S as a hierarchy of layers, each one constructed below it.
Each of the layers is meant to handle certain kind of functions & the functions are hierarchical
(One function type leads to another set of functions

LAYER FUNCTION
5 The human operator
4 User program
3 Input/output management
2 Operator-process-communication
1 Memory & storage management
0 Process allocation & multiprogramming

Fig: Layered Operating system Structure

(ii) Virtual Machines:


The initial release of the O/S where strictly batch system e.g. O/S/360. However many
user wanted to have time-sharing which led to writing of time-sharing systems. A time-sharing
system provides:
 Multiprogramming
 An extended machine with more convenient interface than the bare H/W
O/S based on this idea of time-sharing were developed e.g. VM/370 in 1979. it
completely separated the two functions of time sharing systems. The heart of virtual machine
systems is known as Virtual Machine/Monitor. It runs on the bare H/W & does the
multiprogramming providing several virtual machines to the layers up.
However unlike all other O/S, these virtual machines are not extended with files & other
interface features, instead they are exact copy of the H/W (They include kernel) user mode, I/O
everything that the real machine has.
Because each virtual machine is similar to the H/W, each one can run directly on the
H/W. different virtual machines can run & actually do run different O/S, but some run Intel
versions of O/S 360, batch & instructions processing, while others run single user interactive
system for time sharing.
By making a complete separation of the functions of multiprogramming, providing of an
extended machine, each piece of S/W can be simple, flexible easier to maintain. The idea of
virtual machine is heavily used nowadays-indifferent context as:

 Running old MS Dos programs on Pentium Intel CPU.


 By windows & other O/s for running MS Dos programs which are started up in
the virtual mode.
As long as they execute no more instructions will run on bare H/W but where a program
tries to get to the O/S to make a system call a trap to the virtual machine monitor occurs.

BANKING AIRLINE RESERVATION

DBASE

COMPILERS EDITORS INTERPRETERS

OPERATING SYSTEM

Fig: Virtual Machines Structure


(iii) Client Server Model:
A trend in modern O/S is to move layering on the idea of adding codes into higher layers
into an even further steps & removing as much as possible excess codes from the main O/S
leaving a small kernel (Micro-Kernel).

The Kernel: A portion of the O/S that includes the most heavily used parts of S/W & kept
permanently in the main memory. It runs in a privileged mode & responds to calls from
processor & interrupts from devices.

Micro-kernel: A small privileged O/S core that offers modularity & flexibility, process
scheduling memory management and communication services. It relies on other processes to do
some of the functions traditionally associated with the O/S Kernel. The idea of micro-kernel is
that only the absolutely essential work should be in the kernel. The usual approach is to
implement most of the O/S functions in the user processes. To request a service such as reading a
block of file, a user process (Client process) sends request & a server processes, which then does
the work & sends back the answer in a client server mode. All the kernel does is to handle
communication between clients & servers.

Client: A process that requests services by sending messages to the server process.
Server: Process that responds to the clients requests via messages.
Message: A block of information that maybe exchanged between processes or a means of
communication between processes.

By splitting the O/S into parts, each handling one aspect i.e.:
 File service
 Process service
 Terminal I/O service
 Memory service,
each part becomes small & manageable; this is an advantage. Furthermore, because the
entire server runs as a user mode & not in the kernel mode, they do not have direct access to the
H/W. as a result if an error in the file server occurs, the file service may crush but not the whole
system. An advantage of this system is that it is adaptable to be used in distributed systems.

Client Client Client Terminal Server File Memory


process process Server
… Server Server User Mode

Micro-Kernel Kernel Mode

Client obtain service by sending messages to server processes

Fig: Client Server Model.

You might also like