0% found this document useful (0 votes)
67 views43 pages

4-5 Distributed Operating Systems Concepts and Principles + Comparison of NOS and DOS

This document provides an introduction to distributed operating systems (DOS), including key concepts and principles. It defines DOS as systems where distributed applications run on multiple linked computers. DOS can share computational tasks, provide rich features to users in a transparent manner, and look like a centralized OS while operating on independent CPUs. The document discusses advantages of DOS like sharing resources, reliability, and speed, as well as challenges of scaling DOS across size, geography and administration.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views43 pages

4-5 Distributed Operating Systems Concepts and Principles + Comparison of NOS and DOS

This document provides an introduction to distributed operating systems (DOS), including key concepts and principles. It defines DOS as systems where distributed applications run on multiple linked computers. DOS can share computational tasks, provide rich features to users in a transparent manner, and look like a centralized OS while operating on independent CPUs. The document discusses advantages of DOS like sharing resources, reliability, and speed, as well as challenges of scaling DOS across size, geography and administration.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 43

Network Operating Systems

INT413

Introduction to Distributed Operating Systems


concepts and principles
Dr. Atta ur Rehman Khan
[email protected]

Content sources: (i) Introduction to Network Operating Systems by Carol Traver and Richard T. Watson
(ii) Lecture notes of Hsung-Pin Chang, National Chung-Hsing University
Distributed Operating Systems (DOS)
• A system where distributed applications are running
on multiple computers that are linked by
communication lines
• Use multiple central processors to serve multiple real
time applications and multiple users
• Can be seen as an extension of NOS that supports
higher levels of communication and integration of the
machines on the network
2
Distributed Operating Systems (DOS)
• Are able to share computational tasks, and provide a rich set
of features to users
• Look to its users as an ordinary centralized operating system
but actually runs on multiple, independent CPUs
• Each processor has its own local memory and processors
communicate with one another through various
communication lines

3
Distributed Operating System
• Users not aware of multiplicity of machines
• Access to remote resources similar to access to local resources
• Ease of connectivity for users
• Manages resources in a distributed system
• Seamlessly and transparently to the user
• Transparency of Location, migration, concurrency, replication etc
• Looks to the user like a centralized OS
• But operates on multiple independent CPUs
• Presents users with a virtual uniprocessor
4
Distributed Operating System

5
DOS: Advantages
• Sharing of resources
• Access to remote resources similar to access to local resources
• Reliability
• Does not have a single point of failure
• Does not depend on a single pool of resources
• Communication
• Tightly-coupled
• Computation speed-up
• Transfers the computation rather than data
6
DOS: Migration Types
• Data Migration
• Transfer data by transferring entire file, or transferring only those
portions of the file necessary for the immediate task
• Computation Migration
• Transfer the computation, rather than the data, across the system
• Process Migration
• Transfer of processes from machine to machine while running
(might be done for load balancing)

7
Distributed OS vs. Network OS

8
Distributed OS vs. Network OS

9
Distributed System Transparency

10
Distributed System Transparency
• Access transparency
• Example
• A distributed system may have computer systems with different OS
• As a result, have different file-naming convention
• Location transparency
• Solution: a well-designed naming scheme
• Resources may be assigned logical names
• Failure transparency
• Mask failure

11
Distributed System Transparency
• Relocation transparency
• Stronger than migration transparency since resource may be in use
• Example: mobile users roaming from place to place but can continue to use
their wireless network
• Concurrency transparency
• Key point: consistency
• Solutions: locking or transaction
• Persistence transparency
• Example: invoke methods on stored object
• We must first copy the object from disk to memory, perform operation,
and then write back to disk if necessary
• User is unaware that the server is moving state between disk and memory
12
Distributed System Transparency
• Degree of Transparency
• Trade-off between a high degree transparency and the
performance of a system
• Example: a copy of a file is changed
• If the change is propagated to all copies on different
machines, then a single update will take seconds to
complete

13
Openness
• An open distributed system offers services according to standard rules
that describe the syntax and semantics of those services
• Example: in computer networks
• Standard rules (protocols) govern the format, contents, and
meaning of messages sent and received
• Openness guarantees
• Interoperability
• Portability
• Flexibility and extensibility

14
Scalability
• Measured in different dimensions
• Size scalability
• Easily add more users, machines, and resources
• Geographical scalability
• Users and resources lie far apart
• Administratively scalability
• It can still be easy to manage even if it spans many independent
administrative organizations

15
Scalability: Problems
• With respect to size
• If more users or resources need to be added, there could be
limitations in terms of centralized services, data, and algorithms.

16
Scalability: Problems
With respect to geography
• Problems:
• Latency
• Communications in LAN and over WAN.
• Reliability
• WAN is unreliable compared to LAN

17
Scalability: Problems
With respect to administration:
• How to scale across multiple, independent administrative domains
• Problems
• Conflicting policies with respect to resource usage, payment,
management, and security

