Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 14

1

Operating System Architecture and


Distributed Systems
Let us look into the architecture of a
kernel suitable for a distributed system.
A key principle of DS is openness and
with this in mind let us examine the
major kernel architectures:
Monolithic kernels
Micro-kernels
2
Open DS and System Software
A open DS should make it possible to:
Run only that system software at each computer
that is necessary for its particular role in the system
architecture. For example, system software needs of
PDA and dedicated server are different and loading
redundant modules wastes memory resources.
Allow the software (and the computer) implementing
any particular service to be changed independent of
other facilities.
Allow for alternatives of the same services to be
provided, when this is required to suit different users
or applications.
Introduce new services without harming the integrity
of existing ones.
3
Separating Mechanisms and Policies
in OS and DS
A Guiding principle of OS design:
The separation of fixed resource management mechanisms
from resource management policies, which vary from
application to application and service to service.
For example, an ideal scheduling system would provide
mechanisms that enable a multimedia application such
as videoconferencing to meet its real-time demands
while coexisting with a non-real-time application such
as web browsing.
That is kernel would provide only the most basic
mechanisms upon which the general resource
management tasks at a node are carried out.
Server modules would be dynamically loaded as
required, to implement the required RM policies for the
currently running applications.
4
OS/Kernel Architecture
The two key examples of kernel design approaches are:
Monolithic
Microkernel
Basically these two designs differ primarily in the
decision as to what functionality belongs in the kernel
and what is left to server processes that can be
dynamically loaded to run on top of it.
In Literature, we find predominantly 3 types of OS:
Monolithic OS
Layered OS
Microkernel-based OS
The first two may be put under the same category as
monolithic.
The chambers 20
th
century dictionary definition of monolithic
is: a pillar, column, of a single stone: anything that resembling
a monolithic, massiveness.
5
Monolithic kernel and microkernel
Monolit hic Kernel Microkernel
Serv er: Dy namically loaded server program: Kernel code and data:
. .. . .. .
. .. . .. .
Key:
S4
S1
. .. . .. .
S1 S2 S3
S2 S3 S4
6
Application
Programs
Application
Programs
System Services
Hardware
User Mode
Kernel Mode
Monolithic Operating System
Better application Performance
Difficult to extend
Ex: MS-DOS
7
Traditional OS
OS Designer
OS
Hardware
User Mode
Kernel Mode
Application
Programs
Application
Programs
8
Disadvantages of Monolithic OS
It is massive:
It performs all basic OS functions and takes up in
the order of megabytes of code and data
It is undifferentiated:
It is coded in a non-modular way (traditionally)
although modern ones are much more layered.
It is intractable:
Altering any individual software component to adapt
it to changing requirements is difficult.
9
New trend in OS design: Separating
mechanisms and policies
User Mode
Kernel Mode
Hardware
Microkernel
(very basic functions)
Servers
Application
Programs
Application
Programs
10
Micro-kernel
Compared to monolithic, microkernel design
provides only the most basic abstractions,
principally address space, threads and local IPC.
All other system services are provided by
servers that are dynamically loaded precisely on
those computers in the DS that require them.
Clients access these system services using the
kernels message-based invocation
mechanisms.
11
Microkernel/Client Server OS
Tiny OS kernel providing basic primitive (process, memory, IPC)
Traditional services becomes subsystems
OS = Microkernel + User Subsystems
Client
Application
OS
Emulators
File
Server
Network
Server
Display
Server
Microkernel
Hardware
User
Kernel
Send
Reply
Ex: Mach, PARAS, Chorus, etc.
12
The role of the microkernel
MK appears as a layer between H/W and
system systems.
Middleware
Language
support
subsyst em
Language
support
subsyst em
OS emulat ion
subsyst em
....
Microkernel
Hardware
The microkernel support s middleware via subsystems
13
Few Popular Microkernel Systems
MACH, CMU
It supports different OS emulators
including Unix and OS/2.
PARAS, C-DAC
Chorus
QNX,
Windows NT original design.
14
Comparison: Monolithic and
Micro-kernel OS Design
The chief advantages of a MK-based OS:
Extensibility and its ability to enforce modularity
behind memory protection boundaries
A relative small kernel is more likely to be free of
bugs than one that is larger and complex.
The advantage of a monolithic OS:
Relative efficiency with which operations can be
invoked is high because even invocation to a
separate user-level address space on the same node
is more costly.

You might also like