[net.unix] Advanced UNIX Programming

hes@ecsvax.UUCP (Henry Schaffer) (10/09/85)

<>I saw a couple of recommendations - so I went to our library to 
check it out.  Our library didn't have it (yet), nor was it in Books
in Print (the main series or the supplement.)  HOwever, I was able to
track down the info about the book  (from OCLC), and here it is:
Advanced UNIX Programming by  Rochkind, Marc J.
Prentice-Hall 1985
ISBN:0130118184  ~$32.95  (hard cover)
     0130118001  ~$24.95  (paperback)
At our normal library ordering/cataloging/etc. speeds, it'll be months
before I see it.  If anybody has a copy, a review (even a brief one)
would be appreciated.
--henry schaffer

POSER@SU-CSLI.ARPA (Bill Poser) (10/13/85)

	I won't venture a proper review, but I've bought the book and read
most of it, on the basis of which I recommend it. It's very clear and well
written and contains discussions of a lot of things that I have had to learn by
reading the manuals and experimenting. The title is very accurate: it
doesn't tell you anything about UNIX internals or implementation details;
it's about programming (and assumes a knowledge of C) on a UNIX system.
Unlike many other more elementary UNIX books it has little to say about
shell programming or use of UNIX utilities. In this sense it is largely
complementary to Kernighan & Pike's "The UNIX Programming Environment".
What it is really about is how to use the services provided by the kernel,
i.e. how to use system calls. I think it does a good job of this.
It is organized functionally, with chapters on such topics as signals,
semaphores, process management, and terminal i/o. In addition to overviews,
many sections begin with synopses of the relevant system calls followed by
explanations of their use.
	I haven't thus far encountered any inaccuracies, though I don't
know all of the versions of UNIX covered or everything abut the ones I am
familiar with. My only complaints are matters
of ommission. The book is oriented more toward AT&T UNIX than toward Berkeley
UNIX, and the discussion of some topics is restricted to non-Berkeley
versions of UNIX; for example, there is no discussion of signals in 4.2BSD.
The authors do at least tell you when what they have to say does not
apply to some version(s) of UNIX.
	The other thing that I would have liked to see is somewhat more
attention to low-level systems programming, e.g. device drivers and other
kinds of real-time applications. There is a rather heavy emphasis on
inter-process communication, with a lot of discussion of issues related
to DBMS implementation.
	Although it doesn't cover everything I'd like to know more about,
I definitely recommend it for what it does cover.
-------

peter@rlgvax.UUCP (Peter Klosky) (10/16/85)

XXX

Title:        The Unix Operating System
Author:       Kaare Christian
Publisher:    Wiley & Sons, 1983

This book has two very good chapters at the end, "System Manager's 
Utilities" and "The UNIX System Kernel."

The manager's section describes how to run cron, fsck, mknod, what
a setuid bit means, etc.  The author's style of writing makes
this book easy to read, even for non-programmers.

The kernel chapter is good in terms of explaining data structures such 
as what is a u area, how do the file structs point at inodes, etc.
The author takes the time to explain each task that must be performed
in order to open ../a/b so that actual people can understand.
He is kind enough to explain such subtle things such as 
what is the purpose of the cdevsw and bdevsw array and how conf.c
fits into the scheme.

My only complaint is that the two decent chapters of the book
are too short;  too bad he had to spend so many chapters explaining
how to write shell scripts and use ed.