Distributed Operating Systems: Concepts And Design
暂无分享,去创建一个
Today’s typical computing environment has changed from mainframe systems to small computing systems that often cooperate via communication networks. Distributed Operating Systems: Concepts and Design addresses the organization and principles of distributed computing systems. Although it does not concentrate on any particular operating system or hardware, it introduces the major concepts of distributed operating systems without requiring that readers know all the theoretical or mathematical fundamentals. Each chapter covers a special issue of distributed computing systems and concludes with a summary, exercises, and a bibliography (with pointers to other bibliographies on the Internet). Pradeep Sinha encourages readers to use the exercises to test their understanding of the text and stimulate further investigations. In Chapter 1, Sinha focuses on hardware, declaring that distributed computing systems based on networks of loosely coupled processing nodes are different from “true distributed systems”-distributed computing systems using distributed operating systems. After a short historical review, he presents major distributed computing system models and reviews issues to consider when designing a distributed operating system. Finally, he introduces OSF DCE (the Open Systems Foundation’s Distributed Computing Environement), which contains almost half the key technologies presented in this book. Chapter 2 briefly introduces computer networks and the state of the art in networking technology. It emphasizes models and protocols of communication in distributed networks and discusses internetworking and ATM technologies. The next three chapters cover the elements of interprocess communication used in distributed environments. Chapter 3 introduces message passing, the basic mechanism of information sharing between two or more processes on different computers. A case study of 4.3 BSD Unix interprocess communication mechanisms illustrates the relevant aspects of message passing. Chapter 4 discusses remote procedure calls, a special implementation of the general message-passing model and concludes with a case study of RPC implementations-SUN RPC and DCE W C . Chapter 5 describes distributed shared memory. It clearly presents how shared memory interprocess communication works differently on tightly or loosely coupled multiprocessor systems, and it introduces a distributed shared-virtual-memory model. Sinha discusses important issues concerning data management such as consistency and granularity, thrashing, and replacement strategies. Chapter 6 covers synchronization, a major problem of concurrent computing created when distributed processes cooperatively or competitively share distributed resources. Issues discussed include deadlock, mutual exclusion, clock synchronization, and event ordering. The next two chapters address in more detail the management of computing resources, from different points of view. Chapter 7 deals with the allocation of processing nodes to processes-that is, task assignment, load balancing and load sharing. Sinha describes each of these three approaches in detail and compares it to the others. Chapter 8 adopts a different viewpoint; it discusses how to tile processes and distribute them efficiently on a network of processing nodes. Topics of interest are threading and process migration. Chapter 9 deals with file systems in distributed environments. It defines terms, describes 10 desirable features of an ideal distributed file system, and discusses file models, file-accessing, file-sharing, file-caching, file-replication, and transactions. The chapter concludes with a case study of the DCE Distributed File Service model. Chapter 10 describes the problems of naming and locating objects in a distributed environment. This is the first chapter that explicitly associates processes, files, devices, and processing nodes with an abstract object model. Sinha introduces terminologies, naming concepts, and desirable features for naming systems. H e explains system-oriented and human-oriented naming conventions, derived name spaces, and how these are related, as well as name resolution and name cache. Chapter 10 concludes with a case study of the DCE Directory Service. Chapter 11 illustrates several aspects and problems of internal security-for example,