From owner-freebsd-hackers Thu Mar 16 13:54:39 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id NAA29324 for hackers-outgoing; Thu, 16 Mar 1995 13:54:39 -0800 Received: from netcom16.netcom.com (bakul@netcom16.netcom.com [192.100.81.129]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id NAA29318 for ; Thu, 16 Mar 1995 13:54:33 -0800 Received: from localhost by netcom16.netcom.com (8.6.10/Netcom) id NAA24816; Thu, 16 Mar 1995 13:53:18 -0800 Message-Id: <199503162153.NAA24816@netcom16.netcom.com> To: Jeff Hoffman cc: hackers@FreeBSD.org Subject: Re: Any advice from experienced hackers? In-reply-to: Your message of "Thu, 16 Mar 95 15:14:40 EST." Date: Thu, 16 Mar 95 13:53:17 -0800 From: Bakul Shah Sender: hackers-owner@FreeBSD.org Precedence: bulk You should definitely get the daemon book! That is, ``The Design and Implementation of the 4.3BSD UNIX Operating System'' by Leffler, McKusick, Karels and Quarterman; published by Addison Wesley. ISBN 0-201-06196-1. I hope they will update it for 4.4BSD. The Bach book is also very useful. The best way to learn is by modifying the source code. Try a small well defined project that touches on the file system or something central. Avoid drivers (unless you want to learn about driver writing) because they interact in a limited way with the rest of the kernel. One quick project I can think of is to add some tracing code: log which file block is read/written, when and by which process. This would be a tuple: . Allocate a big buffer to gather enough samples, which is periodically emptied by a user process. This trace data can be used to find which files are used together, and how frequently and also to discern any interesting usage patterns. This info. in turn can be used to e.g. shuffle files around on the disk so as to reduce access time as well as to tune buffer caching. Bakul