Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site brl-tgr.ARPA Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!seismo!brl-tgr!tgr!POSER@SU-CSLI.ARPA From: POSER@SU-CSLI.ARPA (Bill Poser) Newsgroups: net.unix Subject: Re: Advanced UNIX Programming Message-ID: <2095@brl-tgr.ARPA> Date: Sun, 13-Oct-85 00:00:45 EDT Article-I.D.: brl-tgr.2095 Posted: Sun Oct 13 00:00:45 1985 Date-Received: Mon, 14-Oct-85 05:20:38 EDT Sender: news@brl-tgr.ARPA Lines: 32 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. -------