Books: A User's Report
This month I examine a C++ book from the Addison-Wesley
Computing Series which deals more with programming techniques
with the language syntax; a book on high performance
Kevin Dowd of O'Reilly & Associates; and two UNIX
System V system
administration books from Prentice Hall's Open Systems
C++ Strategies and Tactics
by Robert B. Murray
Addison-Wesley Professional Computing Series
Robert Murray's book explores techniques for programming
in C++. It
focuses on the language syntax only when describing
the more complex
concepts, such as inheritance. For these advanced subjects,
sidebar provides a brief summary of the relevant rules.
The book addresses
both the novice and the intermediate C++ programmer
and uses practical
examples to demonstrate C++ concepts.
Chapter topics include "Abstraction Classes,"
"Inheritance," "Multiple Inheritance,"
for Inheritance," "Templates," "Advanced
"Reusability," "Exceptions," and
Project to C++." In each chapter Murray explains
that underlie different methods of programming C++.
He describes tactics
that will make your code more efficient and identifies
that could lead to hazardous procedures.
The chapter I found most interesting addresses abstraction.
outlines five concepts essential to any program design,
what the language. Murray not only states these precepts,
develops a simple example.
Each chapter consists of an introduction, the body of
a bulleted summary entitled "In Short," and
a Questions section
that could also serve as an exercise section. Each chapter
one or more "Review" sidebars. Chapter 5,
for example, which
deals with multiple inheritance, includes two reviews
-- a two-page
review of multiple inheritance and a three-page review
Murray presents the information in an easy and readable
introduces the subjects in a logical order, and when
a review of the
rules is required, he presents the review immediately.
his explanations of programming precepts with easy-to-follow
C++ Strategies and Tactics is well-written and well-documented
with code segments and diagrams. In all, Murray has
produced a book
that will inspire you to read more about the subject.
I highly recommend
High Performance Computing
by Kevin Dowd
O'Reilly & Associates, Inc.
Since computers are constantly changing, it is not always
purchase will provide the most benefits to the user,
the buyer and the user are two different people. The
criteria to be
used in selecting a computer depend on the intended
use of the machine.
In High Performance Computing, Kevin Dowd addresses
and describes how to extract the highest level of performance
Dowd begins by discussing the pros and cons of programming
languages, such as FORTRAN and C, versus assembly code.
He also emphasizes
the importance of recognizing when performance is optimized.
to measure performance, a user should understand how
standard industry benchmarks and also how to package
his/her own benchmark.
Topics covered in the first part of the book include
High Performance Computing?," "RISC Computers,"
"What An Optimizing Compiler Does," "Clarity,"
"Finding Porting Problems." Some of the most
these are "Timing and Profiling," "Industry
and "Running Your Own Benchmarks." In "Timing
Dowd examines the various types of measurements a user
can apply to
determine how well a program uses the computer's resources.
helps you discover where the program dedicates most
of its time, in
the user or the kernel mode. (Dowd also presents a brief
explanation of the UNIX time command, its results, and
to interpret those results accurately.) The author provides
of profiling and also shows how to graphically represent
types of profiles. Industry benchmarks allow anyone
to examine performance
without doing any of the work themselves. However, the
that these benchmarks have been compiled by other users,
not by the
vendors, which means that people who actually use the
responsible for judging them. In "Running Your
Dowd covers benchmark types and what to benchmark. He
a guideline to benchmarking in the form of a checklist.
Several interconnected chapters focus on code efficiency.
"Eliminating Clutter," "Loop Optimization,"
and Appendix B, "How To Tell When Loops Can Be
High Performance Computing covers some difficult topics,
from new (and older) computer architectures to optimizing
and what they can accomplish, memory, benchmarking,
timing, and profiling.
The writing style is direct and contains examples where
Most of the code examples appear in FORTRAN, but they
are simple enough
for a non-FORTRAN programmer to understand. In fact,
this book can
be read and understood even by nonprogrammers. The concepts
the same. System administrators will particularly appreciate
on RISC, memory, and finding porting problems.
Whether you are a system administrator, a programmer,
a systems analyst,
a buyer, or a manager, High Performance Computing can
you in your day-to-day duties. The usefulness of the
not ony job descriptions, but also languages and operating
It belongs on everyone's shelf.
UNIX System V NFS Administration
Edited by Debra Herman
Prentice Hall Open Systems Library
This book addresses system administrators, particularly
need to set up and maintain distributed file systems
on UNIX System V systems. Herman describes not only
how to share resources
on a network, but also how to mount remote resources
from other systems.
No matter what the individual configuration of the system
the author provides a chapter or series of chapters
apply to that configuration. In the preface, Herman
presents a brief,
descriptive organization of the book's contents, displaying
map that the reader may traverse to reach his/her intended
Herman begins by introducing NFS file sharing and its
use, then continues
with a description of an NFS model. This is essentially
model, in which the client machine accesses files resident
server. To allow the client to share the resources available
server, remote procedure calls (RPCs) are employed in
process. Although the author allows for differences
in UNIX systems
and the corresponding differences in the system administrator's
she concludes the introduction with a generic checklist
machines with NFS.
From this point, Herman turns to using NFS, including
the various ways of starting and stopping it, and sharing
resources. Optional ways of sharing and unsharing resources
later in the book. The editor also explains how to mount
and how to extract information concerning shared resources
Herman describes the NFS daemons and includes a full
chapter on the
automount daemon as the concluding section on sharing
She discusses problems and errors related to NFS and
how to resolve
them. In another section, she details the uses of the
command and shows how to create an NFS menu interface
to more easily
administer the NFS system. Some of the same attributes
that make NFS
convenient also prevent it from being secure; Herman
for protecting vulnerable NFS systems.
Other chapters include "The Network Lock Manager,"
Services," and "The NIS Service." "The
Manager" explains a method of control management
more than one person from altering a file at a time.
describes all of the different aspects of using remote
on to or from various machines, transferring data between
copying files from one machine to another, and more.
Service" outlines how to administer NIS, which
is a distributed
UNIX System V NFS Administration is a logical and readable
book. Screens are presented as they will appear on a
are boxed. Herman typically uses tree structures to
and shows the shared resource boxed within dotted lines.
matches the figures very well, and as an additional
aid, Herman includes
a glossary that defines the terms used throughout the
book. This book
will benefit any system administrator interested in
UNIX System V
Edited by Phyllis
and Sally A. Browning
Prentice Hall Open
Defining system performance as "a measure of how
a computer system
executes its tasks," Bregman and Browning set out
to show how
system performance applies to the system administrator.
both the issues that face system administraotrs and
of resolving those issues.
The authors address different environments, telling
how to analyze
whether or not each is performing as efficiently as
chapter on filesystems discusses a range of filesystem
specifically, s5 (earlier versions of UNIX System V),
(BSD), and bfs (filesystem independent booting). A later
on communications explains rfs and nfs, which are both
distributed filesystem types. In addition to communications,
and Browning review the uses of different storage devices
how to monitor system activity. The chapter "Performance
includes information not covered in an earlier chapter
on System Performance
Analysis Utilities (SPAU). A section entitled "Configuring
not only explains how to reconfigure a UNIX system,
but also specifies
the circumstances under which reconfiguration might
The main body of the book concludes with a quick reference
tells where instructions for various tasks can be found.
two appendices, one on checking s5 filesystems, the
checking ufs filesystems. The excellent glossary contains
as well as advanced terms.
Bregman and Browning have produced an unusual book that
administration and system performance issues: in fact,
the book could
easily serve as an advanced administration textbook.
V Performance Management deserves to be read by advanced
as well as system administrators.
About the Author
Elizabeth Zinkann has been involved in the UNIX and
C environments for the past
10 years. She is currently a UNIX and C consultant,
and one of her specialities
is UNIX education. In addition to her computer science
background, she also has a
degree in English.