On Wednesday, September 14, Bernd Schoeller wrote:
> On Wed, Sep 14, 2005 at 10:03:36AM -0600, Tobias Weingartner wrote:
> >
> > Anything not covered by man pages is covered by the source.
> 
> This is nicely said, but ...
> 
> reading source code (any language) of a complex system is very
> difficult without information on concepts. It is like trying to find
> your way around a city without a map.

I've done that.  :)  You start to build yourself a map.  Take a small
part of the world you see, and explore it.  The move on from there.
A map will only tell you that some things are connected.  But it will
in general not tell you that the really cool Pho place is just down
that street, around a corner and 1/2 down a small tiny alley.

And trust me, you want to find that Pho place...


> Perhaps this knowledge is one of the differences between the people
> that know the insides of OpenBSD and the others (that includes me, I
> am currently trying very hard to work myself into the code).
> 
> Also, not ever part of the source code is easy to understand. C code
> tends to use acronyms for variable and function names.
> 
> The man 9 pages are a great help (OpenBSD at least offers these, much
> better that many other OSs), but a query for more abstract information
> should not be answered by a 'read the source'.

Unfortunately, in many cases it must be.  You become fluent in various
parts of the kernel source by reading it.  Studying it, and changing it.
The "documentation" that is out there is a guide or overview at the
very best, and misleading at the worst.


> I am working with McKusick/Neville-Neil's "Design and Implementation
> of the FreeBSD OS" and the Stevens books (TCP Illustrated and Advanced
> Programming in the Unix environment), though I can not say yet how far
> this will help me with OpenBSD. Cross-reading the book with the man
> pages and the source might help.

Again, for the concepts, I'm sure those books have value.  Maybe for
some bed-side reading.

--Toby.

Reply via email to