Date: Tue, 25 Jan 2000 11:04:16 +0800 From: Greg Lehey <grog@lemis.com> To: Mike Smith <msmith@FreeBSD.ORG> Cc: Chuck Robey <chuckr@picnic.mat.net>, freebsd-hackers@FreeBSD.ORG Subject: Re: Learning the FreeBSD Kernel Message-ID: <20000125110416.C4775@mojave.worldwide.lemis.com> In-Reply-To: <200001241509.HAA11646@mass.cdrom.com>; from msmith@FreeBSD.ORG on Mon, Jan 24, 2000 at 07:09:35AM -0800 References: <Pine.BSF.4.21.0001240145170.315-100000@picnic.mat.net> <200001241509.HAA11646@mass.cdrom.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000125110416.C4775>