Distributed Systems
Introduction
A system in which hardware or software components located at networked computers communicate and coordinate their actions only by passing messages.
To understand the nature of distributed systems, we will therefore first take a
look at operating systems in relation to distributed computers. Operating systems for distributed computers can be roughly divided into two categories:
- Tightly coupled systems : The operating system essentially tries to maintain a single, global view of the resources it manages.
A tightlycoupled operating system is generally referred to as a distributed operating system (DOS), and is used for managing multiprocessors and homogeneous multicomputers. Like traditional uniprocessor operating systems, the main goal of a distributed operating system is to hide the intricacies of managing the underlying hardware such that it can be shared by multiple processes.
The loosely-coupled network operating system (NOS) is used for heterogeneous multicomputer systems. Although managing the underlying hardware is an important issue for a NOS, the distinction from traditional operating systems comes from the fact local services are made available to remote clients. Network operating Systems are usually workstations and file servers on a Lan and each machine of them is autonomous.
True distributed systems is a system which is,
- Tightly coupled software on loosely coupled hardware
- Appear to users to be a single computer
Single-system image
Virtual uniprocessor
- Same kernel runs on each machine
Prime Motivation for Distributed Systems: Resource sharing
- Resource: File, database, data object, program, cpu-time, disk, memory, printer, scanner, ...
- Service: Collection of related resources, e.g. file-service, web-service, email-service, ...
- Interface: Well defined set of operators the service exports.
- Remote Invocation: Request an operation of a remote service.
- Client/server: Active and passive role in a remote invocation.