Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Modern operating systems
Tanenbaum A., Prentice-Hall, Inc., Upper Saddle River, NJ, 1992. Type: Book (9780135881873)
Date Reviewed: Dec 1 1992

Traditional and distributed operating systems concepts are presented in two parts. This textbook begins with traditional operating systems concepts and then works up to the new problems introduced by distributed systems.

The material on traditional operating systems begins with processes. Interprocess communications, mutual exclusion, and scheduling algorithms are covered. The next chapter is on memory management. Different memory management schemes (swapping, paging, and segmentation) are discussed. The book then shifts to the file system. In addition to the traditional UNIX-like file system topics, this chapter introduces computer security concepts such as user authentication, security attacks, and access control lists.

Input/output and deadlocks are covered next. The input/output chapter begins with generic I/O processing topics such as direct memory access, spooling, and interrupt processing. It then examines specific devices such as disks, timers, and terminals. The chapter on deadlocks discusses deadlock prevention, detection, and recovery. The treatment of traditional operating systems concludes with case studies of UNIX and MS-DOS.

The second half of the book, on distributed operating systems, starts with communications primitives. It covers the client-server model, remote procedure calls, and group communications. The next chapter, on synchronization, addresses clock synchronization, distributed algorithms for mutual exclusion, atomic transactions, and deadlocks in distributed systems. Threads, the analogue of traditional processes, are covered in the next chapter. In addition to threads, the chapter describes various models for hardware usage (including centralized, workstation, and processor pool). It concludes with algorithms for allocating threads to pools of processors. The last major section, on distributed file systems, discusses naming, file sharing, caching, and replication. The final two chapters are devoted to case studies of Amoeba and MACH.

The author made the right choice in shifting more of the emphasis toward distributed systems. This change is consistent with the direction of the field. The text as a whole is current. The topics discussed are relevant to today’s systems, and the examples are taken from real systems to which the reader is likely to relate. For example, the discussion on memory management includes modern processors like the MIPS R2000 and the SPARC.

Despite the additional material on distributed systems, the book manages to cover the key issues in traditional operating systems adequately. My only complaint is that the coverage of distributed systems is less comprehensive. Some of this may be due to the sheer amount of material and the lack of agreement on the key issues in distributed computing. Areas that do not receive much coverage include distributed naming (outside of the context of the file system) and distributed systems security.

The topics the author addresses are presented well. For example, the chapter on synchronization in distributed systems brings coherence to a collection of seemingly disparate topics. The reader comes away with a clear appreciation of the importance of, for example, time synchronization in building distributed systems. The organization of the book, in which the distributed systems concepts are presented as analogues of centralized system primitives, is helpful in highlighting the problems induced by distributed computing.

This book is an excellent introduction to the traditional operating systems concepts and many of the issues in modern distributed systems. It would serve as a good basis for further study of operating systems implementation or more detailed studies of advanced topics.

Reviewer:  W. Hu Review #: CR116401
Bookmark and Share
  Featured Reviewer  
 
Distributed Systems (D.4.7 ... )
 
 
Amoeba (D.4.0 ... )
 
 
Mach (D.4.0 ... )
 
 
MS-DOS (D.4.0 ... )
 
 
Unix (D.4.0 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Distributed Systems": Date
The design of the Saguaro distributed operating system
Andrews G., Schlichting R., Hayes R., Purdin T. IEEE Transactions on Software Engineering 13(1): 104-118, 1987. Type: Article
Sep 1 1987
The drinking philosophers problem
Chandy K., Misra J. ACM Transactions on Programming Languages and Systems 6(4): 632-646, 1984. Type: Article
Jun 1 1985
Virtual time
Jefferson D. ACM Transactions on Programming Languages and Systems 7(3): 404-425, 1985. Type: Article
Feb 1 1986
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy