Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!husc6!think!ames!ucla-cs!sdcrdcf!trwrb!desint!geoff From: geoff@desint.UUCP Newsgroups: comp.sources.d Subject: Re: Lyons (NOT king of beasts) book Message-ID: <312@desint.UUCP> Date: Sun, 5-Apr-87 02:12:36 EST Article-I.D.: desint.312 Posted: Sun Apr 5 02:12:36 1987 Date-Received: Sun, 5-Apr-87 21:36:34 EST References: <483@gouldsd.UUCP> <804@aw.sei.cmu.edu.sei.cmu.edu> Reply-To: geoff@desint.UUCP (Geoff Kuenning) Organization: Interrupt Technology Corp., Manhattan Beach, CA Lines: 54 Keywords: uucp AT&T Lions Lyons In article <3852@amd.UUCP> phil@amd.UUCP (Phil Ngai) writes: > In article <18114@ucbvax.BERKELEY.EDU> schoet@ernie.Berkeley.EDU.UUCP (Steve Schoettler) writes: > > Would someone who has seen both the Lions book and the Bach book care > to comment on whether there is any reason to bother getting the former > now that the latter is available? First, a minor but important point: the author's name is spelled with a Y, not an I (see the subject line). This is a common error, because everybody seems to hear about the book by word-of-mouth. I have studied Lyons extensively; I have a copy of Bach although I have not read it cover-to-cover, but rather have browsed as necessary to answer certain questions. The Lyons book is a complete listing (100%, with the exception of some device drivers) of the V6 kernel. The listing has been rearranged to make the presentation more logical, but is otherwise verbatim. The entire listing is line-numbered, which is important. The second volume consists of a COMPLETE discussion of every single line of code in the listings, carefully keyed to the line numbers for easy cross-reference. The Bach book addresses things a bit differently. To start with, since the author didn't want to limit his market to source licensees (:-), he doesn't include a complete kernel source listing. Instead, he discusses the major algorithms, and provides sample code (frequently NOT directly from the kernel, but an equivalent independent implementation). The nature of such a presentation tempts the author to diverge somewhat from the actual implementation (e.g., leaving out uninteresting details and features), and at least sometimes he does diverge. If you are relatively unfamiliar with the kernel, or if there are sections you don't understand (e.g., the interaction of the swapper and scheduler, which is notoriously tricky), the Lyons book is absolutely unbeatable. I got my first look at it after some 6-8 months of working on a V7 kernel, and it still was tremendously helpful and enlightening (and Unix was not at all my first encounter with a kernel). If you have been working on the kernel for several years, I doubt that the Lyons book will offer much to you. There will no doubt be a few spots where it teaches you something, but I think that by and large your reaction will be "I already knew how bwrite() worked". This is aggravated by the age of the book, of course. The Bach book, on the other hand, is a useful or even necessary reference work for the modern Unix kernel guru. It covers both BSD and System V, and gives a lot of its attention to things that have come along since V6, such as paging systems, networking, and IPC facilities. I'd say that its a must, but like I said I haven't actually read it cover to cover, so I hesitate to put it that strongly. -- Geoff Kuenning geoff@ITcorp.com {hplabs,ihnp4}!trwrb!desint!geoff