HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
Promotes further understanding and provides flexibility in the learning process and use of the text. Ex.___
Illustrates key concepts without interrupting flow of the text. Ex.___
Demonstrates real-life commercial solutions to the examination of a real-life operating system. Ex.___
Requires students to utilize and apply knowledge from the text within a programming exercise so that they can gain “hands-on" experience. Ex.___
Gives interested students a starting point to learn more about the topic. Ex.___
Shows students key distributing programming concepts so that they can have an in-depth example of many of the practical concepts. Ex.___
Reinforces the demonstration of real-life solutions to various aspects of distributed computing. Ex.___
Provides students with a review of material, enabling them to check their understanding of concepts already covered—and that will be expanded upon in later chapters. Ex.___
Doreen Galli uses her considerable academic and professional experience to bring together the worlds of theory and practice providing leading edge solutions to tomorrow's challenges. Distributed Operating Systems: Concepts and Practice offers a good balance of real world examples and the underlying theory of distributed computing. The flexible design makes it usable for students, practitioners and corporate training.
This book describes in detail each major aspect of distributed operating systems from a conceptual and practical viewpoint. The operating systems of Amoeba, Clouds, and Chorus (the base technology for JavaOS) are utilized as examples throughout the text; while the technologies of Windows 2000, CORBA, DCOM, NFS, LDAP, X.500, Kerberos, RSA, DES, SSH, and NTP demonstrate real life solutions. A simple client/server application is included in the appendix to demonstrate key distributed computing programming concepts. This book proves invaluable as a course text or as a reference book for those who wish to update and enhance their knowledge base. A Companion Website provides supplemental information.
1. Introduction to Distributed Systems.
What is an Operating System? What is a Distributed System? What is a Real-Time System? What is a Parallel System? Sample Distributed Application. Summary. References for Further Study. Exercises.
Kernel Types. Processes and Threads. Process Management. Process Scheduling. Summary. References for Further Study. Exercises.
Selection Factors. Message Passing. Pipes. Sockets. Remote Procedure Calls. Summary. References for Further Study. Exercises.
Review of Centralized Memory Management. Simple Memory Model. Shared Memory Model. Distributed Shared Memory. Memory Migration. Summary. References for Further Study. Exercises.
Mutual Exclusion and Critical Regions. Semaphores. Monitors. Locks. Software Lock Control. Token-Passing Mutual Exclusion. Deadlocks. Summary. References for Further Study. Exercises.
Introduction to Objects. The Clouds Object Approach. Chorus V3 and COOL v2. Amoeba. Distributed Component Object Model (DCOM). CORBA Overview. Summary. References for Further Study. Exercises.
Distributed Scheduling Algorithm Choices. Scheduling Algorithm Approaches. Coordinator Elections. Orphan Processes. Summary. References for Further Study. Exercises.
Distributed Name Service. Distributed File Service. Distributed Directory Service. NFS. X.500. Summary. References for Further Study. Exercises.
Transaction Management Motivation. ACID Properties of a Transaction. Consistency Models. Two-Phase Commit Protocol. Nested Transactions. Implementation Issues for Transactions. Summary. References for Further Study. Exercises.
Introduction to Global Time. Physical Clocks. Network Time Protocol (NTP). Logical Clocks. Summary. References for Further Study. Exercises.
Crytography and Digital Signatures. Authentication. Access Control (Firewalls). Summary. References for Further Study. Exercises.
Overview: Windows 2000 Design. Kernel Mode Overview. Plug and Play. NT Files System in Windows 2000 (NTFS). Active Directory. Microsoft Management Console (MMC). Cluster Service. Windows 2000 Security. HYDRA-A Thin Client. Summary. References for Further Study. Exercises.
Documentation Overview. Design Documentation. Functional Descriptions. Data Dictionary. User Documentation. Client Source Code. Server Source Code. Common Source Code. File Initialization Source Code: write_ca.c.
This book examines concepts and practice in distributed computing. It is designed to be useful not only for students but for practitioners and corporate training as well. Over the past decade, computer systems have become increasingly more advanced. Most computers are connected to some type of network on a regular basis. The installation of LANs at smaller businesses is even becoming commonplace. LANs are also being installed in custom homes at an ever-increasing rate. Software technology must keep up and so must our future and current practitioners! At the current pace, it is only a matter of time before a working knowledge of distributed systems is mandatory for all computer scientists, because this technology pertains to a majority of all computers and their applications.
The objective of this book is to describe in detail each major aspect of distributed operating systems from a conceptual and practical viewpoint. Thus, it includes relevant examples of real operating systems to reinforce the concepts and to illustrate the decisions that must be made by distributed system designers. Operating systems such as Amoeba, Clouds and Chorus (the base technology for JavaOS) are utilized as examples throughout the book. In addition, the case study on Windows 2000 provides an example of a real commercial solution. Technologies such as CORBA, DCOM, NFS, LDAP, X.500, Kerberos, RSA, DES, SSH, and NTP are also included to demonstrate real-life solutions to various aspects of distributed computing. In addition, a simple client/server application is included in the appendix that demonstrate key distributed computing programming concepts such as the use of INET sockets, pthreads, and synchronization via mutex operations.
In summary, this book focuses on the concepts, theory and practice in distributed systems. It is designed to be useful for practitioners, fourth year undergraduate as well as graduate level students and assumes that the reader has taken a basic operating system course. It is hoped that this book will prove to be invaluable not only for those already active in industry who wish to update and enhance one's knowledge base but also for future reference for those who have used it as a course text.
This book is divided into two parts. The first part, Chapter 1-6, presents the base foundation for distributed computing. The second part, Chapter 7-11, expands on these topics and delves more heavily into advanced distributed operating system topics. The pedagogical features included in this book are the following.
This book is designed to provide maximum flexibility to instructors and has pedagogical features inherent within the text to allow you to customize the coverage to best meet the needs of your class and your institution's mission statement. In preparing this book, the only assumption made is that a basic introductory to operating systems course has been taken by the reader. Select topics that may be included in an introductory operating system course but are sometimes omitted, covered lightly, often not grasped or may have been forgotten but nonetheless are key to distributed operating systems, are included where appropriate. This material need not be presented in the classroom but is included in the book so that you can be assured that the students have the basis necessary for the more advanced distributed topics. Below are suggestions on how this book may be used for those requiring additional practical emphasis as well as for those desiring additional research emphasis. A graduate course desiring to add both types of emphasis may wish to use suggestions from both categories. Additional information may be available at the author's Prentice Hall website, www.prenhall.com/galli.
The following are a few suggestions for adding practical emphasis to a course utilizing this text.
The following are a few suggestions for adding a research emphasis to a course utilizing this book.