Books: A User's Report
Due to the number of books released this month, the
difficult. However, I decided on a new TCP/IP book,
a Korn Shell book,
one that deals with UNIX and X, an Internet book, plus
a new book
on UNIX device drivers.
Volume 1: The Protocols
by W. Richard Stevens
Addison-Wesley Professional Computing Series
With this book, Stevens gives his audience -- programmers,
administrators, and users -- the capability not only
the network protocols, but also to diagnose network
problems. He presents
an analysis of the TCP/IP protocol suite and, in the
preface of the
book, provides a unique chart that matches the TCP/IP
diagrams with the chapter(s) that discuss them. The
in the book were run on an existing internet and are
not merely theoretical
illustrations. The author emphasizes that although most
of the cases
are demonstrated on UNIX systems, TCP/IP "is operating
and is available on almost every popular, non-UNIX system."
The TCP/IP protocol suite allows communication among
with different operating systems. Networking protocols
in layers, with each layer responsible for a different
task. The protocol
suite equals the combination of protocols at various
Stevens not only enumerates the various levels of the
also describes what each level does in detail. He demonstrates
differences between client and server, user and kernel,
He also illustrates end systems, intermediate systems,
protocols. He explains what fragmentation is, when it
is used ideally,
and when it is used practically.
Stevens provides an excellent description of the Internet
and IP Routing. In addition to an historical perspective
and an explanation
of how internetworking evolved, he includes possible
the future, such as SIP, PIP, TUBA, and CIDR. He also
Reverse Address Resolution Protocol (RARP) for use with
Along with the introduction to TCP/IP, Stevens presents
explanation of the individual protocols. Some of the
as TCP, warrant several chapters, whereas certain singular
such as IP Routing, each merit individual chapters.
has chosen to display the TCP/IP protocols through a
two chapters on diagnostics are included. The ping program
checks whether "another host is reachable."
program displays the route that an IP datagram takes
host to another."
TCP/IP Illustrated: Volume 1: The Protocols provides
an excellent text on the TCP/IP protocol suite. The
the most important sections of the protocols in separate
not only addressing each protocol, but also discussing
between protocols. The diagrams he uses are excellent,
and his writing
style is clear and readable. In sum, Stevens has made
a complex topic
easy to understand. This book merits "everyone's"
Please read it and keep it on your bookshelf. TCP/IP
Volume 1: The Protocols will be available in December
Learning the Korn Shell
by Bill Rosenblatt
O'Reilly & Associates, Inc.
Rosenblatt begins this book with a definition of the
Korn shell and
its relationship to both the Bourne and the C shells.
author addressed the text specifically to the casual
UNIX user, there
are several chapters that the experienced UNIX user
and the system
administrator will appreciate. The first two chapters,
Basics" and "Command Line Editing," introduce
of shell programming and review the more elementary
aspects of the
Korn shell. In the first chapter, Rosenblatt presents
a table of special
characters and their meaning within shell command lines.
Chapter 3, "Customizing Your Environment,"
explains the concept
of an environment and describes a non-computer-related
as an example. Rosenblatt also presents the concepts
alias, options, shell variables, and environment variables.
particularly good examples when discussing the alias
function. A useful
table of basic shell options notes that all 22 of the
listed in Appendix B. The description of the environment
lapses in security that might allow hackers to install
or other programs detrimental to your system.
Beginning with chapter 4, "Basic Shell Programming,"
addresses the more complex issues of shell programming,
Korn shell programming. He describes different ways
of running shell
programs and explains how they are executed. He also
functions, which are new to the Korn shell, and the
functions and shell programs.
Chapters 5 and 6, "Flow Control" and ""Command-line
and Typed Variables," will be very familiar to
UNIX users who
are also programmers. However, they focus on programming
Korn shell viewpoint, so non-programmers will have no
the concepts. Experienced programmers may discover new
ways to accomplish
familiar tasks through command-line options or variables.
Chapter 7, "Input/Output and Command-line Processing,"
help both new and experienced shell programmers learn
more about input
and output and different ways of accomplishing them
chapter also offers a more in-depth look at "how
the shell processes
command lines." Rosenblatt presents a table of
supported by the Korn shell (he includes all sixteen
of them, whether
or not they exist in the Bourne shell). An informative
to explore issues related to command-line parsing.
The final chapters in the book -- "Process Handling,"
Shell Programs," and "Korn Shell Administration"
will help the system administrator. The first of these
process IDs, job control, signals (and ignoring signals),
and subshells. In "Debugging Shell Programs,"
different ways to debug shell scripts, some new and
to the reader. These include set options, fake signals,
(the Korn shell debugger). The final chapter covers
The three appendices are well worth reading. Appendix
A covers related
shells, how to emulate the Korn shell on PCs, and the
the Bourne and the Korn shells, chapter by chapter.
The second appendix
contains reference lists, including built-in commands
shell variables, test operators, set and typeset options,
emacs and vi mode commands. Appendix C explains how
to obtain sample programs and answers through FTP, FTPMAIL,
This book is an excellent text for both new and experienced
If you are new to the Korn shell, I advise reading the
so that you can learn to distinguish the Korn shell
from the Bourne
and C shell capabilities. Rosenblatt presents exercises
and their solutions as the book develops and is able
to cover a broad
range of subjects without oversimplifying any of the
involved. This book merits a thorough examination by
every UNIX shell
Getting Started with UNIX and X
by Torbjörn Andréasson and Jan Skansholm
This very readable book about the UNIX operating system
and the X
windowing systems available on UNIX is organized so
as to be applicable
to users at the elementary, intermediate, and advanced
symbols identify which sections of the text are devoted
to which topics,
such as X, Motif, OpenWindows, or the Korn shell. Each
presented independently, so that one or more may be
The authors begin by recounting the history of UNIX
and its components,
then continue with a definition of X and an explanation
of the differences
among several window managers. They describe how to
the user is new to UNIX, X, both, or neither. They carefully
which environment variables must be set before the programs
will execute correctly. Their discussion of Xlib, Xt
and application programs demonstrates the X protocol
a solution to the X novice's puzzle.
Later chapters describe how to navigate within Motif
OpenLook and OpenWindows. The authors discuss the concepts
file system, including the X file managers, how to traverse
file tree, and how to accomplish various tasks within
X. They also
focus on the more advanced shell commands, such as redirection,
environment and shell variables, and the history capability,
applicable. One of the most informative chapters in
the book deals
with communications. This section explores remote copy
the file transfer program (FTP), remote shell (rsh),
write and talk, and electronic mail (e-mail), and presents
their X counterparts.
Other topics include text editing, both for UNIX and
for X, and writing
shell scripts for the four different shells. The authors
how to write, compile, and link a program in UNIX, and
the difficulties of programming in X. The final section,
administration, describes the superuser, startup and
adding and removing users, and copying using tar or
Andrasson and Skansholm also present the different menus
the various systems.
The authors have included plenty of diagrams and also
the interfaces originated. Many of the screens show
how to accomplish
tasks in different windows. Several of the chapters
reference guides as summaries -- the comparison table
the advanced shell programming chapter is particularly
programs and tables for different shells are well documented
tables throughout the book are excellent. This book
should be read
by anyone using UNIX and X: it will clarify any mysteries
UNIX, X, and the relationship between the two.
Writing UNIX Device Drivers in C
by Phillip M. Adams and Clovis L. Tondo
The authors describe this as a workbook rather than
a text. It provides
the information needed either to experiment with existing
drivers or to design and implement your own UNIX device
book is divided into three sections. The introduction
vocabulary and tools that the authors use throughout
of the book, including hardware and device driver fundamentals.
second section features "the concept, architecture
characteristics of UNIX device drivers." This section
a practical approach through a template that, ideally,
development time" while simultaneously improving
reliability. The final portion of the book demonstrates
used in the design, implementation, and debugging phases
of a UNIX
device driver that transforms "your PC/AT parallel
port into a
small computer system interface (SCSI) adapter."
A 3 1/2" diskette
for SCO UNIX System V/386 device drivers, containing
the source code
used in most of the appendices, is included with the
book. The diskette
itself describes the tar command on the label so that
is easy to transfer.
Adams and Tondo not only define a device driver, but
its purpose and enumerate the capabilities a UNIX device
have. They stress that the book was written specifically
who either need to know about device drivers or want
to build device
drivers. The reader should have a knowledge of C plus
language fundamentals. Knowledge of UNIX system software
is helpful, but optional.
This book also examines the different reasons for using
80386 and discusses the differences between real and
The authors explain address translation and its importance
device driver author. Describing the UNIX operating
a set of layered interfaces," they enumerate the
their functions, and present each interface in depth.
Various chapters address the problems most commonly
device drivers and present "a `rule book' for developing
drivers." Other subjects include "UNIX I/O
the "UNIX Block I/O Interface," the "UNIX
Interface," the "UNIX Terminal I/O Interface,"
STREAMS I/O Interface," and the "Small Computer
Although the introductory chapters are not addressed
to the novice,
they are thoroughly documented. Each code segment clarifies
concept from the text. The text itself provides an explanation
experienced device driver users. This is an excellent
book for any
user ready to build a device driver.
Connecting to the Internet
A Buyer's Guide
by Susan Estrada
O'Reilly & Associates, Inc.
In the introduction, Tracy LeQuey Parker underlines
of knowing what the Internet is and what benefits you
may derive from
it. Susan Estrada begins Connecting to the Internet
the Internet and how it works, emphasizing the importance
in transferring data. The primary question in assessing
any type of
software or hardware is "How are you planning to
Estrada applies this question to the Internet and helps
you to answer
it in terms of your own requirements.
The next section of the book discusses network providers
and how to
choose among them. The popularity of the Internet has
meant an increase
in the number of providers available, but not all of
them offer the
same services. Estrada presents an eleven-item checklist
security, viability, and user services -- for network
Estrada also differentiates between online and dialup
If you are connecting as an individual, you will probably
services. However, if you are a heavy user or if there
people using one connection, you may prefer SLIP or
In either case, the author provides a "Checklist
to assist you. The final chapter deals with questions
There are two invaluable appendices. The first contains
Dialup Internet Access List (PDIAL), which lists public
accounts plus outgoing Internet access. The second appendix
"Internet Access Provider List."
This very useful book both explains the Internet and
helps you analyze
what type of Internet you really want. The diagrams
are helpful and
the author's style is crisp and clear. The anecdotes
examples that she uses emphasize the points with humor.
If you are
interested in the Internet, you will appreciate this
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.