[net.unix] BOOKS: Advanced UNIX

ijk@hou2a.UUCP (I.KINAL) (11/18/85)

Has anyone any recommendations on either book (both published by Prentice
Hall; I haven't seen them yet in my local bookstore; they both look
interesting, but I've seen some pretty poor books hyped even better ).  
Here's the promos on both:
------------------------
Advanced UNIX (TM) Programming by Marc J. Rochkind.  Here's comprehensive,
practical advice on how and when to use - and not use system calls.  
265 pp. $32.95.

Systems Software Tools by Ted J. Biggerstaff.  This easy-to-follow, new
guide gives you the latest details on the C language and compiler, 
interrupt and communications hardware, terminal emulators, window 
interfaces, multitasking window systems, and concurrency structures.
250 pp. $28.95.
-----------------------

Thanx in advance
Ihor Kinal
{hou2a | hru3c} !ijk

gwyn@BRL.ARPA (VLD/VMB) (11/19/85)

Rochkind's "Advanced UNIX Programming" is excellent for its
intended audience, which is people who know C programming
and need to learn about UNIX-specific programming.  It does
not much overlap Kernighan & Pike's "The UNIX Programming
Environment"; these two books, along with Kernighan &
Ritchie's "The C Programming Language", constitute a very
good learning library for UNIX system programming.

I haven't seen Biggerstaff's book.

geoff@utcs.uucp (Geoff Collyer) (11/20/85)

I have not read Advanced UNIX (TM) Programming by Marc J. Rochkind,
but I do know some of his background:

	Marc J. Rochkind helped write the UNIX re-implementation of SCCS

and he's still proud of it (unbowed and unrepentant), judging from his
recent advertising.  (SCCS originally ran on MVS or MVT, as I recall,
and was rewritten for PWB.)  If this means nothing to you, try reading
the SCCS sources or manuals or try using SCCS.

jpl@allegra.UUCP (John P. Linderman) (11/22/85)

> I have not read Advanced UNIX (TM) Programming by Marc J. Rochkind,
> but I do know some of his background:
> 
> 	Marc J. Rochkind helped write the UNIX re-implementation of SCCS
> 
> and he's still proud of it (unbowed and unrepentant), judging from his
> recent advertising.  (SCCS originally ran on MVS or MVT, as I recall,
> and was rewritten for PWB.)  If this means nothing to you, try reading
> the SCCS sources or manuals or try using SCCS.

And I suppose Thomas Edison was a fool because you have a better sounding
turntable than he did.  I don't care a lot for SCCS, but it's a whole lot
better than nothing, which is what was available when Marc came up with
the idea.  SCCS has been through a lot of hands since Marc let go of it,
so if you don't like the style, you'd better be pretty sure who's
responsible before you lay it at Marc's doorstep.

Not only are slurs via SCCS unjustified, they are irrelevant.  People
asked about the book, not for a history of the author.  I have read
much of the book, and it's top rate.  It's rather better suited to
Xenix and System V users than to 4.2 folks (4.2 directories and file
systems don't look like Marc describes them, for example), but I'd
recommend it without hesitation even to Berkelers.  It'll take much
less time to recover from such minor inaccuracies than it would take to
rediscover the useful information that Marc presents.

John P. Linderman  allegra!jpl

fmg@galon (Pat Gallivan) (11/22/85)

In article <672@hou2a.UUCP> ijk@hou2a.UUCP (I.KINAL) writes:
>Has anyone any recommendations on either book (both published by Prentice
>Hall;
>------------------------
>Advanced UNIX (TM) Programming by Marc J. Rochkind.  Here's comprehensive,
>practical advice on how and when to use - and not use system calls.  
>265 pp. $32.95.
>
Marc's book is excellent.  It is essentially an indepth discussion of system
calls. i.e. device and file I/O with a good discussion of semaphores. 

I would highly recommend it to anyone dealing with the Unix system internals.
The book is clear and concise with well developed examples.  Even the expert
will enjoy it as Marc adds comments and insight on some of the historical
imperatives for certain of the kernal's features.

A working knowledge of UNIX* and C is expected.

He is carrying the bible, though,  for AT&T* as the examples reference system
III to system 5 and Xenix 3.0.  For those with BSD or V7, the conversions are
not that difficult.

BTW: In the front of the book, the author offers the examples in "machine
readable form".  When I contacted him he indicated they were available but
at a price.  If I understood right, although he wasn't on any of the nets
he did correspond with Colorado University (boulder!) via e-mail.

* Yes it is trade-marked and copyrighted by TPC.

------------
>Systems Software Tools by Ted J. Biggerstaff.  This easy-to-follow, new
>guide gives you the latest details on the C language and compiler, 
>interrupt and communications hardware, terminal emulators, window 
>interfaces, multitasking window systems, and concurrency structures.
>250 pp. $28.95.
>-----------------------

  Sorry can't help you on this one.


----
Pat Gallivan @                   UUCP: ..!seismo!hao!nbires!isis!galon!fmg
Galon Exploration, Inc.
7122 S. Fillmore,                       (303) 770-6229
Littleton, CO  80122             Data:  (303) 771-0258         

"It is better to 'backup' then go forward."

larry@geowhiz.UUCP (Larry McVoy) (11/23/85)

There has been some discussion of Unix technical books and people seem
to like Marc's book.  The only problem is that it is for SystemV.  Has
anyone written such a book specifically for 4.[23]?
-- 
Larry McVoy                                             +----------------+
                                                        | Slower traffic |
Arpa:  mcvoy@rsch.wisc.edu                              |   keep right   |
Uucp:  {seismo, ihnp4}!uwvax!geowhiz!geophiz!larry      +----------------+

geoff@utcs.uucp (Geoff Collyer) (11/25/85)

John Linderman is right, as usual.
I apologise to Marc J. Rochkind and have cancelled my original article.
I must have been grumpier than usual when I posted it.

gnu@l5.uucp (John Gilmore) (11/28/85)

In article <672@hou2a.UUCP>, ijk@hou2a.UUCP (I.KINAL) writes:
> Advanced UNIX (TM) Programming by Marc J. Rochkind.  Here's comprehensive,
> practical advice on how and when to use - and not use system calls.  
> 265 pp. $32.95.

Laura and I looked at this book at a friend's house and our opinion
was that if you only want to write for System V, it might be OK.
If you care about the larger Unix world, pass it up.  He seemed to
have kind of the right attitude, but all the little details are
wrong, and he totally ignores the non-att world.

gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) (11/29/85)

> > Advanced UNIX (TM) Programming by Marc J. Rochkind.  Here's comprehensive,
> > practical advice on how and when to use - and not use system calls.  
> > 265 pp. $32.95.
> 
> Laura and I looked at this book at a friend's house and our opinion
> was that if you only want to write for System V, it might be OK.
> If you care about the larger Unix world, pass it up.  He seemed to
> have kind of the right attitude, but all the little details are
> wrong, and he totally ignores the non-att world.

Well, many of the programming errors I see 4.2BSD programmers make
would have been avoided if they had understood the information in
Marc's book.  Most of what he has to say applies to any brand of
UNIX, and he has brief discussions of other variants at the end of
most chapters.  For portability, one should be programming in what
amounts to a System V environment anyway, even on BSD systems.  If
you don't have a System V environment on your 4.2BSD system, it is
your own fault, since one is available for free.

I would be interesting in hearing what all the "little details" are
that are "wrong".  I didn't notice many errors.

ado@elsie.UUCP (Arthur David Olson) (11/29/85)

In article <152@brl-tgr.ARPA>, gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) writes:
> For portability, one should be programming in what
> amounts to a System V environment anyway, even on BSD systems.  If
> you don't have a System V environment on your 4.2BSD system, it is
> your own fault, since one is available for free.

I wonder what those of us running BSD systems other than 4.2BSD are to do.
(Take my 4.1BSD system--please!)  For portability, one should be programming
in what's common to System V and BSD.
--
UNIX is an AT&T Bell Laboratories trademark.
--
	UUCP: ..decvax!seismo!elsie!ado    ARPA: elsie!ado@seismo.ARPA
	DEC, VAX and Elsie are Digital Equipment and Borden trademarks

gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) (11/30/85)

