4. Distributed Operating Systems - Definition
Not all operating systems are on a single CPU
4
DOS
A model where distributed applications are running
on multiple computers linked by communications
An extension of the network operating system that
supports higher levels of communication and
integration of the machines on the network
Looks like a centralized operating system
but its not!
5. Distributed Operating Systems – Types and Services
5
Multiprocessors
Multicomputers
Types
File & print services
Process & terminal
services
Mail & gateway
services
Services
6. Distributed Operating Systems – Examples
• IRIX operating system
• DYNIX operating system
• AIX operating system
• Solaris operating system
• OSF/1 operating system
• …
6
7. Distributed Operating Systems – Goals
7
Efficiency
Data propagation
Overhead of
communication
protocols
Load distribution
Consistency
in using the system
Predict User’s
perspective
• Uniformity ability
of the system’s
behavior
System’s
perspective
• Integrity
maintenance
Robustness
Fault tolerance
• Handling of exceptional
situations and errors
• Changes in the system
topology
• Long message delays
• Inability to locate a server
Security for the users and the
system
• Access control
• varying security models
8. Distributed Operating Systems – Implementation Issues
• Identification/Name
• Resources must have unique address
• naming scheme such as URL
• Distributed Coordination
• Processes required to synchronization
• Interprocess Communication
• Client/server model
• Remote Procedure Call (RPC)
• Distributed Resources
• Fault Tolerance and Security
8
9. Distributed Operating Systems – Synchronization
9
Barrier Synchronization
• Process must have synchronization
points to continue
Condition Coordination
• Process must wait for conditions -
from others- to continue
Mutual Exclusion
• Processes must exclusion each
other in critical shared resource
Types
State information sent by
messages
Decision if process may
continue must rely on a
message resolution protocol
Deadlocks
Issues
10. Layout
• Distributed Operating Systems
• Distributed File Systems
• Distributed Shared Memory
• Distribution Database Systems
• “Killer” Applications
10
11. Distributed File System
A subsystem of an operating system
Controls how data is stored and
retrieved
Without a file system, information
placed in a storage area would be
one large body of data
11
Implements a common file system that
can be shared by all autonomous
computers in a distributed system
Network transparency
High availability
File System Distributed File System
12. Distributed File System
• Architectural options
1. Fully distributed
• files distributed to all sites
2. Client-server Model
• Fileserver: dedicated sites storing files perform storage and retrieval operations
• Client: rest of the sites use servers to access files
12
14. Distributed File System - Services
14
NameServer
Provides mapping the
names supplied by clients
into objects (files and
directories)
Takes place when process
attempts to access file or
directory the first time
Cachemanager
Improves performance through file
caching
Caching at the client - When client
references file at server
• Copy of data brought from server to client
machine
• Subsequent accesses done locally at the client
Caching at the server
• File saved in memory to reduce subsequent
access time
16. Distributed File System – Issues - Protection
• Access Failure Replication (distributing copies of data on
multiple servers)
Additional Storage in the Data Center
• Two related concepts
1. Capabilities
2. Access Control Lists
• Cryptographic File System
16
17. Distributed File System – Issues - Naming
• Approaches to naming files in a distributed system
• Concatenate name of host to names of files on that host
• Have a single global directory
• All files belong to a single name space
• Having unique system wide filenames require a single computing facility
or cooperating facilities
17
Advantage Disadvantages
unique filenames Conflicts with network transparency
simple resolution Moving file to another host requires changing its name and the
applications using it
18. Distributed File System – Issues - Caching
Caching at the Client
18
Main Memory Disk
+ - + -
Fast Expensive
memory
Large files Requires local
disk
Works for diskless
clients
Complex Virtual
Memory
Management
Simpler Virtual
Memory
Management
19. Distributed File System – Issues - Caching
Cache consistency
19
• Server informs cache managers when data in client caches is stale
• Client cache managers invalidate stale data or retrieve new data
• Extensive communication
Server initiated
• Cache managers at the clients validate data with server before
returning it to clients
• Extensive communication
Client initiated
• Several clients open a file, at least one of them for writing
• Server informs all clients to purge that cached file
Prohibit file caching when
concurrent-writing
Lock files when concurrent-write
sharing (at least one client opens for
write)
20. Distributed File System – Issues – Writing Policy
once a client writes into a file (and the local cache), when should
the modified cache be sent to the server?
• Write-through
• All writes at the clients, immediately transferred to the servers
• Reliability
• It does not take advantage of the cache
• Slow Performance
20
21. Distributed File System – Issues – Writing Policy
once a client writes into a file (and the local cache), when should
the modified cache be sent to the server?
• Delayed writing
• Delay transfer to servers
• Many writes take place (including intermediate results) before a transfer
• Some data may be deleted
• No reliability
21
22. Distributed File System – Issues – Writing Policy
once a client writes into a file (and the local cache), when should
the modified cache be sent to the server?
• Delayed writing until file is closed at client
• For short open intervals, same as delayed writing
• For long intervals, reliability problems
22
23. Distributed File System – Issues – Availability
what is the level of availability of files in a distributed file system?
• Use replication to increase availability
• Many copies (replicas) of files are maintained at different sites/servers
• How to keep replicas consistent
• How to detect inconsistency among replicas
23
24. Layout
• Distributed Operating Systems
• Distributed File Systems
• Distributed Shared Memory
• Distribution Database Systems
• “Killer” Applications
24
26. Distributed Shared Memory-Stumm and Zhou's
Classification
• Central-server algorithm
• Non-migrating and non-replicated
• Client: Sends a data request to the central server
• Central server: Receives the request, performs data access and
sends a response
• Client: Receives the response
• Migration algorithm
• Migrating and non-replicated
• Client: If the needed data object is not local, determines the
location and then sends a request.
• Remote host: Receives the request and then sends the object.
• Client: Receives the response and then accesses the data object (read and /or
write)
26
27. Distributed Shared Memory-Stumm and Zhou's
Classification
• Read-replication algorithm
• Migrating and replicated
• Client: If the needed object is not local, sends a request
• Remote host: Receives the request and then sends the object
• Client: Receives the object and then multicasts by sending either
invalidate or update messages to all sites that have a copy of the data
object
• Remote host: Receives an invalidation signal and then invalidates its local
copy, or receives an update signal and then updates the local copy.
• Client: Accesses the data object (write)
27
28. Distributed Shared Memory-Stumm and Zhou's
Classification
• Full-replication algorithm
• Non-migrating and replicated
• Client: If it is a write, sends the data object to the sequencer.
• Sequencer: Receives the data object and adds a sequence number. Sends
the client a signal with the sequence number and multicasts the data
object together with the sequence number to all the other sites
• (Client) Receives the acknowledgment and updates local memory based
on the sequence number of each data object.
• (Other sites) Receive the data object and update local memory based on
the sequence number of each data object
28
29. Layout
• Distributed Operating Systems
• Distributed File Systems
• Distributed Shared Memory
• Distribution Database Systems
• “Killer” Applications
29
30. Distributed Database Systems
• A collection of multiple, logically interrelated databases distributed
over a computer network
• Possible design alternatives
• Autonomy
• Distribution
• Heterogeneity
30
31. Distributed Database Systems - Essentials
31
Local
autonomy
No reliance
on a central
site
Continuous
operation
Location
independence
Fragment
independence
Replication
independence
Distributed
query
processing
Distributed
transaction
management
Hardware
independence
Operating
system
independence
Network
independence
Data
independence
32. Distributed Database Systems - Issues
• Network scaling problem
• Distributed query processing
• Integration with distributed operating systems
• Heterogeneity
• Concurrency control
• Security
32
33. Layout
• Distributed Operating Systems
• Distributed File Systems
• Distributed Shared Memory
• Distribution Database Systems
• “Killer” Applications
33
34. “Killer” Applications
• Distributed Object-based Systems
• CORBA
• Distributed Document-based Systems
• WWW
• Distributed Coordination-based Systems
• JINI
• Distributed Multimedia Systems
• QoS requirements
• Emerging Systems
• Wireless networks & mobile computing
• Grid
34