Books: A User's Report
Elizabeth Zinkann
This month I review a different type of UNIX book by
Ziff-Davis Press,
two new networking books -- one from Prentice Hall and
one from
Addison-Wesley -- and a new system administration book
on SCO UNIX
from Prentice Hall.
Networking Applications on UNIX System V
Release 4
by Michael Padovano
Prentice Hall
ISBN 0-13-613555-2
Michael Padovano's book explores the networking concepts
currently
implemented in UNIX System V Release 4 (UNIX SVR4) and
UNIX SVR4-based
systems, including Solaris 2.0, Solaris 2.1, and UNIX
SVR4.2. The
author assumes that the reader understands UNIX, can
read and write
shell scripts, and is familiar with C.
Padovano begins with a thorough discussion of networking,
including
an analysis of the advantages and disadvantages of networking.
Although
he does not assume prior knowledge of networking concepts,
he explains
the terms so that the experienced user will also learn
from the definitions.
He presents an example of a layered architecture, then
describes the
OSI Reference Model and the purpose of each layer. As
an example of
a networking relationship, Padovano focuses on the client/server
model
and describes how it functions. He also discusses transport
providers,
transport modes of service, plus ports and port monitors.
The introductory
chapter contains a section not only on UNIX networking
history, but
also how UNIX SVR4 networking differs from other UNIX
variants.
The next topic is the STREAMS framework. Padovano defines
STREAMS
as "a replacement of the traditional UNIX communications
system."
He further analyzes the STREAMS mechanism by demonstrating
the structure
of a stream and explaining how it is implemented. Using
C system calls
and statements, supplemented by a graphic representation
of what is
happening, Padovano shows how to modify a stream by
either adding
or removing modules. He also explains the STREAMS multiplexing
capability
and its importance to networking.
The book progresses from STREAMS concepts to the networking
protocols
that use the STREAMS framework. Padovano defines TCP/IP,
and provides
an overview of the TCP/IP protocol suite. He includes
an excellent
diagram displaying the TCP/IP and the OSI Reference
Model structures.
In addition to the topics already mentioned, Padovano
also addresses
UUCP, Remote File Sharing (RFS), the Network File System
(NFS), Remote
Procedure Calls (RPC), the Transport Level Interface
(TLI), and sockets,
as well as a chapter entitled "Network Selection
and Name-to-Address
Mapping." In each case he not only defines the
topic, but also
discusses when it should be used and its applications.
For example,
when discussing the UNIX SVR4 Transport Level Interface
(TLI), Padovano
describes the states of the transport endpoint from
both the client
and the server views, presenting them step-by-step along
with diagrams
to explain the procedures.
Networking Applications on UNIX System V Release 4 is
an ideal
book for learning about UNIX networking. The writing
style is clear,
and Padovano provides many useful diagram and examples.
Each chapter
includes both a "For Further Reading" and
an "Exercises"
section; depending on the topic covered, the chapter
may also include
a summary. Although the book is written for the reader
without any
networking knowledge, it will also appeal to the experienced
user.
It should be read prior to the UNIX manuals, as it clarifies
many
of the ideas presented in the manuals. This is a book
that should
rate a place on every UNIX user's bookshelf.
UNIX System V Network Programming
by Stephen A. Rago
Addison-Wesley
Professional Computing Series
ISBN 0-201-56318-5
This book was written primarily for programmers interested
in the
UNIX System V Release 4 (UNIX SVR4) networking interfaces,
and Rago
expects the reader to be familiar with both UNIX and
the C programming
language. Also useful, but not mandatory is some knowledge
of data
structures and algorithms. The preface contains a list
of five UNIX
manuals that will help the reader understand the subject.
The book is divided into four main sections: "Background
Material,"
"User-level Network Programming," "Kernel-level
Network
Programming," and a "Design Project."
The first section
introduces networks and UNIX programming. Network coverage
includes
networking terms, network characteristics, and network
models, including
the OSI Reference Model. Coverage of UNIX programming
includes a number
of useful examples.
The second section addresses topics that programmers
encounter at
the user level. Rago explains what the programmer needs
to know to
implement these concepts. This section explores STREAMS,
the Transport
Level Interface (TLI), "Selecting Networks and
Addresses,"
"The Network Listener Facility," "Sockets,"
and "Remote
Procedure Calls" (RPCs). In the chapter devoted
to sockets, Rago
describes the socket interface which originally resided
in BSD UNIX,
but is now employed by UNIX SVR4 and provides a comparison
between
the socket interface and the Transport Level Interface
(TLI).
Through the first two sections, the only references
to the kernel
are either theoretical or used in a description of the
UNIX architecture.
The third section, however, addresses programmers who
produce kernel-level
code. Rago divides this segment into four chapters:
"The STREAMS
Subsystem," "STREAMS Drivers," "STREAMS
Modules,"
and "STREAMS Multiplexors." The first of these
chapters examines
the kernel environment and provides the foundation for
the next three
chapters. "STREAMS Drivers" continues by discussing
the purpose
of a driver, introducing the Data Link Provider Interface
(DLPI),
and analyzing the design of a STREAMS Ethernet driver.
Rago next describes
"STREAMS Modules" and their differences from
driver implementations.
He also discusses the terminal interface before studying
a network
terminal emulator example. The final chapter in this
section, "STREAMS
Multiplexors," describes what a multiplexor is
and how to use
and implement a multiplexor. The example that the author
uses displays
a Transport Provider Interface.
The final segment is a "Design Project: Implementing
SLIP."
SLIP, which is defined as a serial line IP, is a protocol
describing
how IP packets "are framed to allow their transmission
over point-to-point
serial connections." Many of the concepts previously
explained
are implemented in this design, and both the user-level
and kernel-level
components are examined in this project.
UNIX System V Network Programming can be used as a standalone
book or as a textbook for a class. Each chapter contains
an introduction,
summary, exercises, and a bibliography. Throughout,
the author refers
to his examples and builds upon them. His writing style
is concise
and clear. Anyone interested in UNIX networking will
find this book
a worthwhile addition to their resources.
Running UNIX So It Doesn't Run You
by Don Crabb
Ziff-Davis Press
ISBN 1-56276-061-0
This book addresses UNIX users and, UNIX system managers,
and tries
to take into account the different backgrounds these
readers may have.
In "An Overview of UNIX," Crabb examines why
many businesses
are converting to UNIX and what they will gain from
the move. The
author draws comparisons among operating systems by
means of a table
that lists operations and shows the corresponding UNIX
System V Release
4, DOS 5.0, and Mac System 7 commands. Chapters 2 and
3 explore the
file system and UNIX customization, respectively. Chapter
4 is devoted
to GUIs. In it, the author explains the graphical user
interface (GUI),
its components, and each component's purpose(s). He
describes how
to evaluate different GUIs and how GUIs interact with
UNIX shells.
Crabb also discusses X servers, X clients, and their
separate functions.
While presenting his evaluation criteria, the author
focuses on the
following GUIs: Open Desktop, X.Desktop, Open Look,
Motif, A/UX, and
NeXTStep.
Crabb next examines UNIX "Communications and Shared
Resources,"
"UNIX LANs," and "UNIX LAN Backup Technologies."
Also
included is a valuable chapter entitled "UNIX Software
Development."
This section will help anyone who needs to know the
programming capabilities
of UNIX. Here, Crabb begins by defining a five-step
software development
process consisting of discovery, recovery, invention,
presentation,
and systemization. The author also delves into the topic
of object-oriented
programming. He examines the differences among the variant
UNIX programming
systems, particularly UNIX System V Release 4 (UNIX
SVR4) and NeXTStep.
Crabb also analyzes when a UNIX manager should hire
a consultant and
what the manager should know before approaching a consultant.
The author also presents some strategies relating to
UNIX hardware
and how to efficiently manage UNIX, including security
issues, emission
standards, and system performance. In a chapter devoted
to "Training
and Supporting UNIX Users," Crabb not only stresses
the importance
of allowing users uninterrupted training time, but also
presents the
different types of training available. The final chapter
addresses
"The Art and Science of Troubleshooting UNIX"
and provides
information on hardware problems, possible reasons why
UNIX won't
start, and some error and warning messages. The book
concludes with
a command reference, a glossary, and a comprehensive
index.
Each chapter is well-organized, beginning with a bullet
list of the
chapter contents and a brief summary, and concluding
with a "Crabb's
Unix Quiz" for each chapter. The author always
includes information
on where the reader may obtain something that he has
referenced. He
also provides other sources for topics that he has mentioned,
but
has not dealt with in depth. Don Crabb writes from a
different perspective,
coming more from a Mac background than most UNIX authors.
As a result,
he includes subjects that most authors tend to overlook,
particularly
in the software development process, as well as some
surprising tips
to the reader. His writing sytle is crisp, friendly,
and very readable.
The chapters on GUIs, software development, and troubleshooting
are
among the most informative sections. This book is an
excellent choice
for new users, users who need to review the most recent
concepts,
managers, and evaluators of UNIX systems.
SCO UNIX System V
System Administrator's Guide
Prentice Hall
ISBN 0-13-012568-7
This book was intended for UNIX system administrators
running SCO
UNIX System V. The contributors to the book define a
system administrator
as the individual "in charge of system maintenance
and operation."
The tasks that this manual addresses include the simple,
intermediate,
and difficult jobs associated with the position of UNIX
system administrator.
The book is organized in three major sections: "System
Configuration
and Maintenance," "Performance and Troubleshooting,"
and
the Appendices. The first section focuses on topics
ranging from using
the system administration shell (sysadmsh) through managing
filesystems, including adding new filesystems and mounting
and unmounting
filesystems, to using different peripherals, such as
printers, floppy
disks, tape drives, and modems. The first section also
covers using
DOS operating systems, how to maintain system security,
building a
remote network using UUCP, installing electronic mail,
and how to
backup filesystems.
The "Performance and Troubleshooting" section
discusses different
ways to improve your system's performance. It helps
you become more
familiar with your system and tells you how to configure
the system
so your users will have optimal performance. This section
also provides
a Troubleshooting overview that can help system administrators
figure
out how to recover quickly from a system failure. One
of the most
informative chapters here is the "Troubleshooting
Reference,"
which presents information about system problems that
may occur.
It is organized alphabetically and also, where appropriate,
grouped
by related subjects.
The appendices deal with the following topics: "Customizing
System
Startup," "Authorizing the Use of Job Scheduling
Commands,"
"Using the System Console and Color Displays,"
and "UNIX
Directories and Special Device Files." Following
the index for
the "SCO UNIX System V System Administrator's Guide"
is the
most recent release of the "SCO UNIX Hardware Configuration
Guide."
This manual will aid the system administrator in the
installation
and configuration of hard drives, tape drives, controllers,
CD-ROM
drives, printers, modems, and network cards, to name
a few.
Through the concatenation of the two books, there are
helpful notes
and warnings, with the heading in bold plus a vertical
line so that
the reader will not overlook it. The authors and editors
also use
diagrams and screen displays to represent what system
administrators
would encounter at their terminals. The topics are developed
in a
logical order and the procedures are presented step-by-step.
This
documentation is well-written and would be an excellent
addition to
any SCO system administrator's library.
About the Author
Elizabeth Zinkann has been involved in the UNIX and
C environments for the past
11 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.
|