18
DOS: Scaling Techniques
• Hiding communication latencies
• Asynchronous communication
• Distribution
• e.g. DNS lookup
• Replication
• Consistency issues

19
DOS: Scaling Techniques
Hiding communication latencies:
• Important to achieve geographical scalability
• Key to hiding latencies
• Avoid waiting for the responses of remote requests – Design
applications such that they work asynchronously (asynchronous
communication)
• Reduce the overall communication – move part of computation to
the client process
• Code shipping through Java applets and Javascripts is one of the ways
of reducing communication
20
DOS: Scaling Techniques
Hiding communication latencies:
• Difference between letting (a) a server or (b) a client, check forms as
they are being filled

21
DOS: Scaling Techniques
Distribution:
• Split a component into smaller parts and spreading those parts across
the system
• Example is DNS – Hierarchically organized into a tree of domains

22
DOS: Scaling Techniques
Replication:
• Replicate components across a distributed system
• Increases availability
• Helps in load balancing
• Caching
• Special form of replication
• Making resource available near to the client temporarily
• Decision of caching is controlled by the client while decision of replication is
controlled by the owner
• Issue
• Consistency
23
DOS/NOS: False Assumptions
• The network is reliable
• The network is secure
• The network is homogeneous
• The topology does not change
• Latency is zero
• Bandwidth is infinite
• Transport cost is zero
• There is one administrator

24
Hardware Concepts
• Different memory organization in distributed computer systems
• Multicomputer (private memory) vs. multiprocessor (shared memory)
• Bus vs. switched architecture

25
Multiprocessors
• Bus-based
• Problem: scalability
• Local caches improve the problem but do not completely solve it
• Might better serve for less number of machines and processors

26
Multiprocessors
• Switch-based
• Better than bus-based for scalability

27
Homogeneous Multicomputer Systems
• The network traffic is much lower than multiprocessor systems
• CPU-to-CPU vs. CPU-to-Memory
• Bus-based multicomputer
• Example: fast-Ethernet cluster
• Problems: scalability, 25-100 nodes at most
• Switch-based multicomputer
• Mesh (Grid): two-dimension
• Hypercube: n-dimension cube

28
Homogeneous Multicomputer Systems
• Grid vs. hypercube

29
Heterogeneous Multicomputer Systems
• Most distributed systems today are built on top of a
heterogeneous multicomputer
• Processor type, memory sizes, I/O bandwidth are different
• The interconnection network may be highly
heterogeneous as well

30
DOS: Practical Aspect
• In reality, there are no distributed operating systems in general use;
but only network operating systems, such as UNIX, Mac OS, and
Windows
• Two main reasons why this is likely to sustain:
• Users have much invested in their application softwares, which
often meets their current problem-solving needs
• Users will not adopt a new OS that will not run their current
applications, whatever efficiency advantages it offers
• Users tend to prefer to have a degree of autonomy for their
machines
31
Middleware System
• Facilitates communication between clients and server
• Acts as translator for systems that are not compatible
• Translates requests, responses between client and server
• 3-tier architecture
• Client/server environment incorporating middleware
• Enhancement of services of NOS to come closer to DOS

32
Middleware System
• A software that connects diverse applications running over different
OS and facilitates routing of messages between these applications
• Mainly used in a distributed system environment having several
applications
• These application may be running on different platforms (Unix,
Windows etc.)
• Acts as an integration software to connect applications running on
different platform
• Provides distribution transparency

33
Middleware System

34
Middleware System

35
Middleware System
• Software above the operating system but below the application
program
• Refers to a software that is:
• Common to multiple applications and;
• Builds on the network transport services to enable ready
development of new applications and network services
• Examples
• Common Object Request Broker Architecture (CORBA), Distributed
Component Object Model (DCOM), Java Remote Method
Invocation (Java RMI), Grid
36
Middleware Models
• Middlewares are based on some models, or paradigms, for communication
• Example:
• Treating everything as a file, like Plan 9
• All resources, such as keyboard, mouse, disk…are treated as files
• Distributed File Systems
• Less strict than Plan 9
• Remote Procedure Call (RPC)
• Distributed Objects
• Distributed Documents: WWW

37
Middleware Services
• Communication facilities to implement access transparency
• Depends on the model assumed, like WWW
• Naming
• Persistent storage
• Distributed transactions
• Security

38
Middleware and Openness
• In an open middleware-based distributed system, the protocols used
by each middleware layer should be the same, as well as the
interfaces they offer to applications

39
Middleware System

40
Middleware System: Challenges
• Changing environment
• Computing world changes quickly and middleware has to adapt to
this ever changing environment
• Architecture
• New technological advances impose changes in established
middleware architecture
• Dynamic configuration
• Dynamic changes in system configuration will be inherent
characteristics of future computing environments

41
Operating Systems: Comparison

42
Operating Systems: Comparison

43

You might also like