Distributed Operating System

Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

1

What is a Distributed Operating System?

A distributed computer system consists of multiple software components that


are on multiple computers but run as a single system.
It enables the sharing of various resources such as CPUs, disks, network
interfaces, nodes, and computers across different sites, thereby expanding
the available data within the entire system.
It encompasses multiple computers, nodes, and sites, all interconnected
through LAN/WAN lines.
Or

A distributed operating system is one in which several computer


systems connect through a single communication channel.
Moreover, these systems have their individual processors and
memory. Furthermore, these processors communicate through high-
speed buses or telephone lines.

The Key Purpose / Characteristics of Distributed os are


2

1. Resource Sharing
The main important feature of this system is that it allows users to
share resources. Moreover, they can share resources in a secure and
controlled manner. Resources can be of any type. For example, some
common resources which are shared can be printers, files, data,
storage, web pages, etc.

2. Openness(we can itegrate any h/w or s/w to system )


The openness of distributed systems is achieved by specifying the
key s/w interface of system and making it available to software
developers so that the system can be extended in many ways.

3. Concurrency
It means that several tasks take place at different nodes of the system
simultaneously. The processing concurrency can be achieved by
sending requests to multiple machines connected by network at the
same time.

4. Scalability
It refers to the fact that the efficiency of the system should not change
when more nodes are added to the system. Moreover, the
performance for the system with 100 nodes should be equal to the
system with 1000 nodes.

5. Fault Tolerance
It means that the user can still work with the system in the case,
hardware, or software fails.

6. Transparency
It is the most important feature of the system. The main goal of a
distributed OS is to hide the fact that the resources are being shared.
Furthermore, transparency mean that the user should not know that
3

the resources he is using are shared. Moreover, for the user, the
system should be a separate individual unit.

Advantages of Distributed OS

 The load on the system decreases.


 If one system stops it will not affect the other.
 The system shares a workload that makes calculations easy.
 The size of the system can be set according to requirements.
 Resource sharing.
 Improved Efficiency.

Disadvantages of Distributed OS

 The cost for set up is more.


 Failure of the main system will affect the whole system.
 Programming is complex.
 Security
 Overloading
 Data Loss

*Design Goals of Distributed System


4
5
6

Reliability

By definition, reliability is the probability a system will fail in a given


period. In simple terms, a distributed system is considered reliable if
it keeps delivering its services even when one or several of its
software or hardware components fail. Thus, reliability represents
one of the main characteristics of any distributed system. Any failing
machine can always be replaced by another healthy one in such
systems, ensuring the completion of the requested task.

Take the example of a large electronic commerce store


(like Amazon), where one of the primary requirements is that any
user transaction should never be canceled due to a failure of the
machine running that transaction. For instance, if a user has added
an item to their shopping cart, the system is expected not to lose it. A
reliable distributed system achieves this through the redundancy of
both the software components and data. If the server carrying the
user’s shopping cart fails, another server with the replica of the
shopping cart should replace it.

Redundancy has a cost, and a reliable system has to pay to achieve


such resilience for services by eliminating every single point of
failure.

Flexibility: The design of distributed OS should be flexible due to


following reason

1. Easy Modifications 2.Easy Enhancement


7

Types of Distributed systems

1. High Performance Distributed


Computing:
 High performance computing (HPC) is the ability to process data and
perform complex calculations at high speeds.
 Cluster Computing: An HPC cluster consists of hundreds or
thousands of compute servers that are networked together. Each
server is called a node. The nodes in each cluster work in parallel
with each other, boosting processing speed to deliver high
performance computing.
 Grid Computing: Grid computing is a computing infrastructure
that combines computer resources spread over different
geographical locations to achieve a common goal. All unused
resources on multiple computers are pooled together and
made available for a single task.

Cluster Computing
Cluster computing defines several computers linked on a network and
implemented like an individual entity. Each computer that is linked to the
network is known as a node.

Cluster computing provides solutions to solve difficult problems by providing


