Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
2 views

OS ch 4 Introduction to Distributed system

A distributed system is a collection of autonomous computers connected by a communication network, enabling resource sharing and coordination through distributed system software. Key design goals include scalability, fault tolerance, and transparency, while advantages encompass high performance and reliability. Various types of distributed systems include cluster computing, cloud computing, and grid computing, each with distinct characteristics and use cases across different sectors such as finance, healthcare, and entertainment.

Uploaded by

mashhsk
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

OS ch 4 Introduction to Distributed system

A distributed system is a collection of autonomous computers connected by a communication network, enabling resource sharing and coordination through distributed system software. Key design goals include scalability, fault tolerance, and transparency, while advantages encompass high performance and reliability. Various types of distributed systems include cluster computing, cloud computing, and grid computing, each with distinct characteristics and use cases across different sectors such as finance, healthcare, and entertainment.

Uploaded by

mashhsk
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 46

Ch 2 Introduction to Distributed system

Defination -It is a collection of autonomous computers linked with a


communication network equipped with distributed system software
Example of a Distributed System
Any Social Media can have its Centralized Computer Network as its Headquarters and computer systems
that can be accessed by any user and using their services will be the Autonomous Systems in the Distributed
System Architecture.
● Distributed System Software: This Software enables computers to
coordinate their activities and to share the resources such as Hardware,
Software, Data, etc.
● Database: It is used to store the processed data that are processed by
each Node/System of the Distributed systems that are connected to the
Centralized network.
● As we can see that each Autonomous System has a common Application that can
have its own data that is shared by the Centralized Database System.
Design Goals
● Resource Sharing: It is the ability to use any Hardware, Software, or Data
anywhere in the System.
● Openness: It is concerned with Extensions and improvements in the system
(i.e., How openly the software is developed and shared with others)
● Concurrency: It is naturally present in Distributed Systems, that deal with the
same activity or functionality that can be performed by separate users who
are in remote locations. Every local system has its independent Operating
Systems and Resources.
● Scalability: It increases the scale of the system as a number of
processors communicate with more users by accommodating to
improve the responsiveness of the system.
● Fault tolerance: It cares about the reliability of the system if there
is a failure in Hardware or Software, the system continues to
operate properly without degrading the performance the system.
● Transparency: It hides the complexity of the Distributed Systems
to the Users and Application programs as there should be privacy
in every system.
Advantages of Distributed System
Below are some of the advantages of Distributed System:
● Scalability: Distributed systems can easily grow by adding more computers
(nodes), allowing them to handle increased demand without significant
reconfiguration.
● Reliability and Fault Tolerance: If one part of the system fails, others can take
over, making distributed systems more resilient and ensuring services remain
available.
● Performance: Workloads can be split across multiple nodes, allowing tasks to be
completed faster and improving overall system performance.
● Resource Sharing: Distributed systems allow resources like data, storage, and
computing power to be shared across nodes, increasing efficiency and reducing
costs.
Use cases of Distributed System
● Finance and Commerce: Amazon, eBay, Online Banking, E-Commerce
websites.
● Information Society: Search Engines, Wikipedia, Social Networking, Cloud
Computing.
● Cloud Technologies: AWS, Salesforce, Microsoft Azure, SAP.
● Entertainment: Online Gaming, Music, youtube.
● Healthcare: Online patient records, Health Informatics.
● Transport and logistics: GPS, Google Maps.
Types of Distributed System

1.Cluster Computing System

2.Cloud Computing System

3.Grid Computing System


1.Cluster Computing
● Cluster Computing: Cluster Computing is a collection of connected computers that work
together as a unit to perform operations together, functioning in a single system. Clusters are
generally connected quickly via local area networks & each node is running the same operating
system.

● When input comes from a client to the main computer, the master CPU divides the task into simple
jobs and sends it to the slave node to do it when the jobs are done by the slave nodes, they send it
back to the master node, and then it shows the result to the main computer.
Advantages of Cluster Computing
1. High Performance
2. Easy to manage
3. Scalable
4. Expandability
5. Availability
6. Flexibility
7. Cost-effectiveness
8. Distributed applications

Disadvantages of Cluster Computing