>  For portability, one should be programming
> in what's common to System V and BSD.

That's nice when you can arrange it, but the "lowest
common denominator" is pretty low indeed.  One problem
with the /usr/group Standard was that it often settled
for the lowest common denominator of systems like 7th
Edition, Xenix, System III, etc. and this meant omitting
altogether the terminal handler ioctls and so forth.
Real applications need a higher level of support than
that, so for maximum effect a portable environment needs
to be more than whatever is common across UNIX variants.
IEEE P1003 is aware of this and are trying to establish
a sufficiently high-level standard system interface.  It
happens to be based on System V, but so far it has not
ruled out implementation on 4BSD kernels.  One hopes at
some future date the standard interface will be provided
automatically by most UNIX system vendors.

Meanwhile, there shouldn't be much work involved in
adapting the BRL UNIX System V emulation for 4.2BSD to run
on 4.1BSD.  Few of the new 4.2BSD features were used;
indeed, quite a bit of the emulation is there just to work
around things like the new signal behavior, so one could
just remove that and use a direct interface for 4.1BSD.
If someone has done or wants to do this work, I would be
glad to give technical advice and to distribute the result.

mrl@drutx.UUCP (LongoMR) (12/02/85)

> Laura and I looked at this book at a friend's house and our opinion
> was that if you only want to write for System V, it might be OK.
> If you care about the larger Unix world, pass it up.  He seemed to
> have kind of the right attitude, but all the little details are
> wrong, and he totally ignores the non-att world.

