From owner-freebsd-hackers Mon Feb 9 11:20:00 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id LAA02158 for hackers-outgoing; Mon, 9 Feb 1998 11:20:00 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from kithrup.com (kithrup.com [205.179.156.40]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id LAA02085 for ; Mon, 9 Feb 1998 11:19:53 -0800 (PST) (envelope-from sef@kithrup.com) Received: (from sef@localhost) by kithrup.com (8.8.8/8.8.7) id LAA05117; Mon, 9 Feb 1998 11:19:46 -0800 (PST) (envelope-from sef) Date: Mon, 9 Feb 1998 11:19:46 -0800 (PST) From: Sean Eric Fagan Message-Id: <199802091919.LAA05117@kithrup.com> To: hackers@FreeBSD.ORG Reply-To: hackers@FreeBSD.ORG Subject: Re: Learning the ins & outs of FreeBSD In-Reply-To: <25466.887050372.kithrup.freebsd.hackers@time.cdrom.com> References: Your message of "Mon, 09 Feb 1998 13:43:51 EST." Organization: Kithrup Enterprises, Ltd. Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG In article <25466.887050372.kithrup.freebsd.hackers@time.cdrom.com> Jordan writes: >> experience with C and have begun to take the masochistic approach to >> learning about the inner workings of FreeBSD by reading snippets of code >> from /usr/src, but there has got to be a more thorough, if not easier, >> approach. >Erm, no actually. The approach you've taken isn't the masochistic one >at all, it's really the ONLY approach to take. You think people have >time to *write* about this stuff and work on it too? ;-) It's enough >work just keeping /usr/src up to date for most developers, and I'm >afraid that reading the code IS the way to do what you want to do. Well, that's not *completely* true :). First, anyone interested in kernel hacking should probably read one or more of the following books: The Design and Implementation of the UNIX Operating System, by Maurice J. Bach The Design and Implementation of the 4.3BSD Operating System, by Marshall Kirk McKusick et al The Design and Implementation of the 4.4BSD Operating Sytem, by Marshall Kirk McKusick et al A Commentary on the UNIX Operatin System, by John Lions (recently republished, although I don't know if the title is the same) For those who are in the San Francisco Bay Area, Kirk McKusick also periodically offers an excellent course that walks through the kernel sources, and explains what's going on at various bits. (You should have read at least one of the above books before taking the "advanced" course, although I don't know what the difference between teh "beginner" and "advanced" courses is.) Lastly (plug plug) there's an article in the current (March, 1998) issue of Dr Dobb's Journal that describes the process of adding a feature to the kernel, and I think does a fairly good job of explaining it as long as the reader has experience in programmin in C. And, for the curious... I read the Bach book, and then started playing around with the kernel code (specifically, I first added ACL support to the Xenix kernel, and then got job control working in SCO SysVr3.2). I've since read the rest of the books above, and taken Kirk's course (not necessarily in that order). To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe hackers" in the body of the message