Even more documentation?

T. freebsd-questions at lists.goldenpath.org
Thu May 1 05:46:52 UTC 2008


Edward Ruggeri wrote:
> Hi all,
>
> I've used FreeBSD for about two years now.  Besides using Linux for
> projects on school computers, I never had much experience with
> Unix-like operating systems.  While I get by nicely on FreeBSD, I
> recently felt that I didn't have a very solid understanding of it's
> organization or structure.  I suppose one can't know everything about
> an operating system with as much functionality as FreeBSD, but I
> started to feel like my knowledge was really ad-hoc, and that I didn't
> completely understand what I was doing (as if I had learned only by
> example).
>
> To that end, I started reading the FreeBSD handbook front-to-back.
> I've gotten to Part III, and while it's been very valuable, I still
> feel like I'm learning by example, and not by understanding the
> operating system.  I'm starting to think I'm expecting something out
> of the handbook it's not designed to do.
>
> It seems like the man pages would be a good place to go, but my
> trouble with using them is that they're difficult to put together the
> information on different pages.  I suppose I want something like a
> textbook.  I dream of a K&R type text that is very comprehensive and
> well-organized.
>
> If anyone has advice, I'd very much appreciate it!
>
> Sincerely,
>
> -- Ned Ruggeri

A lot more than just the handbook and man pages:
http://www.freebsd.org/doc/en/books/

Design and Implementation is dense if you're not at that level of 
understanding yet.
It's the high level, comprehensive OS engineering manual.
And, like any engineering manual, by it's nature (not reflecting on 
McKusick), it can put you to sleep trying to read it front to back.
Honestly, it's too much too fast to practically learn from unless your 
already familiar with designing and implementing an OS and just want to 
get up to speed on FreeBSD.
The purpose spans the whole OS, so it's impossible to find focus on some 
relevant achievable goal in a straight front to back reading.
I'm finding it better for referencing particular internals you're 
focusing on at the moment.

A fun and exciting whirlwind tour that cuts quickly to the most 
significant internals and is strictly focused with a well defined and 
immediately achievable purpose is "Designing BSD Rootkits" by Joseph 
Kong. You'll be tinkering with protocol structures and manipulating 
critical system tables a lot faster. It's a serious eye-opener.

What you will find is that, in terms of development, /usr/src and 
analysis tools are the ultimate resources.

In terms of system administration, the Handbook, man pages and domain 
specific documentation are your best reference. Your best resource is 
experience. Ultimately, FreeBSD is just another system. The system must 
have a purpose. Your purpose will entail providing services. Your 
experience will be in mastering these services. Services are more so 
defined by their protocols and APIs than by the systems they're hosted 
on. Once you put it in perspective, the system is really just another 
collection of services, but these focus on providing a standard 
interface to the actual hardware beneath that make it all possible. But 
that's not entirely accurate, because ultimately, it's people that have 
made it possible, not the machines.

Again and again, it comes down to "Purpose" and focus. So, the real 
question becomes not one of resources (of which, there are plenty), but 
of inspiration and creativity.




More information about the freebsd-questions mailing list