Wow, that seems like a pretty definate statement to be offered without
examples, wouldn't you say? I would be interested to know not only
your opinion, but how you arrived at it. Note that this is not a flame.
I just bought the book and if I am going to be wasting my time, I'd rather
not read it. I would, however, like to know how you came to your conclusion.
-- 
			Mark R. Longo
			ihnp4!drutx!mrl

seifert@hammer.UUCP (Snoopy) (12/03/85)

In article <152@brl-tgr.ARPA> gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) writes:

>  For portability, one should be programming in what
>amounts to a System V environment anyway, even on BSD systems.

No, one should program for v6.  Anything added since then is non-portable.

>  If
>you don't have a System V environment on your 4.2BSD system, it is
>your own fault, since one is available for free.

Oh?  Who's giving disks away?  Mine's full, I don't have *room*
for storing a sysV environment.

Snoopy
tektronix!tekecs!doghouse.TEK!snoopy

gnu@l5.uucp (John Gilmore) (12/08/85)

In article <737@drutx.UUCP>, mrl@drutx.UUCP (LongoMR) writes:
    (The double indent is me, gnu, speaking:)
> > Laura and I looked at this book at a friend's house and our opinion
> > was that if you only want to write for System V, it might be OK.
> > If you care about the larger Unix world, pass it up.  He seemed to
> > have kind of the right attitude, but all the little details are
> > wrong, and he totally ignores the non-att world.
> 
> Wow, that seems like a pretty definate statement to be offered without
> examples, wouldn't you say? I would be interested to know not only
> your opinion, but how you arrived at it. Note that this is not a flame.
> I just bought the book and if I am going to be wasting my time, I'd rather
> not read it. I would, however, like to know how you came to your conclusion.

As I said, we only looked at the book at someone else's house.  We opened
it in a few places and found enough odd things.  He suggests that you read
directories by opening them and doing 16-byte reads into a struct; that's
somebody who's never heard of the fast file system or portability if I've
ever seen it.  Laura said at the time that his preface statements about
the history of Unix were wrong -- not in major ways, but in small ways.
One place I opened it he used a strtok() function which was the first
I'd heard of it -- though later I noticed a PD implementation of it
in my net.sources archives, it didn't appear in BSD systems or V7 or 32V.

I'm not saying it's a bad book, I'm just saying it's too focused on SV
for my taste.  I care more about portability than that.  I would undoubtedly
learn things from it, and I know enough about non-Sys V systems to know
when what he's saying is unportable or wrong -- but how much of his
audience is in that position?