Upload
sandra-maria
View
219
Download
0
Embed Size (px)
Citation preview
8/10/2019 dc-os arch
1/14
1
Operating System Architecture andDistributed Systems
Let us look into the architecture of akernel suitable for a distributed system.
A key principle of DS is openness andwith this in mind let us examine themajor kernel architectures:
Monolithic kernels
Micro-kernels
8/10/2019 dc-os arch
2/14
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 systemarchitecture. For example, system software needs ofPDA and dedicated server are different and loadingredundant modules wastes memory resources.
Allow the software (and the computer) implementingany 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 usersor applications.
Introduce new services without harming the integrityof existing ones.
8/10/2019 dc-os arch
3/14
3
Separating Mechanisms and Policiesin OS and DS
A Guiding principle of OS design: The separation of fixed resource management mechanisms
from resource management policies, which vary fromapplication to application and service to service.
For example, an ideal scheduling system would providemechanisms that enable a multimedia application suchas videoconferencing to meet its real-time demandswhile coexisting with a non-real-time application suchas web browsing.
That is kernel would provide only the most basic
mechanisms upon which the general resourcemanagement tasks at a node are carried out.
Server modules would be dynamically loaded asrequired, to implement the required RM policies for thecurrently running applications.
8/10/2019 dc-os arch
4/14
4
OS/Kernel Architecture
The two key examples of kernel design approaches are: Monolithic Microkernel
Basically these two designs differ primarily in thedecision as to what functionality belongs in the kernel
and what is left to server processes that can bedynamically 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 asmonolithic. The chambers 20thcentury dictionary definition of monolithic
is: a pillar, column, of a single stone: anything that resembling
a monolithic, massiveness.
8/10/2019 dc-os arch
5/14
5
Monolithic kernel and microkernel
Monolithic Kernel Microkernel
Serv er: Dy namically loaded server program:Kernel code and data:
.......
.......
Key:
S4
S1 .......
S1 S2 S3
S2 S3 S4
8/10/2019 dc-os arch
6/14
6
Application
Programs
Application
Programs
System Services
Hardware
User Mode
Kernel Mode
Monolithic Operating System
Better application Performance
Difficult to extend Ex: MS-DOS
8/10/2019 dc-os arch
7/147
Traditional OS
OS Designer
OS
Hardware
User Mode
Kernel Mode
Application
Programs
Application
Programs
8/10/2019 dc-os arch
8/148
Disadvantages of Monolithic OS
It is massive:
It performs all basic OS functions and takes up inthe 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 adaptit to changing requirements is difficult.
8/10/2019 dc-os arch
9/149
New trend in OS design: Separating
mechanisms and policies
User Mode
Kernel Mode
Hardware
Microkernel
(very basic functions)
ServersApplicationPrograms
Application
Programs
8/10/2019 dc-os arch
10/1410
Micro-kernel
Compared to monolithic, microkernel designprovides only the most basic abstractions,
principally address space, threads and local IPC.
All other system services are provided byservers that are dynamically loaded precisely onthose computers in the DS that require them.
Clients access these system services using thekernels message-based invocationmechanisms.
8/10/2019 dc-os arch
11/1411
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, Cho rus , etc.
8/10/2019 dc-os arch
12/1412
The role of the microkernel
MK appears as a layer between H/W andsystem systems.
Middleware
Language
support
subsystem
Language
support
subsystem
OS emulation
subsystem....
Microkernel
Hardware
The microkernel supports middleware via subsystems
8/10/2019 dc-os arch
13/1413
Few Popular Microkernel Systems
MACH, CMUIt supports different OS emulators
including Unix and OS/2.
PARAS, C-DACChorus
QNX,
Windows NToriginal design.
8/10/2019 dc-os arch
14/14
14
Comparison: Monolithic andMicro-kernel OS Design
The chief advantages of a MK-based OS:
Extensibility and its ability to enforce modularitybehind memory protection boundaries
A relative small kernel is more likely to be free ofbugs 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 aseparate user-level address space on the same nodeis more costly.