Date: Thu, 01 May 2008 01:20:21 -0400 From: "T." <freebsd-questions@lists.goldenpath.org> To: Edward Ruggeri <smallhand@crawblog.com> Cc: FreeBSD Questions <freebsd-questions@freebsd.org> Subject: Re: Even more documentation? Message-ID: <48195315.2010101@lists.goldenpath.org> In-Reply-To: <919383240804251932i6043dd0auff9423c98019a7ef@mail.gmail.com> References: <919383240804251932i6043dd0auff9423c98019a7ef@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48195315.2010101>