0% found this document useful (0 votes)
17 views2 pages

Distributed Operating Systems Notes TYBSc CS

The document provides an introduction to distributed operating systems and architecture for T.Y.B.Sc. Computer Science students, defining distributed systems as independent computers that function as a single system. It outlines design goals, types of distributed systems, architectural styles, and system architectures, including centralized, decentralized, peer-to-peer, and hybrid models. Examples such as Network File System (NFS) and web-based distributed systems are also mentioned.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views2 pages

Distributed Operating Systems Notes TYBSc CS

The document provides an introduction to distributed operating systems and architecture for T.Y.B.Sc. Computer Science students, defining distributed systems as independent computers that function as a single system. It outlines design goals, types of distributed systems, architectural styles, and system architectures, including centralized, decentralized, peer-to-peer, and hybrid models. Examples such as Network File System (NFS) and web-based distributed systems are also mentioned.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Introduction to Distributed Operating Systems &

Architecture
For [Link]. Computer Science Students

1. What is a Distributed System?


A distributed system is a collection of independent computers that appears to its users as a
single coherent system. These computers communicate and coordinate their actions by passing
messages over a network.
Design Goals of Distributed Systems:

• Resource sharing – hardware, software, and data.

• Transparency – hides the distributed nature from users.

• Openness – uses standard interfaces and protocols.

• Scalability – supports growth in users, resources, and geography.

• Reliability & Fault tolerance – continues working despite failures.

• Performance – efficient use of resources.

2. Types of Distributed Systems


• Distributed Computing Systems – clusters, grids, cloud systems.

• Distributed Information Systems – distributed databases, transaction systems.

• Distributed Embedded Systems – sensor networks, IoT systems.

3. Architectural Styles
Layered Architecture: System is organized into layers, each layer providing services to the
layer above it.
Object-based Architecture: System components are objects that interact using remote method
invocation.
Resource-centered Architecture: Focuses on sharing resources accessed via a network (e.g.,
web services).

4. System Architecture
• Centralized Architecture: One central server provides services to all clients.

• Decentralized Architecture: Multiple servers cooperate to provide services.

• Peer-to-Peer (P2P): All nodes act as both clients and servers.

• Hybrid Architecture: Combination of centralized and P2P systems.

5. Example Architectures
Network File System (NFS): Allows users to access remote files as if they were local.
Web-based Distributed Systems: Use web technologies such as HTTP, browsers, and web
servers.

Common questions

Powered by AI

Distributed computing systems, such as clusters, grids, and cloud systems, focus on improving computational power and efficiency by dividing tasks across multiple nodes. They require robust scheduling and computation management strategies to optimize resource use. Distributed information systems, like distributed databases and transaction systems, primarily manage data distribution and consistency, necessitating sophisticated data replication, transaction management, and query optimization techniques. These functional differences imply different implementation focuses, with computing systems emphasizing performance and information systems emphasizing data integrity and consistency .

Centralized architectures often provide better performance initially due to the ease of managing resources from a single point, reducing latency in resource access. However, this central point becomes a bottleneck and a single point of failure, thus decreasing fault tolerance. In contrast, decentralized architectures spread out the workload and eliminate this single point of failure, enhancing fault tolerance but potentially reducing performance due to increased complexity in coordinating nodes and ensuring data consistency across multiple points .

Resource sharing and reliability can contradict each other because while sharing involves resource allocation across multiple users, it can increase the likelihood of resource contention and failures. To balance these, distributed systems use strategies such as redundancy to ensure reliability, load balancing to manage resource usage efficiently, and failover mechanisms to switch over to backup components in case of failure. These strategies ensure that resources are shared effectively without compromising the system's reliability .

Web-based distributed system architectures offer advantages such as increased accessibility via standard web protocols, easier scalability through cloud integration, and simplified client configuration using web browsers. Conversely, they might suffer from limitations like increased latency due to the HTTP protocol, higher susceptibility to security vulnerabilities from web interfaces, and reliance on internet connectivity. Traditional Network File Systems (NFS) provide reliable local file access across networks but can be more challenging to scale and offer less flexibility in accessibility and integration with modern web services .

P2P architecture enhances scalability by having all nodes function as both clients and servers, distributing the workload evenly and maximizing resource utilization. This approach avoids bottlenecks and allows the system to grow organically as more nodes join. However, it poses challenges in managing resources effectively due to its decentralized nature. Hybrid architectures combine P2P and centralized features to balance load management with scalability. They use central servers for coordination and critical functions, alongside P2P for resource sharing, optimizing both scalability and resource utilization .

Decentralized architecture enhances fault tolerance and eliminates single points of failure but complicates security and management. Security implications include the challenge of safeguarding multiple endpoints from breaches and ensuring secure data transfer across the network. Decentralized management requires robust protocols to maintain coherence, monitor all nodes effectively, and ensure consistent system updates and configurations. The increased complexity necessitates advanced tools and strategies for managing authentication, authorization, and data integrity across a dispersed network .

Distributed systems face challenges in maintaining transparency due to the need to hide the complexity of the network, the distribution of data, and potential latency or failure issues from the user. To overcome these challenges, distributed systems implement mechanisms like middleware that handle communication and data consistency behind the scenes, use replication to mask failures, and design user interfaces that abstract network details. Additionally, they use protocols to ensure data integrity and consistency, presenting a unified system to users .

Object-based architecture in distributed systems is effective for achieving openness and interoperability as it typically adheres to standard protocols and interfaces such as CORBA or REST. This standardization enables different objects, potentially from various vendors or platforms, to interact seamlessly. Remote method invocation facilitates easy access and manipulation of objects across a network, thus promoting interoperability. However, the complexity and overhead of managing numerous interactions may lead to increased design and runtime challenges .

Layered architecture addresses scalability by organizing the system in hierarchies where each layer performs specific tasks and provides services to the layer above it. This modularity allows individual layers to scale independently by upgrading or adding additional nodes. Resource-centered architecture focuses on the network-sharing aspect, often utilizing web services that inherently support scaling through distributed servers and middleware, facilitating horizontal scaling by adding more nodes to handle increased resource requests .

Scalability significantly influences the choice of architectural style in distributed systems as it dictates how easily the system can grow to accommodate an increasing number of users, resources, or transaction volumes. For instance, layered architecture supports scalability by isolating components, allowing individual upgrades. Object-based and resource-centered architectures inherently support horizontal scaling due to their modular, reusable components. A hybrid architecture might be chosen to combine the best elements of P2P and centralized systems, optimizing for scalability along with performance and fault tolerance .

You might also like