Distributed OS vs. Centralized OS

Abstract

Silberschatz and Galvin (2009) explained that with implementing a distributed system where a collection of processors don’t share memory and other resources; the processors communicate with one another via communication networks. Such processors usually called nodes, sites, and hosts. The reasons behind building such distributed systems are:

  • Resource sharing – where several sites are connected with one another, shared resources provides different mechanisms for sharing files remotely, processing information in a distributed database, and performing many other operations.
  • Computation Speedup – Where particular computations can be divided into sub-computations that can run concurrently among various sites; and load sharing are used to complete such tasks.
  • Reliability – in a distributed system, if one site fails, the remaining sites can continue operating to give the system the requested reliability. To achieve reliability in the distributed system, the failure of a site must be detected by the system, and actions must be implemented to recover from the failure. Some of these actions are: The system must no longer use the services of the failed site, the system must transfer the failed site functions correctly, and once the failed site is repaired, mechanisms should be implemented to integrate the failed system back into the distributed system.
  • Communication – the distributed system communicate with one another via a communication network to provide users with the opportunity to exchange information.

Distributed OS vs. Centralized OS

Network operating system provides the required environment for users where they can access remote resources through the logging to the appropriate remote machines (servers) or transferring data from such machines to access them locally on their local machines (workstations). One of the important functions that the network operating system provide is to allow users to remotely login to a machine, access the shared resources via the network communication and the network operating system. Also, the network operating system provides a mechanism for remote file transfer that allows information to move from one machine to another while each computer maintains its own local file system. On the other hand, in the distributed operating system, users access remote resources in the same way they access their local machines and resources, while processes and data migrate from one site to another via the control of the distributed operating system (Silberschatz and Galvin, 2009).

Making the shared resources transparent to the users such as processors and storage devices is a key challenge for the distributed system design and operating systems, since the system has to appear to users like a conventional centralized system. Users’ interface to any distributed system should not distinguish between local and remote resources where the distributed system should be responsible for locating such resources and arranging the appropriate interaction for users to communicate with the system. Another aspect of transparency challenge is to provide users the ability to login via any machine to access the system rather than forcing them to use a specific machine. Such feature will provide a user mobility and easy access to the shared resources. Also, scalability is another challenge to the distributed systems where the capability of such system is to adapt to the increasing of the service load is highly required. Such capability will ensure that such systems will never be bounded with their resources and become saturated under the increase of load (Crowcroft , 1996).

Distributed File Systems and Database Applications

A distributed file system (DFS) is distributed implementations for a file system where multiple users share files and storage resources. The purpose of a DFS is to support the required sharing when the files is scattered/dispersed among the sites of the distributed systems. A DFS is a file system where its clients, servers and storage devices are dispersed among different machines related to a distributed system. With such mechanism, services have to be carried out across the network, and also it has multiple and independent storage devices instead of a centralized data repository. Part of the responsibilities of such system is to appear to its clients as a conventional, centralized file system (Silberschatz and Galvin, 2009).

Erlanger (2002) explained that in conventional systems, the time required to satisfy a request is consists of time required to access the disk and the time required for CPU-processing; and in a DFS an extra overhead includes the time to deliver the request to a server as well as the time required to response across the network back to the client. The overall storage space managed by a DFS is consists of different small storage located remotely within the distributed system. To increase data access performance, caching mechanism is implemented and used by the DFS to satisfy the access request where recently access disk blocks is retained in the cache to speed up the future access. The cache mechanism is used via disk or in main memory, however, main-memory caches have several advantages over the disk caching such as:  

  • Main-memory caches allow workstations to be diskless.
  • Data access will be performed quickly in main memory than from disk.

Centralized database is where data is located at a single site while a distributed database is where data is distributed across several sites. With the distributed database, the logical related databases are stored over several independent sites that usually connected through network; also the logical related databases are stored over several independent sites and one or more databases are composed of several parts known as database fragments. Such database fragments are located at different sites and can be replicated among several sites, where each database fragment is managed by its local database process (Rob and Coronel, 2009).

Rob and Coronel (2009) explained that the growth of distributed database systems has been highly required by different businesses due to the wide spread of business locally and globally and due to the rapid pace of technology change that has made the wide area networks and local area network more practical and more reliable. The complexity of a distributed database system should be transparent to the end use, and for that reason, the distributed database management system (DDBMS) treats a distributed database as a single logical database, and it follows the same basic design concepts of a single database. The distributed database is desirable over the centralized database for the following reasons:

  • In centralized database performance degradation can occur due to a growing number of remote locations over long distances.
  • High cost associated with maintaining and operating centralized database systems.
  • Scalability problems with the physical limits that can be related to the single location database.

Conclusion

Silberschatz and Galvin (2009) explained that a collection of processors that don’t share resources such as memory and clock represents a distributed system where such processors communicate with one another via communication network. A distributed system provides the user with access to the shared resources via constructed network. Such access to shared resources can be provided by computation migration, data migration, or process migration. A DFS is a file-service system where its clients, storage devices and servers are dissipated among the sites of a distributed system. With such file system, service activity has to be carried out across the network, instead of a single centralized data repository. Requests to access a remote file are achieved via two methods:

  • Remote service where requests for file access are delivered to the server; and the results are forwarded back to the client.
  • Caching the data requested to satisfy the access requested. If the data needed are not already cached, then a copy of the data is brought from the server to the client.

DFS in the distributed system should behave like conventional centralized file system, and for such reason, when caching method is used a replacement policy should be in place to keep the cache size bounded. Also, to provide the cache-consistency cached copies should be consistent with the master file. With the distributed system, replication of files on various machines is useful redundancy for improving availability. Finally, a distributed system may suffer from various types of hardware failure. For a distributed system to be fault tolerant, it must detect hardware failures and reconfigure the system to exclude such hardware from being accessed. When the failure is repaired, the system must be reconfigured to include such hardware to be available for a remote access again (Silberschatz and Galvin, 2009).

References

Silberschatz, A. & Galvin, P. (2009) Operating System Concepts. 8th ed. NJ: John Wiley & Sons, Inc.

Rob, P. & Coronel, C. (2009) Database Systems: Design, Implementation, and Management. 8th ed.Boston: Course Technology, Cengage Learning

Erlanger, L. (2002) Distributed Computing: An Introduction [Online]. Available from: http://www.extremetech.com/article2/0,1697,11769,00.asp (Accessed: 18 September 2010).

Crowcroft, J. (1996) Distributed Operating Systems [Online]. Available from: http://www.cl.cam.ac.uk/~jac22/books/ods/ods/node6.html (Accessed: 18 September 2010).

Advertisements

1 Comment »

  1. Such a good and informative description…..


RSS Feed for this entry

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: