The Distributed Operating System Information Technology Essay
In this assignment, the concept of Distributed Operating System has been given with the architectural designs, the comparison among all the distributed systems those available in computing sectors, a case study on distributed operating system and some examples. The distributed operating system is described briefly with its characteristics. Large part contains about the structural designs, models, and types of services and design issues of Distributed Operating System. Several researches have been done during this assignment. Regarding the Distributed System only architectural part gets the first priority in this report.
Distributed Operating System is a concept of running multiple computers which are linked with each other. With the advent of the networks, where more than one computer are connected and communicating with each other is called distributed computing. For this distributed computing the operating system that is generally used is called Distributed Operating System. For example: UNIX is one of the popular distributed operating system.
This operating system is one that runs multiple, autonomous CPUs which provides to users an illusion of an ordinary Centralized Operating System that runs on a Virtual Uniprocessor. Nowadays distributed operating system is a common concept and being using everywhere in IT sectors. The main plus point of using this operating system is it’s a unique concept that bring the feeling like using a same computer in the range of same machine. However we are using the machines in the distinct places.
For example: When we are using the portal of LSC, we can tell that where the server is because the same system is distributed in the different campuses like London Bridge and Elephant & Castle. When we use the Elephant & Castle’s IT laboratory we are actually using the same system. So, these computers are communicating with each other. This is a location transparency which is one of the main characteristics of Distributed Operating System.
Examples: Cambridge, Amoeba, Eden, CHORUS, V etc.
Uses in: University Computer Network, GRID (distributed computing facilities), www, p2p system(Napster), Banks (Cash machines), Ticket reservation.
Programs are logically same but physically distributed.
“Distributed System is a collection of independent computers that appears to its users as a single coherent system.”
“If you can tell which computer you are using, you are not using a distributed operating system”
Types of Distributed Operating System
Tightly-Coupled operating system for multi-processors and homogeneous multicomputer
Hide and manage hardware resources
Loosely-Coupled operating system for heterogeneous multicomputer (LAN and WAN)
Offer local services to remote clients
Additional layer atop of NOS implementing general-purpose services
Provide distribution transparency
Distributed Operating System Models
Few Microcomputers with multiple users
Central Time Sharing System
(Logged-in Users/Available CPUs) < 1
Personal workstations and almost all works are done by the work stations
Supporting global and single file system
(Logged-in Users/Available CPUs) ~ 1
Processor Pool Model
A processor is allocated from the processor pool to the user task in order to perform some computation
(Logged-in Users/Available CPUs) > 1
Transparency in Distributed System
Hide differences in data representation and how a resource is accessed.
Hide where a resource located
Hide that a resource may move to another location
Hide that a resource may be moved to another location while in use
Hide that a resource may be shared by several competitive users
Hide that a resources may be used by several competitive users
Hide the failure and recovery of a resource
Hide whether a (software) resource is in memory or on disk
(Source: CS677: Distributed Operating System, UMASS)
Reason behind the Distributed Operating System:
Computer hardware prices falling, power increasing
Availability of cheap and powerful Microprocessor
Network Connectivity increasing
Simplicity of Software
Creates another level of abstraction
It is easy to connect hardware together
So, the Distributed Operating System:
Manage resources in DOS
Seamlessly and transparently to the users
Looks like centralized OS to the users
But operates on multiple independent CPUs
Location, concurrency, migration, replicationÃ¢â‚¬Â¦
Presents a virtual Uniprocessor
Distinguishing DOS & NOS:
Distributing Operating System is one where all of computers that are connected ca share in task that need to be done. So one or more programs that are being using are actually running on some other computer, this way computer is not bogged down by trying to do everything itself.
A Network Operating System is used to describe a set up where computers are connected and can share some resources wither with each other, or central server. They generally don’t openly share all of the workload, although the server can and does provide many services for the other computers on the network. (Source: Nielsen Tech)
Figure: Distributed Operating System Figure: Network Operating System
Distributed Operating System
Network Operating System
User is not aware of multiple CPUs.
The System is fault-tolerant
Each machine runs a part of the
Distributed Operating System
User is aware of multiple CPUs.
The System is not fault-tolerant
Each machine has its own private Operating System
Figure: Middleware Based System
Services of Distributed Operating Systems:
DOS is useful because of having user level server processes to provide functions that have been traditionally provided by the operating system provided by the microkernel approach of the operating system design.
Remote Process Creation
Caching of servers
All applications are installed in mainframe and users are directly connected to it
The scalability is the biggest issue of this model
Peer to Peer Model:
All computers are connected to each other and they share common resources
No dedicated services
Again scalability problem
Client request for the services
Server provides the services
Only task is to fulfill the service
Implementation and maintenance is very expensive
Major Design Issues
In the Distributed Operating System, the resources is shared within the systems by passing in network environment may contains some unreliable components. This can raise the implementation and design issue of the system.
Object Models and naming services
Identification by name (name server)
Identification by physical or logical address(network server)
Identification by service that the server provide
Deadlock detection/ prevention
Inter process communication: Having transparency in communication by providing higher-level of logical communication methods that hide the physical details
The client/server model;
Group communication and management
Computer supported cooperative work
Remote Procedure Call (RPC)
Multi processor scheduling
Distributed shared memory
Distributed file system
Fault tolerance and security
Failures and security both are the system faults
The problem of failures can be alleviated if there is redundancy in the system- problem with check pointing.
Security: authentication and authorization.
A case study (Amoeba)
Amoeba is a Distributed Operating System originated at the University of Holland in 1981, which is now using by various European countries. Later the UNIX emulation added. Resources, regardless of their location are managed by the system, and the system. The user is not able to locate where the process is running. It collects a number of machines and act together as like a single system.
The CPUs are managed by the processor pools. It doesn’t require the same architecture, so it can mix SPARC, Motorola, Pentium etc
When the user gives a command, the system automatically choose the CPU to process. It is capable with timesharing. Some servers run on dedicated processors, because they need to be available all the time.
Figure: Amoeba System Architecture
Amoeba Architectural Features
Transparent distributed computing using a large number of processor
Parallel computing supported as well as distributed computing
The Microkernel of Amoeba is used every terminals with an on-board processor or processor and servers. Microkernel manages the processes and the threads providing the low- level memory management support. It supports inter-process communication which could be point to point or group. Also handles the low-level I/O for the device attached to the machine.
High performance RC using the FLIP protocol
Reliable, totally-ordered group communication
Support for heterogeneous system
Multiple threads per address apace
File and directory servers provided(including automatic file replication)
ANSI C, Pascal, FORTRAN77, and Modula 2 compilers and libraries provided
Language for parallel programming (Orca) available
Relation with UNIX
Good integration with existing UNIX system
Amoeba can talk to UNIX via TCP/IP
Driver available for sun UNIX and Amoeba RPC protocol
Over 100 UNIX -like utilities are available.
Amoeba is a modern distributed system that is designed for environment consisting of multiple computers.
In modern operating system, multiple systems have multiple users. Distributed Operating System introduces a new era of computing. Its extendibility and scalability makes it more popular. It’s cheaper because of using micro cheap. User can use and get the same resources. In addition, the system is customizable because there is no limit in hardware configuration and this architecture upgradable for future technology.