faster computational speed, and enhanced data integrity. The connected
computers implement operations all together thus generating the impression
like a single system (virtual device). This procedure is defined as the
transparency of the system.

Advantages of Cluster Computing


The advantages of cluster computing are as follows −
8

 Cost-Effectiveness − Cluster computing is considered to be much more


costeffective. These computing systems provide boosted implementation
concerning the mainframe computer devices.
 Processing Speed − The processing speed of cluster computing is
validated with that of the mainframe systems and other supercomputers
demonstrate around the globe.
 Increased Resource Availability − Availability plays an important role in
cluster computing systems. Failure of some connected active nodes can be
simply transformed onto different active nodes on the server, providing
high availability.
 Improved Flexibility − In cluster computing, better description can be
updated and improved by inserting unique nodes into the current server.

Disadvantages of Cluster Computing :
 High cost : It is not so much cost-effective due to its high hardware and
its design.
 Problem in finding fault : It is difficult to find which component has a fault.
 More space is needed

Grid Computing
Grid Computing comes under the evolution of cloud computing which
includes all the nodes that are located in different locations. It has
heterogeneous nodes that are located in a different company. Some nodes
9

are set ideal and these nodes can be combined to perform any one task. It is
highly preferable to perform complex activities as there are many computers
or nodes involved in the same network.

Layered Architecture of Grid Computing

Advantages

 Can solve larger, more complex problems in a shorter time


 Easier to collaborate with other organizations
 Make better use of existing hardware

Disadvantages

 Grid software and standards are still evolving


 Learning curve to get started
 Non-interactive job submission

Cloud Computing
Cloud computing service models are based on the concept of sharing on-
demand computing resources, software, and information over the internet.
Companies or individuals pay to access a virtual pool of shared resources,
10

including compute, storage, and networking services, which are located on


remote servers that are owned and managed by service providers.

Types of cloud computing


Public cloud

Public clouds are run by third-party cloud service providers. They offer
compute, storage, and network resources over the internet, enabling
companies to access shared on-demand resources based on their unique
requirements and business goals.

Private cloud

Private clouds are built, managed, and owned by a single organization and
privately hosted in their own data centres, commonly known as “on-
premises” or “on-prem.” They provide greater control, security, and
management of data while still enabling internal users to benefit from a
shared pool of compute, storage, and network resources.

Hybrid cloud

Hybrid clouds combine public and private cloud models, allowing


companies to leverage public cloud services and maintain the security and
compliance capabilities commonly found in private cloud architectures.

Advantages of Cloud Computing


1) Back-up and restore data

Once the data is stored in the cloud, it is easier to get back-up and restore that data
using the cloud.

2) Improved collaboration

Cloud applications improve collaboration by allowing groups of people to quickly and


easily share information in the cloud via shared storage.

ADVERTISEMENT
11

3) Excellent accessibility

Cloud allows us to quickly and easily access store information anywhere, anytime in
the whole world, using an internet connection. An internet cloud infrastructure
increases organization productivity and efficiency by ensuring that our data is always
accessible.

4) Low maintenance cost

Cloud computing reduces both hardware and software maintenance costs for
organizations.

5) Mobility

Cloud computing allows us to easily access all cloud data via mobile.

6) IServices in the pay-per-use model

Cloud computing offers Application Programming Interfaces (APIs) to the users for
access services on the cloud and pays the charges as per the usage of service.

7) Unlimited storage capacity

Cloud offers us a huge amount of storing capacity for storing our important data such
as documents, images, audio, video, etc. in one place.

8) Data security

Data security is one of the biggest advantages of cloud computing. Cloud offers many
advanced features related to security and ensures that data is securely stored and
handled.

Disadvantages of Cloud Computing


A list of the disadvantage of cloud computing is given below -

1) Internet Connectivity

As you know, in cloud computing, every data (image, audio, video, etc.) is stored on
the cloud, and we access these data through the cloud by using the internet
connection. If you do not have good internet connectivity, you cannot access these
data. However, we have no any other way to access data from the cloud.
12

2) Vendor lock-in

