Date: Thu, 16 Mar 95 13:53:17 -0800 From: Bakul Shah <bakul@netcom.com> To: Jeff Hoffman <jeffh@Cybernetics.NET> Cc: hackers@FreeBSD.org Subject: Re: Any advice from experienced hackers? Message-ID: <199503162153.NAA24816@netcom16.netcom.com> In-Reply-To: Your message of "Thu, 16 Mar 95 15:14:40 EST." <Pine.SUN.3.91.950316151208.17771A-100000@server0>
next in thread | previous in thread | raw e-mail | index | archive | help
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: <device, inode, offset, size, time, pid>. 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199503162153.NAA24816>