1. High cost.
2. The problem is finding the fault.
3. More space is needed.
4. The increased infrastructure is needed.
2.Cloud Computing System
Distributed cloud is a public cloud computing service that lets you run public cloud
infrastructure in multiple locations—your own cloud provider's data centers, other
cloud providers' data centers, third-party data centers or colocation centers, and
on-premises—manage everything from a single control plane.
Cloud computing refers to providing on demand IT resources/services like server,
storage, database, networking, analytics, software etc. over internet. It is a computing
technique that delivers hosted services over the internet to its users/customers. Cloud
computing provides services such as hardware, software, networking resources through
internet. Some characteristics of cloud computing are providing shared pool of
configurable computing resources, on-demand service, pay per use, provisioned by the
Service Providers etc.
A Service Level Agreement (SLA) is the bond for performance negotiated between
the cloud services provider and the client. Earlier, in cloud computing all Service Level
Agreements were negotiated between a client and the service consumer

Agreements usually specify some parameters which are mentioned below:


1. Availability of the Service (uptime)
2. Latency or the response time
3. Service components reliability
4. Each party accountability
5. Warranties
3.Grid Computing

● Grid Computing: In Grid Computing the subgroup consists of distributed systems,


which are often set up as a network of computer systems, each system can belong to
a different administrative domain and can differ greatly in terms of hardware,
software, and implementation network technology.
● The different department has different computer with different OS to make the
control node present which helps different computer with different OS to
communicate with each other and transfer messages to work.
Advantages of Grid Computing
1. Can solve bigger and more complex problems in a shorter time
frame. Easier collaboration with other organizations and better
use of existing equipment.
2. Existing hardware is used to the fullest.
3. Collaboration with organizations made easier
Distributed Information Systems

distributed information systems consist of multiple independent computers working


together as a unified system. These systems offer enhanced scalability, reliability, and
fault tolerance. They ensure efficient resource utilization and performance by distributing
tasks across various nodes. One crucial aspect is managing and sharing data effectively,
which is the role of distributed information systems.

Distributed information systems consist of multiple independent computers working


together to achieve a common goal. These systems appear as a single coherent entity to
users, offering several benefits like scalability, fault tolerance, and geographical
distribution. Each node in the system communicates and coordinates with other nodes to
perform tasks efficiently. Understanding the fundamentals of distributed information
systems is essential for building robust and scalable applications
What is a Transaction Processing System?
A Transaction Processing System (TPS) is a sophisticated information system that
enables firms to manage real-time transactions. It captures, processes, and stores
every transaction within an organization, ensuring data integrity and providing rapid
responses. TPS can handle batch processing or real-time processing, offering
reliability, efficiency, and accurate transaction processing. It is pivotal for managing
business transactions securely and maintaining seamless operations.

● Examples of TPS include banking ATMs, stock exchanges, and airline


reservation systems.
Example of Nested Transaction
Role of TP monitor in distributed system
A TP Monitor (Transaction Processing Monitor) in a distributed system
manages transactions to ensure reliability, consistency, and efficiency. Its key roles
include:
Concurrency Control – Prevents conflicts in multi-user environments.
Transaction Management – Ensures ACID (Atomicity, Consistency, Isolation,
Durability) properties.
Load Balancing – Distributes workload efficiently across servers.
Fault Tolerance – Recovers transactions in case of failures.
Resource Management – Optimizes database and network resource
usage.
Distributed Pervasive or Ubiquitous system
A pervasive system allows computing to be seamlessly integrated into daily life, enabling
devices to work in the background with minimal user interaction.

Characteristics:

● Context Awareness: Detects user preferences and surroundings.


● Always Available: Operates continuously in the background.
● Adaptive and Intelligent: Learns user behavior and adjusts accordingly.

Examples:

● Smart homes (IoT-based automation)


● Wearable devices (smartwatches, fitness bands)
● Location-based services (GPS tracking, mobile assistants)
Ubiquitous Systems
A ubiquitous system expands on pervasive computing by making computing devices
available everywhere, embedded into everyday objects and environments.

Characteristics:

● Invisible Computing: Works without direct user interaction.


● Interconnected Devices: Devices communicate seamlessly.
● Automation: Reduces human effort through smart decision-making.

Examples:

● Smart cities (automated traffic control, surveillance)