Vendor lock-in is the biggest disadvantage of cloud computing. Organizations may


face problems when transferring their services from one vendor to another. As
different vendors provide different platforms, that can cause difficulty moving from
one cloud to another.

3) Limited Control

As we know, cloud infrastructure is completely owned, managed, and monitored by


the service provider, so the cloud users have less control over the function and
execution of services within a cloud infrastructure.

4) Security

Although cloud service providers implement the best security standards to store
important information. But, before adopting cloud technology, you should be aware
that you will be sending all your organization's sensitive information to a third party,
i.e., a cloud computing service provider. While sending the data on the cloud, there
may be a chance that your organization's information is hacked by Hackers.

Architectural Styles for Distributed Systems: Guiding Design


Principles
13

An architectural style provides a set of design principles and


guidelines to shape the structure, organization, and interactions
within a distributed system. The choice of architectural style
influences the system’s flexibility, maintainability, and testability.

Common Architectural Styles for Distributed Systems:


Embracing Diversity

Layered Architecture:

The layered architecture divides the system into distinct layers, each
with a specific function. This style promotes modularity, simplifies
development, and enhances maintainability.

Advantages:

 Well-defined boundaries and responsibilities

 Encapsulation and information hiding

 Easy to test and maintain

Disadvantages:

 Can be less flexible than other styles

 Overhead due to inter-layer communication

Object-Based Architecture:
14

The object-based architecture encapsulates data and behavior within


objects, promoting modularity and reusability. This style is
particularly suited for dynamic and frequently changing systems.

Advantages:

 Flexibility and adaptability

 Reusable components

 Promotes encapsulation and information hiding

Disadvantages:

 Can be more complex than other styles

 Performance optimization challenges

Data-Centered Architecture:

The data-centered architecture revolves around the management


and manipulation of data. Data is stored in a central repository, and
components interact with it through a defined interface. This style is
suitable for data-intensive applications.

Advantages:

 Data integrity and consistency

 Efficient for data-intensive applications


15

 Scalability through additional data nodes

Disadvantages:

 Complexity in managing data repository

 Difficulty in modifying data models


2. System architecture

System-level architecture focuses on the entire system and the placement


of components of a distributed system across multiple machines. The
client-server architecture and peer-to-peer architecture are the two major
system-level architectures that hold significance today. An example would
be an ecommerce system that contains a service layer, a database, and a
web front.

i) Client-server architecture

As the name suggests, client-server architecture consists of a client and a


server. The server is where all the work processes are, while the client is
where the user interacts with the service and other resources (remote
server). The client can then request from the server, and the server will
respond accordingly. Typically, only one server handles the remote side;
however, using multiple servers ensures total safety.
16

Client-server Architecture

Client-server architecture has one standard design feature: centralized


security. Data such as usernames and passwords are stored in a secure
database for any server user to have access to this information. This makes
it more stable and secure than peer-to-peer. This stability comes from
client-server architecture, where the security database can allow resource
usage in a more meaningful way. The system is much more stable and
secure, even though it isn’t as fast as a server. The disadvantages of a
distributed system are its single point of failure and not being as scalable
as a server.

ii) Peer-to-peer (P2P) architecture

A peer-to-peer network, also called a (P2P) network, works on the concept


of no central control in a distributed system. A node can either act as a
client or server at any given time once it joins the network. A node that
requests something is called a client, and one that provides something is
called a server. In general, each node is called a peer.
17

Peer-to-Peer Architecture

If a new node wishes to provide services, it can do so in two ways. One


way is to register with a centralized lookup server, which will then direct
the node to the service provider. The other way is for the node to broadcast
its service request to every other node in the network, and whichever node
responds will provide the requested service.
18

P2P networks of today have three separate sections:

 Structured P2P: The nodes in structured P2P follow a


predefined distributed data structure.
 Unstructured P2P: The nodes in unstructured P2P randomly
select their neighbours.
 Hybrid P2P: In a hybrid P2P, some nodes have unique
functions appointed to them in an orderly manner.

You might also like