Operating System Support in Distributed Systems

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

// Roll No: 08bce027

// topic: Distributed system


Operating System Support in Distributed Systems
Applications and services use middleware layer for their interaction.
Middleware layer provides invocations between objects or process at the
nodes of distributed system. Below the middleware layer is the operating
system. Both unix and windows are examples of network operating
system.they have a networking capability built into them and so can be used to
access remote resources. There are no distributed operating system in general
use.because of the following two reasons.

1. Users have much invested in their application software which often


meets their current problem solving needs they will not adopt new
operating system that will not run their applications
2. The second reason against adoption of distributed operating system is
that usres tend to prefer to have a degree of autonomy for their
machines

The combination of middleware and network operating system provides an


acceptable balance between the requirement of autonomy, on the one hand,
and the network transparent resource access on the other. the network
operating system enables user to run their favourite word processor and other
stand alone applications. Middleware enables them to take advantage of
services that become available in their distributed system.

The Operating system layer


Users will only satisfied if their middleware – OS combination has good
performance. Middleware runs on variety of OS-hardware combination at the
nodes of a distributed system. The OS running at a node – a kernel and
associated user level services, eg. Libraries –provides its own flavour of
abstraction of local hardware resources for processing,storage and
communication. Middleware utilize them. Below figure shows how os layer at
each of two nodes supports a common middleware layer.

The Core OS functionality:-

1. Process manager: it handles the creation of and operation upon


processes.

2. Thread manager: it is concerned with thread creation,


synchronization and scheduling.
3. Communication manager:it provides communicaton between threads
attached to different process on the same computer.

4. Memory manager:management of physical and virtual memory is


done in this part

5. Supervisor: Dispatching of interrupts system call traps and other


exceptions control of memory management unit and hardware
caches.

Architecture for multi threaded servers:-


Figure below shows one of the possible threading architectures,the worker
pool architecture. In its simplest form the server creates a fixed pool of worker
threads to process the requests when it starts up. the module marked receipt
and queuing is typically implemented by an I/O thread, which receives
requests from collection of sockets or ports and places them on a shared
request queue for retrieval by workers.

There is sometimes requirements to treat the requests with varying priorities.


A disadvantage of this architecture is its inflexibility.

In thread per request architecture the i/o thread spawns a new worker thread
for each request,and that worker destroy itself when it has processed request.
Thus threads don’t need to be in shared queue.
The thread per connection architecture associates a thread with each
connection . the server creates a new worker thread when a client makes a
connection and destroy the thread when client closes the connection.

The thread per object architecture associates a thread with each remote
object. An I/O thread receives requests and queues them for the workers, but
this time there is a per object queue.

You might also like