Advanced Operating System
Dr. T.P. Sharma
1
Definition of Distributed System
◼ A distributed system is:
◼ Components located at networked computers
communicate and coordinate their actions by
passing messages
◼ A distributed system is:
◼ Collection of independent computers that
appear to the users of the system as a single
computer [Tanenbaum]
2
Definition of Distributed System
Machine A Machine B Machine C
Distributed applications
Middleware service
Local OS Local OS Local OS
Network
3
Definition of Distributed System
◼ "a collection of autonomous computers linked by a
computer network with distributed system software"
◼ "a collection of processors interconnected by a
communication network in which each processor has
its own local memory and other peripherals and the
communication between any two processors of the
system takes place by message passing over the
communication network"
◼ "one in which hardware or software components
located at networked computers communicate and
coordinate their actions only by passing messages"
4
Definition of Distributed System
◼ In other words, to the user, a DS looks like a single system
◼ a virtual uniprocessor
◼ The user doesn't know (or care)
◼ - where (on what machine) files are located
◼ - where a job is executed
◼ A Distributed System is made of several computers which
◼ have no shared memory
◼ have no shared clock
◼ communicate with each other via messages
◼ have their own operating systems
5
Advantages
◼ Why distributed systems
◼ Resource sharing
◼ Communication
◼ Inherent distribution
◼ Speed
◼ 10000 CPU running at speed of 50 MIPS
◼ 500000 MIPS
◼ Economy
◼ Incremental growth
◼ Reliability
6
Characteristics of DS
◼ Concurrency
◼ Distributed systems are concurrent systems
◼ Every software or hardware components is autonomous
▪ Process
◼ Concurrent tasks
▪ A and B are concurrent if either A can happen before B or B
can happen before A
◼ Synchronization and coordination by message passing
◼ Lack of global clock
◼ Coordination and time
◼ Independent failure
◼ Failures of individual processes may remain undetected
7
Examples of Distributed Systems
1. The internet
◼ Heterogeneous network of computers and
applications
◼ Implemented through Internet protocol
intranet
ISP
backbone
satellite link
desktop computer:
server:
network link:
8
Examples of Distributed Systems
2. Distributed multimedia
•Often use the Internet infrastructure
•Characteristics
• Heterogeneous data sources that need to be synchronized
in real time
• Video, Audio, Text
•Often: distributed services
• Multicast
•Examples
•Tele teaching, Video conferencing
9
Examples of Distributed Systems
3. Intranet
•Locally administered network
•Usually proprietary
•Interfaces with the Internet via router
Desktop
•Firewall email server
computers
print and other servers
Local area
Web server network
Issues
email server
File services need to share print
data File server
Firewall impede Legitimate other servers
access the rest of
the Internet
router/firewall
10
Examples of Distributed Systems (1)
4. Mobile and Ubiquitous computing
•Resource Sharing while on the move
•Primary concerns:
•resource discovery
•efficient use of limited bandwidth
•security (privacy)
Internet
Host intranet WAP
Wireless LAN gateway Home intranet
Mobile
phone
Printer Laptop
Camera Host site
11
Resource sharing and the Web
Resource sharing pattern
•Search engine
•CSCW
•Computer-supported cooperative work
•Service
•Software that manages a collection of resources
and presents them to users and applications via
a well-defined interface
•Server
•Running program (a process that provide one or
more services)
•Remote invocation
•Client’s request to server.
12
Challenges
◼ A number of challenges arises:
• Heterogeneity
• Openness
• Security
• Scalability
• Failure handling
• Concurrency of components
• Transparency
13
Challenges
◼ Heterogeneity
◼ networks
◼ computer hardware
◼ Operating systems
◼ Programming languages
◼ Middleware
◼ To over come differences in network, OS
and languages
◼ CORBA
14
Challenges
◼ Openness
◼ Ensures extensibility and maintainability of the
system
◼ Standard interfaces & their publication
◼ Addition of new resources
◼ RFC (Request for comments) specification for
internet protocols. www. [Link]
◼ Benefits
◼ key interfaces are published
◼ uniform communication mechanisms and access
to shared resources
◼ Construction
◼ Heterogeneous components
15
Challenges
◼ Security
◼ confidentiality
◼ integrity
◼ availability
◼ Example
◼ A doctor might request access to hospital patient
data
◼ In electronic commerce and banking, users send
their credit card numbers across the internet
◼ Current security challenges
◼ Denial of service attack
◼ Security of mobile code
16
Challenges
◼ Scalability
◼ Controlling the cost of the physical resources
◼ Does the system remain effective given the
expected growth
◼ Controlling the performance loss
◼ [Link] is more than one computer
◼ Preventing the software resources running out
◼ IP addressees :32 bits to 128
◼ Avoiding performance bottleneck
▪ Decentralization of data/information
17
Challenges
◼ Computers vs. Web servers in the Internet
Date Computers Web servers Percentage
1993, July 1,776,000 130 0.008
1995, July 6,642,000 23,500 0.4
1997, July 19,540,000 1,203,096 6
1999, July 56,218,000 6,598,697 12
Mid. 2002 Internet :
150 million+ computers
667 million people
2.5 billion+ web pages
18
Challenges
◼ Failure handling
◼ Detecting failure
◼ Checksum can be used to detect corrupted
data
◼ System crash (impossible)
◼ Masking
◼ Retransmission
◼ Redundant storage
◼ Tolerating failure
◼ Exception handling (timeout when waiting for
web source)
19
Challenges
◼ Failure handling
◼ Recovery from failure
◼ Roll back
◼ Redundancy
◼ Redundant routes in network
◼ Replication of name tables in multiple domain
name servers
◼ Database replication
◼ Availability
◼ Measure of the proportion of the time a server
is available
20
Challenges
◼ Concurrency
◼ Consistent scheduling of threads (so that
dependencies are preserved in concurrent
transactions)
◼ Avoidance of deadlock
◼ Transparency
◼ Concealing the heterogeneous and
distributed nature of the system so that it
appears to the user like one system
21
Challenges :Transparency
◼ Access transparency: enables local and remote
resources to be accessed using identical operations.
◼ Location transparency: enables resources to be
accessed without knowledge of their location.
◼ Concurrency transparency: enables several
processes to operate concurrently using shared
resources without interference between them.
◼ Replication transparency: enables multiple
instances of resources to be used to increase
reliability and performance without knowledge of the
replicas by users or application programmers.
22
Challenges :Transparency
◼ Failure transparency: enables the concealment of
faults, allowing users and application programs to
complete their tasks despite the failure of hardware
or software components.
◼ Mobility transparency: allows the movement of
resources and clients within a system without
affecting the operation of users or programs.
◼ Performance transparency: allows the system to be
reconfigured to improve performance as loads vary.
◼ Scaling transparency: allows the system and
applications to expand in scale without change to the
system structure or the application algorithms.
23