From owner-freebsd-hackers Mon Jan 24 19:30: 8 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from yana.lemis.com (yana.lemis.com [192.109.197.140]) by hub.freebsd.org (Postfix) with ESMTP id 4A3FF15890; Mon, 24 Jan 2000 19:29:48 -0800 (PST) (envelope-from grog@mojave.worldwide.lemis.com) Received: from mojave.worldwide.lemis.com (j13.ktb6.jaring.my [161.142.234.27]) by yana.lemis.com (8.8.8/8.8.8) with ESMTP id NAA14031; Tue, 25 Jan 2000 13:59:40 +1030 (CST) (envelope-from grog@mojave.worldwide.lemis.com) Received: (from grog@localhost) by mojave.worldwide.lemis.com (8.9.3/8.9.3) id LAA04854; Tue, 25 Jan 2000 11:04:16 +0800 (MYT) (envelope-from grog) Date: Tue, 25 Jan 2000 11:04:16 +0800 From: Greg Lehey To: Mike Smith Cc: Chuck Robey , freebsd-hackers@FreeBSD.ORG Subject: Re: Learning the FreeBSD Kernel Message-ID: <20000125110416.C4775@mojave.worldwide.lemis.com> Reply-To: Greg Lehey References: <200001241509.HAA11646@mass.cdrom.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: <200001241509.HAA11646@mass.cdrom.com>; from msmith@FreeBSD.ORG on Mon, Jan 24, 2000 at 07:09:35AM -0800 WWW-Home-Page: http://www.lemis.com/~grog X-PGP-Fingerprint: 6B 7B C3 8C 61 CD 54 AF 13 24 52 F8 6D A4 95 EF Organization: LEMIS, PO Box 460, Echunga SA 5153, Australia Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-41-739-7062 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Monday, 24 January 2000 at 7:09:35 -0800, Mike Smith wrote: >> On Sun, 23 Jan 2000, Mike Smith wrote: >> >>>> I can't agree with Mike Smith that reading the code is adequate. It >>>> certainly doesn't apply to newcomers, but it doesn't even apply to >>>> seasoned hackers like Mike: the BSD style doesn't provide for adequate >>>> comments, and so what you see from the code is mainly tactics, not >>>> strategy. >>> >>> You miss my point; you don't want to be writing a driver until you know >>> what you're doing. Documentation on an OS' driver interface won't teach >>> you that; it's something that's really only ever gleaned from experience. >> >> The problem is, you can't even find what the interfaces are. Reading the >> code isn't very useful if you can't even find the right place to start >> from. At least the interface points could be listed, so that someone >> would know where to begin. > > Listing the interface points won't help unless you know which ones are > relevant to what you're trying to do. I say it again; first you need to > know how to write a device driver, then you need to know what the > available tools are to get the job done. Having only the latter does > not help at all with the former. I'd like you to see you build a timber roofing structure: "Listing the kinds of beam won't help unless you know which ones are relevant to what you're trying to do. I say it again; first you need to know how to build a roof, then you need to know what the available tools are to get the job done. Having only the latter does not help at all with the former." I repeat: before you can do a job which requires tools, you need to be familiar with those tools. How do you get familiar with those tools? You work with them. The first step of familiarity with the tools doesn't make you an expert, but it helps you know what they look like, and when you find yourself up in the roof and trying to join two beams together, you'll at least have an idea which tools might be of use. Greg -- Finger grog@lemis.com for PGP public key See complete headers for address and phone numbers To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message