What is a distributed system?
Users see a single, integrated facility. (Fig 1.1)
Examples
Distributed UNIX
Commercial Applications
Wide Area network applications
Multimedia information access and conferencing applications
(Fig 1.4)
Key Characteristics
Resource Sharing
as in centralized timesharing systems:
resource manager: (Fig 1.5) manages resources of a given type
client-server model
(as in UNIX) (Fig 1.6)
object-based model
As in object-oriented programming (Fig 1.7)
Openness
How easily can the system by extended? (hw, sw)
Can new resource-sharing services be added?
Yes: publish the interfaces.
Ex) UNIX. Interface is system calls. New features/hw supported by
adding new system calls or extending existing calls (kernel hacking).
hardware independence.
IPC allow services to be added as user processes on any computer on the
network: open distributed systems.
Concurrency
Several processes executing at once. (Fig 1.8)
Concurrent access and updates must be synchronized.
Scalability
System and application software should not have to be changed when
the system grows.
Design philosophy: can always add more of any resource, as needed.
(e.g., if file server loaded, add another. if a file is accessed
a lot, replicate it (but keep it consistent))
Fault Tolerence
Detect them, recover from them.
availability: % of time system is usable
process group: concurrent processes that cooperate via shared
communications (e.g., group broadcast or multicast)
Transparency
The degree to which the system appears as a whole (not separate components)
network transparency= access + location transparency
(e.g., rlogin...NOT; email address...IS)
Historical Background
(Fig 1.9)