On Wed, 16 Nov 2005, Bruno Carnazzi wrote: > Hi All, > > I'm a junior system administrator, working on free operating system > such as Linux and recently OpenBSD. I really enjoy OpenBSD for its > simplicity, concisness and security. I've got a small experience of C > programming, from my studies. I'd like to understand deeply the > conception of this system, through reading and understanding his code. > I consider it's a big work, lots of thing to learn. I suppose some > people already take this way, so I'd like to know if someone has > advice to give in this way ? Where to start ? A tool from the userland > ? Directly attack the kernel (!!) or something else ? Prerequisite ?
My advice would be to start in whatever part interests you. Curiosity will guide you through src. If you are overwhelmed, start by looking at the more simple programs in userland. Read the man pages of the command, try to match behaviour to code or vice versa. Study the man pages of the library and system calls being done. Continue with the study of the implementation of these. Do not forget that quite some kernel functions are documented in section 9. Another way is to watch the cvs mailing list and check what changes are done to the system. Trying to understand the changes will teach you a lot. As for books that might help, there are a few listed on http://www.openbsd.org/books.html "The Design and Implementation of the 4.4 BSD Operating System" will give you the big picture and quite some details as well. -Otto