From: Robert S. Thau (rst@ai.mit.edu)
Date: Wed Jan 03 2001 - 09:35:11 PST
John Regehr writes:
> > The Lions book is the best thing going for showing how a piece of
> > small, well constructed code can do a complicated job. No question.
>
> Tanenbaum's Minix book is also like this. Clear code, well-written
> text.
He explains the basic concepts a lot better than Lions (who, as
already noted, was expecting his students to pick them up elsewhere).
Unfortunately, the worst thing about the Minix book is probably Minix
itself, with its microkernel architecture, which was the academic fad
at the time it was written, but has fallen out of vogue for some
pretty good reasons. (It's very hard to write a microkernel which
doesn't run into performance problems, and Minix in particular has
bottlenecks like the infamous single-threaded filesystem which you
need a major overhaul to fix).
> On the other hand, I've recently been reading the new O'Reilly book
> _Understanding the Linux Kernel_. It's good - quite a bit better than
> any previous Linux internals book I've seen. However, I've been struck
> by how difficult it would be to learn operating system fundamentals
> using Linux code: nearly every part of the kernel is highly specialized
> to particular usage patterns. Obfuscated code is everywhere: amortized
> algorithms, sub-linear searches, and many, many heuristics that lack a
> clear derivation or empirical basis.
Hmmm... if you really wanted to go for something more modern than
Lions, a good first approach might be one of the xBSD kernels, in
conjunction with the Leffler et al. book on the design of 4.3 BSD
(though there's been enough change at all levels since 4.3 that a
book that old will be an imperfect guide to recent releases).
rst
This archive was generated by hypermail 2b29 : Wed Jan 03 2001 - 09:40:19 PST