Olwe Bottorff wrote:
> 2) I found a neat book "Code Reading, The Open Source Perspective" by 
> Diomidis Spinellis which does a lot to explain the real-world details of 
> software development. Is there a similar book that would tell me such 
> fun facts as my first question about "pipe file system"?

I highly recommend "The Design and Implementation of the FreeBSD 
Operating System" by Marshall Kirk McKusick and George V. Neville-Neil 
(ISBN 0201702452).  It's the only book that I bought within a week of 
its release.  ;)  As is obvious from the name, it's a very detailed 
description of every major subsystem of the kernel: process management, 
memory management, I/O, file systems, IPC, and more.  For real hands-on 
learning, keep a copy of the FreeBSD kernel source handy, and refer to 
it often.

> I'm starting compsci grad school and I'm supposed to help an instructor 
> put together a new operating system class. I'd like to find materials 
> that really goes into the nitty-gritty of a Linux or BSD box. Before, 
> they used Tannenbaum or Silberschatz which is fine for the theoretical 
> level, but not on-the-ground real world Linux or BSD. For example, what 
> would be a good real world Unix app to grab the source code for and 
> snoop/hack around? Any ideas?

It depends on the intentions of your class.  If you want a more hands-on 
version of the typical undergrad OS class, the FreeBSD book and source 
would be great.  If you're aiming more at the user-space level, the 
source for a Unix shell (such as bash) might be good: shells use a 
variety of an operating system's features.

I hope this helps.

Eric