● Autonomous vehicles (self-driving cars)
Mobile computing system
A mobile computing system is a computing environment that allows users to
perform computing tasks while being mobile. It includes portable devices,
wireless communication, and mobile software that enable seamless
computing anytime and anywhere.
Key Features of Mobile Computing Systems
1. Portability – Devices like smartphones, tablets, and laptops can be
carried easily.
2. Wireless Communication – Uses Wi-Fi, Bluetooth, 4G/5G, and
satellite networks.
3. Battery-Powered Operation – Designed for energy efficiency to
support mobility.
4. Ubiquitous Access – Users can access data and applications from
any location.
5. Data Synchronization – Keeps data updated across multiple devices
Sensor Network

A Sensor Network is a collection of small, wireless, and autonomous


devices (sensors) that monitor and collect data from the environment.
These sensors communicate with each other and send data to a
central system for processing. Sensor networks are widely used in
IoT, healthcare, security, agriculture, and smart cities.
Architecture Styles in Distributed Systems

Architecture styles in distributed systems define how components interact


and are structured to achieve scalability, reliability, and efficiency. This
article explores key architecture styles—including Peer-to-Peer, and
others—highlighting their concepts, advantages, and applications in
building robust distributed systems.
1. Layered Architecture in Distributed Systems
Layered Architecture in distributed systems organizes the system into hierarchical
layers, each with specific functions and responsibilities. This design pattern helps
manage complexity and promotes separation of concerns. Here’s a detailed
explanation:
● In a layered architecture, the system is divided into distinct layers, where
each layer provides specific services and interacts only with adjacent
layers.
● This separation helps in managing and scaling the system more
effectively.
Object-based Architecture:

At its core, communication between objects happens through method


invocations, often called remote procedure calls (RPC). Popular RPC
systems include Java RMI and Web Services and REST API Calls.
The primary design consideration of these architectures is that they
are less structured.
Resource-Based Architecture in Distributed Systems (OS):

In a distributed system, multiple computers (nodes) work together to share


resources efficiently. Resource-Based Architecture (RBA) is a key design
approach where resources like CPU, memory, storage, and network
bandwidth are managed and allocated dynamically. This architecture is
widely used in cloud computing, grid computing, and service-oriented
architectures (SOA).
Resource-Based Architecture (RBA) in distributed systems efficiently
manages and allocates computing resources like CPU, memory, storage,
and network bandwidth across multiple nodes.
Types of Resources

● Computational Resources – CPU, GPU, Virtual Machines (VMs).


● Storage Resources – Cloud storage, distributed databases.
● Network Resources – Bandwidth, routers.
● Software Resources – APIs, microservices.
System Architecture
System Architecture types

1.Centralized Organization

2.Decentralized Organization

3.Hybrid Organization
Centralized Architecture

The centralized architecture is defined as every node being connected to a


central coordination system, and whatever information they desire to exchange
will be shared by that system. A centralized architecture does not automatically
require that all functions must be in a single place or circuit, but rather that
most parts are grouped and none are repeated elsewhere as would be the case
in a distributed architecture.
Decentralized Architecture

Decentralized architecture in distributed systems means that the control


and data are distributed and not necessarily controlled from a central point.
This architecture increases system dependability, expansion potential, and
error resilience due to the lack of specific critical points and balanced load.
Decentralized systems are commonly found in P2P networks, Blockchain
Technologies, and Large-scale internet services are made up of.
Hybrid System Architecture

A hybrid system architecture in an organization combines


multiple computing models, such as centralized, decentralized,
and distributed architectures, to optimize efficiency, scalability,
and flexibility.
The Network File System

What is NFS?
Network File System (NFS) is defined as a network protocol that is used for accessing or
sharing files over a network. It defines the way in which the files are stored and retrieved from
storage devices across networks. The Network File System is defined by the NFS protocol. It
utilizes Remote Procedure Calls (RPCs) which allows routing requests between clients and
servers. For communication purposes, it uses the TCP/IP It is an application layer protocol.

How Does NFS Work?


Network File System is a distributed file system protocol that helps the user to access the files
over a network.
BASIC NFS architecture for unix system

A basic NFS (Network File System) architecture on a Unix system operates


on a client-server model, where a dedicated server machine hosts the
shared files and clients on other machines can access those files over the
network as if they were local, using a remote procedure call (RPC) protocol
to communicate with the server and perform file operations like read, write,
and open; essentially allowing users to transparently access files across the
network.
The Web Based Systems
A Web-Based System in an operating system refers to an application or service that runs
over the internet or an intranet, accessible via a web browser. These systems rely on web
servers, databases, and network protocols to deliver content and services.

You might also like