Distributed Operating
system
Dr. Martin Offei
What is distributed OS
• A Distributed Operating System refers to an OS model in which
applications run on multiple interconnected computers, offering
enhanced communication and integration capabilities compared
to a network operating system
• Distributed Operating System, multiple CPUs are utilized, but for
end-users, it appears as a typical centralized operating 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
Types of Distributed Operating
System
Client-Server Systems
• Client-server system within a distributed operating system, clients
request services or resources from servers over a network. Clients
initiate communication, send requests, and handle user interfaces
while servers listen for requests, perform tasks, and manage
resources.
• CS OS allows for scalable resource utilization, efficient sharing
modular development, centralized control, and fault tolerance.
• It facilitates collaboration between distributed entities, promoting
the development of reliable, scalable, and interoperable distributed
systems.
Peer-to-Peer(P2P) Systems
• Peer-to-peer (P2P) systems, interconnected nodes directly
communicate and collaborate without centralized control. Each
node can act as both a client and a server, sharing resources
and services with other nodes. P2P systems enable
decentralized resource sharing, self-organization, and fault
tolerance.
• They support efficient collaboration, scalability, and resilience to
failures without relying on central servers.
• This model facilitates distributed data sharing, content
distribution, and computing tasks, making it suitable for
applications like file sharing, content delivery, and blockchain
networks.
Middleware
• Middleware acts as a bridge between different software applications
or components, enabling communication and interaction across
distributed systems. It abstracts complexities of network
communication, providing services like message passing, remote
procedure calls (RPC), and object management.
• Middleware facilitates interoperability, scalability, and fault tolerance
by decoupling application logic from underlying infrastructure.
• It supports diverse communication protocols and data formats,
enabling seamless integration between heterogeneous systems.
• Middleware simplifies distributed system development, promotes
modularity, and enhances system flexibility, enabling efficient
resource utilization and improved system reliability.
Three-Tier
• In a DOS, the three-tier architecture divides tasks into
presentation, logic, and data layers. The presentation tier,
comprising client machines or devices, handles user interaction.
The logic tier, distributed across multiple nodes or servers,
executes processing logic and coordinates system functions.
• The data tier manages storage and retrieval operations, often
employing distributed databases or file systems across multiple
nodes.
• This modular approach enables scalability, fault tolerance, and
efficient resource utilization, making it ideal for distributed
computing environments.
N-Tier
• In an N-tier architecture, applications are structured into multiple tiers or layers
beyond the traditional three-tier model. Each tier performs specific functions,
such as presentation, logic, data processing, and storage, with the flexibility to
add more tiers as needed. In a distributed operating system, this architecture
enables complex applications to be divided into modular components
distributed across multiple nodes or servers.
• Each tier can scale independently, promoting efficient resource utilization, fault
tolerance, and maintainability.
• N-tier architectures facilitate distributed computing by allowing components to
run on separate nodes or servers, improving performance and scalability.
• This approach is commonly used in large-scale enterprise systems, web
applications, and distributed systems requiring high availability and scalability.
Applications of Distributed Operating System
• Cloud Computing Platforms:
• Distributed operating systems form the backbone of cloud computing
platforms like Amazon Web Services (AWS), Microsoft Azure, and
Google Cloud Platform (GCP).
• These platforms provide scalable, on-demand computing resources
distributed across multiple data centers, enabling organizations to
deploy and manage applications, storage, and services in a distributed
manner.
• Internet of Things (IoT):
• Distributed operating systems play a crucial role in IoT networks,
where numerous interconnected devices collect and exchange
data.
• These operating systems manage communication, coordination,
and data processing tasks across distributed IoT devices, enabling
applications such as smart home automation, industrial
monitoring, and environmental sensing.
• Distributed Databases:
• Distributed operating systems are used in distributed database
management systems (DDBMS) to manage and coordinate data storage
and processing across multiple nodes or servers.
• These systems ensure data consistency, availability, and fault tolerance
in distributed environments, supporting applications such as online
transaction processing (OLTP), data warehousing, and real-time analytics.
Content Delivery Networks
(CDNs):
• CDNs rely on distributed operating systems to deliver web content,
media, and applications to users worldwide.
• These operating systems manage distributed caching, content
replication, and request routing across a network of edge servers,
reducing latency and improving performance for users accessing
web content from diverse geographic locations.
Peer-to-Peer (P2P) Networks:
• Distributed operating systems are used in peer-to-peer networks to
enable decentralized communication, resource sharing, and
collaboration among distributed nodes.
• These systems facilitate file sharing, content distribution, and
decentralized applications (DApps) by coordinating interactions
between peers without relying on centralized servers.
High-Performance Computing
(HPC)
• Distributed operating systems are employed in HPC clusters and
supercomputers to coordinate parallel processing tasks across
multiple nodes or compute units.
• These systems support scientific simulations, computational modeling,
and data-intensive computations by distributing workloads and
managing communication between nodes efficiently.
Distributed File Systems
• Distributed operating systems power distributed file systems like Hadoop
Distributed File System (HDFS), Google File System (GFS), and CephFS
• These file systems enable distributed storage and retrieval of large-scale
data sets across clusters of machines, supporting applications such as
big data analytics, data processing, and content storage
Some exs. of DOS
• Solaris: The SUN multiprocessor workstations are the intended
use for it.
• OSF/1: The Open Foundation Software Company designed it, and
it works with Unix.
• Micros: All nodes in the system are assigned work by the MICROS
operating system, which also guarantees a balanced data load.
• DYNIX: It is created for computers with many processors, known
as Symmetry.
• Locus: It can be viewed simultaneously from both local and
distant files without any location restrictions.
• Mach :Mach is a microkernel operating system kernel developed
at Carnegie Mellon University to support operating system
research, particularly in distributed and parallel computing,
Security in Distributed Operating system
• Protection and security are crucial aspects of a Distributed
Operating System, especially in organizational settings.
Measures are employed to safeguard the system from potential
damage or loss caused by external sources. Various security
measures can be implemented, including authentication
methods such as username/password and user key
Advantages of Distributed Operating System
• It can increase data availability throughout the system by sharing all
resources (CPU, disk, network interface, nodes, computers, and so on)
between sites.
• It reduces the probability of data corruption because users can access
data from another operating site in the event that one site fails.
• Data transfer from one site to another is accelerated
• Accessible from both local and remote sites, it is an open system.
• It facilitates a reduction in the time needed to process data.
• The majority of distributed systems are composed of multiple nodes that
work together to provide fault tolerance. Even if one machine
malfunctions, the system still functions
Disadvantages of Distributed Operating System
• The restrictions of a scheduler might result in unpredictable
runtimes and unused hardware.
• Since the nodes and connections in DOS need to be secured, it
is challenging to establish sufficient security.
• Comparing a DOS-connected database to a single-user system,
the latter is easier to maintain and less complex.
• Compared to other systems, the underlying software is
incredibly sophisticated and poorly understood.
• Compiling, analyzing, displaying, and keeping track of hardware
utilization metrics for large clusters may be quite challenging.
Thanks for coming