Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Principles of computer system design : an introduction
Saltzer J., Kaashoek M., Morgan Kaufmann Publishers Inc., San Francisco, CA, 2009. 576 pp. Type: Book (9780123749574)
Date Reviewed: Apr 1 2011

Writing a book about the principles of computer system design is a challenging task--the underlying architectural design patterns of current computer architectures, operating systems (OSs), and communication infrastructures must be synthesized. Saltzer and Kaashoek address this challenge in their unique survey of several design patterns that are used as building blocks in computer systems.

There are several excellent books on the market that cover more specific areas. For example, Operating system concepts [1] is the de facto introduction to OSs and Computer organization and design [2] provides reference material on computer architecture. However, few books cover both areas from a unified and design-oriented perspective. The latter perspective comes from identifying the generic and common conceptual building blocks that provide the architectural and operational basis. The primary novelty in Saltzer and Kaashoek’s book is the fresh and original presentation of several related topics. The book is logically divided into two parts: Part 1 is included in the hard-copy book; Part 2 is only available online.

Chapter 1 begins with an overview of the inherent complexity of computer systems and continues with the general design principles that manage it. The more-technical chapter 2 addresses fundamental organizational abstractions, illustrating them through the Unix file system. Naming is a recurrent and essential issue in computer systems, and chapter 3 represents one of few (to my knowledge) sources on the management of names in computer systems.

A frequent communication pattern in a computer system is the client-server paradigm, which can be found in both the design of network protocols and inter-process communication approaches. Chapter 4--my favorite--includes two case studies: one on the domain name system (DNS) and one on the network file system (NFS). Its description of the case studies summarizes the design philosophy behind these groundbreaking Internet protocols.

Chapter 5 discusses virtualization. Before the term virtualization became mainstream (thanks to processor virtualization and running a guest virtual OS on a different host OS), most computer systems already virtualized communication channels, memory, and processing power. In this chapter, the authors discuss several known approaches for implementing virtual memory and multi-threaded systems.

The last chapter (in the printed edition) considers performance issues in computer systems. It starts with a detailed overview of several performance measures and continues with two concrete cases on multilevel memories and process scheduling.

I highly recommend this well-written and well-structured book to several groups of readers: undergraduate students can use it as a gentle introduction to computer architecture and OSs, and graduate students and more advanced readers will enjoy its philosophical and design-oriented aspects. In fact, the book may eventually become a classic and a must-read for any computer scientist.

Reviewer:  Radu State Review #: CR138950 (1111-1160)
1) Silberschatz, A.; Galvin, P.B.; Gagne, G. Operating system concepts (8th ed.). Wiley & Sons, Hoboken, NJ, 2009.
2) Patterson, D.A.; Hennessy, J.L. Computer organization and design: the hardware/software interface (4th ed.). Morgan Kaufmann Publishers, Burlington, MA, 2009.
Bookmark and Share
  Featured Reviewer  
 
Systems Analysis And Design (K.6.1 ... )
 
 
Design Tools and Techniques (D.2.2 )
 
 
General (D.2.0 )
 
 
General (C.0 )
 
 
General (D.0 )
 
 
Operating Systems (D.4 )
 
Would you recommend this review?
yes
no
Other reviews under "Systems Analysis And Design": Date
Strategic value analysis: a modern approach to systems and data planning
Curtice R., Prentice-Hall, Inc., Upper Saddle River, NJ, 1987. Type: Book (9789780138514525)
Nov 1 1987
Information systems development research
Avison D., Wood-Harper A. The Computer Journal 34(2): 98-112, 1991. Type: Article
May 1 1992
Seven ways to develop office systems
Noble F. The Computer Journal 34(2): 113-121, 1991. Type: Article
Mar 1 1992
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